0% found this document useful (0 votes)
674 views

Cholesky Decomposition

The document discusses the Cholesky decomposition method for finding the LU decomposition of a symmetric positive-definite matrix A. It can be written as A = LLT, where L is a lower triangular matrix. The algorithm works by first finding the elements of the first column of L, then the second column, and so on recursively. This decomposition has advantages over regular LU in terms of storage, stability, and speed. An example 4x4 matrix is used to illustrate the process.

Uploaded by

islam
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
674 views

Cholesky Decomposition

The document discusses the Cholesky decomposition method for finding the LU decomposition of a symmetric positive-definite matrix A. It can be written as A = LLT, where L is a lower triangular matrix. The algorithm works by first finding the elements of the first column of L, then the second column, and so on recursively. This decomposition has advantages over regular LU in terms of storage, stability, and speed. An example 4x4 matrix is used to illustrate the process.

Uploaded by

islam
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1.4.

2 Cholesky Decomposition

We mention now the special form that LU decomposition takes for a matrix A that is
symmetric (AT=A) and positive-definite, i.e.

vTAv > 0 for all v ∈ RN, v ≠ 0 (1.4.2-1)

The meaning of positive definiteness will be made clearer in our later discussion of
matrix eigenvalues. For now, we merely state the definition above, and note that many
matrices satisfy this property.

For example, the matrix below, common in the numerical solution of PDE’s

2 − 1 
− 1 2 − 1 
A=   (1.4.2-2)
 -1 2 − 1
 
 -1 2

Is positive-definite since

2 − 1   v1  2v1 − v 2 
− 1 2 − 1   v  − v + 2v − v 
Av =    2 =  1 2 3
(1.4.2-3)
 -1 2 − 1  v3  − v 2 + 2v3 − v 4 
     
 -1 2  v 4  − v3 + 2v 4 

2v1 − v 2 
− v + 2v − v 
vTAv = v • (A v ) = [ v1 v2 v3 v4] 
1 2 3

− v 2 + 2v3 − v 4 
 
− v3 + 2v 4 

= v1(2v1-v2) + v2(-v1 + 2v2 – v3) + v3(-v + 2v3 – v4) + v4(-v3 + 2v4)


= 2v12 – v1v2 – v1v2 + 2v22 – v2v3 + 2v32 – v2v3 – v3v4 + 2v42 – v3v4
= 2(v12 + v22 + v32 + v42) – 2(v1v2 + v2v3 + v3v4) (1.4.2-4)

As first term in positive and always larger in magnitude than the second, vTAv > 0.
For such a matrix A with AT = A, vTAv > 0, we can perform a Cholesky decomposition
to write
A = LLT (1.4.2-5)

Note that
AT = (LLT)T = (LT)TLT = LLT = A (1.4.2-6)

And

VTAv = vTLLTv = (LTv)T(LTv) = (LTv) • (LTv) > 0 for v ≠ 0, A non-singular (1.4.2-7)

Where we have used the property for determinants (AB)T = BTAT (1.4.2-8)

Therefore, the equation A = LLT immediately implies that A is symmetric and positive-
definitive.

Advantages of Cholesky decomposition, when it can be used:

- cut storage requirement since only need L


- stable even without pivoting
- faster then LU decomposition By a factor of 2

If we write out (1.4.2-5) explicitly,

L11  L11 L12 L13 ... L1N 


L L 22   L 21 L 22 ... L 2N 
 21  
A = LLT = L 31 L 32 L 33   L 33 ... L 3N  (1.4.2-9)
   
: : : :   : : : 
L N1 L N2 L N3 ... L NN   L NN 
 

We can perform the multiplication to obatain,

L11L11 = a11 => L11= (a11)(1/2) (1.4.2-10)


Next, multiply row 1 of L with column 2 of LT,

a12 = L11L21 => L21 = a12/L11 (1.4.2-11)

Next, row #1 of L with column #3 of LT,

a13 = L11L31 => L31 = a13/L11 (1.4.2-12)

Similarly for j = 4, …., N we have Lj1 = a1j/L11 (1.4.2-13)

This gives us the values of the 1st column of L (and 1st row of LT).

Next, we move to the 2nd column of L.

Multiplying row #2 of L with column #2 of LT,

L21L21 + L22L22 = a22 => L22 = (a22 – L212)(1/2) (1.4.2-14)

Then, multiplying row #2 of L with column #3 of LT,

L21L31 + L22L32 = a23 => L32 = (a23 – L21L31)/L22 (1.4.2-15)

And row #2 of L with column #j (j=4,…,N) of LT,


L21Lj1 + L22Lj2 = a2j => Lj2 = (a2j – L21Lj1)/L22 (1.4.2-16)

This gives us the elements of the 2nd column of L (2nd row of LT).

In general, to determine the elements of the ith column of L, we first multiply the ith row
of L with ith column of LT to obtain

Li12 + Li22 + … + Li, i-12 + Lii2 = aii (1.4.2-17)


i −1
=> Lii = [aii - ∑L
k =1
2
ik ](1/2) (1.4.2-18)
Then for j = i+1, i+2, …, N we multiply the ith row of L by the jth column of LT to obtain
Li1Lj1 + Li2Lj2 + … + Li, i-1Lj, i-1 + LiiLji = aij (1.4.2-19)

So

i −1
Lji = [aij - ∑ L ik L jk ]/Lii (1.4.2-20)
k =1

This gives us the following algorithm for performing a Cholesky decomposition:

For i = 1, 2, …, N % each column of L

i −1
Lii [aii - ∑L
k =1
2
ik ](1/2)

For j = i+1, i+2, …, N % each element below the diagonal in column #i of L


i −1
o Lji = [aij - ∑ L ik L jk ]/Lii
k =1

end

end

You might also like