KAPITEL 13. Große dünnbesetzte LGS, iterative Löser Erstes Beispielproblem: die diskretisierte Poisson-Gleichung wobei A 1 x = b, A 1 R m m, m := (n 1) 2, nh = 1, A 1 = 1 h 2 T I I T I......... I T I I T, T = 4 1 1 4 1......... 1 4 1 1 4. T R (n 1) (n 1) und I ist die (n 1) (n 1)-Identitätsmatrix. Dahmen-Reusken Kapitel 13 1
Zweites Beispielproblem: die diskretisierte Konvektions-Diffusionsgleichung wobei A 2 = 1 h 2 mit und A 2 x = b, A 2 R m m, m := (n 1) 2, T ñi si T ñi......... si T ñi si T, T = ñ = ε hŝ, s = ε + hŝ +, õ = ε hĉ, w = ε + hĉ +, z = ñ + s + õ + w = 4ε + h( ĉ + ŝ ), z õ w z õ......... w z õ w z ĉ := cos(β), ĉ + := max(ĉ,0), ĉ := min(ĉ,0), ŝ := sin(β), ŝ + := max(ŝ,0), ŝ := min(ŝ,0)., Dahmen-Reusken Kapitel 13 2
13.2 Eigenschaften von Steifigkeitsmatrizen Hochdimensionalität: Anzahl der Unbekannten ist bei d Ortsvariablen proportional zu h d. Dünnbesetztheit: Steifigkeitsmatrizen sind immer dünnbesetzt, d. h. nur eine gleichmäßig beschränkte Anzahl von Einträgen pro Zeile ist von Null verschieden. 0 50 100 150 200 0 50 100 150 200 nz = 1065 Dahmen-Reusken Kapitel 13 3
Blockstruktur: Bei Diskretisierungen auf regelmäßigen Rechteckgittern haben die sich ergebenden Steifigkeitsmatrizen oft eine regelmäßige Blockstruktur. Schlechte Kondition: Die Konditionszahl von Steifigkeitsmatrizen nimmt oft rasch zu, wenn die Schrittweite des Gitters kleiner wird. Symmetrie, Positiv-Definitheit: Für ein symmetrisches elliptisches Randwertproblem ist die entprechende Steifigkeitsmatrix oft symmetrisch positiv definit. Diagonaldominanz: Die Matrizen A 1 und A 2 sind beide irreduzibel diagonaldominant. Die durch Finite-Elemente-Methoden und Finite-Volumen-Verfahren erzeugten Steifigkeitsmatrizen sind im allgemeinen nicht irreduzibel diagonaldominant. Dahmen-Reusken Kapitel 13 4
Fill-in bei einem direkten Löser Bemerkung 13.2. Als direkter Löser für ein Gleichungssystem mit der Matrix A 1 würde sich die Cholesky-Zerlegung A 1 = LDL T anbieten. Nichtnulleinträge der Matrizen A 1 und L: h 1/16 1/32 1/64 1/128 nz(a 1 ) 1065 4681 19593 80137 5h 2 nz(l) 3389 29821 250109 2048509 h 3 Das Verhalten nz(l) h 3 gegenüber nz(a 1 ) 5h 2 zeigt den ungünstigen Effekt des fill-in. Dahmen-Reusken Kapitel 13 5
Nichtnullelemente von L bei der Cholesky-Zerlegung der Matrix A 1 : 0 50 100 150 200 0 50 100 150 200 nz = 3389 Dahmen-Reusken Kapitel 13 6
13.3 Lineare Iterationsverfahren Aufgabe: Für A R n n (nichtsingulär) und b R n ist das Gleichungssystem Ax = b zu lösen. Wir nehmen an, daß n groß (n > 10000) und A dünnbesetzt ist. Typische Beispiele sind die Matrizen A 1 und A 2. Dahmen-Reusken Kapitel 13 7
Einfacher Ansatz: das Gleichungssystem als Fixpunktgleichung x = x + C(b Ax) =: Φ(x), wobei C R n n eine geeignet zu wählende nichtsinguläre Matrix ist. Dies führt auf die Fixpunktiteration x k+1 = Φ(x k ) = x k + C(b Ax k ) = (I CA)x k + Cb, k = 0,1,2,.... Für den Fehler e k := x k x ergibt sich e k+1 = x k+1 x = Φ(x k ) Φ(x ) = (I CA)e k, also e k = (I CA) k e 0, k = 0,1,2,.... Dahmen-Reusken Kapitel 13 8
Satz 13.3. Dieses Verfahren konvergiert für jeden Startwert x 0 gegen die Lösung x des Gleichungssystems genau dann, wenn ρ(i CA) < 1 gilt, wobei ρ(i CA) der Spektralradius, also der betragsmäßig größte Eigenwert, von I CA ist. Folgerung 13.5. Für eine beliebige Vektornorm mit zugehöriger Operatornorm gilt: x k x I CA k x 0 x, k = 0,1,2,... Die Konvergenz ist folglich für jeden Startwert x 0 gesichert, falls für irgendeine Norm die Bedingung erfüllt ist. I CA < 1 Die Größe I CA heißt die Kontraktionszahl der Fixpunktiteration. Dahmen-Reusken Kapitel 13 9
Konvergenzrate ρ(i CA) ist ein sinnvolles Maß für die Konvergenzgeschwindigkeit. Je kleiner ρ(i CA) ist, desto schneller wird der Fehler reduziert. Es gilt: σ k = ( e k )1 k λ1 = ρ(i CA) für k. e 0 Für eine hinreichend große Anzahl k von ausgeführten Iterationsschritten ist ρ(i CA) etwa die mittlere Fehlerreduktion σ k. Um den Anfangsfehler e 0 um den Faktor 1 e k = ( ln σ k ) 1 Iterationsschritte nötig. zu reduzieren, sind Die sogenannte asymptotische Konvergenzrate ln(ρ(i CA)) Ist ein sinnvolles Maß für die asymptotische Konvergenzgeschwindigkeit. Dahmen-Reusken Kapitel 13 10
Wie sollte man C wählen? Es geht um folgenden Balanceakt: Zu A R n n wähle C R n n so, daß A 1 durch C genügend gut in dem Sinne approximiert wird, daß ρ(i CA) möglichst klein ist, die Operation y Cy mit möglichst geringem Aufwand durchführbar ist. Beachte: Bei den meisten iterativen Verfahren wird die Operation y Cy durchgeführt, ohne daß die Matrix C explizit berechnet wird. Dahmen-Reusken Kapitel 13 11
Komplexität eines iterativen Verfahrens Um unterschiedliche Verfahren miteinander vergleichen zu können, gehen wir davon aus, daß eine Klasse von Gleichungssystemen Ax = b vorliegt (z.b. A 1 x = b wie oben mit n = 1 h N beliebig), vorgegeben ist, mit welchem Faktor R ein (beliebiger) Startfehler reduziert werden soll ( e k e0 R ). Komplexität eines iterativen Verfahrens: die Größenordnung der Anzahl arithmetischer Operationen, die benötigt werden, um für das vorliegende Problem (aus der Problemklasse) eine Fehlerreduktion um den Faktor R zu bewirken. Liegt dem Gleichungssystem eine Diskretisierung mit Gitterweite h und einem Diskretisierungsfehler von der Ordnung O(h l ) zugrunde, wäre R 1 h l sinnvoll. Dahmen-Reusken Kapitel 13 12
13.3.2 Das Jacobi-Verfahren Beim Jacobi- oder Gesamtschrittverfahren: Die Iterationsvorschrift lautet C = (diag(a)) 1. x k+1 = (I D 1 A)x k + D 1 b. In Komponentenschreibweise ergibt sich: Algorithmus 13.7 (Jacobi-Verfahren). Gegeben: Startvektor x 0 R n. Für k = 0,1,... berechne: a i,i x k+1 i = n j=1 j i a i,j x k j + b i, i = 1,2,..., n. Beim Jacobi-Verfahren wird die i-te Gleichung nach der i-ten Unbekannten x i aufgelöst, wobei für die übrigen Unbekannten (x j, j i) Werte aus dem vorherigen Iterationsschritt verwendet werden. Dahmen-Reusken Kapitel 13 13
Rechenaufwand. Der Rechenaufwand pro Iterationsschritt ist beim Jacobi-Verfahren angewandt auf eine dünnbesetzte Matrix A R n n vergleichbar mit einer Matrix-Vektor-Multiplikation Ax, beansprucht also O(n) Operationen. Konvergenz Satz 13.9. Für das Jacobi-Verfahren gelten folgende Konvergenzkriterien: Falls sowohl A als auch 2D A symmetrisch positiv definit sind, folgt ρ(i D 1 A) < 1. Falls A irreduzibel diagonaldominant ist, gilt ρ(i D 1 A) I D 1 A < 1. Dahmen-Reusken Kapitel 13 14
Beispiel 13.10. Das Diffusionsproblem mit der Matrix A 1. Es gilt ρ(i CA)= ρ(i D 1 A 1 ) = max{ 1 1 4 h2 λ λ Eigenwert von A 1 } = 1 2sin 2 ( 1 2 πh) = cos(πh) 1 2 1 π2 h 2. Für die asymptotische Konvergenzrate gilt somit ln(ρ(i D 1 A 1 )) ln(1 1 2 π2 h 2 ) 1 2 π2 h 2. Um einen Startfehler um einen Faktor R zu reduzieren, sind etwa K = Iterationsschritte erforderlich. ln R ln ρ(i D 1 A 1 ) 2 π 2 h 2 ln R Beachte: Die geschätzte Anzahl der notwendigen Iterationsschritte wächst in Abhängigkeit der Schrittweite h wie die Konditionszahlen der betreffenden Matrizen. Dahmen-Reusken Kapitel 13 15
Sei # die Anzahl von Iterationsschritten, die zur Reduktion des Startfehlers um einen Faktor R = 10 3 benötigt werden, und K die theoretische Schätzung von # aus: Ergebnisse: K = ln103 ln(cos πh) 2 π 2 h 2 ln103. h 1/40 1/80 1/160 1/320 # 2092 8345 33332 133227 K 2237 8956 35833 143338 Komplexität. Da m h 2, folgt, daß K m Iterationsschritte benötigt werden. Da jeder Schritt einen zu m proportionalen Aufwand erfordert, ergibt sich, daß die Komplexität des Jacobi-Verfahrens (für diese Problemstellung) etwa c m 2 ist. Dahmen-Reusken Kapitel 13 16
Beispiel 13.11. Das Konvektions-Diffusionsproblem mit der Matrix A 2. Wir führen für β = π 6 ein Experiment wie in Beispiel 13.10 durch. Ergebnisse (#): h 1/40 1/80 1/160 1/320 ε = 1 2155 8611 34415 137597 ε = 10 2 194 587 1967 7099 ε = 10 4 75 148 293 597 Für den Fall ε = 1 (dominante Diffusion) gilt κ 2 (A 2 ) 1 h2 und für ε = 10 4 (dominante Konvektion) gilt κ 2 (A 2 ) 1 h. Diese Beziehungen entsprechen den Wachstumsfaktoren 4 und 2 in den Zeilen für ε = 1 bzw für ε = 10 4. Dahmen-Reusken Kapitel 13 17
Zerlegung: Mit C := (D L) 1 ergibt sich: Äquivalent: 13.3.3 Das Gauß-Seidel-Verfahren A = D L U. x k+1 = (I (D L) 1 A)x k + (D L) 1 b. (D L)x k+1 = Ux k + b. In Komponentenschreibweise heißt dies Algorithmus 13.12 (Gauß-Seidel-Verfahren). Gegeben: Startvektor x 0 R n. Für k = 0,1,... berechne: x k+1 i ( = a 1 i,i b i i 1 j=1 a i,j x k+1 j n j=i+1 a i,j x k j ), i = 1,2,..., n. Bei der Berechnung der i-ten Komponente von x k+1 verwendet man die bereits vorher berechneten Komponenten der neuen Annäherung. Dahmen-Reusken Kapitel 13 18
Rechenaufwand. Für eine dünnbesetzte Matrix A R n n ist der Rechenaufwand pro Iterationsschritt bei der Gauß-Seidel- Methode vergleichbar mit dem Aufwand beim Jacobi-Verfahren, beträgt also O(n) Operationen. Konvergenz Satz 13.13. Für das Gauß-Seidel-Verfahren gelten folgende Konvergenzkriterien: Falls A symmetrisch positiv definit ist, folgt ρ(i (D L) 1 A) < 1. Falls A irreduzibel diagonaldominant ist, gilt ρ(i (D L) 1 A) I (D L) 1 A < 1. Dahmen-Reusken Kapitel 13 19
Beispiel 13.15. Das Diffusionsproblem mit der Matrix A 1. Dafür gilt: ρ(i CA 1 ) = ρ(i (D L) 1 A 1 ) = (ρ(i D 1 A 1 )) 2 Hieraus ergibt sich: ρ(i CA 1 ) = cos 2 (πh) 1 π 2 h 2. ln(ρ(i (D L) 1 A 1 )) ln(1 π 2 h 2 ) π 2 h 2. Um einen Startfehler um einen Faktor R zu reduzieren sind (asymptotisch) etwa K Iterationsschritte erforderlich, wobei Ergebnisse: K = ln R ln(ρ(i (D L) 1 A 1 )) 1 π 2 ln R. h2 h 1/40 1/80 1/160 1/320 # 1056 4193 16706 66694 K 1119 4478 17916 71669 Dahmen-Reusken Kapitel 13 20
Komplexität Für das Gauß-Seidel-Verfahren angewandt auf die diskrete Poisson- Gleichung A 1 x = b, A 1 R m m, m = (n 1) 2, n = 1 h ist die Komplexität c m 2 Operationen. Dahmen-Reusken Kapitel 13 21
Beispiel 13.16. Die Resultate des Gauß-Seidel-Verfahrens hängen von der Anordnung der Unbekannten ab. Beispiel: Die diskrete Konvektions-Diffusionsgleichung mit β = π 6. h = 1 160, R = 103 und x 0, b wie in Beispiel 13.11. Gauß-Seidel-Verfahren mit Standardanordnung: ε 1 10 2 10 4 # 17197 856 14 Gitterpunkte in umgekehrter Reihenfolge: ε 1 10 2 10 4 # 17220 1115 285 Für ein Problem, bei dem die Konvektion dominant ist, ist es für das Gauß-Seidel-Verfahren vorteilhaft, bei der Anordnung der Unbekannten (Gitterpunkte) die Strömungsrichtung zu berücksichtigen. Dahmen-Reusken Kapitel 13 22
13.3.4. SOR-Verfahren Der Iterationsschritt beim Gauß-Seidel Verfahren läßt sich auch als x k+1 i darstellen. = x k i a 1 i,i ( i 1 j=1 a i,j x k+1 j + n j=i a i,j x k j b i Algorithmus 13.17 (SOR-Verfahren). Gegeben: Startvektor x 0 R n, Parameter ω (0,2). Für k = 0,1,... berechne: x k+1 i = x k i ωa 1 i,i ( i 1 j=1 a i,j x k+1 j + n j=i ) a i,j x k j b i, i = 1,2,..., n, ), i = 1,2,..., n. Das SOR-Verfahren hat folgende Matrix-Darstellung: (D ωl)x k+1 = Dx k ω(d U)x k + ωb Dahmen-Reusken Kapitel 13 23
Rechenaufwand. Beim SOR-Verfahren ist der Rechenaufwand pro Iterationsschritt vergleichbar mit dem Aufwand beim Gauß- Seidel-Verfahren, also O(n) Operationen für ein dünnbesetztes A R n n. Konvergenz Satz 13.18. Sei M ω := I ( 1 ω D L) 1 A die Iterationsmatrix des SOR-Verfahrens. Es gilt: ρ(m ω ) ω 1. Für A s.p.d. gilt: ρ(m ω ) < 1 für alle ω (0,2). Sei A irreduzibel diagonaldominant mit a i,j 0 für alle i j und a i,i > 0 für alle i. Dann gilt: ρ(m ω ) < 1 für alle ω (0,1]. Dahmen-Reusken Kapitel 13 24
Beispiel 13.19. Die Diffusionsgleichung wie in den Beispielen 13.10 und 13.15 für den Fall h = 1 160. Anzahl der Iterationen in Abhängigkeit von ω: 10 5 10 4 10 3 10 2 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 Dahmen-Reusken Kapitel 13 25
Die Konvektions-Diffusionsgleichung wie in den Beispielen 13.11 und 13.16 für den Fall ε = 10 2, h = 1 160. Anzahl der Iterationen in Abhängigkeit von ω: 10 4 10 3 10 2 10 1 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Dahmen-Reusken Kapitel 13 26
Optimaler Wert von ω Der optimale Wert von ω ist stark problemabhängig. Für die meisten Probleme ist dieser optimale Wert nicht bekannt. Eine Ausnahme bildet die diskretisierte Poisson-Gleichung (Matrix A 1 ): Satz 13.20. Wir betrachten die diskretisierte Poisson-Gleichung A 1 x = b. Sei µ := ρ(i D 1 A 1 ) < 1 der Spektralradius der Iterationsmatrix des Jacobi-Verfahrens. Sei M ω die Iterationsmatrix des SOR-Verfahrens. Dann ist ρ(m ω ) für den Relaxationsparameter optimal und ω opt := 2 1 + 1 = 1 + µ 2 1 + ρ(m ωopt ) = ω opt 1. µ 1 µ 2 2 Dahmen-Reusken Kapitel 13 27
Komplexität. Für die diskretisierte Poisson-Gleichung A 1 x = b ergibt sich beim SOR-Verfahren mit dem optimalen ω-wert eine sehr große Komplexitätsverbesserung im Vergleich zum Jacobi- und zum Gauß-Seidel- Verfahren. ρ(m ωopt ) = ω opt 1 = ( cos(πh) 1 + sin(πh) ) 2 = 1 sin(πh) 1 + sin(πh) 1 2πh. ln R K = ln ρ(m ωopt ) 1 2πh ln R ln R m. 2π Da der Aufwand pro Iteration proportional zu m ist, hat dieses Verfahren eine Komplexität (für die vorliegende Problemstellung) von c m 1.5 Operationen. Dahmen-Reusken Kapitel 13 28
Beispiel 13.21. Poisson-Gleichung A 1 x = b mit x 0, b und R wie in Beispiel 13.10. Wir verwenden das SOR-Verfahren mit ω = ω opt. Ergebnisse: h 1/40 1/80 1/160 1/320 # 73 146 292 585 K 44 88 176 352 Dahmen-Reusken Kapitel 13 29
SSOR-Verfahren Eine SSOR-Iteration sieht also wie folgt aus: x k+1 2 i = x k i ω a 1 i,i x k+1 i = x k+1 2 i ( i 1 ω a 1 i,i j=1 ( n a i,j x k+1 2 j + j=i+1 n j=i a i,j x k+1 j + Die Iterationsmatrix dieser Methode ist a i,j x k j b i i j=1 ), i = 1,2,..., n a i,j x k+1 2 j b i ), n i 1 M ω = I C ω A, C ω := ω(2 ω)(d ωu) 1 D(D ωl) 1. Wenn die Matrix A symmetrisch positiv definit ist, ist für ω (0,2) die Matrix C ω in der Iterationsmatrix der SSOR-Methode auch symmetrisch positiv definit. Dahmen-Reusken Kapitel 13 30
13.4 Die Methode der konjugierten Gradienten Wenn A R n n s.p.d. ist, gelten die folgenden zwei grundlegenden Eigenschaften: Für x,y R n definiert x,y A := x T Ay ein Skalarprodukt. Sei f(x) := 1 2 xt Ax b T x, b,x R n. Dann gilt, daß f ein eindeutiges Minimum hat und Ax = b f(x ) = min x R n f(x). Lemma 13.22. Sei f wie oben. Die Richtung des steilsten Abstiegs von f an der Stelle x, d. h. s R n so, daß die Richtungsableitung d dt f ( s x + t s 2 ) t=0 = ( f(x)) T ( s s 2 minimal ist, wird durch s = f(x) = b Ax gegeben. Dahmen-Reusken Kapitel 13 31 )
Sei U ein Unterraum von R n. Es gilt: f(ˆx) = min x U f(x) ˆx x A = min x U x x A Das folgende Lemma zeigt, wie man eine solche Aufgabe löst. Lemma 13.24. Sei U k ein k-dimensionaler Teilraum von R n, und p 0,p 1,...,p k 1 eine A-orthogonale Basis dieses Teilraumes: p i,p j A = 0 für i j. Sei v Rn, dann gilt für u k U k : u k v A = min u U k u v A genau dann, wenn u k die A-orthogonale Projektion von v auf U k ist. Außerdem hat u k die Darstellung u k = k 1 j=0 v,p j A p j,p j Ap j. Dahmen-Reusken Kapitel 13 32
Herleitung der CG-Methode Der Einfachheit halber: x 0 = 0. Die folgenden Teilschritte definieren die beim CG-Verfahren erzeugten Näherungen x 1,x 2,... der Lösung x : U 1 := span{r 0 }, Für k = 1,2,3,..., falls r k 1 = b Ax k 1 0 : CG a : Bestimme A-orthogonale Basis p 0,...,p k 1 von U k. CG b : Bestimme x k U k, so daß x k x A = min x U k x x A. CG c : Erweiterung des Teilraumes: U k+1 := span{p 0,...,p k 1,r k }, wobei r k := b Ax k. Dahmen-Reusken Kapitel 13 33
Erläuterung dieser Teilschritte: CG a : Die A-orthogonale Basis von U k wird benötigt, um die Annäherung x k in Teilschritt CG b effizient und stabil zu berechnen. CG b : x k ist die (bezüglich A ) optimale Approximation von x in U k. CG c : U k+1 = U k span{r k }: Die Erweiterung des Raumes U k ist optimal in dem Sinne, daß r k an der Stelle x k die Richtung des steilsten Abstiegs von f ist Dahmen-Reusken Kapitel 13 34
Verfahren der konjugierten Gradienten (CG) Es ergibt sich der berühmte Algorithmus 13.27 (Verfahren der konjugierten Gradienten). Gegeben: A R n n s.p.d., b R n, Startvektor x 0 R n, β 1 := 0. Berechne r 0 = b Ax 0. Für k = 1,2,..., falls r k 1 0 : p k 1 = r k 1 + β k 2 p k 2, β k 2 = x k = x k 1 + α k 1 p k 1, α k 1 = r k 1,r k 1 r k 2,r k 2 (k 2), r k 1,r k 1 p k 1,Ap k 1, r k = r k 1 α k 1 Ap k 1. Die CG-Methode ist ein nichtlineares Verfahren: e k+1 = ψ(e k ), wobei ψ eine nichtlineare Funktion ist. Dahmen-Reusken Kapitel 13 35
Rechenaufwand. Im Algorithmus 13.27 werden pro Iterationsschritt nur eine Matrix-Vektor-Multiplikation, zwei Skalarprodukte und drei Vektor-Operationen der Form x + αy benötigt. Der Aufwand pro Iterationsschritt ist vergleichbar mit dem des Jacobi- oder Gauß-Seidel-Verfahrens, also O(n) Operationen für ein dünnbesetztes A R n n. Konvergenz Satz 13.29. Gegeben sei Ax = b mit A R n n s.p.d. Sei x die Lösung von Ax = b. Dann gilt für die durch Algorithmus 13.27 gelieferten Näherungen x k x k x A 2 κ 2 (A) 1 κ 2 (A) + 1 k x 0 x A, k = 0,1,2,.... Dahmen-Reusken Kapitel 13 36
Beispiel 13.30. Das Diffusionsproblem A 1 x = b. Für die Konditionszahl der Matrix A 1 gilt also ˆρ := κ 2 (A 1 ) = cos2 ( 1 2 πh) sin 2 ( 1 2 πh) κ 2 (A) 1 κ 2 (A) + 1 ( 2 πh ) 2, 2 πh 1 2 πh + 1 = 1 1 2 πh 1 + 1 1 πh. 2πh Ergebnisse: K := ln(2r) ln(1 πh) 1 πh ln(2r) h 1/40 1/80 1/160 1/320 # 65 130 262 525 Dahmen-Reusken Kapitel 13 37
Superlineare Konvergenz Für den Fall h = 1 80 wird die Fehlerreduktion in der Energie-Norm ρ k := xk x A x k 1 x A, in den ersten 250 Iterationsschritten dargestellt. 1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0 50 100 150 200 250 Dahmen-Reusken Kapitel 13 38
Komplexität. Das CG-Verfahren für die diskrete Poissongleichung: A 1 x = b, A 1 R m m, m = (n 1) 2, n = 1 h. Als Fehlerreduktionsfaktor wird R = 10 3 gewählt. Die Komplexität des CG-Verfahrens (für diese Problemstellung) ist c m 1.5 Operationen, also von der gleichen Größenordnung wie beim SOR-Verfahren mit optimalem ω-wert. Ein großer Vorteil der CG-Methode im Vergleich zum SOR-Verfahren ist, daß sie keinen vom Benutzer zu wählenden Parameter enthält. Dahmen-Reusken Kapitel 13 39
13.5 Vorkonditionierung Idee: Die Matrix A wird mit einer geeigneten zu wählenden symmetrisch positiv definiten Matrix W vorkonditioniert. Da die Matrix W symmetrisch positiv definit ist, existiert die Cholesky- Zerlegung W = LDL T =: L 1 L T 1, Wir betrachten das transformierte System à x = b mit à := L 1 1 AL T 1, x := LT 1 x, b = L 1 1 b. Die Matrix à ist symmetrisch positiv definit. Der CG-Algorithmus ist also auf dieses Problem anwendbar. Dahmen-Reusken Kapitel 13 40
Wenn man den CG-Algorithmus für das transformierte System in die ursprünglichen Variablen x = L T 1 x umschreibt, ergibt sich folgender Algorithmus 13.32 (PCG-Verfahren). Gegeben: A,W R n n s.p.d., b R n, Startvektor x 0 R n, β 1 := 0. Berechne r 0 = b Ax 0, z 0 = W 1 r 0 (löse Wz 0 = r 0 ). Für k = 1,2,3,..., falls r k 1 0 : p k 1 = z k 1 + β k 2 p k 2, β k 2 = z k 1,r k 1 z k 2,r k 2 (k 2), x k = x k 1 + α k 1 p k 1, α k 1 = z k 1,r k 1 p k 1,Ap k 1, r k = r k 1 α k 1 Ap k 1, z k = W 1 r k (löse Wz k = r k ). Beachte: nur die Matrizen A und W treten auf und nicht Ã, L 1. Dahmen-Reusken Kapitel 13 41
Die Konvergenz des PCG-Verfahrens wird durch die Konditionszahl bedingt. κ 2 (Ã) = κ 2 (L 1 1 AL T 1 ) = κ 2(W 1 A) Um eine gute Effizienz des PCG-Verfahrens zu gewährleisten, ist W so zu wählen, daß κ 2 (W 1 A) möglichst klein ist, die Lösung von Wz k = r k mit möglichst geringem Aufwand (O(n) Operationen) berechnet werden kann. Manchmal ist es schon hilfreich, W = diag(a) zu nehmen. Dahmen-Reusken Kapitel 13 42
Unvollständige Cholesky-Zerlegung als Vorkonditionierung A läßt sich in der Form A = L 1 L T 1 mit einer unteren Dreiecksmatrix L 1 zerlegen (Cholesky). Um Dünnbesetztheit zu erhalten greift man auf eine unvollständige Cholesky-Zerlegung zurück. Sei E := {(i, j) a i,j 0} Es wird eine näherungsweise Faktorisierung konstruiert: mit: A = L 1 L T 1 + R, L 1 eine untere Dreiecksmatrix, ( L 1 ) i,j = 0 für (i, j) / E. Die Konstruktion einer näherungsweisen Faktorisierung A L 1 L T 1 beruht auf der unvollständigen Durchführung einer Methode zur Berechnung der vollständigen Cholesky-Zerlegung. Dahmen-Reusken Kapitel 13 43
Algorithmus 13.34 (Unvollständige Cholesky-Methode). Gegeben: A R n n s.p.d., Muster E. Berechne für k = 1,2,..., n : ( a k,k )1 l k,j 2 2 ; j für i = k + 1,..., n : falls (i, k) E, l k,k = l i,k = ( a i,k j l i,j l k,j )/ l k,k ; Hierbei sind die Summen nur über Indizes aus dem Muster zu führen: k 1 = j j=1,(k,j) E, k 1 = j j=1,(i,j) E,(k,j) E Im PCG-Algorithmus: W = L 1 L T 1. Für viele Probleme: κ 2 (W 1 A) = κ( L 1 T 1 A L 1 ) κ(a). Die Systeme L 1 L T 1 zk = r k sind einfach lösbar. Dahmen-Reusken Kapitel 13 44.
Algorithmus 13.36 (Modifiziertes unvollständiges Cholesky) Gegeben: A R n n s.p.d., Muster E. Berechne für k = 1,2,..., n : ˆl k,k = ( a k,k j ˆl k,j )1 2 ; für i = k + 1,... n : falls (i, k) E : ( ˆl i,k = a i,k j ˆl i,jˆl k,j )/ ˆl k,k ; sonst: ˆl i,jˆl k,j ; a i,i = a i,i j Man kann zeigen, daß für ˆL 1 := (ˆl i,j ) 1 i,j n : (ˆL 1ˆL T 1 ) i,j = a i,j für (i, j) E, i j, n (ˆL 1ˆL T 1 ) i,j = n a i,j für alle i. j=1 j=1 Dahmen-Reusken Kapitel 13 45
Beispiel 13.37. Die diskretisierte Poisson-Gleichung. PCG-Verfahren: ICCG: CG + unvollständige Cholesky Vorkonditionierung. MICCG: CG + mod. unvollständige Cholesky Vorkonditionierung. #: Anzahl der Iterationsschritte, die zur Reduktion des Startfehlers x 0 x 2 um einen Faktor R = 10 3 benötigt werden (x 0 := 0). Ergebnisse: h 1/40 1/80 1/160 1/320 W = L 1 L T 1, # 20 40 79 157 W = ˆL 1ˆL T 1, # 8 11 14 20 Dahmen-Reusken Kapitel 13 46
Komplexität. PCG-Verfahren für die diskrete Poissongleichung. Als Fehlerreduktionsfaktor wird R = 10 3 gewählt. Die Konvergenz der ICCG-Methode ist schneller als die der Methode ohne Vorkonditionierung. Die Komplexität ist aber für beide Methoden c m 1.5 Operationen, wobei die Konstante c beim PCG-Verfahren kleiner ist. Man kann zeigen, daß die MICCG-Methode die Komplexität c m 1.25 Operationen hat. Dahmen-Reusken Kapitel 13 47
SSOR-Verfahren als Vorkonditionierung Sei x k+1 = x k + C(b Ax k ), A symmetrisch positiv definit. Man kann die Matrix C als eine Näherung für A 1 interpretieren. Deshalb liegt der Ansatz W = C 1 als Vorkonditionierung für das CG-Verfahren nahe. Allerdings muß die Matrix W symmetrisch positiv definit sein. Beispiele: - die Jacobi-Methode, mit C 1 = diag(a). - die SSOR-Methode. In PCG muß z k = W 1 r k also z k = Cr k berechnet werden. z k ist das Resultat einer Iteration des linearen iterativen Verfahrens angewandt auf Az = r k mit Startvektor 0: b = r k, x 0 = 0 x 1 = Cr k. Dahmen-Reusken Kapitel 13 48
Beispiel 13.39. Die diskretisierte Poisson-Gleichung. Das PCG-Verfahren mit der SSOR-Methode als Vorkonditionierung. Als Fehlerreduktionsfaktor wird R = 10 3 gewählt; x 0 = 0. Ergebnisse: h 1/40 1/80 1/160 1/320 ω = 2/(1 + sin(πh)) 1.854 1.924 1.961 1.981 # 11 16 22 32 Dahmen-Reusken Kapitel 13 49