cholesky decomposition

4
1.4.2 Cholesky Decomposition We mention now the special form that LU decomposition takes for a matrix A that is symmetric (A T =A) and positive-definite, i.e. v T Av > 0 for all v R N , 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 A = (1.4.2-2) 2 1 - 1 2 1 - 1 2 1 1 2 Is positive-definite since Av = = (1.4.2-3) 2 1 - 1 2 1 - 1 2 1 1 2 4 3 2 1 v v v v + + + 4 3 4 3 2 3 2 1 2 1 2v v v 2v v v 2v v v 2v v T Av = ( v A v ) = [ v 1 v 2 v 3 v 4 ] + + + 4 3 4 3 2 3 2 1 2 1 2v v v 2v v v 2v v v 2v = v 1 (2v 1 -v 2 ) + v 2 (-v 1 + 2v 2 – v 3 ) + v 3 (-v + 2v 3 – v 4 ) + v 4 (-v 3 + 2v 4 ) = 2v 1 2 – v 1 v 2 – v 1 v 2 + 2v 2 2 – v 2 v 3 + 2v 3 2 – v 2 v 3 – v 3 v 4 + 2v 4 2 – v 3 v 4 = 2(v 1 2 + v 2 2 + v 3 2 + v 4 2 ) – 2(v 1 v 2 + v 2 v 3 + v 3 v 4 ) (1.4.2-4) As first term in positive and always larger in magnitude than the second, v T Av > 0.

Upload: islam

Post on 17-Nov-2014

459 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cholesky Decomposition

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

A = (1.4.2-2)

−−−

2 1- 1 2 1-

1 2 11 2

Is positive-definite since

Av = = (1.4.2-3)

−−−

2 1- 1 2 1-

1 2 11 2

4

3

2

1

vvvv

+−−+−−+−

43

432

321

21

2vvv2vvv2vv

v2v

vTAv = ( vAv • ) = [ v1 v2 v3 v4]

+−−+−−+−

43

432

321

21

2vvv2vvv2vv

v2v

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

2 – v1v2 – v1v2 + 2v22 – v2v3 + 2v3

2 – v2v3 – v3v4 + 2v42 – v3v4

= 2(v12 + v2

2 + v32 + v4

2) – 2(v1v2 + v2v3 + v3v4) (1.4.2-4) As first term in positive and always larger in magnitude than the second, vTAv > 0.

Page 2: Cholesky Decomposition

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,

A = LLT = (1.4.2-9)

NNN3N2N1

333231

2221

11

L ... L L L: : : :

L L LL L

L

NN

3N33

2N2221

1N131211

L : : :

L ... L L ... L L L ... L L L

We can perform the multiplication to obatain,

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

Page 3: Cholesky Decomposition

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 + Li2

2 + … + Li, i-12 + Lii

2 = aii (1.4.2-17)

=> Lii = [aii - ]∑−

=

1i

1k

2ikL (1/2) (1.4.2-18)

Page 4: Cholesky Decomposition

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

Lji = [aij - ]/L∑−

=

1i

1kikL jkL ii (1.4.2-20)

This gives us the following algorithm for performing a Cholesky decomposition: For i = 1, 2, …, N % each column of L

Lii [aii - ∑ ]−

=

1i

1k

2ikL (1/2)

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

o Lji = [aij - ]/L∑−

=

1i

1kikL jkL ii

end

end