basic solver for Ax = b More...
#include <linear_solver.h>

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 () |
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.
| g2o::LinearSolver< MatrixType >::LinearSolver | ( | ) | [inline] |
Definition at line 34 of file linear_solver.h.
| virtual g2o::LinearSolver< MatrixType >::~LinearSolver | ( | ) | [inline, virtual] |
Definition at line 35 of file linear_solver.h.
| virtual bool g2o::LinearSolver< MatrixType >::init | ( | ) | [pure virtual] |
init for operating on matrices with a different non-zero pattern like before
Implemented in g2o::LinearSolverCholmod< MatrixType >, g2o::LinearSolverCSparse< MatrixType >, g2o::LinearSolverCholmodOnline< MatrixType >, g2o::LinearSolverPCG< MatrixType >, and g2o::LinearSolverDense< 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 >.
| virtual bool g2o::LinearSolver< MatrixType >::solveBlocks | ( | double **& | blocks, |
| const SparseBlockMatrix< MatrixType > & | A | ||
| ) | [inline, virtual] |
Inverts the diagonal blocks of A
Reimplemented in g2o::LinearSolverCholmod< MatrixType >, and g2o::LinearSolverCSparse< MatrixType >.
Definition at line 56 of file linear_solver.h.
| 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
Reimplemented in g2o::LinearSolverCholmod< MatrixType >, and g2o::LinearSolverCSparse< MatrixType >.
Definition at line 69 of file linear_solver.h.