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

## Detailed Description

The common parameters for Nonlinear optimizers.

Most optimizers deriving from NonlinearOptimizer also subclass the parameters.

Inheritance diagram for gtsam::NonlinearOptimizerParams:

## Public Member Functions

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)
virtual void | print (const std::string &str="") const
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 Verbosity | verbosityTranslator (const std::string &s)
static std::string | verbosityTranslator (Verbosity value)

## Public Attributes

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 | 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 Typedef Documentation

## IterationHook

using gtsam::NonlinearOptimizerParams::IterationHook

Initial value:
std::function<
void(size_t , double, double)>

Type for an optional user-provided hook to be called after each internal optimizer iteration.

See iterationHook below.

## Member Data Documentation

## iterationHook

IterationHook gtsam::NonlinearOptimizerParams::iterationHook

Optional user-provided iteration hook to be called after each optimization iteration (Default: none).

Note that IterationHook is defined as a std::function<> with this signature:

void(size_t iteration, double errorBefore, double errorAfter)

which allows binding by means of a reference to a regular function:

void foo(size_t iteration, double errorBefore, double errorAfter);
// ...
lmOpts.iterationHook = &foo;

or to a C++11 lambda (preferred if you need to capture additional context variables, such that the optimizer object itself, the factor graph, etc.):

lmOpts.iterationHook = [&](size_t iter, double oldError, double newError)
{
// ...
};

or to the result of a properly-formed std::bind call.

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

- /build/gtsam-gchP9J/gtsam-4.2.2+dfsg/gtsam/nonlinear/NonlinearOptimizerParams.h
- /build/gtsam-gchP9J/gtsam-4.2.2+dfsg/gtsam/nonlinear/NonlinearOptimizerParams.cpp