mpv2
Class CholeskyDecomposition

java.lang.Object
  extended by mpv2.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(JamaMatrix Arg)
          Cholesky algorithm for symmetric and positive definite matrix.
 
Method Summary
 JamaMatrix getL()
          Return triangular factor.
 boolean isSPD()
          Is the matrix symmetric and positive definite?
 JamaMatrix solve(JamaMatrix B)
          Solve A*X = B
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CholeskyDecomposition

public CholeskyDecomposition(JamaMatrix Arg)
Cholesky algorithm for symmetric and positive definite matrix. Constructor returns a structure to access L and isspd flag.

Parameters:
Arg - Square, symmetric matrix.
Method Detail

isSPD

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

Returns:
true if A is symmetric and positive definite.

getL

public JamaMatrix getL()
Return triangular factor.

Returns:
L

solve

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

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