27#ifndef G2O_SOLVER_LEVENBERG_H
28#define G2O_SOLVER_LEVENBERG_H
50 virtual SolverResult solve(
int iteration,
bool online =
false);
52 virtual void printVerbose(std::ostream& os)
const;
59 void setMaxTrialsAfterFailure(
int max_trials);
69 void setUserLambdaInit(
double lambda);
92 double computeLambdaInit()
const;
93 double computeScale()
const;
Implementation of the Levenberg Algorithm.
Property< double > * _userLambdaInit
double _goodStepUpperScale
Property< int > * _maxTrialsAfterFailure
std::unique_ptr< Solver > m_solver
double _goodStepLowerScale
int maxTrialsAfterFailure() const
get the number of inner iterations for Levenberg-Marquardt
int levenbergIteration()
return the number of levenberg iterations performed in the last round
double currentLambda() const
return the currently used damping factor
Base for solvers operating on the approximated Hessian, e.g., Gauss-Newton, Levenberg.