Numerik II. Roland Pulch

Ähnliche Dokumente
KAPITEL 1. Einleitung

Iterative Verfahren, Splittingmethoden

Numerische Lineare Algebra

2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

Der CG-Algorithmus (Zusammenfassung)

Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang. Institut für Geometrie und Praktische Mathematik RWTH Aachen

Numerische Mathematik für Ingenieure (SoSe 2013)

38 Iterative Verfahren für lineare Gleichungssysteme

3. Lineare Gleichungssysteme

Kapitel 2: Lineare Gleichungssysteme. 2.1 Motivation: Bildverarbeitung Sei B = (B(n, m)) ein N M stochastisches Feld mit ZVen

III. Iterative Löser. III.1 Direkte Löser und ihre Nachteile. III.2 Klassische lineare Iterationsverfahren

5.3.5 Abstiegs & Gradientenverfahren

Institut für Numerische Simulation der Universität Bonn Prof. Dr. Mario Bebendorf

Lineare Gleichungssysteme

Kapitel 2: Lineare Gleichungssysteme. 2.1 Motivation: Bildverarbeitung Sei B = (B(n, m)) ein N M stochastisches Feld mit ZVen

(d) das zu Grunde liegende Problem gut konditioniert ist.

2 Lineare Gleichungssysteme

Begleitmaterial zur Vorlesung Numerik I

Begleitmaterial zur Vorlesung Numerik linearer Gleichungssysteme

4 Iterative Lösung Linearer Gleichungssysteme 4.1 Fixpunktiteration und Konvergenzsätze.

Erweiterungen der LR-Zerlegung

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

Iterative Lösung Linearer Gleichungssysteme

A 1 x = b, A 1 R m m, m := (n 1) 2, nh = 1, T I I T I. A 1 = 1 h 2 I T. T R (n 1) (n 1) und I ist die (n 1) (n 1)-Identitätsmatrix.

Institut für Geometrie und Praktische Mathematik

7. Iterative Lösung. linearer Gleichungssysteme

Einführung in die numerische Mathematik

Numerisches Rechnen. (für Informatiker) M. Grepl J. Berger & J.T. Frings. Institut für Geometrie und Praktische Mathematik RWTH Aachen

Nichtlineare Gleichungssysteme

Wiederholung von Linearer Algebra und Differentialrechnung im R n

Lineare Gleichungssysteme

Lösung der Diplom-Vorprüfung Höhere Mathematik III/IV Aufgabe N1 (LR-Zerlegung mit Pivotisierung) Gegeben seien R 3.

Kapitel 3. Iterative Verfahren für LGS. 3.1 Der Banach sche Fixpunktsatz. Definition 3.1:

Iterative Löser: Einführung

Iterative Methoden zur Lösung von linearen Gleichungssystemen

Begleitmaterial zur Vorlesung Numerik linearer Gleichungssysteme

Kapitel 8. Lineare Gleichungssysteme III: iterative Verfahren

Begleitmaterial zur Vorlesung Numerik II

Lanczos Methoden. Stefan Grell Im Rahmen eines Proseminar zur Numerischen Mathematik unter der Leitung von Prof. Wolf Hofmann. 15.

Diplom VP Numerik 28. August 2006

Musterlösung. Aufgaben zu Iterative Lösung Linearer Gleichungssysteme. Vordiplomskurs Numerische Methoden Sommer 2008

5.3 Iterative Lösungsverfahren für lineare Gleichungssysteme

Lineare Iterationsverfahren: Definitionen

2. Geben Sie für das Jacobi-Verfahren eine scharfe a-priori Abschätzung für den Fehler. x (10) x p

Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen

Kapitel 1. Vektoren und Matrizen. 1.1 Vektoren

Symmetrische Gleichungssysteme Das Verfahren konjugierter Gradienten

Lineares Gleichungssystem

5.1 Iterative Lösung linearer Gleichungssysteme

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

7. Iterative Lösung. linearer Gleichungssysteme

III. Iterative Löser. III.1 Direkte Löser und ihre Nachteile. III.2 Klassische Iterationsverfahren. III.3 GMRES und CG-Verfahren

Spezielle Matrixformen

7. Übungs-/Wiederholungsblatt zu Einführung in die Numerik (SS 2012)

Institut für Geometrie und Praktische Mathematik

Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben. Eine kurze Einführung in Quasi Newton Verfahren

Grundlagen Kondition Demo. Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang

Diplom VP Numerik 27. August 2007

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

KAPITEL 7. Berechnung von Eigenwerten. Av = λv


EINFÜHRUNG IN DIE NUMERISCHE MATHEMATIK II 1. Numerische Lineare Algebra. Prof. Dr. Hans Babovsky. Institut für Mathematik

KAPITEL 5. Nichtlineare Gleichungssysteme

Inexakte Newton Verfahren

y (k) (0) = y (k) y(z) = c 1 e αz + c 2 e βz. c 1 + c 2 = y 0 k=1 k=1,...,m y k f k (x)

3 Matrizenrechnung. 3. November

Nichtlineare Gleichungssysteme

Numerische Mathematik für Ingenieure und Physiker

Lineare Gleichungssysteme Hierarchische Matrizen

Einführung in die numerische Mathematik

1.4 Stabilität der Gauß-Elimination

4.6 Berechnung von Eigenwerten

Lineare Algebra und Numerische Mathematik für D-BAUG

Einführung in die numerische Mathematik

Finite Elemente. Dr. S.-J. Kimmerle Institut für Mathematik und Rechneranwendung Fakultät für Luft- und Raumfahrttechnik Wintertrimester 2015

6 Iterationsverfahren für lineare und nichtlineare Gleichungssysteme

Wir untersuchen in diesem Abschnitt das (lokale) Newton Verfahren zur Lösung eines nichtlinearen Gleichungssystems

Zehnte Vorlesung, 4. Juni 2009, Inhalt. Eigenwerte und Eigenvektoren (2) Gewöhnliche Differentialgleichungen

Banach scher Fixpunktsatz. 1) D ist abgeschlossen und konvex; 2) f ist selbstabbildend, d.h. f(d) D;

1 Singulärwertzerlegung und Pseudoinverse

5 Numerische Mathematik

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

Diplom VP Informatik / Numerik 2. September 2002

20 Kapitel 2: Eigenwertprobleme

Ausgleichsproblem. Definition (1.0.3)

2 Lineare Gleichungssysteme

Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB)

Modulprüfung Numerische Mathematik 1

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

4.2.5 Das Cholesky-Verfahren

Kapitel 6. Iterationsverfahren für lineare Gleichungssysteme

Aufgabe 1. Berechnen Sie die absolute und die relative Kondition des Problems x f(x) für die Abbildung. x = x 2 e x 1.

Kapitel 5 Iterative Verfahren für LGS

3 Lineare Gleichungssysteme

Finite Elemente Methoden (aus der Sicht des Mathematikers)

Iterative Verfahren für lineare Gleichungssysteme

8 Iterationsverfahren zur Lösung von Gleichungssystemen

Newton-Verfahren für ein Skalarfunktion

Transkript:

Numerik II Roland Pulch Institut für Mathematik und Informatik Mathematisch-Naturwissenschaftliche Fakultät Ernst-Moritz-Arndt-Universität Greifswald Skript zu Iterativer Lösung linearer Gleichungssysteme Literatur: Kanzow, Ch.: Numerik linearer Gleichungssysteme: Direkte und iterative Verfahren, Springer Verlag, 2005. (Kapitel 4 6) Stoer, J.; Bulirsch, R.: Numerische Mathematik 2 (5. Aufl.), Springer Verlag, 2005. (Kapitel 8) Deuflhard, P.; Hohmann, A.: Numerische Mathematik I (3. Aufl.), de Gruyter Verlag, 2002. (Kapitel 8)

Kapitel Iterative Lösung großer linearer Gleichungssysteme 1 In diesem Kapitel wird die iterative Lösung von linearen Gleichungssystemen Ax = b, A R n n, deta 0, x, b R n (1) behandelt. Da eine LR-Zerlegung const. n 3 Rechenoperationen erfordert, wird eine direkte Lösung für großes n extrem aufwendig. In den Anwendungen sind große Matrizen A typischerweise schwach besetzt (englisch sparse), d.h. nur wenige Elemente sind ungleich Null. Ein Weg, diese Besetzungsstruktur auszunutzen, führt auf Varianten der LR-Zerlegung, bei denen der Eliminationsprozess die Anzahl der entstehenden, von Null verschiedenen Einträge (englisch fill-in) minimiert, meist mit Hilfe der Graphentheorie und eingeschränkter Pivotsuche. Da nur Rechenoperationen mit von Null verschiendenen Einträgen auch real durchgeführt werden, sind diese direct sparse solver für den Bereich 500 n 50000 eine bewährte Wahl, siehe in MATLAB den sparse-befehl. Schwerpunkt im folgenden ist aber eine Einführung in iterative Verfahren, die auch bei deutlich größeren Dimensionen zum Erfolg führen. Dabei soll jeder Iterationsschritt möglichst wenig aufwendig sein, d.h. der Aufwand soll den einer Matrix-Vektormultiplikation nicht übersteigen (wobei die Besetzungsstruktur selbstverständlich ausgenutzt wird und keine unnötigen Operationen mit Nullen durchgeführt werden). 2

1 Stationäre Iterationsverfahren Ein stationäres Iterationsverfahren zur näherungsweisen Lösung von (1) besitzt die Form x k+1 = Φ(x k ), k = 0, 1, 2,... (2) bei vorgebenen Startvektor x 0. Stationär bedeutet, dass die Funktion Φ in jedem Iterationsschritt identisch gewählt wird. Die exakte Lösung x vonn (1) soll der einzige Fixpunkt der Iteration sein. Eine Iterationsvorschrift entsteht durch die Wahl einer regulären Matrix B R n n aus der Zerlegung Bx + (A B)x = b Bx k+1 + (A B)x k = b, (3) welche ein lineares Gleichungssystem für x k+1 darstellt. Aufgelöst erhält man x k+1 = x k B 1 (Ax k b) = (I B 1 A)x k + B 1 b. (4) Zur Berechnung von x k+1 ist ein Matrix-Vektor-Produkt bezüglich A und die Lösung eines linearen Gleichungssystems bezüglich B notwendig. Die Iterationsmatrix I B 1 A dient nur zur Untersuchung der Konvergenz. Die Matrix B soll in diesem Zusammenhang zwei Eigenschaften besitzen: 1. Lineare Gleichungssysteme mit der Matrix B sollen leicht auflösbar sein, damit die Iteration mit wenig Aufwand durchführbar ist. 2. Die Matrix B soll A gut approximieren, d.h. wesentliche Informationen aus A enthalten, damit die Konvergenz der Iteration gesichert ist. Zur Untersuchung der Konvergenz ist der Begriff des Spektralradius von zentraler Bedeutung. Für A R n n ist der Spektralradius definiert durch wobei λ i C die Eigenwerte von A sind. ρ(a) := max i=1,...,n λ i, (5) 3

Satz 1 (Konvergenz stationärer Verfahren) Das Iterationsverfahren (4) ist für beliebigen Startwert genau dann konvergent, wenn gilt ρ(i B 1 A) < 1. (6) Hinreichend für die Konvergenz von (4) bei beliebigem Startwert ist die Bedingung I B 1 A < 1, (7) wobei eine beliebige Matrixnorm ist, die konsistent zu einer bestimmten Vektornorm. Beweis: Für den Fehler f k := x k x hat man mit durch Subtraktion die Rekursionsformel und damit x k+1 = (I B 1 A)x k + B 1 b x = (I B 1 A)x + B 1 b f k+1 = (I B 1 A)f k f k = (I B 1 A) k f 0, k = 0, 1, 2,.... Sei (4) konvergent. Ist λ ein Eigenwert von I B 1 A, so wähle man f 0 als zugehörigen Eigenvektor. Damit gilt f k = λ k f 0. Durch die Konvergenz ist lim f k = 0 und somit notwendigerweise λ < 1. Sei umgekehrt ρ(i B 1 A) < 1. Zur Iterationsmatrix und gegebenem ε > 0 existiert eine Vektornorm, so dass in der korrespondierenden Matrixnorm gilt (ohne Beweis). Damit folgt I B 1 A < ρ(i B 1 A) + ε (I B 1 A) k I B 1 A k (ρ(i B 1 A) + ε) k = µ k mit µ < 1 für ε hinreichend klein. Also ist lim(i B 1 A) k = 0 und somit lim f k = 0 für alle f 0. Sei schließlich I B 1 A < 1 in einer Matrixnorm, die konsistent zu einer festen Vektornorm ist. Für eine solche Matrixnorm gilt stets ρ(c) C (ohne Beweis). Damit ist das hinreichende Kriterium aus dem zweiten Teil des Satzes erfüllt. 4

Dem Beweis entnimmt man insbesondere die Abschätzung x k+1 x I B 1 A x k x (8) in einer beliebigen Vektornorm und der induzierten Matrixnorm. Damit gilt für I B 1 A < 1 dann globale lineare Konvergenz in dieser Norm. Dies kann man hier auch aus dem Banachschen Fixpunktsatz folgern. Die Konvergenzgeschwindigkeit des Verfahrens (4) ist umso größer, je kleiner der Spektralradius der Iterationsmatrix ist. Der folgende Satz gibt eine Aussage, die von Matrixnormen unabhängig ist. Satz 2 (Konvergenzgeschwindigkeit) Beim Iterationsverfahren (4) gilt für den Fehler f k = x k x ( f k ) 1/k sup lim sup = ρ(i B 1 A) (9) f 0 0 k f 0 in einer beliebigen Vektornorm. Beweis siehe z.b. Stoer, Bulirsch: Numerische Mathematik 2. 2 Klassische Iterationsverfahren Im folgenden werden gängige stationäre Iterationsverfahren vorgestellt. Sie entstehen durch die Zerlegung der Gestalt A = D + L + R, (10) wobei D Diagonalmatrix mit der Diagonalen von A und L, R den unteren bzw. oberen Dreiecksanteil (ohne Diagonale) von A enthalten. Jacobi-Verfahren Ein einfaches Iterationsverfahren entsteht, wenn man in (4) B = D wählt, also nur die Diagonale von A. Gilt stets a ii 0, so kann die Invertierung sofort vorgenommen werden. Wir erhalten als Iteration x k+1 = x k D 1 ((D + L + R)x k b) = D 1 ((L + R)x k b). 5

Es ergibt sich für jede Komponente i = 1,..., n die Formel x k+1 i = 1 b i a ij x k j. (11) a ii j i Da jede Komponente sofort separat berechnet werden kann, nennt man diese Iteration auch Gesamtschrittverfahren. Das Jacobi-Verfahren ist konvergent, wenn die Diagonale von A den Hauptanteil der gesamten Matrix bildet. Die Matrix A erfüllt das starke Zeilensummenkriterium, wenn gilt a ii > j i a ij für i = 1,..., n. (12) Analog erfüllt A das starke Spaltensummenkriterium, falls a jj > i j a ij für j = 1,..., n. (13) Sowohl (12) als auch (13) ist nach Satz 8.1 hinreichend für die Konvergenz des Jacobi-Verfahrens. Aus (12) folgt nämlich sofort I B 1 1 A = max a ij < 1 (14) i=1,...,n a ii in der Maximumnorm und aus (13) I B 1 1 A 1 = max a ij < 1 (15) j=1,...,n a jj in der 1-Norm. Unter zusätzlichen Voraussetzungen kann die Konvergenz des Jacobi-Verfahrens noch garantiert werden, wenn in (12) oder (13) nur eine kleinergleich Beziehung gilt, also schwache Summenkriterien. Dies ist bei vielen Matrizen, die aus Diskretisierungen entstehen, gegeben (siehe Beispiel in Abschnitt 3). Gauß-Seidel-Verfahren Mehr Information über die Matrix A wird einbezogen, wenn man die Dreiecksmatrix B = D + L ansetzt. Die Invertierung entspricht dann gerade 6 j i i j

einer Vorwärtssubstitution, wozu ebenfalls a ii 0 notwendig ist. Die Iteration lautet x k+1 = x k (D + L) 1 ((D + L + R)x k b) = (D + L) 1 (Rx k b). Es entsteht für die einzelnen Komponenten i = 1,..., n die Formel ( x k+1 i = 1 b i a ij x k+1 j ) a ij x k j. (16) a ii j<i j>i Da die Komponenten nur sukzessive berechnet werden können, wird diese Iteration auch als Einzelschrittverfahren bezeichnet. Für die Konvergenz des Gauß-Seidel-Verfahrens sind ebenfalls die Bedingungen (12) oder (13) hinreichend. Bei bestimmten Matrix-Klassen lässt sich zeigen, dass das Gauß-Seidel-Verfahren schneller konvergiert als das Jacobi-Verfahren. Im Gegensatz zum Jacobi-Verfahren konvergiert das Gauß-Seidel-Verfahren auch für symmetrisch positiv-definite Matrizen: Zu zeigen ist, dass die Eigenwerte von K = (D + L) 1 L T im Einheitskreis liegen. Mit A ist auch D positiv definit, und damit haben K und K := D 1/2 KD 1/2 = (I + L) 1 LT mit L = D 1/2 LD 1/2 das gleiche Spektrum. Zu zeigen ist daher nur ρ(k ) < 1. Aus K x = λx mit x H x = 1 ergibt sich L T x = λ(i + L)x x H LT x = λ(1 + x H Lx), und mit α + iβ := x H LT x daraus 2 λ 2 = α iβ ( α iβ)( α + iβ) 1 + α + iβ = (1 + α + iβ)(1 + α iβ) = α 2 + β 2 1 + 2α + α 2 + β < 1, 2 falls 1 + 2α > 0. Wegen x H D 1/2 AD 1/2 x = (D 1/2 x) H A(D 1/2 x) ist D 1/2 AD 1/2 D 1/2 AD 1/2 = I + L + L T folgt sofort positiv definit. Aus 0 < x H (I + L + L T )x = 1 + x H Lx + x H LT x = 1 + x H Lx + x H Lx = 1 + 2α. 7

Das Gauß-Seidel-Verfahren kann analog auch über B = D + R angesetzt werden. Desweiteren existieren symmetrische Varianten, die abwechselnd je einen Schritt mit dem unteren und dann einen Schritt mit dem oberen Dreiecksanteil von B durchführen. Relaxationsverfahren In der Iteration (4) kann man allgemeiner die Matrix B in Abhängigkeit von einem Parameter ω R wählen. Ziel ist es dann, ω optimal zu wählen dahingehend, dass ρ(i B(ω) 1 A) minimal wird und somit die Konvergenz des Verfahrens zu beschleunigen. Bei den Relaxationsverfahren wird zum Relaxationsparameter ω > 0 über die Zerlegung (10) die Matrix B(ω) = 1 (D + ωl) (17) ω gewählt. Man beachte, dass für ω = 1 das Einzelschrittverfahren (16) entsteht. Für die Berechnung der einzelnen Komponenten erhalten wir die Formel ( zi k+1 = 1 b i a ij x k+1 j ) a ij x k j, a ii j<i j>i x k+1 i = (1 ω)x k i + ωzi k+1. Die Hilfsgröße zi k+1 wird dabei wie im Einzelschrittverfahren (16) bestimmt. Als neue Näherung der i-ten Komponente wird jedoch eine Linearkombination aus alter Näherung und der Hilfsgröße gebildet. Für 0 < ω 1 ist dies eine Konvexkombination. Bei ω > 1 spricht man von Überrelaxation, wodurch der Name SOR-Verfahren (successive overrelaxation) entstand. Für bestimmte Matrizenklassen lassen sich optimale Relaxationsparameter 1 ω opt < 2 explizit berechnen. Die Konvergenz ist dann erheblich schneller als für das Gauß-Seidel-Verfahren. Iterative Nachbesserung In den Kontext der iterativen Verfahren (4) jedoch nicht auf der Zerlegung (10) basierend fällt auch die sogenannte Nachiteration. Wird das 8

lineare Gleichungssystem Ax = b über LR-Zerlegung auf dem Rechner direkt gelöst, so erhält man eine durch Rundungsfehler beeinträchtigte Lösung x A 1 b. Diese kann, falls A nicht zu schlecht konditioniert ist, durch diese Nachiteration bis auf Maschinengenauigkeit verbessert werden. Der Gauß-Algorithmus liefert auf dem Rechner eine durch Rundungsfehler verfälschte LR-Zerlegung A ˆL ˆR, d.h. es gilt nur A = ˆL ˆR + E, (18) wobei die unbekannte Matrix E Fehleranteile enthält. Für die Matrix B in (4) wählt man dann B = ˆL ˆR (ˆL, ˆR haben hier nicht die Bedeutung von L, R aus (10)) und es entsteht die Vorschrift x k+1 = x k (ˆL ˆR) 1 (Ax k b) = x k (ˆL ˆR) 1 r k (19) mit dem Residuum r der k-ten Näherung. Als Startwert bietet sich die direkte Lösung x 0 = (ˆL ˆR) 1 b an. Die Iteration (19) lässt sich mit wenig Aufwand durchführen, da die Zerlegung ˆL ˆR bereits berechnet ist und somit nur Vorwärts- und Rückwärtssubstitution erforderlich sind. Da nur Rundungsfehler in ˆL, ˆR auftreten, gilt (ˆL ˆR) 1 A I. Folglich ist der Spektralradius der Iterationsmatrix klein und die Konvergenz der Iteration sehr schnell. Zudem liegt über x 0 bereits ein guter Startwert für die Iteration vor. Dementsprechend erhält man im allgemeinen nach etwa zwei Iterationsschritten die Lösung auf Maschinengenauigkeit. Bei der Berechnung des Residuums r k tritt durch Subtraktion Auslöschung wegen Ax k b auf. Dieser Wert muss daher mit höherer Genauigkeit als der Maschinengenauigkeit bei den anderen Operationen berechnet werden. Nur dann kann das Ergebnis auf die ursprüngliche Maschinengenauigkeit erhalten werden. Ist x 0 nur eine grobe Näherung, so kann die Nachbesserung mit stets gleicher Rechengenauigkeit die Anzahl der Stellen erhöhen, jedoch nicht auf die volle Stellenzahl. Die Problematik der Auslösung in (4) tritt sonst bei den Iterationsverfahren nicht auf, da nur eine relativ geringe Genauigkeit erzielt werden soll (d.h. Ax k b gilt weniger stark). 9

3 Anwendungsbeispiel Wir betrachten das Dirichletsche Randwertproblem für eine reellwertige Funktion u(x, y) im Einheitsquadrat Ω := {(x, y) : 0 < x, y < 1} u = u xx u yy = f(x, y) (x, y) Ω u(x, y) = 0, (x, y) Ω (20) bei vorgegebener stetiger Funktion f. Die Differenzenquotienten werden auf einem uniformen Gitter der Schrittweite h := 1 M+1 für M N diskretisiert Ω h := {(x i, y j ) = (ih, jh) : i, j = 1,..., M}. (21) Der symmetrische Differenzenquotient zweiter Ordnung liefert als Näherungsformel für u i,j := u(x i, y j ) u i 1,j 2u i,j + u i+1,j h 2 und äquivalent mit f i,j := f(x i, y j ) u i,j 1 2u i,j + u i,j+1 h 2. = f(xi, y j ) (22) 4u i,j u i 1,j u i+1,j u i,j 1 u i,j+1. = h 2 f i,j (23) bei i, j = 1,..., M. Die Unbekannten und die rechten Seiten seien in der Form u = (u 1,1, u 2,1,..., u M,1, u 1,2,..., u M,2,..., u 1,M,..., u M,M ) T b = h 2 (f 1,1, f 2,1,..., f M,1, f 1,2,..., f M,2,..., f 1,M,..., f M,M ) T (24) angeordnet, wodurch ein lineares Gleichungssystem Au = b der Dimension n = M 2 entsteht. Die Matrix A besitzt die folgende Bandstruktur C I I C. 4 1.. A =...... I mit C = 1............ 1. (25) I C 1 4 Die Matrix A ist nur schwach besetzt, da jede Zeile maximal 5 Elemente ungleich null enthält. Desweiteren ist A symmetrisch und positiv definit. Eine Cholesky-Zerlegung A = LL T würde jedoch zahlreiche Einträge ungleich 10

null in L erzeugen, d.h. L ist nicht schwach besetzt. Dagegen erfordern Matrix-Vektor-Produkte bezüglich A nur vergleichsweise wenig Operationen. (Nur Elemente ungleich null müssen abgearbeitet werden.) Für die Matrix (25) kann der Spektralradius der jeweiligen Iterationsmatrix I B 1 A für die obigen drei Verfahren explizit berechnet werden. Zur Wahl des optimalen Relaxationsparameters im SOR-Verfahren siehe auch Abb. 1. Im einzelnen ergeben sich die folgenden Werte: Jacobi-Verfahren: Gauß-Seidel-Verfahren: Wir erkennen die Relation ρ(i D 1 A) = cos ( π M+1 ρ(i (D + L) 1 A) = cos ( ) 2 π M+1 SOR-Verfahren: ρ(i B(ω opt ) 1 A) = 1 > ρ J > ρ GS > ρ SOR > 0 für festes M 2. ) cos 2 ( M+1) π (1+sin( M+1)) π 2 Nach Satz 8.1 ist damit die Konvergenz in allen drei Iterationsverfahren garantiert. Nach Satz 8.2 ist die Größenordnung des Spektralradius entscheidend für die Konvergenzgeschwindigkeit, d.h. wieviele Schritte für eine bestimmte Genauigkeit benötigt werden. Mit steigender Problemgröße M folgt ρ 1, wodurch die Konvergenz in allen drei Verfahren immer langsamer wird. Für festes M ist jedoch das Gauß-Seidel-Verfahren etwa doppelt so schnell wie das Jacobi-Verfahren wegen ρ GS ρ 2 J. Es lässt sich desweiteren für großes M annähern ρ κ J = ρ SOR κ = ln ρ SOR ln ρ J 4(M+1) π, wodurch das SOR-Verfahren mit optimalem Relaxationsparameter mehr als M mal so schnell wie das Jacobi-Verfahren konvergiert. 11

1 0.8 ρ 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 ω Abbildung 1: Spektralradius der Iterationsmatrix im Relaxationsverfahren für verschiedene Parameter ω [0, 2] bei Matrix (25) mit M = 10. Ausblick: Es gibt neben den stationären Verfahren noch weitere fortgeschrittene Iterationsmethoden für große lineare Gleichungssysteme. Verfahren der Konjugierten Gradienten (CG-Verfahren) nur für symmetrische positiv definite Matrizen; basiert auf sukzessiver Minimierung des Fehlers entlang von eindimensionalen Suchrichtungen; Verallgemeinerungen auf allgemeine Matrizen und nichtlineare Gleichungssysteme existieren. Generalised Minimal Residual method (GMRES) für allgemeine Matrizen; basiert auf Minimierung des Residuums; Rechenaufwand steigt in der Iteration jedoch mit der Schrittzahl an. Mehrgitterverfahren bei Matrizen die aus Diskretisierungen von partiellen Differentialgleichungen entstehen; Wechsel zwischen groben und feinen Gittern findet in der Iteration statt. 12

4 Verfahren der Konjugierten Gradienten Gegeben sei ein lineares Gleichungssystem Ax = b mit einer symmetrischen, positiv definiten Matrix A R n n. Dadurch existiert auch die inverse Matrix A 1 und ist symmetrisch sowie positiv definit. Wir definieren ein Funktional F : R n R durch F (z) := 1 2 (Az b) A 1 (Az b) Dadurch liegen drei Eigenschaften vor: F (z) 0 für alle z, F (A 1 b) = 0, = 1 2 z Az b z + 1 2 b A 1 b. Für z A 1 b gilt Az b und somit F (z) > 0. (26) Aus diesen Eigenschaften folgt sofort, dass ˆx := A 1 b das eindeutige Minimum von F mit F (ˆx) = 0 ist. Die Idee besteht nun darin, ein Iterationsverfahren zur Minimierung des Funktionals F einzusetzen, um die Lösung ˆx des linearen Gleichungssystems näherungsweise zu erhalten. Methode des steilsten Abstiegs Die Methode des steilsten Abstiegs wird auch Gradientenverfahren genannt. Der Gradient des Funktionals (26) als Spaltenvektor geschrieben lautet F (z) = Az b R n. Die Richtung des steilsten Abstiegs in einem Punkt ist gerade der negative Gradient, d.h. F (z) = b Az. Sei eine Näherung x k R n gegeben. Das zugehörige Residuum ist dann r k := b Ax k. Wir definieren die Funktion F : R R durch F (µ) := F (x k + µr k ). 13

Der Parameter µ R wird jetzt als Lösung des eindimensionalen Minimierungsproblems min µ F (x k + µr k ) bestimmt. Dadurch lautet die neue Näherung x k+1 = x k + µ min r k mit diesem optimalen Parameter µ min. Das entstehende Iterationsverfahren konvergiert im Fall einer symmetrischen, positiv definiten Matrix A gegen das Minimum ˆx = A 1 b. Jedoch ist die Konvergenzordnung nur linear und die Konvergenzgeschwindigkeit oft sehr langsam. Ein Grund hierfür ist, dass die sukzessiven Suchrichtungen orthogonal aufeinander stehen, d.h. r k+1 r k = 0 für alle k. Typischerweise gilt in dieser Iteration x k ˆx = A 1 b für alle k. Definition des Verfahrens der konjugierten Gradienten Das Iterationsverfahren der konjugierten Gradienten (engl. conjugate gradient (CG) method) wird wie folgt rekursiv definiert. Algorithmus 1 (CG-Verfahren) Wähle x 0 R n. Setze p 0 := r 0 := b Ax 0. Für k = 0, 1, 2,... 1.) Falls p k = 0: ENDE x k ist Lösung von Ax = b. 2.) Berechne α k = r k r k p k Ap k = x k + α k p k = r k α k Ap k x k+1 r k+1 β k = r k+1 r k+1 r k r k p k+1 = r k+1 + β k p k. 14

Der Rechenaufwand pro Iterationsschritt besteht aus: 1. Eine Matrix-Vektor-Multiplikation: Ap k, 2. Zwei Skalarprodukte: p k (Ap k), r k+1 r k+1 (r k r k liegt aus vorhergehenden Schritt vor), 3. Drei Vektoradditionen: x k + α k p k, r k α k (Ap k ), r k+1 + β k p k. Die Matrix-Vektor-Multiplikation ist dabei der wesentliche Anteil des Rechenaufwands. Eigenschaften des CG-Verfahrens Wir definieren zunächst den folgenden Begriff. Def.: Sei A R n n symmetrisch und positiv definit. Zwei Richtungen p, q heißen A-konjugiert, wenn p, q A := p Aq = 0 gilt. Sind zwei Richtungen A-konjugiert, so bedeutet dies, dass sie orthogonal bezüglich des von A induzierten Skalarprodukts sind. Satz 3 (Eigenschaften des CG-Verfahrens) Sei A R n n symmetrisch und positiv definit sowie b R n. Zu jedem Startvektor x 0 R n gibt es eine kleinste ganze Zahl l mit 0 l n, so dass p l = 0. Die Vektoren x k, p k, r k für k l aus dem CG-Verfahren besitzen die folgenden Eigenschaften: a) Ax l = b, b) r i p j = 0 für 0 j < i l, c) r i p i = r i r i für i l, d) p i Ap j = 0 für 0 i < j l, p j Ap j > 0 für j < l, e) r i r j = 0 für 0 i < j < l, r j r j > 0 für j < l, f) r i = b Ax i. 15

Beweis: siehe J. Stoer, R. Bulirsch: Numerische Mathematik 2, Springer 2005, Satz 8.7.1.4. Folgerungen: i) Nach spätestens n Iterationsschritten liefert das Verfahren bei exakter Rechnung auch die exakte Lösung x l = A 1 b, siehe (a). Abgesehen von Spezialfällen für den Startwert werden im allgemeinen genau n Schritte benötigt. ii) Die Vektoren r i = b Ax i, siehe (f), sind die Residuen der Näherungen. Wegen (e) sind die Residuen für i j orthogonal zueinander. iii) Die Suchrichtungen p i sind A-konjugiert, siehe (d). Dies begründet den Namen des Verfahrens. iv) Das CG-Vefahren ist wohldefiniert wegen p j Ap j 0, siehe (d), und r j r j 0, siehe (e). Trotz der Eigenschaft (i) besteht bei großen linearen Gleichungssystemen, d.h. hohes n, der Wunsch, dass das Verfahren nach nur relativ wenigen Iterationsschritten k n eine hinreichend genaue Näherung liefert. Für kleine lineare Gleichungssysteme ist wegen der Eigenschaft (i) eine direkte Lösung mit dem CG-Verfahren praktisch möglich. Ein Schritt des CG-Verfahrens wird dominiert vom Aufwand der Matrix-Vektor-Multiplikation. Bei vollbesetzter Matrix sind dazu n 2 Operationen notwendig (der typische Rechenschritt a + b c zählt dabei als eine Operation). Bei Vergleich mit der Cholesky-Zerlegung zeigen sich jedoch folgende Verhältnisse. Rechenaufwand: Cholesky-Algorithmus : ca. 1 6 n3 Operationen CG-Verfahren : ca. n n 2 = n 3 Operationen Somit ist das Cholesky-Verfahren zur direkten Lösung besser geeignet. 16

Minimalitätseigenschaft Wir zeigen, dass die Näherung x k+1 aus dem CG-Verfahren eine Lösung des Minimierungsproblems min F (x k + µ 0 r 0 + µ 1 r i + + µ k r k ) µ 0,µ 1,...,µ k mit r i := b Ax i und dem Funktional (26) darstellt. Es gilt S k := span{r 0,..., r k } = span{p 0,..., p k } für k < l. Dies folgt induktiv aus p 0 = r 0 und p k = r k + β k p k 1 bzw. r k = p k β k p k 1. Wir definieren eine Hilfsfunktion Φ(µ 0, µ 1,..., µ k ) := F (x k + µ 0 p 0 + µ 1 p 1 + + µ k p k ). Differentiation ergibt mit der Kettenregel Φ µ j (µ 0,..., µ k ) = F (x k + µ 0 p 0 + + µ k p k ) p j für 0 j k. Sei x = x k + µ 0 p 0 + + µ k p k im weiteren. Dadurch zeigt sich Φ µ j = (Ax b) p j für 0 j k. Für µ 0 = = µ k 1 = 0 und µ k = α k folgt x k+1 = x k + α k p k. Wir erhalten Φ = (Ax k + α k Ap k b) p j = rk µ p j α k p k Ap j j { 0 0 = 0 für j < k, = r k r k r k r k p k Ap k p k Ap k = 0 für j = k. Somit ist x k+1 ein lokales Extremum von Φ. Es gilt F (z) = z Az b z + c mit einer Konstanten c R. Für die Hilffunktion ergibt sich k k Φ(µ 0,..., µ k ) = 1 2 xk Ax k + 1 2 µ i µ j p i Ap j + µ j p j Ax k + i,j=0 k µ j b p j + b x k + c. j=0 17 j=0

Die Doppelsumme beschreibt den quadratischen Term, während die anderen Terme linear oder konstant in µ := (µ 0, µ 1,..., µ k ) sind. Wir erhalten k µ i µ j p i Ap j = µ A µ i,j=0 mit A = (a ij ) R(k+1) (k+1) und a ij := p i Ap j. Wegen Satz 3 (d) ist A eine Diagonalmatrix mit positiven Diagonalelementen. Insbesondere ist A damit symmetrisch und positiv definit. Somit repräsentiert x k+1 das eindeutige globale Minimum der Funktion Φ. Fehlerabschätzung Wir definieren den Fehler der k-ten Näherung aus dem Iterationsverfahren als den Vektor e k := x k A 1 b für k = 0, 1, 2,.... Damit gilt die folgende Abschätzung. Satz 4 (Fehlerschranke im CG-Verfahren) Für die Fehler der Näherungen x k aus dem CG-Verfahren gilt bezüglich der Energienorm A die obere Schranke e k A e 0 A 2 ( κ2 (A) 1 κ2 (A) + 1 mit der Konditionszahl κ 2 (A) zur Euklidischen Vektornorm. Beweis: siehe J. Stoer, R. Bulirsch: Numerische Mathematik 2, Springer 2005, S. 315-316. ) k Für eine symmetrische, positiv definite Matrix A gilt κ 2 (A) = λ max λ min mit dem größten und kleinsten Eigenwert. Wir führen noch die Wurzel einer Matrix als Hilfsmittel ein. Zu einer symmetrischen, positiv definiten Matrix A existiert die Zerlegung A = SDS mit D = diag(λ 1,..., λ n ) und S 1 = S. 18

Es sei D 1 2 := diag( λ 1,..., λ n ). Damit kann die Wurzel der Matrix A definiert werden als A 1 1 2 := SD 2 S. Es folgt (A 1 2) 2 = A. Zudem ist auch A 1 2 symmetrisch und positiv definit. Lemma 1 Für die Fehler der Näherungen x k aus dem CG-Verfahren gilt bezüglich der Euklidischen Norm 2 die obere Schranke e k 2 2 ( k κ2 (A) 1 κ 2 (A). e 0 2 κ2 (A) + 1) Beweis: Wir erhalten A 1 2 x 2 2 = (A 1 2 x) (A 1 2 x) = x (A 1 2 ) A 1 2 x = x A 1 2 A 1 2 x = x Ax = x 2 A, d.h. A 1 2 x 2 = x A für beliegiges x R n. Damit schätzen wir ab x 2 = A 1 2 A 1 2 x 2 A 1 2 2 A 1 2 x 2 = A 1 2 2 x A, d.h. x 2 A 1 2 2 x A für beliegiges x R n. Die Konditionszahl erfüllt die Gleichung κ 2 (A 1 2 ) = A 1 2 2 A 1 2 2. Es folgt mit Satz 4 ( e k 2 A 1 2 2 e k A A 1 κ2 (A) 1 2 2 2 A 1 2 2 2 ( κ2 (A) 1 κ2 (A)+1 κ2 (A)+1) k e 0 2 ) k A 1 2 2 e 0 A = 2κ 2 (A 1 2 ) ( κ2 (A) 1 κ2 (A)+1) k e 0 A. Für die Konditionszahl erhalten wir κ 2 (A 1 2 ) = κ 2 (A), da die Eigenwerte von A 1 2 die Wurzeln der Eigenwerte von A sind. gerade Die Abschätzung in Lemma 1 ist jedoch grob im Vergleich zu Satz 4. Eine wichtige Folgerung aus Satz 4 ist, dass die Konvergenzgeschwindigkeit umso langsamer ist, je höher die Konditionszahl der Matrix ausfällt. Für hohe Konditionszahl ist nämlich κ2(a) 1 κ2 (A)+1 1, wodurch die k-ten Potenzen nur sehr langsam abnehmen. 19

Vorkonditionierungstechnik Ein Konvergenzbeschleunigung soll nun erhalten werden, indem statt des ursprünglichen Gleichungssystems ein äquivalentes Gleichungssystem mit einer Matrix von deutlich niedrigerer Konditionszahl iterativ gelöst wird. Als Ansatz wird Ax = b ersetzt durch A x = b mit A = B 1 2 AB 1 2, x = B 1 2 x, b = B 1 2 b mit einer symmetrischen, positv definiten Matrix B R n n. Damit gilt A = B 1 2 AB 1 2 = B 1 2 (B 1 A)B 1 2, wodurch die Eigenwerte von A und B 1 A identisch sind. Das Ziel ist nun κ 2 (A ) κ 2 (A) zu erreichen. Dabei gilt als untere Schranke κ 2 (A ) 1. Die Matrix B soll eine gute Approximation von A sein, denn dann folgt B 1 A I mit der Einheitsmatrix, wodurch die Konditionszahl von A nahe eins wäre. In der Praxis möchte man das Aufstellen der Matrix B 1 2 vermeiden, weil dazu die Eigenwerte und Eigenvektoren von B bestimmt werden müssten. Stattdessen sind dann lineare Gleichungssysteme mit der Matrix B zu lösen. Diese Gleichungssysteme sollen daher leicht direkt lösbar sein. Konstruktionsmöglichkeiten für die Matrix B sind: 1. Aus stationären Iterationsverfahren (Zerlegung A = D + L + L ): symmetrisches Gauß-Seidel-Verfahren: B = (D + L)D 1 (D + L) symmetrisches SOR-Verfahren: B(ω) = ω 2 ω ( 1 ω D + L)D 1 ( 1 ω D + L) 2. Unvollständige Cholesky-Zerlegung: B = L L, wobei L eine Approximation des exakten Faktors ˆL aus der Zerlegung A = ˆLˆL ist. Diese Approximation kann erhalten werden, indem der Cholesky-Algorithmus nur teilweise durchgeführt wird. Eine Näherung x k aus dem CG-Verfahren für das System A x = b muss auf eine Näherung x k für das System Ax = b rücktransformiert werden 20

über x k = B 1 2x k bzw. x k = B 1 2x k. Die Suchrichtungen p k werden zur Änderung der Näherungen eingesetzt und transformieren sich daher auch über p k = B 1 2p k. Für die Residuen gilt r k = b A x k = B 1 2 b (B 1 2 AB 1 2 )(B 1 2 x k ) = B 1 2 (b Ax k ) = B 1 2 rk. Das CG-Verfahren wird jetzt auf das Gleichungssystem A x = b angewendet. Wir schreiben einfach die Formeln gemäß Algorithmus 1 auf α k = p k r k r k A p k, x k+1 = x k + α k p k, r k+1 = r k α k A p k, Es gelten die Äquivalenzen β k = r k+1 r k+1, p k+1 = r k+1 + β k p k. r k r k x k+1 = x k + α k p k x k+1 = x k + α k p k, r k+1 = r k α k A p k r k+1 = r k α k Ap k. Für die Euklidischen Normen der Residuen folgt r k r k = (B 1 2 rk ) (B 1 2 rk ) = r k (B 1 2 ) B 1 2 rk = r k B 1 2 B 1 2 rk = r k B 1 r k. Desweiteren ist sowie p k A p k = (B 1 2 pk ) (B 1 2 AB 1 1 2 )(B 2 pk ) = p k Ap k p k+1 = B 1 2 p k+1 = B 1 2 (r k+1 + β kp k) = B 1 r k+1 + β kp k. Die obigen Formeln zum CG-Algorithmus schreiben wir damit um zu α k = r k B 1 r k p k Ap, x k+1 = x k + α k k p k, r k+1 = r k α k Ap k, β k = r k+1 B 1 r k+1 r k B 1 r k, p k+1 = B 1 r k+1 + β k p k. Bezüglich der Matrix B werden somit nur die Vektoren q k := B 1 r k in der Iteration benötigt. Diese erhält man aus der Lösung des linearen Gleichungssystems Bq k = r k. Mit einem Notationswechsel α k := α k und β k := β k lautet der Algorithmus des Verfahrens der konjugierten Gradienten mit Vorkonditionierungstechnik (engl. preconditioned conjugate gradient (PCG) method) wie folgt. 21

Algorithmus 2 (PCG-Verfahren) Wähle symmetrische, positiv definite Matrix B R n n. Wähle x 0 R n. Setze p 0 := r 0 := b Ax 0. Für k = 0, 1, 2,... 1.) Falls p k = 0: ENDE x k ist Lösung von Ax = b. 2.) Berechne α k = r k B 1 r k p k Ap k = x k + α k p k = r k α k Ap k x k+1 r k+1 β k = r k+1 B 1 r k+1 r k r k p k+1 = B 1 r k+1 + β k p k. Der Rechenaufwand pro Iterationsschritt des PCG-Verfahrens kennzeichnet sich durch: 1. Eine Matrix-Vektor-Multiplikation: Ap k, 2. Ein lineares Gleichungssystem: Bq k+1 = r k+1 (q k = B 1 r k liegt aus vorhergehenden Schritt vor), 3. Skalarprodukte und Vektoradditionen wie im CG-Verfahren. Wird für B beispielsweise das symmetrische Gauß-Seidel-Verfahren eingesetzt, so sind für die Lösung des Gleichungssystems im wesentlichen eine Vorwärts- und eine Rückwärtssustitution erforderlich. Der Aufwand dazu entspricht einer Matrix-Vektor-Multiplikation mit der Matrix A. Daher ist der Rechenaufwand in einem Iterationsschritt beim PCG-Verfahren etwa doppelt so hoch wie beim gewöhnlichen CG-Verfahren. 22

