117 double lambda0,
double tol_grad,
double tol_inc,
129 Eigen::Matrix<double, Eigen::Dynamic, 1>
run(
130 Eigen::Matrix<double, Eigen::Dynamic, 1> alpha,
131 std::vector<std::vector<double>>& y_obs,
132 std::vector<std::vector<double>>& dy_obs);
135 Eigen::SparseMatrix<double> jacobian;
136 Eigen::Matrix<double, Eigen::Dynamic, 1> residual;
137 Eigen::Matrix<double, Eigen::Dynamic, 1> delta;
138 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> mat;
139 Eigen::Matrix<double, Eigen::Dynamic, 1> vec;
153 void update_gradient(Eigen::Matrix<double, Eigen::Dynamic, 1>& alpha,
154 std::vector<std::vector<double>>& y_obs,
155 std::vector<std::vector<double>>& dy_obs);
157 void update_delta(
bool first_step);
LevenbergMarquardtOptimizer(Model *model, int num_obs, int num_params, double lambda0, double tol_grad, double tol_inc, int max_iter)
Construct a new LevenbergMarquardtOptimizer object.
Definition LevenbergMarquardtOptimizer.cpp:35
Eigen::Matrix< double, Eigen::Dynamic, 1 > run(Eigen::Matrix< double, Eigen::Dynamic, 1 > alpha, std::vector< std::vector< double > > &y_obs, std::vector< std::vector< double > > &dy_obs)
Run the optimization algorithm.
Definition LevenbergMarquardtOptimizer.cpp:56