Cholesky Decomposition
Cholesky Decomposition
Cholesky Decomposition
Contents
[hide]
• 1 Statement
• 2 Applications
o 2.1 Linear least squares
o 2.2 Non-linear optimization
o 2.3 Monte Carlo simulation
o 2.4 Kalman filters
• 3 Computing the Cholesky decomposition
o 3.1 The Cholesky algorithm
o 3.2 The Cholesky–Banachiewicz and Cholesky–Crout algorithms
o 3.3 Stability of the computation
3.3.1 Avoiding taking square roots
• 4 Proof for positive semi-definite matrices
• 5 Generalization
• 6 See also
• 7 Notes
• 8 References
• 9 External links
o 9.1 Information
o 9.2 Computer code
o 9.3 Use of the matrix in simulation
[edit] Statement
If A has real entries and is symmetric (or more generally, is Hermitian) and positive definite,
then A can be decomposed as
where L is a lower triangular matrix with strictly positive diagonal entries, and L* denotes the
conjugate transpose of L. This is the Cholesky decomposition.
The requirement that L have strictly positive diagonal entries can be dropped to extend the
factorization to the positive-semidefinite case. The statement then reads: a square matrix A has a
Cholesky decomposition if and only if A is Hermitian and positive semi-definite. Cholesky
factorizations for positive-semidefinite matrices are not unique in general.
In the special case that A is a symmetric positive-definite matrix with real entries, L can be
assumed to have real entries as well.
[edit] Applications
The Cholesky decomposition is mainly used for the numerical solution of linear equations Ax =
b. If A is symmetric and positive definite, then we can solve Ax = b by first computing the
Cholesky decomposition A = LLT, then solving Ly = b for y, and finally solving LTx = y for x.
Systems of the form Ax = b with A symmetric and positive definite arise quite often in
applications. For instance, the normal equations in linear least squares problems are of this form.
It may also happen that matrix A comes from an energy functional which must be positive from
physical considerations; this happens frequently in the numerical solution of partial differential
equations.
Non-linear multi-variate functions may be minimized over their parameters using variants of
Newton's method called quasi-Newton methods. At each iteration, the search takes a step s
defined by solving Hs = -g for s, where s is the step, g is the gradient vector of the function's
partial first derivatives with respect to the parameters, and H is an approximation to the Hessian
matrix of partial second derivatives formed by repeated rank 1 updates at each iteration. Two
well-known update formulae are called Davidon-Fletcher-Powell (DFP) and Broydon-Fletcher-
Goldfarb-Shanno (BFGS). Loss of the positive-definite condition through round-off error is
avoided if rather than updating an approximation to the inverse of the Hessian, one updates the
Cholesky decomposition of an approximation of the Hessian matrix itself.
Unscented Kalman filters commonly use the Cholesky decomposition to choose a set of so-
called sigma points. The Kalman filter tracks the average state of a system as a vector x of length
N and covariance as an N-by-N matrix P. The matrix P is always positive semi-definite, and can
be decomposed into LLT. The columns of L can be added and subtracted from the mean x to
form a set of 2N vectors called sigma points. These sigma points completely capture the mean
and covariance of the system state.
Which of the algorithms below is faster depends on the details of the implementation. Generally,
the first algorithm will be slightly slower because it accesses the data in a more irregular manner.
The Cholesky algorithm, used to calculate the decomposition matrix L, is a modified version of
Gaussian elimination.
where
Note that bi bi* is an outer product, therefore this algorithm is called the outer product version in
(Golub & Van Loan).
We repeat this for i from 1 to n. After n steps, we get A(n+1) = I. Hence, the lower triangular
matrix L we are looking for is calculated as
The expression under the square root is always positive if A is real and positive-definite.
• The Cholesky–Banachiewicz algorithm starts from the upper left corner of the matrix L
and proceeds to calculate the matrix row by row.
• The Cholesky–Crout algorithm starts from the upper left corner of the matrix L and
proceeds to calculate the matrix column by column.
Now, suppose that the Cholesky decomposition is applicable. As mentioned above, the algorithm
will be twice as fast. Furthermore, no pivoting is necessary and the error will always be small.
Specifically, if we want to solve Ax = b, and y denotes the computed solution, then y solves the
disturbed system (A + E)y = b where
Here, || ||2 is the matrix 2-norm, cn is a small constant depending on n, and ε denotes the unit
round-off.
There is one small problem with the Cholesky decomposition. Note that we must compute square
roots in order to find the Cholesky decomposition. If the matrix is real symmetric and positive
definite, then the numbers under the square roots are always positive in exact arithmetic.
Unfortunately, the numbers can become negative because of round-off errors, in which case the
algorithm cannot continue. However, this can only happen if the matrix is very ill-conditioned.
If A is real, the following recursive relations apply for the entries of D and L:
The LDLT and LLT factorizations (note that L is different between the two) may be easily
related:
The last expression is the product of a lower triangular matrix and its transpose, as is the LLT
factorization.
If A is an n-by-n positive semi-definite matrix, then the sequence {Ak} = {A + (1/k)In} consists
of positive definite matrices. (This is an immediate consequence of, for example, the spectral
mapping theorem for the polynomial functional calculus.) Also,
in operator norm. From the positive definite case, each Ak has Cholesky decomposition Ak =
LkLk*. By property of the operator norm,
So {Lk} is a bounded set in the Banach space of operators, therefore relatively compact (because
the underlying vector space is finite dimensional). Consequently it has a convergent
subsequence, also denoted by {Lk}, with limit L. It can be easily checked that this L has the
desired properties, i.e. A = LL* and L is lower triangular with non-negative diagonal entries: for
all x and y,
Therefore A = LL*. Because the underlying vector space is finite dimensional, all topologies on
the space of operators are equivalent. So Lk tends to L in norm means Lk tends to L entrywise.
This in turn implies that, since each Lk is lower triangular with non-negative diagonal entries, L
is also.
[edit] Generalization
The Cholesky factorization can be generalized to (not necessarily finite) matrices with operator
entries. Let be a sequence of Hilbert spaces. Consider the operator matrix
where each
is a bounded operator. If A is positive (semidefinite) in the sense that for all finite k and for any
we have , then there exists a lower triangular operator matrix L such that A =
LL*. One can also take the diagonal entries of L to be positive.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: