This is a malloc-free Levenberg-Marquardt optimizer for nonlinear least squares regression. This means that heap objects are never allocated during the optimization phase. It comes with a demonstration fitting an arbitrary nonlinear function. This is a subproject for GTSAM, a smoothing and mapping library as a part of my undergraduate research.
As a consumer of the optimizer engine, you simply need to implement the DataManipulator
class.
The class is used to fill out a jacobian and a residual matrix belonging to the optimizer.
The optimizer does not care what data it's fitting, just that the manipulator fills the
aforementioned matrices.
From the root of the project:
mkdir build/
cd build
cmake ..
make && ./LMSolver