Essentia
2.1beta5dev

#include <jama_cholesky.h>
Public Member Functions  
Cholesky ()  
Cholesky (const Array2D< Real > &A)  
Array2D< Real >  getL () const 
Array1D< Real >  solve (const Array1D< Real > &B) 
Array2D< Real >  solve (const Array2D< Real > &B) 
int  is_spd () const 
Private Attributes  
Array2D< Real >  L_ 
int  isspd 
For a symmetric, positive definite matrix A, this function computes the Cholesky factorization, i.e. it computes a lower triangular matrix L such that A = L*L'. If the matrix is not symmetric or positive definite, the function computes only a partial decomposition. This can be tested with the is_spd() flag.
Typical usage looks like:
Array2D<double> A(n,n); Array2D<double> L;
...
Cholesky<double> chol(A);
if (chol.is_spd()) L = chol.getL();
else cout << "factorization was not complete.\n";
(Adapted from JAMA, a Java Matrix Library, developed by jointly by the Mathworks and NIST; see http://math.nist.gov/javanumerics/jama).
Cholesky  (  ) 
Constructs a lower triangular matrix L, such that L*L'= A. If A is not symmetric positivedefinite (SPD), only a partial factorization is performed. If is_spd() evalutate true (1) then the factorizaiton was successful.
References Array2D< T >::dim1(), Array2D< T >::dim2(), Cholesky< Real >::isspd, and Cholesky< Real >::L_.
Array2D< Real > getL  (  )  const 
References Cholesky< Real >::L_.
int is_spd  (  )  const 
References Cholesky< Real >::isspd.
Solve a linear system A*x = b, using the previously computed cholesky factorization of A: L*L'.
B  A Matrix with as many rows as A and any number of columns. 
References Array1D< T >::copy(), Array2D< T >::dim1(), Array1D< T >::dim1(), and Cholesky< Real >::L_.
Solve a linear system A*X = B, using the previously computed cholesky factorization of A: L*L'.
B  A Matrix with as many rows as A and any number of columns. 
References Array2D< T >::copy(), Array2D< T >::dim1(), Array2D< T >::dim2(), and Cholesky< Real >::L_.

private 
Referenced by Cholesky< Real >::Cholesky(), and Cholesky< Real >::is_spd().

private 
Referenced by Cholesky< Real >::Cholesky(), Cholesky< Real >::getL(), and Cholesky< Real >::solve().