|
g2o
|
linear solver using dense cholesky decomposition More...
#include <linear_solver_dense.h>


Public Member Functions | |
| LinearSolverDense () | |
| virtual | ~LinearSolverDense () |
| virtual bool | init () |
| bool | solve (const SparseBlockMatrix< MatrixType > &A, double *x, double *b) |
Public Member Functions inherited from g2o::LinearSolver< MatrixType > | |
| LinearSolver () | |
| virtual | ~LinearSolver () |
| virtual bool | solveBlocks (double **&blocks, const SparseBlockMatrix< MatrixType > &A) |
| virtual bool | solvePattern (SparseBlockMatrix< MatrixX > &spinv, const std::vector< std::pair< int, int > > &blockIndices, const SparseBlockMatrix< MatrixType > &A) |
| bool | writeDebug () const |
| write a debug dump of the system matrix if it is not PSD in solve | |
| void | setWriteDebug (bool b) |
Protected Attributes | |
| bool | _reset |
| MatrixX | _H |
| Eigen::LDLT< MatrixX > | _cholesky |
Protected Attributes inherited from g2o::LinearSolver< MatrixType > | |
| bool | _writeDebug |
Additional Inherited Members | |
Static Public Member Functions inherited from g2o::LinearSolver< MatrixType > | |
| static void | allocateBlocks (const SparseBlockMatrix< MatrixType > &A, double **&blocks) |
| allocate block memory structure | |
| static void | deallocateBlocks (const SparseBlockMatrix< MatrixType > &A, double **&blocks) |
| de-allocate the block structure | |
| template<typename BlockDerived , typename ScalarDerived > | |
| static void | blockToScalarPermutation (const SparseBlockMatrix< MatrixType > &A, const Eigen::MatrixBase< BlockDerived > &p, const Eigen::MatrixBase< ScalarDerived > &scalar) |
linear solver using dense cholesky decomposition
Definition at line 46 of file linear_solver_dense.h.
|
inline |
Definition at line 48 of file linear_solver_dense.h.
|
inlinevirtual |
Definition at line 50 of file linear_solver_dense.h.
|
inlinevirtual |
init for operating on matrices with a different non-zero pattern like before
Implements g2o::LinearSolver< MatrixType >.
Definition at line 52 of file linear_solver_dense.h.
References g2o::LinearSolverDense< MatrixType >::_reset.
|
inlinevirtual |
Assumes that A is the same matrix for several calls. Among other assumptions, the non-zero pattern does not change! If the matrix changes call init() before. solve system Ax = b, x and b have to allocated beforehand!!
Implements g2o::LinearSolver< MatrixType >.
Definition at line 57 of file linear_solver_dense.h.
References g2o::LinearSolverDense< MatrixType >::_cholesky, g2o::LinearSolverDense< MatrixType >::_H, g2o::LinearSolverDense< MatrixType >::_reset, g2o::SparseBlockMatrix< MatrixType >::blockCols(), g2o::SparseBlockMatrix< MatrixType >::colBaseOfBlock(), g2o::SparseBlockMatrix< MatrixType >::cols(), g2o::SparseBlockMatrix< MatrixType >::colsOfBlock(), g2o::SparseBlockMatrix< MatrixType >::rowBaseOfBlock(), g2o::SparseBlockMatrix< MatrixType >::rowsOfBlock(), and g2o::SparseBlockMatrix< MatrixType >::transpose().
|
protected |
Definition at line 110 of file linear_solver_dense.h.
Referenced by g2o::LinearSolverDense< MatrixType >::solve().
|
protected |
Definition at line 109 of file linear_solver_dense.h.
Referenced by g2o::LinearSolverDense< MatrixType >::solve().
|
protected |
Definition at line 108 of file linear_solver_dense.h.
Referenced by g2o::LinearSolverDense< MatrixType >::init(), and g2o::LinearSolverDense< MatrixType >::solve().