g2o
Public Member Functions | List of all members
g2o::BlockSolverBase Class Referenceabstract

base for the block solvers with some basic function interfaces More...

#include <block_solver.h>

Inheritance diagram for g2o::BlockSolverBase:
Inheritance graph
[legend]
Collaboration diagram for g2o::BlockSolverBase:
Collaboration graph
[legend]

Public Member Functions

virtual ~BlockSolverBase ()
 
virtual void multiplyHessian (double *dest, const double *src) const =0
 
- Public Member Functions inherited from g2o::Solver
 Solver ()
 
virtual ~Solver ()
 
virtual bool init (SparseOptimizer *optimizer, bool online=false)=0
 
virtual bool buildStructure (bool zeroBlocks=false)=0
 
virtual bool updateStructure (const std::vector< HyperGraph::Vertex * > &vset, const HyperGraph::EdgeSet &edges)=0
 
virtual bool buildSystem ()=0
 
virtual bool solve ()=0
 
virtual bool computeMarginals (SparseBlockMatrix< MatrixXD > &spinv, const std::vector< std::pair< int, int > > &blockIndices)=0
 
virtual bool setLambda (double lambda, bool backup=false)=0
 
virtual void restoreDiagonal ()=0
 
double * x ()
 return x, the solution vector More...
 
const double * x () const
 
double * b ()
 return b, the right hand side of the system More...
 
const double * b () const
 
size_t vectorSize () const
 return the size of the solution vector (x) and b More...
 
SparseOptimizeroptimizer () const
 the optimizer (graph) on which the solver works More...
 
void setOptimizer (SparseOptimizer *optimizer)
 
bool levenberg () const
 the system is Levenberg-Marquardt More...
 
void setLevenberg (bool levenberg)
 
virtual bool supportsSchur ()
 
virtual bool schur ()=0
 should the solver perform the schur complement or not More...
 
virtual void setSchur (bool s)=0
 
size_t additionalVectorSpace () const
 
void setAdditionalVectorSpace (size_t s)
 
virtual void setWriteDebug (bool)=0
 
virtual bool writeDebug () const =0
 
virtual bool saveHessian (const std::string &) const =0
 write the hessian to disk using the specified file name More...
 

Additional Inherited Members

- Protected Member Functions inherited from g2o::Solver
void resizeVector (size_t sx)
 
- Protected Attributes inherited from g2o::Solver
SparseOptimizer_optimizer
 
double * _x
 
double * _b
 
size_t _xSize
 
size_t _maxXSize
 
bool _isLevenberg
 the system we gonna solve is a Levenberg-Marquardt system More...
 
size_t _additionalVectorSpace
 

Detailed Description

base for the block solvers with some basic function interfaces

Definition at line 82 of file block_solver.h.

Constructor & Destructor Documentation

virtual g2o::BlockSolverBase::~BlockSolverBase ( )
inlinevirtual

Definition at line 85 of file block_solver.h.

85 {}

Member Function Documentation

virtual void g2o::BlockSolverBase::multiplyHessian ( double *  dest,
const double *  src 
) const
pure virtual

compute dest = H * src

Implemented in g2o::BlockSolver< Traits >.

Referenced by g2o::OptimizationAlgorithmDogleg::solve().


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