Numerische Mathematik für Ingenieure (SoSe 2013) PD Dr(USA) Maria Charina Auszüge aus Vorlesungsfolien von Prof Joachim Stöckler werden verwendet Für die Bereitstellung dieses Materials und der Tex-Files danke ich herzlich
Kap1 Iterationsverfahren zur Lösung von linearen Gleichungssystemen Die mathematische Behandlung einer Vielzahl technisch/physikalischer Probleme führt insbesondere auf die Aufgabe der Lösung eines linearen Gleichungssystems Für solche Gleichungssysteme sind die direkten Methoden, wie zb Gauß-Elimination, ungeeignet Man weicht stattdessen auf iterative Verfahren aus, die sich bei großen Gleichungssystemen mit dünnbesetzten Matrizen als überlegen erweisen 11 Motivation 12 Vektor- und Matrixnormen 13 Korrektgestelheit eines Problems 14 Banachscher Fixpunktsatz 15 Iterationsverfahren
Kap 1: Iterationsverfahren zur Lösung von linearen Gleichungssystemen 11 Motivation: siehe Vorlesung 12 Vektor- und Matrixnormen Sei V = R m n, m,n N, der Vektorraum aller reellen m n Matrizen, dh A+B V für alle A,B V ca V für alle A V und Skalare c R c(a+b) = ca+cb für alle A,B v und Skalare c R Bemerkung: Für m = 1 ist V = R n der Vektorraum aller reellen n dimensionalen Vektoren
121 Definition: Eine Abbildung : V R + heißt Norm, wenn (i) A > 0 für alle A V, A 0; (ii) α A = α A für alle A V, α R; (iii) A+B A + B für alle A,B V 122 Beispiele: Sei A = (a jk ) V A := max 1 j m k=1 A 1 := max 1 k n n a jk (Zeilensummennorm) m a jk (Spaltensummennorm) j=1 A 2 := max{ λ 1/2 : λ ist Eigenwert von A T A} (Spektralnorm) Bemerkung: Für x = (x 1,,x n) R n, ist x 2 = x1 2 ++x2 n die Euklidische Norm von x
123 Hilfssatz (Normäquivalenz): Auf dem endlichdimensionalen Vektorraum V sind alle Normen äquivalent, dh: Zu je zwei Normen und gibt es positive Konstanten c,c, so dass gilt c A A C A, A V 124 Beispiele: 1 n A A 2 A für alle A V = R m n x x 2 x 1 für alle x R n
125 Definition: Normkonsistenz Eine Matrix-Norm und eine Vektor-Norm heißen submultiplikativ (konsistent), falls gilt A x A x für alle A R m n, x R n 126 Beispiele: Es gilt A x p A p x p, p = 1,2, Bemerkung: ( Mit Hilfe einer Norm auf V = R n läßt sich die Konvergenz einer Vektorfolge x [k]) gegen einen Vektor x k N Rn erklären durch x [k] x x [k] x 0, k
131 Definition: korrekt gestelltes Problem Ein Problem heißt korrekt gestellt, falls 1) es eine Lösung besitzt, 2) diese Lösung eindeutig ist und 3) die stetig von den Daten abhängt Falls 3) erfüllt ist heißt das Problem gut konditioniert 132 Satz: Das Problem Ax = b, A R m n, ist lösbar genau dann, wenn a 11 a 1n b 1 Rang(A) = Rang([A,b]) := Rang a m1 a mn b m 132 Satz: Seien A R n n und b R n Die folgenden Aussagen sind äquivalent: (i) Ax = b ist eindeutig lösbar; (ii) Rang(A) = n; (iii) det(a) 0; (iv) Alle Eingenwerte von A sind ungleich Null; (v) A ist invertierbar;
Seien x bzw x die Lösungen von Ax = b bzw (A+ A) x = b + b, wobei für den Fehler (Störung) A gilt A < A 1 1 Definiere δ A = A A und δ b = b b 133 Störungssatz: Seien A R n n und A+ A R n n regulär Dann gilt x x x cond(a) 1 cond(a) δ A (δ b +δ A ) mit cond(a) = A A 1 der sog Konditionszahl von A Bemerkung: Falls cond(a) δ A << 1, dann ist cond(a) der Verstärkungsfaktor, mit dem sich die Fehler δ A und δ b auf den Fehler x x x auswirken
134 Beispiel: Die eindeutige Lösung von [ 12969 08648 02161 01441 ][ x1 x 2 ] = [ 08642 01440 ] ist Die Näherungslösung x von [ 12969 08648 02161 01441 ][ x1 [ x1 x 2 x 2 ] [ = ] = 2 2 [ 08642 01440 ] ] [ 0000000001 + 0000000001 ] ist [ x1 x 2 ] [ = 09911 04870 ] Das Problem: Löse konditioniert! [ 12969 08648 02161 01441 ][ x1 x 2 ] [ 08642 = 01440 ] ist schlecht
141 Definition: Eine Funktion φ : D R n R n heißt kontrahierend, falls es eine Vektornorm existiert, so dass für alle x,y D gilt mit der Kontraktionszahl 0 < L < 1 φ(x) φ(y) L x y Bemerkung: Die Konstante L (und damit die Kontraktionseigenschaft) hängt von der gewählten Vektornorm ab [ ] 142 Beispiel: Sei φ : R n R n 4 0 mit φ(x) = x, x R 2 Dann gilt 2 1 }{{} =A A x A y = A(x y) A x y = 4 x y A x A y 1 = A(x y) A 1 x y 1 = 6 x y 1
143 Definition: Ein Element x R n heißt Fixpunkt der Funktion φ : D R n R n, falls gilt x = φ(x ) = φ(x 1,,x n ) [ 144 Beispiel: Sei φ(x) = [ φ(0,1) = 4 0 2 1 4 0 2 1 ] x, x R 2 Dann gilt ] [ 0 1 ] = Daraus folgt, dass x = (0,1) T ein Fixpunt von φ ist [ 0 1 ]
145 Banachscher Fixpunktsatz Sei φ : D R n R n kontrahierend mit der Kontraktionskonstante 0 L < 1 Dann hat φ genau einen Fixpunkt x D Für jeden Startwert x [0] D konvergiert die Folge (x [k] ) k N0 mit gegen den Fixpunkt x x [k+1] = φ(x [k] ), k 0, Für k 0 gelten die Fehlerabschätzungen: x [k+1] x L x [k] x (monotone Abnahme) x [k+1] x L 1 L x[k+1] x [k] (a posteriori) x [k] x Lk 1 L x[1] x [0] (a priori)
Aufgabe: Löse das lineare Gleichungssystem Ax = b mit regulärer Matrix A R n n, b R n Das Gaußsche Eliminationsverfahren erfordert bei Bandmatrizen mit der Bandbreite M den Aufwand 1 3 nm2 Für große Matrizen (n > 10 6, M > 10 2 ) sind dies bereits 10 10 Rechenoperationen Bei vielen Aufgaben für zwei- und dreidimensionale Modelle treten Matrizen mit sehr vielen Nullen in den Matrixeinträgen auf, die keine echte Bandstruktur aufweisen Das Gaußsche Eliminationsverfahren würde zum Auffüllen vieler dieser Stellen führen Iterationsverfahren bestimmen die Lösung x näherungsweise und nutzen dabei die Struktur der Matrix A aus, indem sie nur auf die von Null verschiedenen Einträge der Matrix A zugreifen Dies ermöglicht eine kompakte Speicherung dünn besetzter Matrizen (matlab sparse ) und spart Rechenoperationen Gute iterative Verfahren benötigen nm Rechenoperationene zum Lösen von Ax = b, wobei m die durchschnittliche Anzahl der von Null verschiedenen Einträge pro Zeile der Matrix ist
15 Fixpunkt-Iteration: lineare Iterationsverfahren 151 Allgemeine Form Mit einer beliebigen invertierbaren Matrix C R n n gilt die Äquivalenz Ax = b Cx = Cx Ax +b x = (I C 1 A)x +C 1 b Man versucht C so zu wählen, dass zu gegebenem Vektor x [k], k 0, der neue Vektor x [k+1] = (I C 1 A)x [k] +C 1 b mit wenig Aufwand zu berechnen ist, die Iterationsfunktion φ : R n R n, φ(x) = (I C 1 A)x +C 1 b kontrahierend ist und eine möglichst kleine Kontraktionszahl besitzt Zuerst betrachten wir zwei Verfahren, die wenig Aufwand zur Berechnung von x [k+1] erfordern
152 Gesamtschrittverfahren (Jacobi-Verfahren) Die Matrix A habe Diagonalelemente a ii 0 1 Wähle beliebigen Startvektor x [0] R n, zb x (0) i 2 Für k = 0,1,2, = bi a ii für i = 1,2,,n: ( löse die i-te Gleichung nach x i ) x [k+1] i = 1 n a ii b i a ij x [k] j j=1 j i
153 Einzelschrittverfahren (Gauß-Seidel-Verfahren) Die Matrix A habe Diagonalelemente a ii 0 1 Wähle beliebigen Startvektor x (0) R n, zb x [0] i 2 Für k = 0,1,2, = bi a ii für i = 1,2,,n: ( löse die i-te Gleichung nach x i ) x [k+1] i = 1 i 1 n b i a ij x [k+1] j a ij x [k] j a ii j=1 j=i+1
154 Beispiel: Zur numerischen Lösung des Randwertproblems 2 Ordnung u (x) = f(x), x [0,1], mit u(0) = u(1) = 0 führt man die übliche Diskretisierung u (x k ) 2u(x k) u(x k 1 ) u(x k+1 ) h 2, h = 1 n +1, x k = kh, 0 k n+1, durch und löst das lineare Gleichungssystem Au = b mit der Tridiagonalmatrix 2 1 1 A = R n n 1 1 2 zur rechten Seite b k = h 2 f(x k ), 1 k n Für spätere Zwecke halten wir fest: die Eigenwerte von A sind ( ) kπ λ k = 2 1 cos, 1 k n, n +1 und zugehörige Eigenvektoren sind v k = ( sin jkπ ) n +1 1 j n
Zu f(x) 1 sowie n = 4 ist die exakte Lösung u = (2,3,3,2) T Gesamt- und Einzelschrittverfahren liefern die Werte der folgenden Tabellen Tabelle: GSV zum 1-dim Modellproblem, h = 1 5 x (0) x (1) x (2) x (3) x (4) x (5) x (6) x (7) x (20) 05000 07500 10000 11875 13438 14688 15703 16523 19779 05000 10000 13750 16875 19375 21406 23047 24375 29642 05000 10000 13750 16875 19375 21406 23047 24375 29642 05000 07500 10000 11875 13438 14688 15703 16523 19779 Tabelle: ESV zum 1-dim Modellproblem, h = 1 5 x (0) x (1) x (2) x (3) x (4) x (5) x (6) x (7) x (20) 05000 07500 10625 13438 15664 17158 18140 18782 19995 05000 11250 16875 21328 24316 26279 27565 28406 29994 05000 13125 19219 22969 25400 26990 28030 28710 29995 05000 11563 14609 16484 17700 18495 19015 19355 19997
155 Darstellung der Iterationsfunktion Die Matrix A wird in drei Teile zerlegt gemäß A = L+D +R mit 0 0 a 11 0 0 0 a 12 a 1n a L = 21 0, D =, R = 0 an 1,n a n1 a n,n 1 0 0 0 a nn 0 0 Proposition a) Die Iterationsfunktion des Gesamtschrittverfahrens lautet φ GSV (x) = (I D 1 A)x +D 1 b = D 1 (L+R)x +D 1 b b) Die Iterationsfunktion des Einzelschrittverfahrens lautet φ ESV (x) = (I (L+D) 1 A)x +(L +D) 1 b = (L+D) 1 Rx +(L +D) 1 b Verglichen mit der allgemeinen Form φ(x) = (I C 1 A)x +C 1 b = Bx +c, werden hier also die folgenden Iterationsmatrizen verwendet: I C 1 A = D 1 (L+R), I C 1 A = (L +D) 1 R, (Gesamtschrittverfahren) (Einzelschrittverfahren)
156 Konvergenzanalyse Die Konvergenz der Fixpunktiteration x [k+1] = (I C 1 A)x [k] +C 1 b = Bx [k] +c (F) bei beliebigem Startwert x [0] R n kann ganz allgemein charakterisiert werden Satz: Konvergenz der Fixpunktiteration Die Matrizen A und C seien reguär Dann sind die folgenden Aussagen äquivalent: (i) Die Fixpunktiteration (F) konvergiert bei beliebigem Startvektor x [0] R n gegen die Lösung x des linearen Gleichungssystems Ax = b (ii) Die Iterationsmatrix B = I C 1 A hat den Spektralradius ρ(b) = max{ λ : λ Eigenwert von B} < 1 (iii) Es gibt eine natürliche Matrixnorm auf R n n mit B < 1 Bemerkung: Matrixnormen p, p = 1,2, sind natürliche Matrixnormen
Äquivalenz von 156 (ii) und (iii): 157 Hilfssatz: Gegeben sei die Matrix B R n n (i) Für jede natürliche Matrixnorm : R n n R gilt ρ(b) B (ii) Zur Matrix B R n n und beliebigem ǫ > 0 existiert eine natürliche Matrixnorm : R n n R so, dass für den Spektralradius ρ(b) gilt B ρ(b)+ǫ 158 Bemerkung: a) Für hermitesche Matrizen B C n n stimmen der Spektralradius und die Spektralnorm überein: ρ(a) = A 2 b) Der Satz liefert die fundamentale Beziehung ( 1/k ρ(b) = limsup B ) k, k wobei eine beliebige Matrixnorm ist
159 Satz: lineare Konvergenz der Fixpunktiteration Falls die Fixpunktiteration (F) bei beliebigem Startwert x [0] gegen die Lösung x von Ax = b konvergiert, so gilt lim sup k ( x [k] x ) 1/k ρ(b) x [0] x Bemerkung: a) Falls L := B < 1 mit einer natürlichen Matrixnorm gilt, so ist die Iterationsfunktion φ sogar kontrahierend bzgl der entsprechenden Vektornorm auf R n, die Kontraktionskonstante ist L Deshalb gelten in diesem Fall sogar die a-priori und a-posteriori Fehlerabschätzungen des Banachschen Fixpunktsatzes 145 Diese sollten als Abbruchkriterien verwendet werden b) Selbst wenn B 1, aber q = ρ(b) < 1 gilt, so wird nach einigen Schritten die lineare Konvergenz x [k] x 0 mit der Geschwindigkeit q k k0 sichtbar Dies liegt an der fundamentalen Beziehung in 158 Teil a)
Es folgen zwei Anwendungen von Satz 156 1510 Definition und Satz: GSV und ESV für stark diagonaldominante Matrizen Eine Matrix A R n n heißt stark diagonaldominant, wenn a ii > n a ij j=1 j i für alle 1 i n gilt Falls A stark diagonaldominant ist, so gilt ρ( D 1 (L+R)) D 1 (L+R) < 1, ρ( (L+D) 1 R) (L+D) 1 R < 1
Das Einzelschrittverfahren konvergiert auch für eine weitere Klasse von Matrizen 1511 Definition Eine symmetrische Matrix A R n n heisst positiv definit, falls x T Ax > 0 für alle x R n \{0} 1512 Satz Falls A positiv definit ist, so konvergiert das Einzelschrittverfahren
Um die Konvergenz beim ESV zu beschleunigen, wird in jedem Berechnungsschritt (innere Schleife des ESV) eine Verlängerung der Korrektur vorgenommen: 1513 Das SOR (=successive over-relaxation)-verfahren Die Matrix A habe Diagonalelemente a ii 0 Weiter sei ω R (ω wird Relaxationsparameter genannt) 1 Wähle beliebigen Startvektor x [0] R n, zb x [0] i = bi a ii 2 Für k = 0,1,2, für i = 1,2,,n x [k+1] i = 1 i 1 b i a ii j=1 a ij x [k+1] j n j=i+1 a ij x [k] j x [k+1] i = ω x [k+1] i +(1 ω)x [k] i
1514 Beispiel: Tabelle: SOR zum 1-dim Modellproblem aus 154, h = 1 5, ω = 12 x [0] x [1] x [2] x [3] x [4] x [5] x [6] x [7] x [13] 05000 08000 12080 15642 18175 19148 19611 19825 19998 05000 12800 20096 25506 27971 29068 29578 29808 29998 05000 15680 23566 26945 28623 29375 29715 29871 29999 05000 14408 17258 18715 19431 19739 19881 19946 20000 Tabelle: SOR zum 1-dim Modellproblem aus 154, h = 1 5, ω = 13 x [0] x [1] x [2] x [3] x [4] x [5] x [6] x [7] x [9] 05000 08250 12873 16871 19540 19889 20012 20019 20002 05000 13613 21898 27848 29617 29967 30034 30016 30002 05000 17098 26078 28878 29884 30026 30022 30011 30001 05000 16114 18617 19686 20019 20011 20011 20004 20000 Zur Wahl des optimalen Relaxationsparameters vgl 1519
1515 Iterationsfunktion des SOR-Verfahrens Mit A = L+D +R wie in 155 lautet die Iterationsfunktion des SOR-Verfahrens φ SOR (x) = H ω x +ω(d +ωl) 1 b, ω RR, mit der Iterationsmatrix H ω = (D +ωl) 1 ((1 ω)d ωr) Herleitung: Umstellung der Gleichungen in 1513 ergibt Dies lautet a ii x [k+1] i 1 i +ω a ij x [k+1] j j=1 = ωb i ω n j=i+1 a ij x [k] j +(1 ω)a ii x [k] i (D +ωl)x [k+1] = ωb +((1 ω)d ωr)x [k] Bemerkung: Für ω = 1 ist φ SOR = φ ESV
1516 Konvergenzanalyse Satz a) von Kahan: Für beliebiges A mit Diagonalelementen a ii 0 und beliebiges ω R ist ρ(h ω ) ω 1 Die Konvergenz des SOR-Verfahrens kann also höchstens für ω (0,2) eintreten b) von Reich und Ostrowski: Für jede positiv definite Matrix A und jedes ω (0,2) gilt ρ(h ω ) < 1, also ist das SOR-Verfahren konvergent
1517 Definition: Eine Matrix A R n n heißt tridiagonal, falls sie die folgende Struktur hat a 11 a 12 0 0 0 a 21 a 22 a 23 0 0 0 a 32 a 33 a 34 0 A =, a ii 0 0 0 a n 1n 2 a n 1n 1 a n 1n 0 0 0 a nn 1 a nn 1518 Satz: optimaler Relaxationsparameter Sei A R n n tridiagonal und die entsprechende Matrix D 1 (L+R) besitze nur reelle Eigenwerte λ j mit λ 2 j < 1, j = 1,,n Dann gilt ρ(h ωopt ) = min ω (0,2) ρ(h ω), ω opt = 2 1+ 1 max j=1,,n λ 2 j
1519 Beispiel: Die Modellmatrix A = tridiag( 1,2, 1) R n n in Beispiel 154 besitzt die Eigenwerte ( ) kπ λ k = 2 1 cos, 1 k n n +1 Einfache Rechnung ergibt für J = D 1 (L+R) = 1 (2I A) die Eigenwerte 2 µ k = cos kπ n +1 2 Der Wert ω opt = 1+ (1,2) liefert das Minimum von ρ(hω) 1 ρ(j) 2