NDEVR
API Documentation
MarginalCovarianceCholesky

computing the marginal covariance given a cholesky factor (lower triangle of the factor) More...

Collaboration diagram for MarginalCovarianceCholesky:
[legend]

Public Member Functions

void computeCovariance (g_type **covBlocks, const Buffer< int > &blockIndices)
 compute the marginal cov for the given block indices, write the result to the covBlocks memory (which has to be provided by the caller).
void computeCovariance (SparseBlockMatrix< MatrixX< g_type > > &spinv, const Buffer< int > &rowBlockIndices, const Buffer< std::pair< int, int > > &blockIndices)
 compute the marginal cov for the given block indices, write the result in spinv).
void setCholeskyFactor (int n, int *Lp, int *Li, g_type *Lx, int *permInv)
 set the CCS representation of the cholesky factor along with the inverse permutation used to reduce the fill-in.

Protected Types

typedef Dictionary< int, g_type > LookupMap
 hash struct for storing the matrix elements needed to compute the covariance

Protected Member Functions

g_type computeEntry (int r, int c)
 compute one entry in the covariance, r and c are values after applying the permutation, and upper triangular.
int computeIndex (int r, int c) const
 compute the index used for hashing

Protected Attributes

int * _Ai
 row indices of the CCS storage
int * _Ap
 column pointer of the CCS storage
g_type * _Ax
 values of the cholesky factor
Buffer< g_type > _diag
 cache 1 / H_ii to avoid recalculations
LookupMap _map
 hash look up table for the already computed entries
int _n
 L is an n X n matrix.
int * _perm
 permutation of the cholesky factor. Variable re-ordering for better fill-in

Detailed Description

computing the marginal covariance given a cholesky factor (lower triangle of the factor)

Definition at line 43 of file marginal_covariance_cholesky.h.

Member Function Documentation

◆ computeEntry()

g_type MarginalCovarianceCholesky::computeEntry ( int r,
int c )
protected

compute one entry in the covariance, r and c are values after applying the permutation, and upper triangular.

May issue recursive calls to itself to compute the missing values.

◆ setCholeskyFactor()

void MarginalCovarianceCholesky::setCholeskyFactor ( int n,
int * Lp,
int * Li,
g_type * Lx,
int * permInv )

set the CCS representation of the cholesky factor along with the inverse permutation used to reduce the fill-in.

permInv might be 0, will then not permute the entries.

The pointers provided by the user need to be still valid when calling computeCovariance(). The pointers are owned by the caller, MarginalCovarianceCholesky does not free the pointers.


The documentation for this class was generated from the following file: