Iterative Löser: Einführung Im vergangenen Semester wurden folgende Löser für LGS betrachtet: LU-Zerlegung (mit und ohne Pivotisierung) QR-Zerlegung (Householder und Givens) Lösung beliebiger, regulärer, linearer Gleichungssysteme möglich Kapitel I. (no id) 1
Iterative Löser: Einführung Warum sollte man über weitere Löser nachdenken? Kapitel I. (no id) 2
Iterative Löser: Einführung Massenmatrix Strukturiertes Gitter auf (,1) 2, Gitterweite h = 1/(n 1), n N, Knoten x ij = (hi,hj), 1 i,j n, Matrixeinträge zu x ij aus 1/36 1/9 1/36 1/9 4/9 1/9 5 1 15 Struktur der Matrix 1/36 1/9 1/36 5 1 15 n = 4,A R n2 n 2 Kapitel I. (no id) 3
Iterative Löser: Einführung Matrix wie sie bei der Simulation von partiellen Differentialgleichung in 2d auftritt ω = 2n beschreibt die Bandbreite Die Anzahl der Nicht-Nulleinträge wächst mit 9 n 2 = O(n 2 ) Anwendung von z.b. LU-Zerlegung erfordert Aufwand von O(ω 2 n 2 ) = O(n 4 ) Matrix-Vektor-Multiplikation hat Aufwand von O(n 2 ) Kapitel I. (no id) 4
Iterative Löser: Einführung.6.4 Zeit, bis Fehler < 1 8 LU (voll) GS CG Zeit.2 2 4 6 8 1 n 2 Gut geeignet um große, gut konditionierte, dünnbesetzte Matrizen zu lösen Kapitel I. (no id) 5
Iterative Löser: Inhalt 1. Aufgabenstellung 2. Lineare Iterationsverfahren 3. Konvergenzaussagen 4. CG-Verfahren für symmetrische Matrizen 5. Erweiterung auf allgemeine Matrizen Kapitel I. (no id) 6
Lineare Iterationsverfahren Ein allgemeines konsistentes lineares Iterationsverfahren zur Lösung von Ax = b hat die Form x k+1 = Mx k +Nb mit M = (Id NA). Mit der Zerlegung A = L+D +U erhalten wir folgende Verfahren: Jacobi-Verfahren: x k+1 = D 1 (L+U)x k +D 1 b vorwärtiger Gauß Seidel: x k+1 = (D+L) 1 Ux k +(D +L) 1 b rückwärtiger Gauß Seidel: x k+1 = (D +U) 1 Lx k +(D+U) 1 b SOR Verfahren für ω (,2): (D+ωL)x k+1 = ( (1 ω)d ωu ) x k +ωb Kapitel I. (numalg24) 7
Jacobi und Gauß Seidel im Vergleich Ax = b A R n n, b R n, x R n, x R n 2 1 1 4 1 A = 1 4 1....., b = 1 4 1 1 2. 2i., x = n+1 1 2 3., x = n. 1 5 n=1 Fehlernorm 1 1 5 1 1 1 15 Jacobi Gauss Seidel Symm. GS 5 1 15 2 25 3 Anzahl der Iterationen Kapitel I. (numalg26) 8
SOR für verschiedene Dämpfungsparameter Fehlernorm 1 1 4 w =.2 w =.6 w = 1 w = 1.4 w = 1.8 Fehlernorm 1 1 4 w =.8 w =.9 w = 1 w = 1.1 w = 1.2 1 8 5 1 15 2 Anzahl der Iterationen Figure 1: Dämpfungsparameter im Bereich [.2, 1.8] 1 8 1 2 3 Anzahl der Iterationen Figure 2: Dämpfungsparameter im Bereich [.8, 1.2] Kapitel I. (numalg3) 9
Konvergenz für SOR-Verfahren Für die Matrix M ω des SOR-Verfahrens gilt M ω = (D+ωL) 1( (1 ω)d ωu ). Konvergenz liegt vor, falls für den Spektralradius ρ(m ω ) < 1 < ω < 2 gilt. Der Spektralradius ρ(m ω ) nimmt sein Minimum für den optimalen Dämpfungsparameter 2 ω opt = 1+ 1 ρ 2 J an, wobei ρ J den Spektralradius der Iterationsmatrix M J = D 1 (L+U) des Jacobi-Verfahrens bezeichnet. Dann gilt für die Konvergenzrate Allgemein gilt ρ(m ωopt ) = 1 1 ρ 2 J 1+. 1 ρ 2 J ρ(m ω ) = { ω 1 für ωopt ω 2, 1 ω + 1 2 ω2 ρ 2 J +ωρ J 1 ω + 1 4 ω2 ρ 2 J für ω ω opt. Kapitel I. (numalg27) 1
Asymptotische Konvergenzrate für SOR-Verfahren 1 Konvergenzrate ρ.8.6.4.2 ρ J =.3 ρ J =.5 ρ J =.7 ρ J =.9.5 1 1.5 2 Dämpfungsparameter ω Kapitel I. (numalg28) 11
SOR für verschiedene Dämpfungsparameter Anzahl der Iterationen 12 1 8 6 4 2.5 1 1.5 2 Dämpfungsparameter asympt. Konvergenzraten 1.8.6.4.2.5 1 1.5 2 Dämpfungsparameter Optimaler Dämpfungsparameter ist größer als Eins, ρ J =.5 w opt = 2 1+ 1 ρ 2 J = 2 1+ 1 1/4 = 1.718 Kapitel I. (numalg31) 12
Problem ω opt hängt von ρ J ab ρ J ist in der Regel unbekannt und teuer in der Berechnung Wie bestimmt man ω opt? Kapitel I. (numalg31) 13
Idee zur adaptiven Berechnung von ω opt 1. Setze ω alt = 1 und wähle einen Startvektor x. 2. Führe k 5 1 Schritte des SOR-Verfahrens mit ω alt durch. 3. Berechne eine Approximation von ρ(m ω ) mit l 1 3 ρ = l Ax k b / Ax k l b =: S. 4. Falls ρ > ω alt 1 (Wurzelast) berechne β 2 = (S +(ω alt 1)) 2 Sωalt 2, ω neu = 5. Falls ρ ω alt 1 (linearer Ast) berechne 6. Setze x = x k und gehe zu Schritt 2. ω neu = ω alt+2(1+ρ). 3 2 1+ 1 β 2. Kapitel I. (numalg33) 14
Optimaler Dämpfungsparameter für Poisson Matrix Adaptive Bestimmung num exact Fehler ω ωopt opt 1.8.6.4.2 n=3 n=6 n=9 n=12 5 1 15 Iterationen Adaptive Strategie zur numer. Bestimmung von w opt bei SOR Dämpfungsparameter 2 1.9 1.8 1.7 num numerisches ω opt exact exaktes ω opt 1.6 5 1 15 Dimension m=n 2 optimaler Dämpfungsparameter für n im Bereich [3, 12] Kapitel I. (numalg34) 15
Jacobi, Gauß-Seidel und optimales SOR im Vergleich Number of iterations 7 6 5 4 3 2 1 opt. SOR Gauss Seidel Jacobi 2 4 6 Number of unknowns n 2 1.9.8.7.6.5.4 1 2 3 4 5 6 8 7 6 5 4 3 2 1 1 2 3 4 5 6 Anzahl d. Iterationen M Faustregel: Konvergenzraten ρ Faustregel: η := 1/(1 ρ) Faustregel: M J 2M GS ρ GS ρ 2 J ρ J 1 c J h 2 ρ osor 1 c osor h η J 2η GS η J quadratisch, η osor linear in 1/h Kapitel I. (numalg35) 16