Symbolic Cholesky decomposition explained

In the mathematical subfield of numerical analysis the symbolic Cholesky decomposition is an algorithm used to determine the non-zero pattern for the

L

factors of a symmetric sparse matrix when applying the Cholesky decomposition or variants.

Algorithm

Let

A=(aij)\inKn

be a sparse symmetric positive definite matrix with elements from a field

K

, which we wish to factorize as

A=LLT

.

In order to implement an efficient sparse factorization it has been found to be necessary to determine the non zero structure of the factors before doing any numerical work. To write the algorithm down we use the following notation:

l{A}i

and

l{L}j

be sets representing the non-zero patterns of columns and (below the diagonal only, and including diagonal elements) of matrices and respectively.

minl{L}j

to mean the smallest element of

l{L}j

.

\pi(i)

to define the elimination tree within the matrix.

The following algorithm gives an efficient symbolic factorization of :

\begin{align} &\pi(i):=0~forall~i\\ &For~i:=1~to~n\\ &    l{L}i:=l{A}i\\ &    Forall~j~suchthat~\pi(j)=i\\ &       l{L}i:=(l{L}i\cupl{L}j)\setminus\{j\}\\ &    \pi(i):=min(l{L}i\setminus\{i\}) \end{align}