KAPITEL 1 Einleitung Wir beschäftigen uns in dieser Vorlesung mit Verfahren aus der Numerischen linearen Algebra und insbesondere dem sogenannten Mehrgitterverfahren zur Lösung linearer Gleichungssysteme der Form (1.1) Au = f, wobei A R n n, u, f R n and n N. Zur Lösung linearer Gleichungssysteme der Form (1.1) findet man im wesentlichen zwei grundlegende Ansätze Direkte Verfahren und iterative Verfahren Mehrgitterverfahren gehören zur Klasse der iterativen Verfahren und sind unter den folgenden Eigenschaften des LGS (1.1) besonders effizient n groß, n > 10 3 A ist dünnbesetzt, i.e. die Zahl der nicht verschwindenden Einträge in der Matrix ist von der Größenordnung O(n). Große und dünnbesetzte LGS (und LGS selbst) entstehen bei der Diskretisierung (elliptischer) partieller Differentialgleichungen, zum Beispiel der zweidimensionalen Poissongleichung auf dem Einheitsquadrat, u = f, u = u(x), x (0, 1) 2 wobei die Lösung am Rand des Einheitsquadrat vorgeschrieben ist (Dirichlet Problem). Wir werden uns in Abschnitt 1.2 exemplarisch mit der Diskretisierung dieser Gleichung beschäftigen. 1. Grundlegende Definition und Notationen Das euklidische Skalarprodukt zweier Vektoren im R n ist definiert als u, v 2 = u i v i, u, v R n i=1 Definition 1.1. Eine symmetrische Matrix A, i.e. A = A T, A R n n heißt positiv definit (kurz: SPD), falls u, Au 2 0, u 0 Wir bezeichnen mit u, v A das durch die Matrix A induzierte Skalarprodukt, i.e. u, v A = u, Av 2 1
2 1. EINLEITUNG Wir werden im weiteren Verlauf mit den folgenden Normen arbeiten: u 2 = u, u 1/2 2 (Euklidische Norm) u A = u, u 1/2 2 (A ist SPD) u 1 = u i i=1 u = max 1 i n u i Energienormen und Skalarprodukte: wir bezeichnen mit u A und, A die Energienorm und das zugehörige innere Produkt, falls die Matrix A aus einer Diskretisierung einern partiellen Differentialgleichung zweiter Ordnung entsteht. Matrixnormen definieren wir über A = sup u R n, u 0 wobei eine Vektornorm bezeichnet. Au u, A Rn n Definition 1.2. Wir bezeichnen mit σ(a) das Spektrum einer Matrix A: σ(a) = {λ C : λ ist ein Eigenwert von A} und ρ(a) = max λ λ σ(a) ist der Spektralradius der Matrix A. Eine wichtige Beobachtung ist dabei: Die Matrixnorm beschränkt den Spektralradius, i.e. ρ(a) A (unabhängig von der gewählten Matrixnorm) und für Hermitesche Matrizen, i.e. A = A (A ist die konjugiert komplexe Matrix zu A), gilt sogar wobei Andere gebräuchliche Matrixnormen sind ρ(a) = A 2 A 2 = ρ(a T A) 1/2 A B = B 1/2 AB 1/2 2, B ist SPD A 1 = max 1 j n a ij (Spaltensummennorm) A = max i=1 1 i n j=1 a ij (Zeilensummennorm) Für Matrizen A, B R n n lassen sich die folgenden Ordnungsrelationen definieren A < B a ij < b ij i, j = 1,..., n A B a ij b ij i, j = 1,..., n
2. LINEARE GLEICHUNGSSYSTEME UND PARTIELLE DIFFERENTIALGLEICHUNGEN 3 Definition 1.3. Eine Matrix A nennt man M Matrix, falls (1) a ii > 0, i = 1,..., n (2) a ij 0 i j (3) A ist nichtsingulär und A 1 0. Diskretisierungen partieller Differentialgleichungen, die man aus Finiten Differenzen oder Finiten Elementen erhält ergeben typischerweise M Matrizen. Einer gegebenen Matrix läßt sich ein Graph zu ordnen: Sei I = {1,..., n} und A R n n eine gegebene Matrix. Ein Graph G A (V, E) besteht aus einer Menge V = {v 1,..., v n } von n geordneten Knoten und eine Menge E von gerichteten Kanten, sodass e i,j E existiert (e i,j verbindet die beiden Knoten v i und v j ), genau dann wenn a i,j 0, i j gilt. Für einen Knoten v i definiert man die Menge der Nachbarn N i mittels N i = {v j V : e i,j E} sowie deg(v j ) = N i, wobei N i die Anzahl der Elemente der Menge N i bezeichnet. Beispiel 1.4. A = 1 1 0 0 1 1 1 0 1, v 1 v 2 Definition 1.5. Man nennt eine Matrix irreduzibel, falls ein Knoten v i V mit jedem anderen Knoten v j V, i j, verbunden ist, nicht notwendigerweise direkt, also über eine existierende Kante e i,j, sondern vielmehr über eine entsprechende Folge von Kanten e k,l. Bemerkung 1.6. Erfüllt eine irreduzible Matrix A die beiden Eigenschaften: (1) a ii a ij i = 1,..., n i j (2) a ii > a ij für mindestens eini i j so ist A eine M Matrix. 2. Lineare Gleichungssysteme und Partielle Differentialgleichungen Wir starten mit der folgenden eindimensionalen Poissongleichung in (0, 1): u = f x (0, 1) u(0) = 0 u(1) = 0 Mit Hilfe des regulären Gitters { Ω h = x i (0, 1) : x i = ih, i = 1,..., n, h = 1 } n + 1 und einer Approximation der zweiten Ableitung mittels zentraler Differenzen erhalten wir das folgende LGS Au = f, A R n n, u, f R n und n N v 3
4 1. EINLEITUNG Die Matrix A wird gewöhnlich als Steifigkeitsmatrix bezeichnet: 2 1 A = 1 1 2 1 h 2........., f i = f(x i ) 1 2 1 2 1 Im zweidimensionalen Fall haben wir u = f in (0, 1) 2 u(x) = 0 für x Ω Die zugehörige Steifigkeitsmatrix des LGS Au = f lautet nun Z I n A = 1 I n Z I n h 2........., Z = I n Z I n Z I n wobei I n R n n die Einheitsmatrix bezeichnet. 4 1 1 4 1......... 1 4 1 4 1 Beispiel 1.7. Für den Fall n = 2 ergibt sich konkret: 4 1 1 0 1 4 0 1 v 1 v 2 1 0 4 1 Graph G A(V, E) ist irreduzibel v 0 1 1 4 3 v 4 n=2 3. Klassische iterative Methods Klassische direkte Verfahren, wie etwa die Gauß Elimination, haben einen Speicherplatzbedarf der Größenordnung O(n 2 ), einen Rechenaufwand der Größenordnung O(n 3 ) und berücksichtigen nicht, dass eine Matrix dünnbesetzt ist.
3. KLASSISCHE ITERATIVE METHODS 5 Als eine Alternative für große LGS bieten sich daher iterative Verfahren, die allgemein in der Form u (k) = Φ (k) ( u (k 1),..., u (0)) dargestellt werden können. Das oben formulierte Iterationsverfahren sollte die folgenden Eigenschaften besitzen: die Folge {u (k) } k N konvergiert möglichst schnell, die Abbildung Φ (k) sollte sich möglichst einfach berechnen lassen, zum Beispiel bei dünnbesetzten Matrizen einem Rechenaufwand der Größenordnung O(n). Zur Herleitung eines iterativen Verfahrens bietet sich direkt eine Fixpunktiteration an: Au = f u = (I A)u + f = Φ(u) = T u + f sodass u (k) = Φ(u k 1 ) = T u k 1 + f Diese Vorschrift bezeichnet man als Richardson Iteration. Satz 1.8. Die Fixpunktiteration u (k) = T u (k 1) + f konvergiert mit jedem Startwert u 0, genau dann wenn ρ(t ) < 1. Eine hinreichende Bedingung zur Konvergenz des obigen Iterationsverfahrens ist offensichtlich T < 1 in einer geeigneten Matrixnorm, sodass u (k) u T k u (0) u Dies bedeutet ebenfalls, dass die Konvergenzgeschwindigkeit entscheidend von dem Wert T abhängig ist. Die Richardson Iteration basiert auf der Iterationsmatrix T = I A. Ist die Matrix A SPD, so liegt das Spektrum σ(a) von A auf der positiven reellen Achse der komplexen Ebene C. Dies bedeutet, dass das Spektrum von T = I A links von z = 1 liegt und dies bedeutet: ρ(t ) < 1 ρ(a) < 2 Damit ist die Richardson Iteration für praktische Anwendungen ungeeeignet: im Fall der ein dimensionalen Poissongleichung wachsen die Eigenwerte der Matrix A mit der Ordnung O(n 2 ), wobei n die Zahl der Unbekannten bezeichnet. Um diese unzureichende Konvergenzeigenschaft zu umgehen, verwendet man eine sogenannte Präkonditionierung oder Vorkonditionierung: anstelle des Systems Au = f betrachten wir das System M 1 Au = M 1 f, wobei die Matrix M einen Präkonditionierer oder Vorkonditionierer bezeichnet. Unter Verwendung eines Präkonditionierers lautet die Fixpunktiteration u (k) = u (k 1) + M 1 (f Au (k 1) ) und die Iterationsmatrix ist nun gegeben durch T = I M 1 A. Die beiden klassischen iterativen Verfahren lassen sich mittels eines Prkonditionierers folgendermaßen darstellen:
6 1. EINLEITUNG 1) Das Jacobi Verfahren oder auch Gesamtschrittverfahren ist ein sogenanntes Splitting Verfahren, basiert also auf einer Zerlegung der Matrix A in der Form A = L + D + U, Dabei ist L eine obere und U eine untere Dreiecksmatrix sowie D = diag(a). Wählt man als Vorkonditionierer nun M = D so ergibt sich die Iterationsmatrix T = I D 1 A Die zugehörige Fixpunktiteration konvergiert, falls A strikt diagonal dominant ist, i.e. a ii > a ij i = 1,..., n. j=1 2) Das Verfahren von Gauß Seidel oder auch Einzelschrittverfahren verwendet den Präkonditionierer M = L + D und als Iterationsmatrix ergibt sich T = I (L + D) 1 A = I (L + D) 1 (L + D + U) = (D + L) 1 U Das Gauß Seidel Verfahren konvergiert für jede SPD Matrix. Eine weitere Klasse klassischer Iterationsverfahren sind die sogenannten Relaxationsverfahren die auf der folgenden Vorschrift basieren: u (k) = ω(t u (k 1) + M 1 f) + (1 ω)u (k 1) = T ω u (k 1) + ωm 1 f where T ω = ωt + (1 ω)i. Man nennt eine Verfahren eine Unterrelaxation, falls ω < 1 gilt bzw. für ω > 1 Überrelaxation. Beispiel 1.9. Ist A eine SPD Matrix, so ist der optimale Relaxationsparameter der Richardson Iteration gegeben durch 2 ω = λ max (A) + λ min (A) und ρ(t ω ) = λ max(a) λ min (A) λ max (A) + λ min (A) < 1 Optimal bedeutet hier, dass für den obigen Wert von ω der Spektralradius der Iterationsmatrix minimal wird. Bei der SOR Methode (successive overrelaxation method) verwendet man das Splitting A = L + D + U und die Iterationsvorschrift u (k) = T ω u (k 1) + ωmω 1 f T ω = (D + ωl) 1 [(1 ω)d ωu] M ω = D + ωl mit ω (1, 2). Im Fall ω = 1 ist das SOR Verfahren identisch mit dem Gauß Seidel Verfahren.
3. KLASSISCHE ITERATIVE METHODS 7 Eine Reihe anderer iterativer Verfahren lassen sich mit Hilfe eines regulären Splittings der Matrix A herleiten (siehe dazu Varga, Matrix Iterative Analysis, Prentice Hall, 1962): Definition 1.10. Das Matrix M definiert ein reguläres Splitting von A in der Form A = M N, falls M regulär ist und M 1 0 sowie N 0 gilt. Mit Hilfe eines regulären Splittings definiert man nun eine Iterationsmatrix der Form T = I M 1 A. Es gilt Ist A eine reguläre Matrix, so gilt T = I M 1 A = M 1 (M A) = M 1 N = (A + N) 1 N M 1 N = (A + N) 1 N = (A + N) 1 AA 1 N = (A 1 (A + N)) 1 A 1 N = (I + G) 1 G wobei G = A 1 N. Sei nun v ein Eigenvektor von G zum zugehörigen Eigenwert λ. Dann gilt: (I + G) 1 Gv = λ 1 + λ v i.e. v ist ein Eigenvektor von T zum zugehörigen Eigenwert µ = λ 1 + λ In umgekehrter Richtung sei µ ein Eigenwert von (I + G) 1 G mit (I + G) 1 Gz = µz so gilt Gz = µ(i + G)z und es muß gelten µ 1 und daher Gz = µ 1 µ = λz Damit läßt sich leicht die folgende Konvergenzaussage beweisen: Satz 1.11. Ist A = M N ein reguläres Splitting und gilt A 1 0, so folgt Daher konvergiert das Iterationsverfahren für jeden beliebigen Startwert u (0). ρ(t ) = ρ(a 1 N) 1 + ρ(a 1 N) < 1 u (k) = (I M 1 A)u (k 1) + M 1 f Für reguläre Splittings existieren ein Reihe weitere Resultate: Beispiel 1.12. Ist A eine SPD Matrix und M so gewählt, dass die Matrix N = M A symmetrisch und positiv semidefinit ist. Dann ist die Energienorm der Iterationsmatrix T = I M 1 A beschränkt durch T A < 1 (siehe dazu Hackbusch, Iterative Solution of Large Sparse Systems of Equations, Springer, 1994).