Symbolic Cholesky decomposition
In the mathematical subfield of numerical analysis the symbolic Cholesky decomposition is an algorithm used to determine the non-zero pattern for the [math]\displaystyle{ L }[/math] factors of a symmetric sparse matrix when applying the Cholesky decomposition or variants.
Algorithm
Let [math]\displaystyle{ A=(a_{ij}) \in \mathbb{K}^{n \times n} }[/math] be a sparse symmetric positive definite matrix with elements from a field [math]\displaystyle{ \mathbb{K} }[/math], which we wish to factorize as [math]\displaystyle{ A = LL^T\, }[/math].
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:
- Let [math]\displaystyle{ \mathcal{A}_i }[/math] and [math]\displaystyle{ \mathcal{L}_j }[/math] be sets representing the non-zero patterns of columns i and j (below the diagonal only, and including diagonal elements) of matrices A and L respectively.
- Take [math]\displaystyle{ \min\mathcal{L}_j }[/math] to mean the smallest element of [math]\displaystyle{ \mathcal{L}_j }[/math].
- Use a parent function [math]\displaystyle{ \pi(i)\,\! }[/math] to define the elimination tree within the matrix.
The following algorithm gives an efficient symbolic factorization of A :
- [math]\displaystyle{ \begin{align} & \pi(i):=0~\mbox{for all}~i\\ & \mbox{For}~i:=1~\mbox{to}~n\\ & \qquad \mathcal{L}_i := \mathcal{A}_i\\ & \qquad \mbox{For all}~j~\mbox{such that}~\pi(j) = i\\ & \qquad \qquad \mathcal{L}_i := (\mathcal{L}_i \cup \mathcal{L}_j)\setminus\{j\}\\ & \qquad \pi(i) := \min(\mathcal{L}_i\setminus\{i\}) \end{align} }[/math]
This article does not cite any external source. HandWiki requires at least one external source. See citing external sources. (2021) (Learn how and when to remove this template message) |
Original source: https://en.wikipedia.org/wiki/Symbolic Cholesky decomposition.
Read more |