Vergleich der Verfahren für Beispiel Wir greifen das Anwendungsbeispiel aus Abschnitt 3 auf, d.h. die Poisson- Gleichung. Homogene Dirichlet-Randbedingungen werden verwendet. Abbildung 2 (links) zeigt die gewählte rechte Seite f. Eine numerische Lösung wurde auf einem Gitter mit M = 100 iterativ berechnet, siehe Abbildung 2 (rechts). Dabei erfolgten 158 Schritte des SOR-Verfahrens mit optimalem Relaxationsparameter zu Startwert x 0 = 0. 100 0.4 50 0.2 1 0 0.5 0.5 1 1 0 0.5 0.5 1 y 0 0 x y 0 0 x Abbildung 2: Rechte Seite f in Poisson Gleichung (links) und zugehörige numerische Lösung auf Gitter (rechts). Nun Vergleichen wir die eingeführten Verfahren bezüglich ihrer Effizienz, d.h. der Fehler der Näherungen gegenüber dem Rechenaufwand. Wir verwenden die folgenden Verfahren: 1. Jacobi-Verfahren, 2. Gauß-Seidel-Verfahren, 3. SOR-Verfahren mit optimalem Relaxationsparameter, 4. CG-Verfahren, 5. PCG-Verfahren mit symm. Gauß-Seidel-Vorkonditionierung, 6. PCG-Verfahren mit symm. SOR-Vorkonditionierung bei optimalem Relaxationsparameter. 23

Als Startwert wird immer x 0 = 0 eingesetzt. Wir berechnen zwei Fälle: Der relative Fehler M n = M 2 κ 2 (A) 1. Fall: 100 10 000 6.0 10 3 2. Fall: 1 000 1 000 000 5.9 10 5 x k ˆx ˆx der Näherungen x k wird in der Maximum-Norm berechnet. Als Referenzlösung ˆx A 1 b dient dabei die direkte Lösung des linearen Gleichungssystems mit dem Cholesky-Verfahren. Man beachte, dass diese Referenzlösung nicht ganz der exakten Lösung entspricht wegen Rundungsfehlern. Daher Konvergiert der Fehler nicht gegen null sondern nimmt nach einigen Schritten einen konstanten Wert an. Jedoch konvergieren die Verfahren auf dem Rechner auch nicht gegen die exakte Lösung wegen der Rundungsfehler. Abbildung 3 stellt diese bestimmten relativen Fehler für die sechs Methoden bzw. Varianten dar. Beim Effizienzvergleich ist zu beachten, dass ein Iterationsschritt der PCG- Verfahren etwa doppelt soviel an Rechenaufwand kostet wie ein Iterationsschritt des CG-Verfahren. Trotzdem stellen wir einen deutlichen Gewinn durch die Vorkonditionierungstechnik fest. 24

M = 100 10 0 rel. Fehler (Max.-Norm) 10-5 10-10 10-15 0 100 200 300 400 500 600 Iterationsschritte M = 1 000 10 0 rel. Fehler (Max.-Norm) 10-5 10-10 10-15 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Iterationsschritte Abbildung 3: Maximaler relativer Fehler der Näherungen in verschiedenen Iterationsverfahren bezüglich der Schittanzahl: Jacobi-V. (blau), Gauß-Seide-V. (grün.), SOR-V. (gelb), CG-V. (rot, ), PCG-V. mit Gauß-Seidel (rot,- -), PCG-V. mit SOR (rot,- - -). 25