# CholeskyDecomposition

gives the Cholesky decomposition of a matrix m.

# Details • The matrix m can be numerical or symbolic, but must be Hermitian and positive definite.
• yields an uppertriangular matrix u so that ConjugateTranspose[u].u==m.

# Examples

open allclose all

## Basic Examples(1)

The matrix is positive definite:

## Scope(2)

Hilbert matrices are symmetric and positive definite:

Compute the Cholesky decomposition with exact arithmetic:

Compute the Cholesky decomposition with machine arithmetic:

Compute the Cholesky decomposition with 24-digit precision arithmetic:

Compute the Cholesky decomposition of a random complex Hermitian matrix:

## Generalizations & Extensions(1)

Use symbolic matrices:

Conditions are needed to make sure the matrix is positive definite:

## Applications(1)

The Cholesky decomposition is a fast way of determining positive definiteness:

The identity matrix is positive definite:

Estimate the probability that is positive definite for r, a random 3×3 matrix:

## Properties & Relations(2)

m is a symmetric positive definite matrix:

Compute the Cholesky decomposition:

Verify ConjugateTranspose[u].u == m:

m is a random matrix with real entries:

Find the Cholesky decomposition of Transpose[m].m:

Find the QRDecomposition of m:

r is the same as u except for the choice of sign for each row:

## Possible Issues(2)

Matrices need to be positive definite enough to overcome numerical roundoff: The smallest eigenvalue is effectively zero to machine precision:

The decomposition can be computed when the precision is high enough to resolve it:

s is a sparse tridiagonal matrix:

The Cholesky decomposition is computed as a dense matrix even if the result is sparse:

Using LinearSolve will give a LinearSolveFunction that has a sparse Cholesky factorization: