Lineare Gleichungssysteme Beispiel: Feder Masse System festes Ende Feder k 1 Masse m 1 k 2 m 2 k 3 m 3 k 4 festes Ende u 0 = 0 Federkraft y 1 Verschiebung u 1 y 2 u 2 y 3 u 3 y 4 u 4 = 0 Grundlagen der Numerik 66
Feder Masse System Bezeichnungen u = (u 1, u 2, u 3 ) = Verschiebungen der Massen y = (y 1, y 2, y 3, y 4 ) = Kräfte in den Federn e = (e 1, e 2, e 3, e 4 ) = Ausdehnungen der Federn f = (f 1, f 2, f 3 ) = Gravitationskräfte Aufstellen der Gesetze Ausdehnung der Feder = Differenz der Verschiebungen Hookesches Gesetz Kräftegleichgewicht Grundlagen der Numerik 67
Feder Masse System Ausdehnung der Feder = Differenz der Verschiebungen Erste Feder: e 1 = u 1 da u 0 = 0 Zweite Feder: e 2 = u 2 u 1 Dritte Feder: e 3 = u 3 u 2 Vierte Feder: e 4 = u 3 da u 4 = 0 e 1 e 2 e 3 e 4 = 1 0 0 1 1 0 0 1 1 0 0 1 u 1 u 2 u 3 oder kurz e = A u Grundlagen der Numerik 68
Feder Masse System Hookesches Gesetz Erste Feder: y 1 = k 1 e 1 Zweite Feder: y 2 = k 2 e 2 Dritte Feder: y 3 = k 3 e 3 Vierte Feder: y 4 = k 4 e 4 y 1 y 2 y 3 y 4 = k 1 0 0 0 0 k 2 0 0 0 0 k 3 0 0 0 0 k 4 e 1 e 2 e 3 e 4 oder kurz y = K e Grundlagen der Numerik 69
Feder Masse System Kräftegleichgewicht: äussere Kräfte = innere Kräfte Erste Masse: f 1 = y 1 y 2 = m 1 g Zweite Masse: f 2 = y 2 y 3 = m 2 g Dritte Masse: f 3 = y 3 y 4 = m 3 g f 1 f 2 f 3 = 1 1 0 0 0 1 1 0 0 0 1 1 y 1 y 2 y 3 y 4 oder kurz f = A T y Grundlagen der Numerik 70
Feder Masse System Berechnung der Verschiebungen e = A u y = K e f = A T y ergibt A T K A u = f also k 1 + k 2 k 2 0 k 2 k 2 + k 3 k 3 u 1 u 2 = f 1 f 2 0 k 3 k 3 + k 4 u 3 f 3 Grundlagen der Numerik 71
Numerische Lösung linearer Gleichungssysteme Geg.: Ax = b, A R n,n, b R n, A regulär Ges.: eindeutige Lösung x (= A 1 b) Beobachtung: häufig Teilaufgabe innerhalb umfangreicherer Problemstellungen, z.b. treten sie auf bei der numerischen Behandlung nichtlinearer GS mittels Newton-Verfahren, bei der numerischen Behandlung von Differentialgleichungen usw. Folgerung: Die Bereitstellung von numerischen Methoden für diese Aufgabe ist ein zentrales Anliegen der Numerischen Mathematik. Grundlagen der Numerik 72
Beobachtungen: 1. Berechnung von A 1 ist zu aufwendig! 2. Cramersche Regel x i = D i, i = 1,..., n. det A wobei D i Determinanten, die durch Ersetzen der i-ten Spalte von A durch b entstehen zu hoher Aufwand Lösung: 2 Typen von Verfahren Direkte Verfahren: Lösung nach endlich vielen Schritten Iterative Verfahren: Berechnung einer konvergenten Folge Grundlagen der Numerik 73
Direkte Verfahren: Gaußscher Algorithmus Idee: Sukzessive Elimination der Unbekannten. Beispiel 1 4 7 2 5 8 3 6 10 x 1 x 2 x 3 = 5 1 0 A x = b Betrachte die erweiterte Matrix: 1 4 7 2 5 8 3 6 10 5 1 0 Grundlagen der Numerik 74
Gaußscher Algorithmus Eliminiere x 1 : 1 4 7 2 5 8 3 6 10 5 1 2 1. Zeile 0 3 1. Zeile 1 4 7 0 3 6 0 6 11 5 11 15 Eliminiere x 2 : 1 4 7 0 3 6 0 6 11 5 11 15 2 2. Zeile 1 4 7 0 3 6 0 0 1 5 11 7 Grundlagen der Numerik 75
1 4 7 0 3 6 0 0 1 x 1 x 2 x 3 = 5 11 7 R x = z R: Obere Dreiecksmatrix. Sukzessives Einsetzen x Rücksubstitution: x 3 = 7 : 1 = 7 x 2 = ( 11 + 6 x 3 ) : ( 3) = 31 3 x 1 = (5 7 x 3 4 x 2 ) : 1 = 8 3 Grundlagen der Numerik 76
Gaußsche Eliminationsmethode Jetzt: Betrachten allgemeines reguläres lineares GS Ax = b a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2 ( ). a n1 x 1 + a n2 x 2 +... + a nn x n = b n Ziel: Umformung von ( ) auf obere Dreiecksgestalt, dann Rücksubstitution. Grundlagen der Numerik 77
Gaußsche Eliminationsmethode Sei a 11 0. Dann 1. Gleichung nach x 1 auflösen: x 1 = a 12 a 11 x 2... a 1n a 11 x n + b 1 a 11 Einsetzen in die i-te Zeile führt auf ( a i1 a 12 x 2... a 1n x n + b ) 1 a 11 a 11 a 11 und nach Umordnung auf ( 0 x 1 + a i2 a ) i1a 12 a 11 ( x 2 +...+ a in a ) i1a 1n a 11 + a i2 x 2 +... + a in x n = b i x n = b i a i1b 1 a 11 Grundlagen der Numerik 78
Gaußsche Eliminationsmethode Damit mit neue i-te Zeile = alte i-te Zeile l i1 alte erste Zeile l i1 = a i1 a 11, i = 2,..., n zugehöriger Eliminationskoeffizient. Bemerkungen: 1. Der Koeffizient bei x 1 wird also in den Zeilen 2 bis n Null, d.h. diese Gleichungen enthalten kein x 1 mehr. 2. Das Element a 11 heißt Pivotelement, die erste Zeile Pivotzeile. ( pivot aus dem engl. Dreh- oder Angelpunkt) Grundlagen der Numerik 79
Gaußsche Eliminationsmethode Im ersten Schritt wird das System Ax = b mit A = A (1) = a (1) 11 a (1) 12 a (1) 1n a (1) 21 a (1) 22 a (1) 2n... a (1) n1 a (1) n2 a (1) nn, b = b(1) = b (1) 1 b (1) 2. b (1) n Grundlagen der Numerik 80
Gaußsche Eliminationsmethode in das äquivalente System mit A (2) = A (2) x = b (2) a (1) 11 a (1) 12 a (1) 1n 0 a (2) 22 a (2) 2n... 0 a (2) n2 a (2) nn ( ), b(2) = b (1) 1 b (2) 2. b (2) n und a (2) ij = a(1) ij l i1a (1) 1j, b(2) i = b (1) i l i1 b (1) 1, i = 2,..., n überführt. Grundlagen der Numerik 81
Das System (**) zerfällt in (i) eine Gleichung für x 1 Gaußsche Eliminationsmethode a (1) 11 x 1 + a (1) 12 x 2 +... + a (1) 1n x n = b (1) 1 (ii) das (n 1)-dimensionale Restsystem a (2) 22 a (2) 2n.. a (2) n2 a (2) nn x 2. x n = b (2) 2. b (2) n in dem nur noch die Unbekannten x 2,..., x n vorkommen. Auf dieses Restsystem wird, unter der Voraussetzung a (2) 22 0, wieder die Eliminationsvorschrift angewendet. Grundlagen der Numerik 82
Gaußsche Eliminationsmethode Man erhält so eine Folge von Matrizen A = A (1) A (2)... A (n) =: R der speziellen Gestalt A (k) = a (1) 11 a (1) 1,k 1 a (1) 1k a (1) 1n...... a (k 1) k 1,k 1 a (k 1) k 1,k a(k 1) k 1,n a (k) kk a (k) kn.. a (k) nk a (k) nn mit einer (n k + 1, n k + 1)- Restmatrix. Grundlagen der Numerik 83
Gaußsche Eliminationsmethode Falls a (k) kk 0 können wir den nächsten Eliminationsschritt ausführen. Dieser lautet l ik = a (k) ik /a(k) kk für i = k + 1,..., n a (k+1) ij = a (k) ij l ika (k) kj für i, j = k + 1,..., n b (k+1) i = b (k) i l ik b (k) k für i = k + 1,..., n Grundlagen der Numerik 84
LR-Faktorisierung Beobachtung: A (k+1) = L k A (k), b (k+1) = L k b (k) mit Eliminationsmatrix 1... 1 L k = l k+1,k 1.... l n,k 1 (k + 1)-te Zeile Grundlagen der Numerik 85
LR-Faktorisierung Folgerung: Ax = b Rx = z mit R := A (n) = L n 1 L 1 A, z := b (n) = L n 1 L 1 b (***) L k ist stets regulär, die Inverse ist L 1 k = 1... 1 l k+1,k 1.... l n,k 1 Grundlagen der Numerik 86
LR-Faktorisierung Aus (***) folgt A = L 1 1 L 1 2 L 1 n 1 R = LR wobei L = L 1 1 L 1 2 L 1 n 1 = 1 l 21 1 l 31 l 32 1.... l n1 l n2... l n,n 1 1 Grundlagen der Numerik 87
LR-Faktorisierung DEF.: Die Darstellung A = LR der Matrix A als Produkt einer unipotenten unteren Dreiecksmatrix und einer oberen Dreiecksmatrix heißt LR-Zerlegung (LR-Faktorisierung) oder Gaußsche Dreieckszerlegung von A. Algorithmus: Gauß Elimination 1. A = LR Dreieckszerlegung R obere, L untere Dreiecksmatrix LRx = b 2. Lz = b Vorwärtssubstitution 3. Rx = z Rückwärtssubstitution Grundlagen der Numerik 88
LR-Faktorisierung Aufwand: n 3 3 + n2 2 5n 6 (M, A), n 2 2 + n 2 (D) Mit 1 opms := 1 (A,M) ist Aufwand Gauss-Algorithmus ungefähr n 3 /3 opms. Beachte: Die LR-Zerlegung braucht für verschiedene rechte Seiten b nur einmal durchgeführt werden! Grundlagen der Numerik 89
Spaltenpivotisierung Beobachtung: In der bisher beschriebenen Form ist der Gaußsche Algorithmus zur Lösung beliebiger regulärer linearen Gleichungssysteme nicht geeignet. Probleme: 1. Sei ( ) 0 1 A =, det A = 1 1 0 A regulär, aber a 11 = 0 Dreieckszerlegung versagt. 2. Sei ( ) 10 16 1 A =, a (2) 22 1 1 = a 22 a 21 a 12 = 1 10 16 a 11 computerabhängige Auslöschung falsches Ergebnis Grundlagen der Numerik 90
Spaltenpivotisierung Ausweg: Vertauschen von Zeilen Spaltenpivotisierung: (column pivoting) Bei jedem Eliminationsschritt wählt man diejenige Zeile als Pivotzeile, die das betragsmäßig größte Element in der Pivotspalte besitzt. Das garantiert 1. l ij 1 2. Pivotelement 0, falls A regulär Führt auf Gauß-Elimination mit Spaltenpivotisierung Grundlagen der Numerik 91
a) Wähle im k-ten Eliminationsschritt ein p {k,..., n}, so daß a (k) pk a(k) jk für j = k,..., n, d.h. die p-te Zeile wird Pivotzeile. A (k) = a (1) 11 a (1) 1,k 1 a (1) 1k a (1) 1n...... a (k 1) k 1,k 1 a (k 1) k 1,k a(k 1) k 1,n a (k) kk a (k) kn.. a (k) pk a (k) pn.. a (k) nk a (k) nn Grundlagen der Numerik 92
b) Vertausche die Zeilen p und k A (k) à (k) mit ã (k) ij = a (k) kj, a (k) pj, a (k) ij, falls i = p falls i = k sonst Dann gilt l ik = ã(k) ik ã (k) kk = ã (k) ik a (k) pk 1 c) Führe den nächsten Eliminationsschritt angewandt auf à (k) aus: à (k) A (k+1) Grundlagen der Numerik 93
Cholesky-Verfahren Spezialfall: symmetrische, positiv definite Matrizen DEF.: Eine symmetrische Matrix A = A T R n,n heißt positiv definit, wenn x, Ax = x T Ax > 0 für alle x R n mit x 0 bezeich- Diese Matrizen werden abkürzend als spd-matrizen net. Bemerkung: Eine spd-matrix ist durch die n(n+1) 2 Elemente im unteren Dreieck i j gegenüber n 2 im allg. Fall festgelegt. Grundlagen der Numerik 94
Cholesky-Verfahren Frage: Wie kann man feststellen, ob A R n,n eine spd-matrix ist? Antwort: Eine symmetrische Matrix A ist genau dann positiv definit, wenn alle führenden Hauptminoren positiv sind, d.h. es gilt det a 11 a 1i.. > 0 für i = 1,..., n. a i1 a ii Grundlagen der Numerik 95
Cholesky-Verfahren SATZ: Für jede spd-matrix A existiert eine Zerlegung der Form A = LL T, (klassische Cholesky-Zerlegung) wobei L eine untere Dreiecksmatrix ist. Die Matrix L = (l ij ) kann aus der folgenden Darstellung berechnet werden: l 11 l 11 l n1 a 11 a n1........ =.. l n1 l nn l nn a n1 a nn Grundlagen der Numerik 96
Cholesky-Verfahren Man erhält (betrachten nur unteres Dreieck) i = k : i > k : a kk = l 2 k1 + + l2 k,k 1 + l2 kk a ik = l i1 l k1 + + l i,k 1 l k,k 1 + l ik l kk Die Berechnung der Elemente von L erfolgt dann spaltenweise. Durch Auflösung der beiden Gleichung nach l kk bzw. l ik ergibt sich der folgende Algorithmus: Grundlagen der Numerik 97
Algorithmus: Klassisches Cholesky-Verfahren 1. vollsymmetrische Dreieckszerlegung for k := 1 to n l kk := a kk k 1 j=1 l2 kj for i := k + 1 to n do A = LL T LL T x = b 2. Lz = b z 3. L T x = z x l ik := (a ik k 1 j=1 l ijl kj )/l kk Grundlagen der Numerik 98
Cholesky-Verfahren Rechenaufwand: 1 6 n3 opms + n Quadratwurzeln Vergleich: Gauß-Verfahren für allgemeine Matrizen: 1 3 n3 opms, d.h. Aufwand reduziert sich auf die Hälfte. Grundlagen der Numerik 99
Iterationsverfahren Ax = b, A R n,n, b R n, A regulär Bisher: Direkte Verfahren Gauß-Verfahren = LR-Zerlegung Cholesky-Verfahren für spd-matrizen = LL T -Zerlegung Lösung in endlich vielen Schritten, die Lösung ist in exakter Arithmetik exakt Aufwand ist O(n 3 ) Grundlagen der Numerik 100
Iterationsverfahren Beobachtung: Praktische Probleme häufig sehr groß (speziell Diskretisierung von Randwertproblemen partieller Differentialgleichungen) und schwach besetzt. Zur effektiven Lösung derartiger Probleme muß die Struktur ausgenutzt werden. Es gibt zwei Möglichkeiten: 1. Anwendung von sparse-matrix-techniken in direkten Verfahren. Basieren im wesentlichen auf Gauß-Algorithmus. 2. Iterative Verfahren zur Approximation der Lösung großer, strukturierter Systeme. Grundlagen der Numerik 101
Theoretische Grundlagen über Eigenwerte 1. Sei A R n,n. λ C ist Eigenwert von A, wenn Ax = λx für x 0. x ist der zugehörige Eigenvektor. Aus der Definition folgt (A λi)x = 0. Wegen x 0 ist das genau dann möglich, wenn det(a λi) = 0 (= charakteristisches Polynom). Charakteristisches Polynom ist vom Grad n, d.h., zu jeder Matrix A R n,n gibt es genau n Eigenwerte, die aber mehrfach und auch komplex sein können. 2. Der Spektralradius ρ der Matrix A ist das Maximum der Beträge der Eigenwerte von A: ρ(a) = max λ i. Grundlagen der Numerik 102
Fixpunktverfahren Jetzt: Betrachten Iterationsvorschrift zur Lösung von x k+1 = ϕ(x k ) k = 0, 1,... Ax = b, A R n,n, b R n, A nichtsingulär Ziel: Iterationsfunktion ϕ so konstruieren, daß sie genau einen Fixpunkt x besitzt, d.h. x = ϕ(x ) und dieser gerade die exakte Lösung x = x von Ax = b ist. Grundlagen der Numerik 103
Iterationsverfahren Konstruktionsidee: Zerlegung von A in A = B + (A B), B R n,n nichtsingulär Damit gilt Bx + (A B)x = b x = B 1 b B 1 (A B)x = (I B 1 A)x + B 1 b D.h., das LGS Ax = b ist äquivalent zur Fixpunktaufgabe x = (I B 1 A)x + B 1 b =: ϕ(x) Grundlagen der Numerik 104
Iterationsverfahren Iterationsverfahren: x 0 R n,n vorgegebener Startvektor x k+1 = (I B 1 A)x k + B 1 b, k = 0, 1,... Zugehörige Iterationsmatrix: I B 1 A Damit gilt es folgende Folge von LGS zu lösen: Bx k+1 = (B A)x k + b, k = 0, 1,... Grundlagen der Numerik 105
Iterationsverfahren Bemerkungen: 1. Iterationsverfahren der Form x k+1 = Mx k + v, k = 0, 1,... sind linear (x k+1 hängt linear von x k ab), stationär (M und v sind unabhängig von der Schrittnummer der Iteration) und einstufig (nur der letzte und nicht noch weitere Näherungsvektoren werden verwendet). 2. x k+1 erhält man durch Lösen eines linearen GS mit der Koeffizientenmatrix B. Das ergibt natürlich nur dann einen Vorteil gegenüber der ursprünglichen Aufgabe, wenn das neue System einfacher zu lösen ist B entsprechend wählen. Grundlagen der Numerik 106
Iterationsverfahren Ziel: Sei Ax = b. Dann lim x k = x, d.h. x k x 0 für k k SATZ: Das Fixpunktverfahren Bx k+1 = (B A)x k + b, B R n,n nichtsingulär (*) konvergiert genau dann für jeden Startvektor x 0 R n gegen die exakte Lösung x, wenn für den Spektralradius der Iterationsmatrix gilt ρ(i B 1 A) = max i λ i (I B 1 A) < 1 Grundlagen der Numerik 107
Iterationsverfahren Bemerkungen: 1. Konvergenzbedingung ρ(i B 1 A) < 1 ist sicher erfüllt, wenn in einer zugeordneten Matrixnorm gilt I B 1 A < 1 da für alle zugeordneten Matrixnormen ρ(m) M ist. hinreichendes Konvergenzkriterium, aber nicht notwendig 2. ρ(i B 1 A) sollte möglichst klein sein, da dadurch die Konvergenzgeschwindigkeit bestimmt wird. Grundlagen der Numerik 108
Iterationsverfahren: Richardson-Verfahren Ein erstes Verfahren: Richardson-Verfahren Setze B = I. Dann Eigenschaften: x k+1 = x k Ax k + b 1. Neue Näherung x k+1 ist leicht berechenbar. 2. Notwendiges und hinreichendes Konvergenzkriterium: ρ(b A) = ρ(i A) < 1 starke Einschränkung: Selbst wenn die Matrix A nur relle Eigenwerte besitzt, erfordert es 0 < λ i < 2 für alle Eigenwerte λ i von A. Grundlagen der Numerik 109
Spezielle Iterationsverfahren Ziel: Angabe konkreter Zerlegungen einer nichtsingulären Matrix A R n,n und Untersuchung der hieraus resultierenden wichtigsten Iterationsverfahren. Es sei sowie A L = A D = diag(a 11, a 22,..., a nn ), 0 a 0 0 0 0 12 a 13 a 1n a 21 0 0 0 0 0 a 23 a 2n....., A R =..... 0 0 0 a a n1 a n,n 1 0 n 1,n 0 0 0 0 Dann ist A = A L + A D + A R. Grundlagen der Numerik 110
Jacobi- oder Gesamtschrittverfahren (GSV) Setze: B = A D Das ergibt die Iterationsmatrix I B 1 A = I A 1 D (A D + A L + A R ) = A 1 D (A L + A R ) =: M GSV Das zugehörige Iterationsverfahren lautet x k+1 = A 1 D (A L + A R )x k + A 1 D b Grundlagen der Numerik 111
Jacobi- oder Gesamtschrittverfahren (GSV) Aus [A D x k+1 ] i = [(A L + A R )x k ] i + b i folgt die komponentenweise Iterationsvorschrift x k+1,i = 1 a ii b i n j=1 j i a ij x k,j, i = 1,..., n D.h.: Zur Berechnung der Iterierten x k+1,i einer Komponente des Vektors x k+1 werden alle Komponenten des vorangehenden iterierten Vektors x k benötigt. Das erklärt auch den Namen Gesamtschrittverfahren. Grundlagen der Numerik 112
Jacobi- oder Gesamtschrittverfahren (GSV) SATZ: Das GSV konvergiert für jeden Startvektor x 0 R n, wenn A zeilendiagonal-dominant, d.h. n j=1 j i oder spaltendiagonal-dominant, d.h. a ij < a ii, i = 1,..., n, (*) n i=1 i j a ij < a jj, j = 1,..., n, (**) ist. Grundlagen der Numerik 113
Jacobi- oder Gesamtschrittverfahren (GSV) Bemerkungen: 1. Hinreichend für die Konvergenz des GSV ist auch das starke Quadratsummenkriterium n n ( aij ) 2 < 1. i=1 j=1 j =i a ii 2. Die obigen Konvergenzkriterien sind nur hinreichend, d.h. Bedingung erfüllt Konvergenz Bedingung nicht erfüllt? Grundlagen der Numerik 114
Gauß-Seidel-Verfahren oder Einzelschrittverfahren (ESV) Setze: B = A D + A L Das ergibt die Iterationsmatrix I B 1 A = I (A D + A L ) 1 (A D + A L + A R ) = (A D + A L ) 1 A R =: M ESV Die Iterationsvorschrift lautet x k+1 = (A D + A L ) 1 A R x k + (A D + A L ) 1 b Grundlagen der Numerik 115
Gauß-Seidel-Verfahren oder Einzelschrittverfahren (ESV) Aus [(A D + A L )x k+1 ] i = [A R x k ] i + b i erhält man komponentenweise die Iterationsvorschrift x k+1,i = 1 i 1 n b i a ij x k+1,j a ij x k,j, i = 1(1)n a ii j=1 j=i+1 Bemerkung: Im Gegensatz zum GSV werden beim ESV die schon erhaltenen Werte x k+1,1,..., x k+1,i 1 sofort in die Iterationsvorschrift eingesetzt. I.allg. sind diese neuen Werte genauer als die der vorhergehenden Iterierten. Man erhofft dadurch eine schnellere Konvergenz. Grundlagen der Numerik 116
Konvergenzverhalten von ESV und GSV Frage: Wann konvergiert das ESV? Vergleich der Konvergenzgeschwindigkeit von ESV und GSV? SATZ: Das ESV ist konvergent, wenn A zeilendiagonal- oder spaltendiagonal-dominant ist. Die Konvergenz ist dann asymptotisch mindestens so schnell wie beim GSV. SATZ: Das ESV konvergiert für jede spd-matrix A. Bemerkung: Es gibt Fälle, in denen das GSV konvergiert und das ESV nicht, und umgekehrt. Grundlagen der Numerik 117
Beispiel: Sei Dann gilt M GSV = Man erhält 1 2 2 A = 1 1 1 2 2 1 0 2 2 1 0 1 und M ESV = 2 2 0 0 2 2 0 2 1 0 8 6 ρ(m GSV ) = 0 und ρ(m ESV ) = 2(1 + 2), d.h., das GSV ist konvergent, aber das ESV ist divergent. Grundlagen der Numerik 118