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

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

public interface Cholesky<N extends Number>
extends LU<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] (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
 MatrixStore<N> getR()
           
 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.LU
getD, getDeterminant, getL, getP, getPivotOrder, getRank, getU, isSingular
 
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.

getR

MatrixStore<N> getR()