27 #ifndef G2O_LINEAR_SOLVER_H 28 #define G2O_LINEAR_SOLVER_H 40 template <
typename MatrixType>
50 virtual bool init() = 0;
86 template <
typename MatrixType>
const std::vector< int > & rowBlockIndices() const
indices of the row blocks
int fillSparseBlockMatrixCCS(SparseBlockMatrixCCS< MatrixType > &blockCCS) const
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)
const std::vector< int > & colBlockIndices() const
indices of the column blocks
virtual void setWriteDebug(bool)
Sparse matrix which uses blocks.
virtual bool writeDebug() const
write a debug dump of the system matrix if it is not PSD in solve
SparseBlockMatrixCCS< MatrixType > * _ccsMatrix
void initMatrixStructure(const SparseBlockMatrix< MatrixType > &A)
Solver with faster iterating structure for the linear matrix.
Sparse matrix which uses blocks.