Linear Algebra

Your Progress in this Chapter

0%

0 / 38 units completed

Chapter Overview

Cholesky Factorization FactorUpdate Positive Definicy

Section 5.6 of 117 min2 code examples

The Cholesky factorization (also called Cholesky decomposition) is a matrix decomposition technique used in linear algebra. It applies to Hermitian, positive-definite matrices (in the real case, symmetric positive-definite matrices).

Definition

Given a Hermitian positive-definite matrix A, the Cholesky decomposition expresses A as:

A=LLA = L \cdot L^*

where: - L is a lower triangular matrix with strictly positive diagonal entries. - L^* denotes the conjugate transpose of L (for real matrices, this is simply the transpose).

Properties

  • Existence: Every Hermitian positive-definite matrix has a Cholesky decomposition.
  • Uniqueness: The decomposition is unique.
  • Efficiency: Roughly twice as efficient as LU decomposition for solving systems of linear equations.
  • Applications:
  • Numerical solutions of linear systems.
  • Monte Carlo simulations.
  • Optimization problems.
  • Covariance matrix factorization in statistics.

.. Admonition:: Example 1 :

Consider the matrix:

A=[41216123743164398]A = \begin{bmatrix} 4 & 12 & -16 \\ 12 & 37 & -43 \\ -16 & -43 & 98 \end{bmatrix}

Its Cholesky factorization is:

L=[200610853]L = \begin{bmatrix} 2 & 0 & 0 \\ 6 & 1 & 0 \\ -8 & 5 & 3 \end{bmatrix}

Using SepalSolver, we call Chol on an instance of the matrix.

.. Admonition:: Example 2 :

Example 1C#

1
2
3
4
5
6
7
8
9
10
11
12
Code is ready to run
OutputFrom the book
Cholesky Factor L = 
   4.7681    0.0000    0.0000    0.0000    0.0000
   0.3955    4.6987    0.0000    0.0000    0.0000
   0.0000    0.4355    4.7507    0.0000    0.0000
   0.0000    0.0000    0.5179    4.7240    0.0000
   0.2726   -0.0230    0.0021    0.4817    4.7094

A is positive definite

Like LU factors, Cholesky factors can be updated too, when the Matrix undergoes rank1 update.

Example 2C#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Code is ready to run
OutputFrom the book
Matrix A:
  23.7345    1.8047    0.9861   -0.1053    2.2130
   1.8859   22.2406    1.9660    0.0085   -0.0741
   1.0000    1.9666   23.7315    2.3568    0.9003
   0.0000    0.0000    2.4606   22.5959    2.1807
   2.3000   -0.0749    0.9094    2.1818   23.3189

Matrix L:
   4.8718    0.0000    0.0000    0.0000    0.0000
   0.3871    4.6994    0.0000    0.0000    0.0000
   0.2053    0.4185    4.8520    0.0000    0.0000
   0.0000    0.0000    0.5071    4.7252    0.0000
   0.4721   -0.0389    0.1895    0.4615    4.7971

Updated Matrix A_tilde:
  23.7345    1.8859    1.0000    0.0000    2.3000
   1.8859   22.2340    2.0461    0.0000    0.0000
   1.0000    2.0461   23.7591    2.4606    1.0000
   0.0000    0.0000    2.4606   22.5848    2.2768
   2.3000    0.0000    1.0000    2.2768   23.4853

Matrix L:
   4.8718    0.0000    0.0000    0.0000    0.0000
   0.3871    4.6994    0.0000    0.0000    0.0000
   0.2053    0.4185    4.8520    0.0000    0.0000
   0.0000    0.0000    0.5071    4.7252    0.0000
   0.4721   -0.0389    0.1895    0.4615    4.7971