27 #ifndef G2O_MARGINAL_COVARIANCE_CHOLESKY_H 28 #define G2O_MARGINAL_COVARIANCE_CHOLESKY_H 36 #include <unordered_map> 60 void computeCovariance(
double** covBlocks,
const std::vector<int>& blockIndices);
66 void computeCovariance(
SparseBlockMatrix<MatrixXD>& spinv,
const std::vector<int>& rowBlockIndices,
const std::vector< std::pair<int, int> >& blockIndices);
76 void setCholeskyFactor(
int n,
int* Lp,
int* Li,
double* Lx,
int* permInv);
95 double computeEntry(
int r,
int c);
LookupMap _map
hash look up table for the already computed entries
computing the marginal covariance given a cholesky factor (lower triangle of the factor) ...
int * _Ai
row indices of the CCS storage
int * _Ap
column pointer of the CCS storage
double * _Ax
values of the cholesky factor
std::unordered_map< int, double > LookupMap
int _n
L is an n X n matrix.
int * _perm
permutation of the cholesky factor. Variable re-ordering for better fill-in
std::vector< double > _diag
cache 1 / H_ii to avoid recalculations
Sparse matrix which uses blocks.
int computeIndex(int r, int c) const
compute the index used for hashing