|
g2o
|
Implementation of the Gauss Newton Algorithm. More...
#include <optimization_algorithm_gauss_newton.h>


Public Member Functions | |
| OptimizationAlgorithmGaussNewton (std::unique_ptr< Solver > solver) | |
| virtual | ~OptimizationAlgorithmGaussNewton () |
| virtual SolverResult | solve (int iteration, bool online=false) |
| virtual void | printVerbose (std::ostream &os) const |
Public Member Functions inherited from g2o::OptimizationAlgorithmWithHessian | |
| OptimizationAlgorithmWithHessian (Solver &solver) | |
| virtual | ~OptimizationAlgorithmWithHessian () |
| virtual bool | init (bool online=false) |
| virtual bool | computeMarginals (SparseBlockMatrix< MatrixX > &spinv, const std::vector< std::pair< int, int > > &blockIndices) |
| virtual bool | buildLinearStructure () |
| virtual void | updateLinearSystem () |
| virtual bool | updateStructure (const std::vector< HyperGraph::Vertex * > &vset, const HyperGraph::EdgeSet &edges) |
| Solver & | solver () |
| return the underlying solver used to solve the linear system | |
| virtual void | setWriteDebug (bool writeDebug) |
| virtual bool | writeDebug () const |
Public Member Functions inherited from g2o::OptimizationAlgorithm | |
| OptimizationAlgorithm () | |
| virtual | ~OptimizationAlgorithm () |
| const SparseOptimizer * | optimizer () const |
| return the optimizer operating on | |
| SparseOptimizer * | optimizer () |
| void | setOptimizer (SparseOptimizer *optimizer) |
| const PropertyMap & | properties () const |
| return the properties of the solver | |
| bool | updatePropertiesFromString (const std::string &propString) |
| void | printProperties (std::ostream &os) const |
Private Attributes | |
| std::unique_ptr< Solver > | m_solver |
Additional Inherited Members | |
Protected Attributes inherited from g2o::OptimizationAlgorithmWithHessian | |
| Solver & | _solver |
| Property< bool > * | _writeDebug |
Protected Attributes inherited from g2o::OptimizationAlgorithm | |
| SparseOptimizer * | _optimizer |
| the optimizer the solver is working on | |
| PropertyMap | _properties |
Implementation of the Gauss Newton Algorithm.
Definition at line 40 of file optimization_algorithm_gauss_newton.h.
|
explicit |
construct the Gauss Newton algorithm, which use the given Solver for solving the linearized system.
Definition at line 43 of file optimization_algorithm_gauss_newton.cpp.
|
virtual |
Definition at line 48 of file optimization_algorithm_gauss_newton.cpp.
|
virtual |
called by the optimizer if verbose. re-implement, if you want to print something
Reimplemented from g2o::OptimizationAlgorithm.
Definition at line 97 of file optimization_algorithm_gauss_newton.cpp.
References g2o::OptimizationAlgorithmWithHessian::_solver, and g2o::Solver::schur().
|
virtual |
Solve one iteration. The SparseOptimizer running on-top will call this for the given number of iterations.
| iteration | indicates the current iteration |
Implements g2o::OptimizationAlgorithm.
Reimplemented in g2o::SolverSLAM2DLinear.
Definition at line 50 of file optimization_algorithm_gauss_newton.cpp.
References __PRETTY_FUNCTION__, g2o::OptimizationAlgorithm::_optimizer, g2o::OptimizationAlgorithmWithHessian::_solver, g2o::Solver::buildStructure(), g2o::Solver::buildSystem(), g2o::SparseOptimizer::computeActiveErrors(), G2O_WARN, g2o::get_monotonic_time(), g2o::G2OBatchStatistics::globalStats(), OK, g2o::Solver::optimizer(), g2o::Solver::solve(), g2o::G2OBatchStatistics::timeLinearSolution, g2o::G2OBatchStatistics::timeQuadraticForm, g2o::G2OBatchStatistics::timeResiduals, g2o::G2OBatchStatistics::timeUpdate, g2o::SparseOptimizer::update(), and g2o::Solver::x().
Referenced by g2o::SolverSLAM2DLinear::solve().
|
private |
Definition at line 55 of file optimization_algorithm_gauss_newton.h.