|
CEDRIC
Revision_backup-2009-02
|
#include <Cholesky.h>
Public Member Functions | |
| Cholesky (const Matrix &A) | |
| Matrix | getL () const |
| Vector | solve (const Vector &b) |
| Matrix | solve (const Matrix &B) |
| int | is_spd () const |
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).
Constructs a lower triangular matrix L, such that L*L'= A. If A is not symmetric positive-definite (SPD), only a partial factorization is performed. If is_spd() evalutate true (1) then the factorizaiton was successful.
|
inline |
Referenced by CMDS< ValueType >::CMDS().
|
inline |
|
inline |
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. |
|
inline |
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. |
1.8.6