math.linearAlgebra
Class CholeskyDecomposition

java.lang.Object
  extended by math.linearAlgebra.CholeskyDecomposition
All Implemented Interfaces:
java.io.Serializable

public class CholeskyDecomposition
extends java.lang.Object
implements java.io.Serializable

Cholesky Decomposition.

For a symmetric, positive definite matrix A, the Cholesky decomposition is an lower triangular matrix L so that A = L*L'.

If the matrix is not symmetric or positive definite, the constructor returns a partial decomposition and sets an internal flag that may be queried by the isSPD() method.

See Also:
Serialized Form

Constructor Summary
CholeskyDecomposition(Matrix Arg)
          Cholesky algorithm for symmetric and positive definite matrix.
 
Method Summary
 Matrix getL()
          Return triangular factor.
 boolean isSPD()
          Is the matrix symmetric and positive definite?
 Matrix solve(Matrix B)
          Solve A*X = B
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CholeskyDecomposition

public CholeskyDecomposition(Matrix Arg)
Cholesky algorithm for symmetric and positive definite matrix.

Parameters:
Arg - Square, symmetric matrix. Structure to access L and isspd flag.
Method Detail

isSPD

public boolean isSPD()
Is the matrix symmetric and positive definite?

Returns:
true if A is symmetric and positive definite.

getL

public Matrix getL()
Return triangular factor.

Returns:
L

solve

public Matrix solve(Matrix B)
Solve A*X = B

Parameters:
B - A Matrix with as many rows as A and any number of columns.
Returns:
X so that L*L'*X = B
Throws:
java.lang.IllegalArgumentException - Matrix row dimensions must agree.
java.lang.RuntimeException - Matrix is not symmetric positive definite.