22 #ifndef UNFIT_INCLUDE_LEVENBERGMARQUARDT_HPP_ 23 #define UNFIT_INCLUDE_LEVENBERGMARQUARDT_HPP_ 27 #include "GenericCostFunction.hpp" 28 #include "GenericOptimizer.hpp" 30 #include "Options.hpp" 91 std::vector<double> &coordinates)
override;
97 void Reset()
override;
112 const std::vector<double> &point, std::vector<double> &hlm);
126 const std::vector<double> &coordinates);
142 const std::vector<double> &residuals,
143 const std::vector<double> &coordinates,
bool one_sided_difference =
true);
158 const std::vector<double> &residuals,
const std::vector<double> &hlm,
std::vector< double > CalculateResiduals(GenericCostFunction &cost_function, const std::vector< double > &coordinates)
Definition: LevenbergMarquardt.cpp:59
void BroydenUpdate(const std::vector< double > &residuals_new, const std::vector< double > &residuals, const std::vector< double > &hlm, Matrix &jacobianT)
Definition: LevenbergMarquardt.cpp:267
A class to implement the Levenberg Marquardt optimization method.
Definition: LevenbergMarquardt.hpp:49
LevenbergMarquardt()
Definition: LevenbergMarquardt.cpp:39
Definition: GenericOptimizer.hpp:41
Definition: Matrix.hpp:33
Matrix jacobian_
Definition: LevenbergMarquardt.hpp:162
Definition: Bounds.hpp:27
double stored_cost_
Definition: LevenbergMarquardt.hpp:171
virtual ~LevenbergMarquardt()
Definition: LevenbergMarquardt.hpp:64
Definition: GenericCostFunction.hpp:36
Definition: TestLevenbergMarquardt.cpp:40
void FindJacobian(GenericCostFunction &cost_function, const std::vector< double > &residuals, const std::vector< double > &coordinates, bool one_sided_difference=true)
Definition: LevenbergMarquardt.cpp:198
void Reset() override
Definition: LevenbergMarquardt.cpp:49
int FindMin(GenericCostFunction &cost_function, std::vector< double > &coordinates) override
Implements the Levenberd-Marquardt optimization method.
Definition: LevenbergMarquardt.cpp:66
std::vector< double > LoopUntilWithinBounds(const std::vector< double > &point, std::vector< double > &hlm)
Definition: LevenbergMarquardt.cpp:245
std::size_t dimensions_
Definition: LevenbergMarquardt.hpp:167
std::size_t observation_size_
Definition: LevenbergMarquardt.hpp:169