org.ojalgo.matrix.decomposition
Interface Cholesky<N extends Number>

All Superinterfaces:
MatrixDecomposition<N>
All Known Implementing Classes:
Chol0, CholeskyDecomposition, JamaCholesky

public interface Cholesky<N extends Number>
extends MatrixDecomposition<N>

If [A] is symmetric and positive definite then the general LU decomposition - [P][L][D][U] - becomes [I][L][D][L]T (or [I][U]T[D][U]). [I] can be left out and [D] is normally split in halves and merged with [L] (and/or [U]). We'll express it as [A] = [R]T[R].

A cholesky decomposition is still/also an LU decomposition where [P][L][D][U] => [R]T[R].

Author:
apete

Method Summary
 boolean computeWithCheck(MatrixStore<N> aStore)
           
 N getDeterminant()
           
 MatrixStore<N> getL()
           
 boolean isSPD()
          To use the Cholesky decomposition rather than the LU decomposition the matrix must be symmetric and positive definite.
 
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
compute, equals, equals, getInverse, invert, isComputed, isFullSize, isSolvable, reset, solve, solve
 

Method Detail

isSPD

boolean isSPD()
To use the Cholesky decomposition rather than the LU decomposition the matrix must be symmetric and positive definite. It is recommended that the decomposition algorithm checks for this during calculation. Possibly the matrix could be assumed to be symmetric (to improve performance) but tests should be made to assure the matrix is positive definite.

Returns:
true if the tests did not fail.

computeWithCheck

boolean computeWithCheck(MatrixStore<N> aStore)

getDeterminant

N getDeterminant()

getL

MatrixStore<N> getL()