|
g2o
|
Solver with faster iterating structure for the linear matrix. More...
#include <linear_solver.h>


Public Member Functions | |
| LinearSolverCCS () | |
| ~LinearSolverCCS () | |
| 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 | blockOrdering () const |
| do the AMD ordering on the blocks or on the scalar matrix | |
| void | setBlockOrdering (bool blockOrdering) |
Public Member Functions inherited from g2o::LinearSolver< MatrixType > | |
| LinearSolver () | |
| virtual | ~LinearSolver () |
| virtual bool | init ()=0 |
| virtual bool | solve (const SparseBlockMatrix< MatrixType > &A, double *x, double *b)=0 |
| bool | writeDebug () const |
| write a debug dump of the system matrix if it is not PSD in solve | |
| void | setWriteDebug (bool b) |
Protected Member Functions | |
| void | initMatrixStructure (const SparseBlockMatrix< MatrixType > &A) |
| virtual bool | solveBlocks_impl (const SparseBlockMatrix< MatrixType > &A, std::function< void(MarginalCovarianceCholesky &)> compute)=0 |
Protected Attributes | |
| SparseBlockMatrixCCS< MatrixType > * | _ccsMatrix |
| bool | _blockOrdering |
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) |
Solver with faster iterating structure for the linear matrix.
Definition at line 150 of file linear_solver.h.
|
inline |
Definition at line 152 of file linear_solver.h.
|
inline |
Definition at line 154 of file linear_solver.h.
References g2o::LinearSolverCCS< MatrixType >::_ccsMatrix.
|
inline |
do the AMD ordering on the blocks or on the scalar matrix
Definition at line 176 of file linear_solver.h.
References g2o::LinearSolverCCS< MatrixType >::_blockOrdering.
Referenced by g2o::LinearSolverCholmod< MatrixType >::computeSymbolicDecomposition(), g2o::LinearSolverCSparse< MatrixType >::computeSymbolicDecomposition(), g2o::LinearSolverEigen< MatrixType >::computeSymbolicDecomposition(), and g2o::LinearSolverCCS< MatrixType >::setBlockOrdering().
|
inlineprotected |
Definition at line 183 of file linear_solver.h.
References g2o::LinearSolverCCS< MatrixType >::_ccsMatrix, g2o::SparseBlockMatrix< MatrixType >::colBlockIndices(), g2o::SparseBlockMatrix< MatrixType >::fillSparseBlockMatrixCCS(), and g2o::SparseBlockMatrix< MatrixType >::rowBlockIndices().
Referenced by g2o::LinearSolverCholmod< MatrixType >::fillCholmodExt(), g2o::LinearSolverCSparse< MatrixType >::fillCSparse(), and g2o::LinearSolverEigen< MatrixType >::fillSparseMatrix().
|
inline |
Definition at line 177 of file linear_solver.h.
References g2o::LinearSolverCCS< MatrixType >::_blockOrdering, and g2o::LinearSolverCCS< MatrixType >::blockOrdering().
|
inlinevirtual |
Inverts the diagonal blocks of A
Reimplemented from g2o::LinearSolver< MatrixType >.
Definition at line 156 of file linear_solver.h.
References g2o::LinearSolver< MatrixType >::allocateBlocks(), g2o::SparseBlockMatrix< MatrixType >::rowBlockIndices(), and g2o::LinearSolverCCS< MatrixType >::solveBlocks_impl().
|
protectedpure virtual |
|
inlinevirtual |
Inverts the a block pattern of A in spinv
Reimplemented from g2o::LinearSolver< MatrixType >.
Definition at line 165 of file linear_solver.h.
References g2o::SparseBlockMatrix< MatrixType >::rowBlockIndices(), and g2o::LinearSolverCCS< MatrixType >::solveBlocks_impl().
|
protected |
Definition at line 181 of file linear_solver.h.
Referenced by g2o::LinearSolverCCS< MatrixType >::blockOrdering(), and g2o::LinearSolverCCS< MatrixType >::setBlockOrdering().
|
protected |
Definition at line 180 of file linear_solver.h.
Referenced by g2o::LinearSolverCholmod< MatrixType >::fillCholmodExt(), g2o::LinearSolverCSparse< MatrixType >::fillCSparse(), g2o::LinearSolverEigen< MatrixType >::fillSparseMatrix(), g2o::LinearSolverCCS< MatrixType >::initMatrixStructure(), and g2o::LinearSolverCCS< MatrixType >::~LinearSolverCCS().