21.06.2014 Views

Numerical Methods Contents - SAM

Numerical Methods Contents - SAM

Numerical Methods Contents - SAM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✬<br />

✩<br />

Observations:<br />

Theorem 4.2.7 (Convergence of CG method).<br />

The iterates of the CG method for solving Ax = b (see Code 4.2.1) with A = A T s.p.d. satisfy<br />

• CG much faster than gradient method (as expected, because it has “memory”)<br />

• Both, CG and gradient method converge more slowly for larger sizes of Poisson matrices.<br />

Convergence theory:<br />

✸<br />

∥<br />

∥x − x (l)∥ ∥ ∥A ≤<br />

≤ 2<br />

( ) l<br />

2 1 − √ 1<br />

κ(A)<br />

∥ ∥ ∥∥x<br />

( ) 2l ( ) 2l − x<br />

(0) ∥A<br />

1 + √ 1 + 1 − √ 1<br />

κ(A) κ(A)<br />

(√ ) l κ(A) − 1<br />

∥ ∥ ∥∥x<br />

√ − x<br />

(0) ∥A .<br />

κ(A) + 1<br />

A simple consequence of (4.1.2) and (4.2.1):<br />

✫<br />

(recall: κ(A) = spectral condition number of A, κ(A) = cond 2 (A))<br />

✪<br />

✬<br />

Corollary 4.2.6 (“Optimality” of CG iterates).<br />

Writing x ∗ ∈ R n for the exact solution of Ax = b the CG iterates satisfy<br />

∥<br />

∥x ∗ − x (l)∥ ∥ ∥A = min{‖y − x ∗ ‖ A : y ∈ x (0) + K l (A,r 0 )} , r 0 := b − Ax (0) .<br />

✫<br />

This paves the way for a quantitative convergence estimate:<br />

✩<br />

Ôº¿ º¾<br />

✪<br />

The estimate of this theorem √ confirms asymptotic linear convergence of the CG method (→<br />

κ(A) − 1<br />

Def. 3.1.4) with a rate of √<br />

κ(A) + 1<br />

Plots of bounds for error reduction (in energy norm) during CG iteration from Thm. 4.2.7:<br />

Ôº¿ º¾<br />

100<br />

y ∈ x (0) + K l (A,r) ⇔ y = x (0) + Ap(A)(x − x (0) ) , p = polynomial of degree ≤ l − 1 .<br />

∥<br />

∥x − x (l)∥ ∥ ∥A ≤<br />

x − y = q(A)(x − x (0) ), q = polynomial of degree ≤ l , q(0) = 1 .<br />

min{ max<br />

λ∈σ(A) |q(λ)|: q polynomial of degree ≤ l , q(0) = 1} · ∥ ∥∥x − x<br />

(0) ∥ ∥ ∥A .<br />

Bound this minimum for λ ∈ [λ min (A), λ max (A)] by using suitable “polynomial candidates”<br />

(4.2.12)<br />

error reduction (energy norm)<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

100<br />

80<br />

60<br />

κ(A) 1/2<br />

40<br />

20<br />

0<br />

0<br />

2<br />

4<br />

6<br />

CG step l<br />

8<br />

10<br />

κ(A) 1/2<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0.9<br />

0.9<br />

0.9<br />

0.9<br />

0.8 0.8 0.8 0.8<br />

0.4 0.4 0.4<br />

0.6 0.6 0.6<br />

0.7 0.7 0.7 0.7<br />

0.5 0.5 0.5<br />

0.3 0.3 0.3<br />

0.2<br />

0.2 0.2 0.1<br />

1 2 3 4 5 6 7 8 9 10<br />

CG step l<br />

Tool: Chebychev polynomials ➣ lead to the following estimate [20, Satz 9.4.2]<br />

Code 4.2.6: plotting theoretical bounds for CG convergence rate<br />

1 function p l o t t h e o r a t e<br />

2 [ X, Y ] = meshgrid ( 1 : 1 0 , 1 : 1 0 0 ) ; R = zeros (100 ,10) ;<br />

3 for I =1:100<br />

4 t = 1 / I ;<br />

5 for j =1:10<br />

6 R( I , j ) = 2∗(1− t ) ^ j / ( ( 1 + t ) ^(2∗ j ) +(1− t ) ^(2∗ j ) ) ;<br />

7 end<br />

8 end<br />

Ôº¿ º¾<br />

Ôº¿ º¾<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!