Iterative Verfahren, Splittingmethoden Theodor Müller 19. April 2005 Sei ein lineares Gleichungssystem der Form Ax = b b C n, A C n n ( ) gegeben. Es sind direkte Verfahren bekannt, die ein solches Gleichungssystem zuverlässig lösen. Bei vielen mathematischen Problemstellungen sind allerdings sehr große Matrizen gegeben, deren vollständige Speicherung mehrere Gigabyte beanspruchen würde und somit ein direktes Verfahren denkbar ungeeignet ist. Oftmals sind die großen Matrizen sehr dünn besetzt, besitzen also wenige Einträge die nicht Null sind dies ist etwa bei der Diskretisierung von Differentialgleichungen der Fall. Als eine bessere Herangehensweise erweist sich die Anwendung von iterativen Verfahren. Bei einem gegebenen Startvektor x 0 führt hier die wiederholte Ausführung einer geeigneten Iterationsvorschrift x m+1 = Φ(x m, b), m N 0 zu einer besseren Nährerung an die exakte Lösung x = A 1 b von ( ). Definition 1. Ein Iterationsverfahren ist durch eine Abbildung Φ : C n C n C n gegeben und heißt linear, falls Matrizen M, N C n n existieren, sodass gilt: Φ(x, b) = Mx + Nb. M und N sind dann durch die Iterationsvorschrift eindeutig bestimmt, M wird als Iterationsmatrix von Φ bezeichnet. Definition 2. Sei ein Iterationsverfahren Φ gegeben. Dann heißt x Fixpunkt von Φ zu b, wenn x = Φ( x, b) gilt. 1
Definition 3. Ein Iterationsverfahren Φ heißt (i) konsistent zur Matrix A, wenn für alle b C n die Lösung A 1 b ein Fixpunkt von Φ zu b ist, also A 1 b = Φ(A 1 b, b) (ii) konvergent, wenn für alle b C n der Grenzwert ˆx := lim m x m = lim m Φ(x m 1, b) existiert und vom Startwert x 0 C n unabhängig ist. Für jedes Iterationsverfahren ist die Konsistenz eine notwendige Bedingung, da sich andernfalls die Folge (x m ) nach dem erreichen der besten Näherung wieder von der exakten Lösung entfernen würde. Allerdings reicht die Konsistenz zur Festlegung eines sinnvollen linearen Iterationsverfahrens nicht aus, wie folgendes Beispiel zeigt: Beispiel Wir betrachten in folgenden Beispielen das Modellproblem ( ) ( ) ( ) 0, 7 0, 4 x1 0, 3 =. 0, 2 0, 5 x 2 0, 3 }{{}}{{}}{{} =:A =:x =:b Offensichtlich lautet die exakte Lösung x = (1, 1) T. Setzt man nun für ein lineares Iterationsverfahren M := I und N = 0, so folgt Φ(x, b) = Ix + 0b = x x C n Somit zwar die gesuchte Lösung x ein Fixpunkt und damit das Verfahren konsistent, aber auch jedes weitere x C n. Das Verfahren ist also zum Lösen der gegebenen Gleichung nicht geeignet. Der folgende Satz zeigt, dass bei linearen Iterationsverfahren die Konsistenz unmittelbar aus den zugehörigen Matrizen M und N bestimmt werden kann. Satz 4. Ein lineares Iterationsverfahren ist genau dann konsistent zur Matrix A, wenn gilt: M = I NA 2
Beweis. Sei x = A 1 b und Φ konsistent zu A, also x = Mx + Nb = Φ(x, b) x = Mx + NAx M = I NA Satz 5. Ein lineares Iterationsverfahren Φ ist genau dann konvergent, wenn für die Iterationsmatrix M gilt: 1 > ρ(m) = max { λ λ ist Eigenwert von M } Beweis. (i) Sei Φ konvergent. Sei λ ein Eigenwert von M mit λ = ρ(m) und x C n \{0} ein zugehöriger Eigenvektor. Mit b = 0 C n und x 0 := x folgt: x m = Φ(x m 1, b) = Mx m 1 =... = λ m 1 Mx 0 = λ m x 0 Für λ > 1 folgt mit x m = λ m x 0 die Divergenz der Folge {x m } m N. Für λ = 1 stellt M für x 0 eine Drehung dar. Die Folge {x m } m N konvergiert also nur für λ = 1. In diesem Fall gilt lim µ x m = lim µ m m 1m x 0 = µx 0 µ C. Es gibt also einen Grenzwert, der vom Startvektor abhängt. Damit ist Φ nicht konvergent. Folglich ist ρ(m) < 1 eine notwendige Bedingung für die Konvergenz des Iterationsverfahrens. (ii) Sei ρ(m) < 1. Sei ε := 1 2 (1 ρ(m)) > 0. Es existiert nach [2, Satz 11.6] eine Matrixnorm, sodass gilt. Sei nun Φ gegeben durch: Dann gilt: c := M ρ(m) + ε < 1 Φ(x) = Mx + Nb Φ(x) Φ(y) = Mx My M x y = c x y x, y C n. Es folgt mit dem Banachschen Fixpunktsatz die Konvergenz der Folge {x m } m N, also die Konvergenz von Φ. Wie die Konsistenz ist auch die Konvergenz eine notwendige, aber nicht hinreichende Bedingung an ein sinnvolles lineares Iterationsverfahren: 3
Wählt man für die Iterationsvorschrift M = 0, so folgt für belie- Beispiel biges N: Φ(x, b) = 0x + Nb = Nb x C n Für jeden Startvektor x 0 C n ist also Nb der Fixpunkt des Verfahrens. Hierbei handelt es sich i.a. nicht um die gesuchte Lösung x. Korollar 6. Sei Φ ein lineares, konvergentes und zur Matrix A konsistentes Iterationsverfahren. Dann gibt es genau ein x C n mit: x = lim m x m = lim m Φm (x 0, b) x 0 C n und x ist Lösung des Gleichungssystems Ax = b. Beweis. Die Folge {x m } m N konvergiert gegen einen eindeutigen Fixpunkt x. Wegen der Konsistenz ist auch die exakte Lösung x = A 1 b ein Fixpunkt. Es folgt x = x und somit die Behauptung. Sei x die exakte Lösung des linearen Gleichungsystems ( ). Wir betrachten ein lineares Iterationsverfahren x m = Φ(x m 1, b) = Mx m 1 + Nb, m N mit ρ(m) < 1. Für alle ε mit 0 < ε < 1 ρ(m) existiert eine Matrixnorm, sodass ρ(m) M ρ(m) + ε < 1 }{{} =:q Aus dem Banachschen Fixpunktsatz folgt die Fehlerabschätzung x m x qm 1 q x 1 x 0, m N Aufgrund der Äquivalenz aller Normen auf dem C n existiert für jede Vektornorm c eine Konstante k c R, sodass x m x c qm 1 q k c x 1 x 0 c Die Konstante k c hängt nur von der Vektornorm ab. Die Konvergenzgeschwindigkeit des Verfahrens wird also durch den Spektralradius ρ(m) bestimmt. 4
Mit diesen gegebenen Abschätzungen lässt sich leicht ein Kriterium für die Anzahl der Iterationen angeben, um einen vorgegebenen Fehler ε > 0 zu unterschreiten. Mit erhalten wir ε x m x m qm 1 q x 1 x 0 ln ε(1 q) x 1 x 0 ln q Man sieht leicht ein, dass die Konvergenzgeschwindigkeit erhöht werden kann, indem man den Spektralradius ρ(m) verkleinert. Genauer gilt: Für 0 < q < 1 und q = q 2 folgt q m 1 q = q2m 1 q 2 < q2m 1 q. Es ist ersichtlich, dass die Zahl der Iterationsschritte halbiert werden kann, wenn man die Größe q durch q 2 = q ersetzen kann etwa, indem der Spektralradius von 0.9 auf 0.81 gesenkt wird.. 5
Splitting-Methoden Es sei wieder ein lineares Gleichungssystem der Form Ax = b b C n, A C n n gegeben. Die Grundlage von Splitting-Methoden zur Lösung dieses Gleichungssystems ist die Aufspaltung der Matrix A in die Summe A = B + (A B), B C n n. Für B GL(n, C) folgt durch weitere Umformungen: Ax = b Bx = (B A)x + b x = B 1 (B A)x + B 1 b Es sei nun hiermit das lineare Iterationsverfahren x m+1 := Φ(x m, b) = Mx m + Nb, M := B 1 (B A), N := B 1 definiert. Beispiel Das Gesamtschrittverfahren zerlegt die Matrix A in die Summe von linker, rechter Dreiecksmatrix und Diagonalmatrix: A = L + D + R und das Gleichungssystem lässt sich in folgende Iterationsvorschrift umformen: Ax = b (L + D + R)x = b x = D 1 (L + R) x + D }{{}}{{} 1 b =:M =:N Die Herleitung der Iterationsvorschrift des Einzelschrittverfahrens ist äquivalent zu folgenden Umformungen: Ax = b (L + D + R)x = b (L + D)x = Rx + b x = (L + D) 1 R x + (L + D) 1 b }{{}}{{} =:M =:N 6
Definition 7. Sei die Iterationsvorschrift einer Splitting-Methode von der Form x m+1 = Φ(x m ) = B 1 (B A)x m + B 1 b. Die Splitting-Methode heißt symmetrisch, wenn für jede positiv definite, symmetrische Matrix A auch die Matrix B positiv definit und symmetrisch ist. Satz 8. Sei B GL(n, C). Dann ist das lineare Iterationsverfahren zur Matrix A konsistent. x m+1 = Φ(x m, b) = B 1 (B A)x m + B 1 b Beweis. Mit M = B 1 (B A) = I B 1 A = I NA folgt mit Satz 4 die Behauptung. Gilt also für eine Splitting-Methode ρ(m) < 1, dann ist eine Lösung der Gleichung Ax = b. x := lim m x m = lim m Φ(x m 1, b) Beispiel Sei wieder das Problem ( 0, 7 0, 4 0, 2 0, 5 ) } {{ } =:A ( x1 x 2 }{{} =:x ) ( ) 0, 3 =. 0, 3 }{{} =:b mit der exakten Lösung x = (1, 1) T gegeben. Mit A = I (I A) folgt: ( ) 0, 3 0, 4 Ax = b x = (I A) x + I }{{}}{{} b, M = 0, 2 0, 5 =:M =:N Das Verfahren ist per Konstruktion konsistent, die Konvergenz folgt aus det(m λi) = (λ 0.4) 2 0.09, λ 1 = 0.1, λ 2 = 0.7 denn der Spektralradius ist somit ρ(m) = 0, 7. 7
Wählen wir als Startvektor x 0 = (21, 19) T, dann folgt für den Konvergenzverlauf: m x m,1 x m,2 ε m := x m x ε m /ε m 1 0 21,000000-19,000000 20,000000 10 0,811683 0,811683 0,188317 0,700000 40 0,999958 0,999996 4, 244537 10 6 0,7000000 70 1,000000 1,000000 9, 566903 10 11 0,7000002 96 1,000000 1,000000 8, 881784 10 15 0,6956522 Literatur [1] Andreas Meister, Numerik linearer Gleichungssysteme, S. 55-61 [2] Wolf Hofmann, Numerische Mathematik, SoSe 2004 8