Loading...
Searching...
No Matches
gtsam::LevenbergMarquardtParams Class Reference

## Detailed Description

Parameters for Levenberg-Marquardt optimization.

Note that this parameters class inherits from NonlinearOptimizerParams, which specifies the parameters common to all nonlinear optimization algorithms. This class also contains all of those parameters.

Inheritance diagram for gtsam::LevenbergMarquardtParams:

## Public Member Functions

void | print (const std::string &str="") const override
Getters/Setters, mainly for wrappers. Use fields above in C++.
bool | getDiagonalDamping () const
double | getlambdaFactor () const
double | getlambdaInitial () const
double | getlambdaLowerBound () const
double | getlambdaUpperBound () const
bool | getUseFixedLambdaFactor ()
std::string | getLogFile () const
std::string | getVerbosityLM () const
void | setDiagonalDamping (bool flag)
void | setlambdaFactor (double value)
void | setlambdaInitial (double value)
void | setlambdaLowerBound (double value)
void | setlambdaUpperBound (double value)
void | setUseFixedLambdaFactor (bool flag)
void | setLogFile (const std::string &s)
void | setVerbosityLM (const std::string &s)
Clone
boost::shared_ptr< NonlinearOptimizerParams > | clone () const
Public Member Functions inherited from gtsam::NonlinearOptimizerParams
size_t | getMaxIterations () const
double | getRelativeErrorTol () const
double | getAbsoluteErrorTol () const
double | getErrorTol () const
std::string | getVerbosity () const
void | setMaxIterations (int value)
void | setRelativeErrorTol (double value)
void | setAbsoluteErrorTol (double value)
void | setErrorTol (double value)
void | setVerbosity (const std::string &src)
bool | equals (const NonlinearOptimizerParams &other, double tol=1e-9) const
bool | isMultifrontal () const
bool | isSequential () const
bool | isCholmod () const
bool | isIterative () const
GaussianFactorGraph::Eliminate | getEliminationFunction () const
std::string | getLinearSolverType () const
void | setLinearSolverType (const std::string &solver)
void | setIterativeParams (const boost::shared_ptr< IterativeOptimizationParameters > params)
void | setOrdering (const Ordering &ordering)
std::string | getOrderingType () const
void | setOrderingType (const std::string &ordering)

## Static Public Member Functions

static VerbosityLM | verbosityLMTranslator (const std::string &s)
static std::string | verbosityLMTranslator (VerbosityLM value)
static void | SetLegacyDefaults (LevenbergMarquardtParams *p)
static void | SetCeresDefaults (LevenbergMarquardtParams *p)
static LevenbergMarquardtParams | LegacyDefaults ()
static LevenbergMarquardtParams | CeresDefaults ()
static LevenbergMarquardtParams | EnsureHasOrdering (LevenbergMarquardtParams params, const NonlinearFactorGraph &graph)
static LevenbergMarquardtParams | ReplaceOrdering (LevenbergMarquardtParams params, const Ordering &ordering)
Static Public Member Functions inherited from gtsam::NonlinearOptimizerParams
static Verbosity | verbosityTranslator (const std::string &s)
static std::string | verbosityTranslator (Verbosity value)

## Public Attributes

double | lambdaInitial
| The initial Levenberg-Marquardt damping term (default: 1e-5).
double | lambdaFactor
| The amount by which to multiply or divide lambda when adjusting lambda (default: 10.0).
double | lambdaUpperBound
| The maximum lambda to try before assuming the optimization has failed (default: 1e5).
double | lambdaLowerBound
| The minimum lambda used in LM (default: 0).
VerbosityLM | verbosityLM
| The verbosity level for Levenberg-Marquardt (default: SILENT), see also NonlinearOptimizerParams::verbosity.
double | minModelFidelity
| Lower bound for the modelFidelity to accept the result of an LM iteration.
std::string | logFile
| an optional CSV log file, with [iteration, time, error, lambda]
bool | diagonalDamping
| if true, use diagonal of Hessian
bool | useFixedLambdaFactor
| if true applies constant increase (or decrease) to lambda according to lambdaFactor
double | minDiagonal
| when using diagonal damping saturates the minimum diagonal entries (default: 1e-6)
double | maxDiagonal
| when using diagonal damping saturates the maximum diagonal entries (default: 1e32)
Public Attributes inherited from gtsam::NonlinearOptimizerParams
size_t | maxIterations = 100
| The maximum iterations to stop iterating (default 100).
double | relativeErrorTol = 1e-5
| The maximum relative error decrease to stop iterating (default 1e-5).
double | absoluteErrorTol = 1e-5
| The maximum absolute error decrease to stop iterating (default 1e-5).
double | errorTol = 0.0
| The maximum total error to stop iterating (default 0.0).
Verbosity | verbosity = SILENT
| The printing verbosity during optimization (default SILENT).
Ordering::OrderingType | orderingType = Ordering::COLAMD
| The method of ordering use during variable elimination (default COLAMD).
IterationHook | iterationHook
| Optional user-provided iteration hook to be called after each optimization iteration (Default: none).
LinearSolverType | linearSolverType = MULTIFRONTAL_CHOLESKY
| The type of linear solver to use in the nonlinear optimizer.
boost::optional< Ordering > | ordering
| The optional variable elimination ordering, or empty to use COLAMD (default: empty).
IterativeOptimizationParameters::shared_ptr | iterativeParams
| The container for iterativeOptimization parameters. used in CG Solvers.

## Public Types

enum | VerbosityLM { SILENT = 0 , SUMMARY , TERMINATION , LAMBDA , TRYLAMBDA , TRYCONFIG , DAMPED , TRYDELTA }
| See LevenbergMarquardtParams::verbosityLM.
using | OptimizerType = LevenbergMarquardtOptimizer
Public Types inherited from gtsam::NonlinearOptimizerParams
enum | Verbosity { SILENT , TERMINATION , ERROR , VALUES , DELTA , LINEAR }
| See NonlinearOptimizerParams::verbosity.
enum | LinearSolverType { MULTIFRONTAL_CHOLESKY , MULTIFRONTAL_QR , SEQUENTIAL_CHOLESKY , SEQUENTIAL_QR , Iterative , CHOLMOD }
| See NonlinearOptimizerParams::linearSolverType.
using | IterationHook
| Type for an optional user-provided hook to be called after each internal optimizer iteration.

## Member Function Documentation

## clone()

boost::shared_ptr< NonlinearOptimizerParams > gtsam::LevenbergMarquardtParams::clone | ( |  | ) | const

inline

Returns
  a deep copy of this object

## print()

void gtsam::LevenbergMarquardtParams::print | ( | const std::string & | str = "" | ) | const

override virtual

Reimplemented from gtsam::NonlinearOptimizerParams.

The documentation for this class was generated from the following files:

- /build/gtsam-Xg031d/gtsam-4.2.0+dfsg/gtsam/nonlinear/LevenbergMarquardtParams.h
- /build/gtsam-Xg031d/gtsam-4.2.0+dfsg/gtsam/nonlinear/LevenbergMarquardtParams.cpp