Public Member Functions
g2o::LinearSolver< MatrixType > Class Template Reference

basic solver for Ax = b More...

#include <linear_solver.h>

Inheritance diagram for g2o::LinearSolver< MatrixType >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool init ()=0
 LinearSolver ()
virtual bool solve (const SparseBlockMatrix< MatrixType > &A, double *x, double *b)=0
virtual bool solveBlocks (double **&blocks, const SparseBlockMatrix< MatrixType > &A)
virtual bool solvePattern (SparseBlockMatrix< MatrixXd > &spinv, const std::vector< std::pair< int, int > > &blockIndices, const SparseBlockMatrix< MatrixType > &A)
virtual ~LinearSolver ()

Detailed Description

template<typename MatrixType>
class g2o::LinearSolver< MatrixType >

basic solver for Ax = b

basic solver for Ax = b which has to reimplemented for different linear algebra libraries. A is assumed to be symmetric (only upper triangular block is stored) and positive-semi-definit.

Definition at line 31 of file linear_solver.h.


Constructor & Destructor Documentation

template<typename MatrixType>
g2o::LinearSolver< MatrixType >::LinearSolver ( ) [inline]

Definition at line 34 of file linear_solver.h.

template<typename MatrixType>
virtual g2o::LinearSolver< MatrixType >::~LinearSolver ( ) [inline, virtual]

Definition at line 35 of file linear_solver.h.


Member Function Documentation

template<typename MatrixType>
virtual bool g2o::LinearSolver< MatrixType >::init ( ) [pure virtual]
template<typename MatrixType>
virtual bool g2o::LinearSolver< MatrixType >::solve ( const SparseBlockMatrix< MatrixType > &  A,
double *  x,
double *  b 
) [pure virtual]

Assumes that A has the same non-zero pattern over several calls. If the pattern changes call init() before. solve system Ax = b, x and b have to allocated beforehand!!

Implemented in g2o::LinearSolverCholmod< MatrixType >, g2o::LinearSolverCSparse< MatrixType >, g2o::LinearSolverCholmodOnline< MatrixType >, g2o::LinearSolverPCG< MatrixType >, and g2o::LinearSolverDense< MatrixType >.

template<typename MatrixType>
virtual bool g2o::LinearSolver< MatrixType >::solveBlocks ( double **&  blocks,
const SparseBlockMatrix< MatrixType > &  A 
) [inline, virtual]

Inverts the diagonal blocks of A

Returns:
false if not defined.

Reimplemented in g2o::LinearSolverCholmod< MatrixType >, and g2o::LinearSolverCSparse< MatrixType >.

Definition at line 56 of file linear_solver.h.

template<typename MatrixType>
virtual bool g2o::LinearSolver< MatrixType >::solvePattern ( SparseBlockMatrix< MatrixXd > &  spinv,
const std::vector< std::pair< int, int > > &  blockIndices,
const SparseBlockMatrix< MatrixType > &  A 
) [inline, virtual]

Inverts the a block pattern of A in spinv

Returns:
false if not defined.

Reimplemented in g2o::LinearSolverCholmod< MatrixType >, and g2o::LinearSolverCSparse< MatrixType >.

Definition at line 69 of file linear_solver.h.


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


re_vision
Author(s): Dorian Galvez-Lopez
autogenerated on Sun Jan 5 2014 11:34:30