An implementation of the nonlinear CG method using the template below.
|
|
| NonlinearConjugateGradientOptimizer (const NonlinearFactorGraph &graph, const Values &initialValues, const Parameters ¶ms=Parameters(), const DirectionMethod &directionMethod=DirectionMethod::PolakRibiere) |
| | Constructor.
|
|
| ~NonlinearConjugateGradientOptimizer () override |
| | Destructor.
|
| GaussianFactorGraph::shared_ptr | iterate () override |
| | Perform a single iteration, returning GaussianFactorGraph corresponding to the linearized factor graph.
|
| const Values & | optimize () override |
| | Optimize for the maximum-likelihood estimate, returning a the optimized variable assignments.
|
| const Values & | optimizeSafely () |
| | Optimize, but return empty result if any uncaught exception is thrown Intended for MATLAB.
|
|
double | error () const |
| | return error in current optimizer state
|
|
size_t | iterations () const |
| | return number of iterations in current optimizer state
|
|
const Values & | values () const |
| | return values in current optimizer state
|
|
const NonlinearFactorGraph & | graph () const |
| | return the graph with nonlinear factors
|
|
virtual | ~NonlinearOptimizer () |
| | Virtual destructor.
|
| virtual VectorValues | solve (const GaussianFactorGraph &gfg, const NonlinearOptimizerParams ¶ms) const |
| | Default function to do linear solve, i.e.
|
|
|
Parameters | params_ |
|
DirectionMethod | directionMethod_ = DirectionMethod::PolakRibiere |
|
std::shared_ptr< const NonlinearFactorGraph > | graph_ |
| | The graph with nonlinear factors.
|
|
std::unique_ptr< internal::NonlinearOptimizerState > | state_ |
| | PIMPL'd state.
|
|
std::unique_ptr< NonlinearMultifrontalSolver > | nonlinearMultifrontalSolver_ |
| | Solver for multifrontal Cholesky, lazily created.
|
|
std::unique_ptr< internal::CholmodSolver > | cholmodSolver_ |
| | Optional reusable CHOLMOD numerical and symbolic session.
|