GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gtsam::NonlinearConjugateGradientOptimizer Class Reference

#include <NonlinearConjugateGradientOptimizer.h>

Inheritance diagram for gtsam::NonlinearConjugateGradientOptimizer:
Inheritance graph
[legend]
Collaboration diagram for gtsam::NonlinearConjugateGradientOptimizer:
Collaboration graph
[legend]

Public Types

typedef NonlinearOptimizer Base
 
typedef NonlinearOptimizerParams Parameters
 
typedef std::shared_ptr< NonlinearConjugateGradientOptimizershared_ptr
 

Public Member Functions

 NonlinearConjugateGradientOptimizer (const NonlinearFactorGraph &graph, const Values &initialValues, const Parameters &params=Parameters())
 Constructor.
 
 ~NonlinearConjugateGradientOptimizer () override
 Destructor.
 
GaussianFactorGraph::shared_ptr iterate () override
 
const Valuesoptimize () override
 
Standard interface
const ValuesoptimizeSafely ()
 
double error () const
 return error in current optimizer state
 
size_t iterations () const
 return number of iterations in current optimizer state
 
const Valuesvalues () const
 return values in current optimizer state
 
const NonlinearFactorGraphgraph () const
 return the graph with nonlinear factors
 
Advanced interface
virtual VectorValues solve (const GaussianFactorGraph &gfg, const NonlinearOptimizerParams &params) const
 

Protected Member Functions

const NonlinearOptimizerParams_params () const override
 
void defaultOptimize ()
 

Protected Attributes

Parameters params_
 
NonlinearFactorGraph graph_
 The graph with nonlinear factors.
 
std::unique_ptr< internal::NonlinearOptimizerStatestate_
 PIMPL'd state.
 

Detailed Description

An implementation of the nonlinear CG method using the template below

Member Function Documentation

◆ defaultOptimize()

void gtsam::NonlinearOptimizer::defaultOptimize ( )
protectedinherited

A default implementation of the optimization loop, which calls iterate() until checkConvergence returns true.

◆ iterate()

GaussianFactorGraph::shared_ptr gtsam::NonlinearConjugateGradientOptimizer::iterate ( )
overridevirtual

Perform a single iteration, returning GaussianFactorGraph corresponding to the linearized factor graph.

Implements gtsam::NonlinearOptimizer.

◆ optimize()

const Values& gtsam::NonlinearConjugateGradientOptimizer::optimize ( )
overridevirtual

Optimize for the maximum-likelihood estimate, returning a the optimized variable assignments.

Reimplemented from gtsam::NonlinearOptimizer.

◆ optimizeSafely()

const Values& gtsam::NonlinearOptimizer::optimizeSafely ( )
inherited

Optimize, but return empty result if any uncaught exception is thrown Intended for MATLAB. In C++, use above and catch exceptions. No message is printed: it is up to the caller to check the result

Parameters
optimizera non-linear optimizer

◆ solve()

virtual VectorValues gtsam::NonlinearOptimizer::solve ( const GaussianFactorGraph gfg,
const NonlinearOptimizerParams params 
) const
virtualinherited

Default function to do linear solve, i.e. optimize a GaussianFactorGraph


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