gtsam  3.2.1
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gtsam::LevenbergMarquardtOptimizer Class Reference

Detailed Description

This class performs Levenberg-Marquardt nonlinear optimization.

+ Inheritance diagram for gtsam::LevenbergMarquardtOptimizer:

Advanced interface

class ::NonlinearOptimizerMoreOptimizationTest
 
virtual ~LevenbergMarquardtOptimizer ()
 Virtual destructor.
 
virtual void iterate ()
 Perform a single iteration, returning a new NonlinearOptimizer class containing the updated variable assignments, which may be retrieved with values().
 
const LevenbergMarquardtParamsparams () const
 Read-only access the parameters.
 
LevenbergMarquardtParamsparams ()
 Read/write access the parameters.
 
const LevenbergMarquardtStatestate () const
 Read-only access the last state.
 
LevenbergMarquardtStatestate ()
 Read/write access the last state. More...
 
GaussianFactorGraph::shared_ptr buildDampedSystem (const GaussianFactorGraph &linear)
 Build a damped system for a specific lambda.
 
void writeLogFile (double currentError)
 

Public Member Functions

Standard interface
 LevenbergMarquardtOptimizer (const NonlinearFactorGraph &graph, const Values &initialValues, const LevenbergMarquardtParams &params=LevenbergMarquardtParams())
 Standard constructor, requires a nonlinear factor graph, initial variable assignments, and optimization parameters. More...
 
 LevenbergMarquardtOptimizer (const NonlinearFactorGraph &graph, const Values &initialValues, const Ordering &ordering)
 Standard constructor, requires a nonlinear factor graph, initial variable assignments, and optimization parameters. More...
 
double lambda () const
 Access the current damping value.
 
void increaseLambda ()
 
void decreaseLambda (double stepQuality)
 
int getInnerIterations () const
 Access the current number of inner iterations.
 
virtual void print (const std::string &str="") const
 print
 
- Public Member Functions inherited from gtsam::NonlinearOptimizer
virtual const Valuesoptimize ()
 Optimize for the maximum-likelihood estimate, returning a new NonlinearOptimizer class containing the optimized variable assignments, which may be retrieved with values(). More...
 
const ValuesoptimizeSafely ()
 Optimize, but return empty result if any uncaught exception is thrown Intended for MATLAB. More...
 
double error () const
 return error
 
int iterations () const
 return number of iterations
 
const Valuesvalues () const
 return values
 
virtual ~NonlinearOptimizer ()
 Virtual destructor.
 
virtual VectorValues solve (const GaussianFactorGraph &gfg, const Values &initial, const NonlinearOptimizerParams &params) const
 Default function to do linear solve, i.e. More...
 

Public Types

typedef boost::shared_ptr
< LevenbergMarquardtOptimizer
shared_ptr
 
- Public Types inherited from gtsam::NonlinearOptimizer
typedef boost::shared_ptr
< const NonlinearOptimizer
shared_ptr
 A shared pointer to this class.
 

Protected Member Functions

virtual const
NonlinearOptimizerParams
_params () const
 Access the parameters (base class version)
 
virtual const
NonlinearOptimizerState
_state () const
 Access the state (base class version)
 
LevenbergMarquardtParams ensureHasOrdering (LevenbergMarquardtParams params, const NonlinearFactorGraph &graph) const
 Internal function for computing a COLAMD ordering if no ordering is specified.
 
virtual
GaussianFactorGraph::shared_ptr 
linearize () const
 linearize, can be overwritten
 
- Protected Member Functions inherited from gtsam::NonlinearOptimizer
void defaultOptimize ()
 A default implementation of the optimization loop, which calls iterate() until checkConvergence returns true.
 
 NonlinearOptimizer (const NonlinearFactorGraph &graph)
 Constructor for initial construction of base classes. More...
 

Protected Attributes

LevenbergMarquardtParams params_
 LM parameters.
 
LevenbergMarquardtState state_
 optimization state
 
- Protected Attributes inherited from gtsam::NonlinearOptimizer
NonlinearFactorGraph graph_
 

Constructor & Destructor Documentation

gtsam::LevenbergMarquardtOptimizer::LevenbergMarquardtOptimizer ( const NonlinearFactorGraph graph,
const Values initialValues,
const LevenbergMarquardtParams params = LevenbergMarquardtParams() 
)
inline

Standard constructor, requires a nonlinear factor graph, initial variable assignments, and optimization parameters.

For convenience this version takes plain objects instead of shared pointers, but internally copies the objects.

Parameters
graphThe nonlinear factor graph to optimize
initialValuesThe initial variable assignments
paramsThe optimization parameters
gtsam::LevenbergMarquardtOptimizer::LevenbergMarquardtOptimizer ( const NonlinearFactorGraph graph,
const Values initialValues,
const Ordering ordering 
)
inline

Standard constructor, requires a nonlinear factor graph, initial variable assignments, and optimization parameters.

For convenience this version takes plain objects instead of shared pointers, but internally copies the objects.

Parameters
graphThe nonlinear factor graph to optimize
initialValuesThe initial variable assignments

Member Function Documentation

LevenbergMarquardtState& gtsam::LevenbergMarquardtOptimizer::state ( )
inline

Read/write access the last state.

When modifying the state, the error, etc. must be consistent before calling iterate()


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