Click or drag to resize

SymmetricMatrixCholeskyDecomposition Method

Computes the Cholesky decomposition of the matrix.

Namespace:  Meta.Numerics.Matrices
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: 4.1.4
public CholeskyDecomposition CholeskyDecomposition()

Return Value

Type: CholeskyDecomposition
The Cholesky decomposition of the matrix, or null if the matrix is not positive definite.

A Cholesky decomposition is a special decomposition that is possible only for positive definite matrices. (A positive definite matrix M has xTMx > 0 for any vector x. Equivilently, M is positive definite if all its eigenvalues are positive.)

The Cholesky decomposition represents M = C CT, where C is lower-left triangular (and thus CT is upper-right triangular. It is basically an LU decomposition where the L and U factors are related by transposition. Since the M is produced by multiplying C "by itself", the matrix C is sometimes call the "square root" of M.

Cholesky decomposition is an O(N3) operation. It is about a factor of two faster than LU decomposition, so it is a faster way to obtain inverses, determinates, etc. if you know that M is positive definite.

The fastest way to test whether your matrix is positive definite is attempt a Cholesky decomposition. If this method returns null, M is not positive definite.

See Also