27#ifndef G2O_LINEAR_SOLVER_PCG_H
28#define G2O_LINEAR_SOLVER_PCG_H
42template <
typename MatrixType>
94 void mult(
const std::vector<int>& colBlockIndices,
const VectorX& src,
linear solver using PCG, pre-conditioner is block Jacobi
MatrixPtrVector _sparseMat
double tolerance() const
return the tolerance for terminating PCG before convergence
void mult(const std::vector< int > &colBlockIndices, const VectorX &src, VectorX &dest)
bool absoluteTolerance() const
std::vector< std::pair< int, int > > _indices
std::vector< MatrixType > MatrixVector
std::vector< const MatrixType * > MatrixPtrVector
bool solve(const SparseBlockMatrix< MatrixType > &A, double *x, double *b)
int maxIterations() const
void setAbsoluteTolerance(bool absoluteTolerance)
void setMaxIterations(int maxIter)
void setTolerance(double tolerance)
virtual ~LinearSolverPCG()
void multDiag(const std::vector< int > &colBlockIndices, MatrixVector &A, const VectorX &src, VectorX &dest)
Sparse matrix which uses blocks.
constexpr double cst(long double v)
VectorN< Eigen::Dynamic > VectorX