g2o
Loading...
Searching...
No Matches
g2o::BlockSolverBase Class Referenceabstract

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

#include <block_solver.h>

Inheritance diagram for g2o::BlockSolverBase:
Collaboration diagram for g2o::BlockSolverBase:

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< MatrixX > &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
const double * x () const
double * b ()
 return b, the right hand side of the system
const double * b () const
size_t vectorSize () const
 return the size of the solution vector (x) and b
SparseOptimizer * optimizer () const
 the optimizer (graph) on which the solver works
void setOptimizer (SparseOptimizer *optimizer)
bool levenberg () const
 the system is Levenberg-Marquardt
void setLevenberg (bool levenberg)
virtual bool supportsSchur ()
virtual bool schur ()=0
 should the solver perform the schur complement or not
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

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
size_t _additionalVectorSpace

Detailed Description

base for the block solvers with some basic function interfaces

Definition at line 90 of file block_solver.h.

Constructor & Destructor Documentation

◆ ~BlockSolverBase()

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

Definition at line 92 of file block_solver.h.

Member Function Documentation

◆ multiplyHessian()

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

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