Main Page Namespace List Compound List File List Compound Members
JAMA::Cholesky Class Template Reference
#include <jama_cholesky.h>
List of all members.
Public Methods |
| 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 |
| Cholesky () |
| Cholesky (const TNT::Array2D< Real > &A) |
TNT::Array2D<Real> | getL () const |
int | is_spd () const |
Detailed Description
template<class Real> class JAMA::Cholesky
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).
Constructor & Destructor Documentation
template<class Real> |
JAMA::Cholesky< Real >::Cholesky<Real> (
|
)
|
|
template<class Real> |
JAMA::Cholesky< Real >::Cholesky<Real> (
|
const Array2D< Real > & A )
|
|
|
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. |
template<class Real> |
JAMA::Cholesky< Real >::Cholesky<Real> (
|
)
|
|
template<class Real> |
JAMA::Cholesky< Real >::Cholesky<Real> (
|
const TNT::Array2D< Real > & A )
|
|
|
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. |
Member Function Documentation
template<class Real> |
TNT::Array2D< Real > JAMA::Cholesky< Real >::getL (
|
) const
|
|
|
-
Returns:
-
the lower triangular factor, L, such that L*L'=A.
|
template<class Real> |
TNT::Array2D< Real > JAMA::Cholesky< Real >::getL (
|
) const
|
|
|
-
Returns:
-
the lower triangular factor, L, such that L*L'=A.
|
template<class Real> |
int JAMA::Cholesky< Real >::is_spd (
|
) const
|
|
|
-
Returns:
-
1, if original matrix to be factored was symmetric positive-definite (SPD).
|
template<class Real> |
int JAMA::Cholesky< Real >::is_spd (
|
) const
|
|
|
-
Returns:
-
1, if original matrix to be factored was symmetric positive-definite (SPD).
|
template<class Real> |
Array2D< Real > JAMA::Cholesky< Real >::solve (
|
const Array2D< Real > & B )
|
|
|
Solve a linear system A*X = B, using the previously computed cholesky factorization of A: L*L'. -
Parameters:
-
B
|
A Matrix with as many rows as A and any number of columns. |
-
Returns:
-
X so that L*L'*X = B. If B is nonconformat, or if A was not symmetric posidtive definite, a null (0x0) array is returned.
|
template<class Real> |
Array1D< Real > JAMA::Cholesky< Real >::solve (
|
const Array1D< Real > & b )
|
|
|
Solve a linear system A*x = b, using the previously computed cholesky factorization of A: L*L'. -
Parameters:
-
B
|
A Matrix with as many rows as A and any number of columns. |
-
Returns:
-
x so that L*L'*x = b. If b is nonconformat, or if A was not symmetric posidtive definite, a null (0x0) array is returned.
|
The documentation for this class was generated from the following files:
Generated at Mon Jan 20 07:47:18 2003 for JAMA/C++ by
1.2.5 written by Dimitri van Heesch,
© 1997-2001