class to compute the Cholesky decomposition of a matrix
class to compute the Cholesky decomposition of a symmetric positive definite matrix when the dimensionality of the problem is not known at compile time
provides routines to check if the decomposition succeeded (i.e. if matrix is positive definite and nonsingular), to solve a linear system for the given matrix and to obtain its inverse
the actual functionality is implemented in templated helper classes which have specializations for dimensions N = 1 to 6 to achieve a gain in speed for common matrix sizes
usage example:
Definition at line 310 of file CholeskyDecomp.h.
Public Member Functions  
template<class M >  
CholeskyDecompGenDim (unsigned N, const M &m)  
perform a Cholesky decomposition More...  
template<typename G >  
CholeskyDecompGenDim (unsigned N, G *m)  
perform a Cholesky decomposition More...  
~CholeskyDecompGenDim ()  
destructor More...  
template<class M >  
bool  getL (M &m) const 
obtain the decomposed matrix L More...  
template<typename G >  
bool  getL (G *m) const 
obtain the decomposed matrix L More...  
template<class M >  
bool  getLi (M &m) const 
obtain the inverse of the decomposed matrix L More...  
template<typename G >  
bool  getLi (G *m) const 
obtain the inverse of the decomposed matrix L More...  
template<class M >  
bool  Invert (M &m) const 
place the inverse into m More...  
template<typename G >  
bool  Invert (G *m) const 
place the inverse into m More...  
bool  ok () const 
returns true if decomposition was successful More...  
operator bool () const  
returns true if decomposition was successful More...  
template<class V >  
bool  Solve (V &rhs) const 
solves a linear system for the given right hand side More...  
Private Attributes  
F *  fL 
lower triangular matrix L More...  
unsigned  fN 
dimensionality dimensionality of the problem More...  
bool  fOk 
flag indicating a successful decomposition More...  
#include <Math/CholeskyDecomp.h>

inline 
perform a Cholesky decomposition
perfrom a Cholesky decomposition of a symmetric positive definite matrix m
this is the constructor to uses with an SMatrix (and objects that behave like an SMatrix in terms of using operator()(int i, int j) for access to elements)
Definition at line 331 of file CholeskyDecomp.h.

inline 
perform a Cholesky decomposition
perfrom a Cholesky decomposition of a symmetric positive definite matrix m
this is the constructor to use in special applications where plain arrays are used
NOTE: the matrix is given in packed representation, matrix element m(i,j) (j <= i) is supposed to be in array element (i * (i + 1)) / 2 + j
Definition at line 349 of file CholeskyDecomp.h.

inline 
destructor
Definition at line 359 of file CholeskyDecomp.h.

inline 
obtain the decomposed matrix L
This is the method to use with a plain array.
Definition at line 423 of file CholeskyDecomp.h.

inline 
obtain the decomposed matrix L
NOTE: the matrix is given in packed representation, matrix element m(i,j) (j <= i) is supposed to be in array element (i * (i + 1)) / 2 + j
Definition at line 448 of file CholeskyDecomp.h.

inline 
obtain the inverse of the decomposed matrix L
This is the method to use with a plain array.
Definition at line 467 of file CholeskyDecomp.h.

inline 
obtain the inverse of the decomposed matrix L
NOTE: the matrix is given in packed representation, matrix element m(j,i) (j <= i) is supposed to be in array element (i * (i + 1)) / 2 + j
Definition at line 498 of file CholeskyDecomp.h.

inline 
place the inverse into m
This is the method to use with an SMatrix.
Definition at line 389 of file CholeskyDecomp.h.

inline 
place the inverse into m
This is the method to use with a plain array.
NOTE: the matrix is given in packed representation, matrix element m(i,j) (j <= i) is supposed to be in array element (i * (i + 1)) / 2 + j
Definition at line 406 of file CholeskyDecomp.h.

inline 
returns true if decomposition was successful
Definition at line 363 of file CholeskyDecomp.h.

inline 
returns true if decomposition was successful
Definition at line 366 of file CholeskyDecomp.h.

inline 
solves a linear system for the given right hand side
Note that you can use both SVector classes and plain arrays for rhs. (Make sure that the sizes match!). It will work with any vector implementing the operator [i]
Definition at line 376 of file CholeskyDecomp.h.

private 
lower triangular matrix L
lower triangular matrix L, packed storage, with diagonal elements preinverted
Definition at line 319 of file CholeskyDecomp.h.

private 
dimensionality dimensionality of the problem
Definition at line 315 of file CholeskyDecomp.h.

private 
flag indicating a successful decomposition
Definition at line 321 of file CholeskyDecomp.h.