155 84 1MB
German Pages 261 Year 2007
Andreas Meister
Numerik linearer Gleichungssysteme
Aus dem Programm Numerische Mathematik
Numerische Mathematik von M. Bollhöfer und V. Mehrmann Finanzderivate mit MATLAB® von M. Günther und A. Jüngel
Numerik linearer Gleichungssysteme von A. Meister Numerische Mathematik für Anfänger von G. Opfer Numerische Mathematik kompakt von R. Plato Übungsbuch zur Numerischen Mathematik von R. Plato Keine Probleme mit Inversen Problemen von A. Rieder Elementare Numerische Mathematik von B. Schuppar
vieweg
Andreas Meister
Numerik linearer Gleichungssysteme Eine Einführung in moderne Verfahren Mit MATLAB-Implementierungen von C. Vömel 3., überarbeitete Auflage
Bibliografische Information Der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Prof. Dr. Andreas Meister Universität Kassel Fachbereich Mathematik Heinrich-Plett-Str. 40 34132 Kassel [email protected]
1. Auflage Februar 2001 1. Auflage November 20012. überarbeitete und erweiterte Auflage Juni 2002 3. verbesserte und erweiterte Auflage November 2003 1. Auflage 1999 2., überarbeitete Auflage 2005 3., überarbeitete Auflage 2008 Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlag | GWV Fachverlage GmbH, Wiesbaden 2008 Lektorat: Ulrike Schmickler-Hirzebruch | Susanne Jahnel Der Vieweg Verlag ist ein Unternehmen von Springer Science+Business Media. www.vieweg.de
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.
Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de Druck und buchbinderische Verarbeitung: MercedesDruck, Berlin Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany ISBN 978-3-8348-0431-0
Fu¨r Jonas, Anika, Lara und Jannik
vii
Vorwort Im Rahmen der Numerik linearer Gleichungssysteme befassen wir uns mit der effizienten L¨ osung großer, linearer Systeme, wodurch ein wichtiges Teilgebiet der Numerischen Linearen Algebra betrachten wird, das in den letzten Jahren immer gr¨oßere Bedeutung gewonnen hat. Der in den vergangenen zwei Dekaden vollzogene drastische Anstieg der Leistungsf¨ahigkeit von Personal Computern, Workstations und Großrechneranlagen hat zu einer weitverbreiteten Entwicklung numerischer Verfahren zur Simulation praxisrelevanter Problemstellungen in der Medizin, der Physik, den Ingenieurwissenschaften und vielen weiteren Bereichen gef¨ uhrt. Neben der Methode der Finiten Elemente, die inh¨arent auf ein lineares Gleichungssystem f¨ uhrt, ben¨ otigen auch die h¨aufig verwendeten Finite-Differenzenund Finite-Volumen-Verfahren in Kombination mit einem impliziten Zeitschrittverfahren einen Algorithmus zur L¨ osung linearer Gleichungssysteme. So ist es nicht verwunderlich, daß die Forschungsaktivit¨ aten auf dem Gebiet der Gleichungssysteml¨oser einen deutlichen Aufschwung erfahren und zur Entwicklung einer Vielzahl effizienter Verfahren gef¨ uhrt haben. Das vorliegende Buch basiert auf den Inhalten einer vom Autor am Fachbereich Mathematik der Universit¨ at Hamburg gehaltenen vierst¨ undigen Vorlesung, die sich im Kontext der erw¨ ahnten Entwicklungen mit der Herleitung und Analyse klassischer sowie moderner Methoden zur L¨ osung linearer Gleichungssysteme befaßte. Aufgrund der in diesem Gebiet vorliegenden Vielzahl unterschiedlicher direkter und iterativer Verfahren, ist es innerhalb einer vierst¨ undigen Vorlesung sicherlich nicht m¨oglich alle existierenden Algorithmen vorzustellen. Ziel dieses Manuskriptes ist es daher, dem ¨ interessierten Leser einen Uberblick u ¨ber weite Bereiche dieses Gebietes zu vermitteln, die f¨ ur praktische Anwendungen wichtigen Methoden zu diskutieren, verwandte Algorithmen durch Bemerkungen und Literaturhinweise zu integrieren und die Erarbeitung weiterer Verfahren zu erleichtern. Die vorausgesetzten Grundkenntnisse beschr¨ anken sich hierbei gezielt auf u ¨ bliche Inhalte der Analysis und linearen Algebra mathematischer Vorlesungen in den ersten zwei Semestern eines Hochschulfaches, da die beschriebenen Methoden weit u ¨ber die Grenzen eines Mathematikstudiums von großem Interesse sind. Zur Unterst¨ utzung eines Selbststudiums werden zudem alle ben¨ otigten Grundlagen in einem eigenst¨andigen Kapitel bereitgestellt. Nachdem das Auftreten linearer Gleichungssysteme im ersten Kapitel anhand einiger Modellbeispiele beschrieben wird, stellen wir im zweiten Kapitel die f¨ ur die folgenden Methoden ben¨ otigten Grundlagen der linearen Algebra zur Verf¨ ugung. Das dritte Kapitel widmet sich den direkten Verfahren, die h¨ aufig in modernen Gleichungssysteml¨osern involviert sind oder teilweise in unvollst¨ andigen Versionen als Vorkonditionierer verwendet werden. Der Schwerpunkt liegt auf der Beschreibung iterativer Verfahren, die im anschließenden vierten Kapitel vorgestellt werden. Hierbei wird stets besonderen Wert auf eine Motivation sowie eine u ¨ bersichtliche, einheitliche und mathematisch abgesicherte Herleitung der iterativen Gleichungssysteml¨ oser gelegt. Neben den Splitting-Methoden, wie zum Beispiel dem Jacobi- und Gauß-Seidel-Verfahren, der Richardson-Iteration und
viii
Vorwort
den Relaxationsverfahren, beschreiben wir zun¨ achst die Zweigittermethode und anschließend das Mehrgitterverfahren sowie dessen vollst¨andige Variante. Die Herleitung des CG-Verfahrens nehmen wir durch eine Kombination der zuvor beschriebenen Verfahren des steilsten Abstiegs und der konjugierten Richtungen vor. Desweiteren betrachten wir vom GMRES-Verfahren u ¨ ber die BiCG-Methode bis zum QMRCGSTAB-Verfahren eine große Bandbreite moderner Krylov-Unterraum-Methoden, die zur L¨osung von Gleichungssystemen mit einer unsymmetrischen und indefiniten Matrix geeignet sind. Das abschließende f¨ unfte Kapitel ist einer ausf¨ uhrlichen Beschreibung und Untersuchung m¨oglicher Pr¨ akonditionierungstechniken gewidmet, da die dargestellten Verfahren bei praxisrelevanten Problemstellungen in der Regel erst in Kombination mit einem geeigneten Vorkonditionierer eine stabile und effiziente Gesamtmethode liefern. Die pr¨ asentierten Methoden finden ihre Anwendung in unterschiedlichsten numerischen Verfahren, die in verschiedensten Programmiersprachen entwickelt wurden. Daher wurde gezielt eine Darstellung der Algorithmen gew¨ ahlt, die eine Umsetzung in ein beliebiges Computer Programm erm¨ oglichen, weshalb die Verwendung einer expliziten Programmiersprache vermieden wurde. Viele der pr¨ asentierten Verfahren sind bereits in Softwarepaketen wie zum Beispiel LAPACK [3], LINSOL [75], MATLAB [1] und Templates [8] verf¨ ugbar. Bedanken m¨ ochte ich mich an dieser Stelle bei Frau Monika Jampert, die weite Teile meines handschriftlichen Manuskriptes in ein LATEX-Skript verwandelt hat und bei Dipl. Math. Dirk Nitschke f¨ ur seine Unterst¨ utzung bei allen LATEX-Fragen. Zudem gilt mein Dank Dr. Christoph B¨ asler, Dipl. Math. Michael Breuss, Martin Ludwig, Christian Nagel, Dipl. Math. Stefanie Schmidt und Dipl. Math. Christof V¨omel f¨ ur das intensive Korrekturlesen und die vielen konstruktiven Hinweise und Bemerkungen, die sich in vielen Bereichen positiv ausgewirkt haben. Besonders bedanken m¨ochte ich mich an dieser Stelle bei Prof. Dr. Thomas Sonar, der durch seine ermutigende Unterst¨ utzung und jahrelange fachliche Begleitung wesentlich zur Entstehung dieses Buches beigetragen hat.
Hamburg, im September 1999
Andreas Meister
Vorwort zur zweiten Auflage Innerhalb der zweiten Auflage wurden neben der Korrektur entdeckter Fehler auch textliche Erweiterungen und erg¨ anzende Bemerkungen eingef¨ ugt, die hoffentlich eine bessere Lesbarkeit zur Folge haben. Mein Dank gilt hierbei vielen Lesern, die durch zahlreiche Hinweise und konstruktive Kritik wesentlich zur Verbesserung beigetragen haben. Eine zentrale Erweiterung stellen die im erg¨anzten Anhang aufgef¨ uhrten MATLABImplementierung zu g¨ angigen Krylov-Unterraum-Methoden dar, die von Dr. C. V¨omel entwickelt wurden. F¨ ur diese hilfreiche Unterst¨ utzung m¨ochte ich mich an dieser Stelle recht herzlich bedanken. Durch diese Erg¨ anzung ergibt sich f¨ ur den interessierten Anwender eine M¨ oglichkeit zur unmittelbaren Nutzung der diskutierten Verfahren, die einen tieferen Einblick in die jeweiligen Eigenschaften der betrachteten Methode im Kontext individueller Problemstellungen er¨ offnet.
ix ¨ Uber Kommentare, Verbesserungsvorschl¨ age und Korrekturhinweise, die mir bespielsweise u ¨ ber meine Email-Adresse [email protected] zugesendet werden k¨onnen, w¨ urde ich mich sehr freuen. Desweiteren besteht unter http://www.mathematik.uni-kassel.de/~meister/buch_online ein Online-Service zum Buch. Neben aktuellen Informationen und Korrekturhinweisen k¨onnen dieser Seite auch die angesprochenen MATLAB-Implementierungen entnommen werden.
Kassel, im November 2004
Andreas Meister
Vorwort zur dritten Auflage Neben geringf¨ ugigen Korrekturen von Tippfehlern wurden im Rahmen dieser Auflage ¨ zahlreiche Ubungsaufgaben erg¨ anzt, die sich jeweils am Ende der Kapitel 2 bis 5 befin¨ den. Bei einigen Problemstellungen konnte ich dabei auf Ubungen aus meinem eigenen Studium zur¨ uckgreifen. Den damaligen Aufgabenstellern gilt daher r¨ uckwirkend mein herzlicher Dank. Die zugeh¨ origen L¨ osungen k¨ onnen dem unter http://www.vieweg.de/tu/8y bereitgestellten Online-Service entnommen werden. Hier findet der interessierte Leser zudem Hinweise zu themenbegleitenden Kompaktkursen sowie die im Buch aufgef¨ uhrten MATLAB-Implementierungen.
Kassel, im Oktober 2007
Andreas Meister
x
Inhaltsverzeichnis 1 Beispiele f¨ ur das Auftreten linearer Gleichungssysteme
1
2 Grundlagen der linearen Algebra
7
2.1
Vektornormen und Skalarprodukt . . . . . . . . . . . . . . . . . . . .
7
2.2
Lineare Operatoren, Matrizen und Matrixnormen . . . . . . . . . . . .
13
2.3
Konditionszahl und singul¨ are Werte . . . . . . . . . . . . . . . . . . .
25
2.4
Der Banachsche Fixpunktsatz . . . . . . . . . . . . . . . . . . . . . . .
29
2.5
¨ Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3 Direkte Verfahren
36
3.1
Gauß-Elimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.2
Cholesky-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.3
QR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
3.4
3.3.1
Das Gram-Schmidt-Verfahren . . . . . . . . . . . . . . . . . . . . .
49
3.3.2
Die QR-Zerlegung nach Givens . . . . . . . . . . . . . . . . . . . .
55
¨ Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
4 Iterative Verfahren 4.1
4.2
Splitting-Methoden
62 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
4.1.1
Jacobi-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
4.1.2
Gauß-Seidel-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . .
74
4.1.3
Relaxationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . .
77
4.1.3.1
Jacobi-Relaxationsverfahren . . . . . . . . . . . . . . . .
78
4.1.3.2
Gauß-Seidel-Relaxationsverfahren . . . . . . . . . . . . .
80
4.1.4
Richardson-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . .
89
4.1.5
Symmetrische Splitting-Methoden . . . . . . . . . . . . . . . . . .
92
Mehrgitterverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.2.1
Zweigitterverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.2.2
Der Mehrgitteralgorithmus . . . . . . . . . . . . . . . . . . . . . . 109
4.2.3
Das vollst¨ andige Mehrgitterverfahren
. . . . . . . . . . . . . . . . 111
xi 4.3
Projektionsmethoden und Krylov-Unterraum-Verfahren . . . . . . . . 112 4.3.1
4.3.2
Verfahren f¨ ur symmetrische, positiv definite Matrizen . . . . . . . 117 4.3.1.1
Die Methode des steilsten Abstiegs
. . . . . . . . . . . . 118
4.3.1.2
Das Verfahren der konjugierten Richtungen
4.3.1.3
Das Verfahren der konjugierten Gradienten . . . . . . . . 126
. . . . . . . 124
Verfahren f¨ ur regul¨ are Matrizen . . . . . . . . . . . . . . . . . . . . 135 4.3.2.1
Der Arnoldi-Algorithmus und die FOM . . . . . . . . . . 135
4.3.2.2
Der Lanczos-Algorithmus und die D-Lanczos-Methode . . 140
4.3.2.3
Der Bi-Lanczos-Algorithmus . . . . . . . . . . . . . . . . 144
4.3.2.4
Das GMRES-Verfahren . . . . . . . . . . . . . . . . . . . 149
4.3.2.5
Das BiCG-Verfahren . . . . . . . . . . . . . . . . . . . . . 164
4.3.2.6
Das CGS-Verfahren . . . . . . . . . . . . . . . . . . . . . 171
4.3.2.7
Das BiCGSTAB-Verfahren . . . . . . . . . . . . . . . . . 174
4.3.2.8
Das TFQMR-Verfahren . . . . . . . . . . . . . . . . . . . 180
4.3.2.9
Das QMRCGSTAB-Verfahren . . . . . . . . . . . . . . . 189
4.3.2.10 Konvergenzanalysen . . . . . . . . . . . . . . . . . . . . . 192 4.4
¨ Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
5 Pr¨ akonditionierer
200
5.1
Skalierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
5.2
Polynomiale Pr¨ akonditioner
5.3
Splitting-assoziierte Pr¨ akonditionierer . . . . . . . . . . . . . . . . . . 207
5.4
Die unvollst¨ andige LU-Zerlegung . . . . . . . . . . . . . . . . . . . . . 208
5.5
Die unvollst¨ andige Cholesky-Zerlegung
5.6
Die unvollst¨ andige QR-Zerlegung
5.7
Die unvollst¨ andige Frobenius-Inverse . . . . . . . . . . . . . . . . . . . 214
5.8
Das pr¨ akonditionierte CG-Verfahren . . . . . . . . . . . . . . . . . . . 216
5.9
Das pr¨ akonditionierte BiCGSTAB-Verfahren . . . . . . . . . . . . . . 219
5.10
Vergleich der Pr¨ akonditionierer . . . . . . . . . . . . . . . . . . . . . . 221
5.11
¨ Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
. . . . . . . . . . . . . . . . . . . . . . . 204
. . . . . . . . . . . . . . . . . 211
. . . . . . . . . . . . . . . . . . . . 212
A Implementierungen in MATLAB
226
Literaturverzeichnis
239
Index
244
1
1
Beispiele fu ¨ r das Auftreten linearer Gleichungssysteme
In diesem Kapitel besch¨ aftigen wir uns mit der Entstehung linearer Gleichungssysteme auf der Basis physikalisch relevanter Problemstellungen. Die ausgew¨ahlten Beispiele verdeutlichen einerseits das Auftreten schwachbesetzter (Beispiele 1.1 und 1.4) sowie vollbesetzter (Beispiele 1.2 und 1.3) Matrizen und dienen andererseits als Modellprobleme (Beispiele 1.1 und 1.4) f¨ ur die Analyse der in den folgenden Abschnitten beschriebenen Verfahren. Beispiel 1.1 Die Poisson-Gleichung Die Poisson-Gleichung stellt eine elliptische partielle Differentialgleichung zweiter Ordnung dar, die zu einem Standardproblem bei der Untersuchung partieller Differentialgleichungen und deren numerischer Behandlung geworden ist. Sie tritt unter anderem bei der numerischen Simulation inkompressibler reibungsbehafteter Str¨omungsfelder, das heißt bei der Diskretisierung der inkompressiblen Navier-Stokes-Gleichungen auf [17, 22]. Unter Verwendung des Laplace-Operators ∆=
∂2 ∂2 + ∂x2 ∂y 2
l¨aßt sich die Poisson-Gleichung als Randwertproblem auf dem Gebiet Ω ⊂ R2 in der Form −∆u(x,y) = f (x,y) f¨ ur (x,y) ∈ Ω ⊂ R2 , (1.0.1) u(x,y) = ϕ(x,y) f¨ ur (x,y) ∈ ∂Ω schreiben, wobei ∂Ω den Rand von Ω beschreibt. Bei gegebener Funktion f ∈ C (Ω; R) und gegebenen Randwerten ϕ ∈ C (∂Ω; R) wird folglich eine Funktion u ∈ C 2 (Ω; R) ∩ C Ω; R gesucht, die dem Randwertproblem (1.0.1) gen¨ ugt. Zur Diskretisierung der Poisson-Gleichung auf dem Einheitsquadrat Ω = (0,1) × (0,1) mittels einer zentralen Finite-Differenzen-Methode wird Ω = Ω ∪ ∂Ω mit einem Gitter Ωh der Schrittweite h = 1/(N + 1) mit N ∈ N versehen. Wir schreiben ur i,j = 0, . . . ,N + 1 (xi ,yj ) = (ih,jh) f¨ sowie uij = u(xi ,yj ) und fij = f (xi ,yj ) f¨ ur i,j = 0, . . . ,N + 1. Desweiteren approximieren wir
2
1 Beispiele f¨ ur das Auftreten linearer Gleichungssysteme y
1 yN
y3 y2 y1
x1
Bild 1.1
x2
x3
xN
x
1
Diskretisierung des Einheitsquadrates
∂2u (xi ,yj ) ≈ ∂x2
1 h
ui+1,j − ui,j ui,j − ui−1,j − h h ≈
=
∂u (xi+1/2 ,yj ) ∂x
1 (ui+1,j − 2uij + ui−1,j ). h2
Mit einer analogen Vorgehensweise f¨ ur −∆u(xi ,yj ) ≈
(1.0.2)
∂2u erhalten wir f¨ ur den Laplace-Operator ∂y 2
1 (4uij − ui−1,j − ui+1,j − ui,j−1 − ui,j+1 ) h2
und somit die diskrete Form der Gleichung (1.0.1) 4ui,j − ui−1,j − ui+1,j − ui,j−1 − ui,j+1 = h2 fij
f¨ ur
1 ≤ i,j ≤ N,
u0,j = ϕ0,j , uN +1,j = ϕN +1,j
f¨ ur
j = 0, . . . ,N + 1,
ui,0 = ϕi,0 , ui,N +1 = ϕi,N +1
f¨ ur
i = 0, . . . ,N + 1.
Eine zeilenweise Neunummerierung, die einer lexikographischen Anordnung der inneren Gitterpunkte entspricht, ergibt u1 = u1,1 , u2 = u2,1 , u3 = u3,1 , . . . , uN = uN,1 , uN +1 = u1,2 , . . . ,uN 2 = uN,N . Die Neunummerierung wird ebenfalls f¨ ur f durchgef¨ uhrt, und wir erhalten somit ein Gleichungssystem Au = g f¨ ur die Bestimmung des L¨osungsvektors u := (u1 , . . . ,uN 2 )T . Hierbei gilt
3 ⎛
B
⎜ ⎜ −I A=⎜ ⎜ ⎝
⎞
−I .. .
..
..
..
.
.
. −I
⎟ ⎟ ⎟ ∈ RN 2 ×N 2 ⎟ −I ⎠ B
(1.0.3)
mit ⎛
−1 ⎜ ⎜ −1 . . . B=⎜ ⎜ .. ⎝ . 4
⎞ ⎟ ⎟ . ⎟ ∈ RN ×N ⎟ .. . −1 ⎠ −1 4 ..
⎛ ⎜ und I = ⎝
⎞
1 ..
⎟ ⎠ ∈ RN ×N .
.
Die rechte Seite weist f¨ ur den Spezialfall ϕ ≡ 0 die Gestalt ⎛ ⎞ f1 2 ⎜ ⎟ g = h2 ⎝ ... ⎠ ∈ RN
1
(1.0.4)
fN 2 auf. Im Fall ϕ ≡ 0 m¨ ussen die entsprechenden Randwerte im Vektor der rechten Seite ber¨ ucksichtigt werden. F¨ ur die erste Komponente erhalten wir in diesem Fall g1 = h2 f1 + ϕ0,1 + ϕ1,0 . Bemerkung: Die Matrix A ist symmetrisch, positiv definit und schwachbesetzt. Ihre Struktur ist zudem abh¨ angig von der gew¨ ahlten Anordnung der inneren Gitterpunkte. Beispiel 1.2 Lineare Integralgleichung zweiter Art Lineare Integralgleichungen erster und zweiter Art treten zur Festlegung von Dichtefunktionen auf, mittels derer die L¨ osung einer partiellen Differentialgleichung (zum Beispiel der Helmholtz-Gleichung) in Form eines Einfach- oder Doppelschichtpotentials dargestellt werden kann [43, 35]. Wir betrachten die Integralgleichung zweiter Art 1 k(x,y)u(y)dy f¨ ur x ∈ [0,1].
u(x) = v(x) +
(1.0.5)
0
Bei gegebenem Integralkern k : [0,1]×[0,1] → R mit k(x,0) = 0 und gegebener Funktion v : [0,1] → R werden wir im folgenden ein lineares Gleichungssystem zur Berechnung einer N¨ aherungsl¨ osung der gesuchten Funktion u : [0,1] → R herleiten. Zur Diskretisierung der Integralgleichung verwenden wir eine Nystr¨om-Methode. Hierzu unterteilen wir das Intervall [0,1] in N Teilintervalle der L¨ange h = 1/N mit N ∈ N . Sei j = jh f¨ ur j = 0, . . . ,N, xj = N
4
1 Beispiele f¨ ur das Auftreten linearer Gleichungssysteme
dann erhalten wir unter Verwendung der numerischen Integration 1 k(x,y)u(y)dy ≈ h
N
k(x,xj )u(xj ) = h
j=1
0
N
k(x,xj )u(xj )
j=0
aus (1.0.5) die approximative Darstellung u(x) = v(x) +
N 1 k(x,xj )u(xj ) f¨ ur x ∈ [0,1]. N j=0
(1.0.6)
Betrachten wir die Gleichung (1.0.6) an den St¨ utzstellen xi , i = 0, . . . ,N und definieren ui = u(xi ) , vi = v(xi ), dann erhalten wir mit v = (v0 , . . . ,vN )T das lineare Gleichungssystem Au = v zur Bestimmung des Vektors u = (u0 , . . . ,uN )T . Hierbei gilt A = (aij )i,j=0,...,N ∈ R(N +1)×(N +1) mit aij = δij −
1 k(xi ,xj ) N
(1.0.7)
unter Verwendung des Kronecker-Symbols 0, i = j δij = 1, i = j. Bemerkung: Aus der Darstellung der Matrixkoeffizienten (1.0.7) ist unmittelbar ersichtlich, daß die Besetzungsstruktur sowie alle weiteren Eigenschaften der Matrix (Symmetrie, Definitheit) von dem zugrundeliegenden Integralkern abh¨angen. Im Normalfall ist die Matrix A hierbei vollbesetzt. Beispiel 1.3 Funktionsdefinition aus Meßwerten Es sei bekannt, daß sich eine physikalische Gr¨ oße z als Polynom n -ten Grades der Zeit t schreiben l¨ aßt: n αi ti f¨ ur t ∈ R+ z(t) = 0. i=0
Aus Messungen ist die physikalische Gr¨ oße zu den Zeitpunkten 0 ≤ t0 < . . . < tN , N ≥ n , bekannt. Die zugeh¨ origen Meßwerte lauten z0 , . . . ,zN . Die Aufgabe besteht in der Ermittlung der Koeffizienten α0 , . . . ,αn , so daß die Summe der Fehlerquadrate minimal wird (Methode der kleinsten Quadrate). Das bedeutet f (α) =
n N j=0
i=0
2 αi tij
− zj
=
N
[z(tj ) − zj ]2
j=0
soll u ullt ¨ ber alle α = (α0 , . . . ,αn )T ∈ Rn+1 minimiert werden. Der L¨osungsvektor α erf¨ somit ∂f (α) = 0 f¨ ur k = 0, . . . ,n. ∂αk
5 Aufgrund der Gestalt der Funktion f folgt hieraus N j=0
⇔ ⇔ ⇔
N j=0 N j=0 n i=0
2[z(tj ) − zj ] tkj
= 0
z(tj ) tkj
=
n
i=0 N j=0
tkj
=
αi
=
N j=0
tji+k
N j=0
αi tij
f¨ ur k = 0, . . . ,n
N j=0
zj tkj
f¨ ur k = 0, . . . ,n
zj tkj
f¨ ur k = 0, . . . ,n
zj tkj
f¨ ur k = 0, . . . ,n.
Zu l¨ osen bleibt somit das lineare Gleichungssystem Aα = b mit A = (aki )k,i=0,...,n ∈ R
(n+1)×(n+1)
mit aki =
N j=0
und T
b = (b0 , . . . ,bn ) ∈ Rn+1 mit bk =
N
tjk+i f¨ ur k,i = 0, . . . ,n
zj tkj f¨ ur k = 0, . . . ,n.
j=0
Bemerkung: Die resultierende Matrix A ist stets vollbesetzt und symmetrisch. Das vorliegende Gleichungssystem wird u ¨ blicherweise als die zum linearen Ausgleichsproblem minα∈Rn+1 f (α) geh¨ orende Normalengleichung bezeichnet. Beispiel 1.4 Die Konvektions-Diffusions-Gleichung Die Konvektions-Diffusions-Gleichung wird h¨ aufig als Modellproblem bei der Entwicklung neuartiger Verfahren innerhalb der Str¨ omungsmechanik genutzt, da sie eine struktu¨ relle Ahnlichkeit zu den Euler- und Navier-Stokes-Gleichungen aufweist. In Anlehnung an die Arbeiten [67] und [50] betrachten wir die station¨are Konvektions-Diffusions-Gleichung auf dem Einheitsquadrat Ω = (0,1) × (0,1) in der Form β · ∇u(x,y) − ε∆u(x,y) = 0 u(x,y) = x2 + y 2
f¨ ur
(x,y) ∈ Ω ⊂ R2 ,
f¨ ur
(x,y) ∈ ∂Ω
(1.0.8)
mit β = (cos α, sin α)T , α = 45◦ und ε ∈ R+ 0 . Wir nutzen die in Beispiel 1.1 vorgestellte a ¨quidistante Diskretisierung des Einheitsquadrates. Um im Grenzfall eines verschwindenden Diffusionsparameters ε keine Entkopplung des diskreten Systems in der Form eines Schachbrettmusters zu erhalten, wird der Gradient ∇u innerhalb des konvektiven Anteils mittels einer einseitigen Differenz gem¨aß ∂u ui+1,j − ui,j (xi+1 ,yj ) ≈ ∂x h
und
∂u ui,j+1 − ui,j (xi ,yj+1 ) ≈ , ∂y h
6
1 Beispiele f¨ ur das Auftreten linearer Gleichungssysteme
diskretisiert. Diese Strategie wird innerhalb der Str¨omungsmechanik als Upwind-Methode bezeichnet. Die Verwendung der Approximation (1.0.2) f¨ ur den Laplace-Operator ergibt in Kombination mit einer lexikographischen Anordnung ein Gleichungssystem der Form Au = g zur Berechnung des Vektors u := (u1 , . . . ,uN 2 )T . Die Besetzungsstruktur der Matrix stimmt hierbei mit der Struktur der Matrix innerhalb des Beispiels der PoissonGleichung u ¨ berein. Die explizite Darstellung der Matrix lautet ⎛ ⎞ B −εI ⎜ ⎟ ⎜ D ... ... ⎟ ⎜ ⎟ ∈ RN 2 ×N 2 A=⎜ (1.0.9) ⎟ . . .. . . −εI ⎠ ⎝ D B mit ⎞
⎛
4ε + h(cos α + sin α) −ε ⎜ .. ⎜ . −ε − h cos α B=⎜ ⎜ . .. ⎝
..
.
..
. −ε −ε − h cos α 4ε + h(cos α + sin α)
⎟ ⎟ ⎟ ∈ RN ×N ⎟ ⎠
und ⎛ ⎜ D=⎝
⎞
−ε − h sin α ..
⎟ N ×N , ⎠∈R
. −ε − h sin α
wobei I ∈ RN ×N wiederum die Einheitsmatrix repr¨asentiert. Die rechte Seite g h¨angt in diesem Fall ausschließlich von den u ¨ ber (1.0.8 )2 gegebenen Randbedingungen ab. Bemerkung: Die Matrix A ist stets unsymmetrisch und schwachbesetzt.
7
2
Grundlagen der linearen Algebra
Die Herleitung und Analyse der im folgenden betrachteten Verfahren zur L¨osung linearer Gleichungssysteme basiert auf den in diesem Kapitel dargestellten Grundlagen. Wir betrachten hierbei stets Abbildungen zwischen reellen beziehungsweise komplexen linearen R¨ aumen, die oftmals auch als Vektorr¨ aume u ¨ ber R respektive C bezeichnet werden. Derartige lineare R¨ aume, wie zum Beispiel der Rn oder Cn stellen nichtleere Mengen dar, deren Elemente durch eine Addition verkn¨ upft und mit Skalaren λ ∈ R oder C multipliziert werden k¨ onnen, die den Vektorraumaxiomen gen¨ ugen. Diese Axiome garantieren lediglich, daß mit Addition, Subtraktion und Multiplikation wie gewohnt gerechnet werden kann.
2.1
Vektornormen und Skalarprodukt
Notwendige Begriffe wie Orthogonalit¨ at, L¨ ange, Abstand und Konvergenz basieren auf Skalarprodukten beziehungsweise Normen. Diese Abbildungen werden wir daher in diesem Abschnitt einf¨ uhren und einige wesentliche Aussagen pr¨asentieren. Definition 2.1 Sei X ein komplexer beziehungsweise reeller linearer Raum. Eine Abbildung
. : X −→ R mit den Eigenschaften (N1) x ≥ 0
(Positivit¨at)
(N2) x = 0 ⇔ x = 0
(Definitheit)
(N3) α · x = |α| · x ∀ x ∈ X, ∀ α ∈ C (bzw.R)
(Homogenit¨at)
(N4) x + y ≤ x + y
(Dreiecksungleichung)
∀ x,y ∈ X
nennt man eine Norm auf X . Ein linearer Raum X mit einer Norm heißt normierter Raum. Falls X = Cn beziehungsweise X = Rn gilt, so wird die Norm auch als Vektornorm bezeichnet. Die Positivit¨ at einer Norm kann hierbei auch aus den Axiomen (N3) und (N4) hergeleitet werden und br¨ auchte daher aus formalen Gr¨ unden nicht innerhalb der Definition aufgef¨ uhrt werden. Wir verwenden dennoch die obige Formulierung, um diese Eigenschaft der Norm explizit vorliegen zu haben. Auf Cn beziehungsweise Rn sind Normen zum Beispiel wie folgt gegeben: (a) x 1 :=
n i=1
|xi |
(Betragssummennorm)
8
2 Grundlagen der linearen Algebra (b) x 2 :=
n
i=1
|xi |
2
12
(Euklidische Norm)
max |xi | (c) x ∞ := i=1,...,n
(Maximumnorm)
Wir kommen nun zur Einf¨ uhrung des ben¨ otigten Konvergenzbegriffs. Definition 2.2 Eine Folge {xn }n∈N von Elementen aus einem normierten Raum X heißt konvergent mit dem Grenzelement x ∈ X , wenn zu jedem ε > 0 eine nat¨ urliche Zahl N = N (ε) existiert, so daß
xn − x < ε
∀n≥ N
gilt. Eine Folge, die nicht konvergiert, heißt divergent. Definition 2.3 Sei X ein normierter Raum. Eine Folge {xn }n∈N aus X heißt CauchyFolge, wenn es zu jedem ε > 0 ein N = N (ε) ∈ N derart gibt, daß
xn − xm < ε ∀n,m ≥ N gilt. Der anschließende Satz liefert einen generellen Zusammenhang zwischen konvergenten Folgen und Cauchy-Folgen. Satz 2.4 Sei X ein normierter Raum. Jede konvergente Folge {xn }n∈N aus X ist eine Cauchy-Folge. Beweis: Sei ε > 0 gegeben und x das Grenzelement der Folge {xn }n∈N ε ∈ N mit xn − x < 2ε ∀n ≥ N ⇒ ∃N = N 2 ⇒ xn − xm ≤ xn − x + x − xm < ε ∀n,m ≥ N . Definition 2.5 Sei X ein komplexer oder reeller linearer Raum. Eine Abbildung (.,.) : X × X −→ C mit den Eigenschaften (H1) (x,x) ∈ R+ 0
∀x ∈X
(Positivit¨at)
(H2) (x,x) = 0 ⇔ x = 0
(Definitheit)
(H3) (x,y) = (y,x) ∀ x,y ∈ X
(Symmetrie)
(H4) (αx + βy,z) = α(x,z) + β(y,z) ∀x,y,z ∈ X α,β ∈ C
(Linearit¨at)
heißt Skalarprodukt oder inneres Produkt auf X . Ein linearer Raum X versehen mit einem Skalarprodukt heißt Pr¨ a-Hilbert-Raum.
2.1 Vektornormen und Skalarprodukt
9
Bemerkung: Es gilt zudem (H4’) (x,αy + βz)
(H3)
=
(H3)
=
(αy + βz,x)
(H4)
=
α(y,x) + β(z,x)
α(x,y) + β(x,z).
Diese Eigenschaft wird als Antilinearit¨ at bezeichnet. Satz 2.6 Auf jedem Pr¨a-Hilbert-Raum X ist durch
x := (x,x), x ∈ X eine Norm erkl¨art. Beweis: Die ersten drei Normeigenschaften ergeben sich durch direktes Nachrechnen. Die Eigenschaft (N4) folgt durch Anwendung der Cauchy-Schwarz’schen Ungleichung |(x,y)| ≤ x y . ¨ Ublicherweise wird auf dem Cn das euklidische Skalarprodukt gem¨aß (x,y)2 :=
n
xi yi = y ∗ x
i=1
genutzt. Hierbei gilt der Zusammenhang
x 2 :=
(x,x)2 .
Satz 2.7 Sei X ein normierter Raum und {xn }n∈N eine konvergente Folge in X , dann ist das Grenzelement eindeutig bestimmt. Beweis: ur n −→ ∞ und xn −→ y Seien x und y zwei Grenzelemente, d. h. gelte xn −→ x f¨ f¨ ur n −→ ∞ , dann folgt 0 ≤ x − y = x − xn + xn − y n→∞ ≤ x − xn + xn − y −−−−→ 0 n→∞ n→∞ −−−−→0 −−−−→0 ⇒ 0 ≤ x − y ≤ 0 (N2)
⇒ x − y = 0 ⇒ x − y = 0 ⇒ x = y. Definition 2.8 Zwei Normen . a und . b auf einem linearen Raum X heißen a¨quiuglich . b valent, wenn jede Folge genau dann bez¨ uglich . a konvergiert, wenn sie bez¨ konvergiert.
10
2 Grundlagen der linearen Algebra
Satz und Definition 2.9 Zwei Normen . a und . b auf einem linearen Raum X sind genau dann ¨aquivalent, wenn es reelle Zahlen α,β > 0 gibt, so daß α x b ≤ x a ≤ β x b
∀x∈X
(2.1.1)
¨ gilt. Die gr¨oßte derartige Zahl α und die kleinste derartige Zahl β werden als Aquivalenzkonstanten bezeichnet. Beweis: ⇐“ ” .b
Sei {xn }n∈N eine beliebige Folge mit xn −−→ x f¨ ur n → ∞ , dann folgt mit (2.1.1)
xn − x a ≤ β xn − x b → 0 f¨ ur n → ∞ und somit die geforderte Konvergenz der Folge in der Norm . a . Die zweite Ungleichung in (2.1.1) liefert auf analoge Weise die Konvergenz einer Folge in der Norm . b aus der Konvergenz der Folge in der Norm . a . ⇒“ ” ur alle x ∈ X mit x b = 1 . Dann Annahme: Es existiert kein β ∈ R+ mit x a ≤ β f¨ existiert eine Folge {xn }n∈N mit
xn a ≥ n2
und xn b = 1.
Sei y n := dann erhalten wir
y n a =
1
xn a ≥ n n
xn , n und y n b =
1 . n
(2.1.2)
.b
Somit folgt y n −−→ 0 , f¨ ur n → ∞ , wodurch die Folge aufgrund der vorausgesetzten ¨ Aquivalenz der Normen . a und . b auch in der Norm . a konvergiert. Hiermit ergibt sich direkt der angestrebte Widerspruch zur Eigenschaft (2.1.2). Folglich existiert ein β ∈ R+ mit x a ≤ β f¨ ur alle x ∈ X mit x b = 1 . Sei nun y ∈ X \ {0} , dann erhalten wir durch y y ≤ β y b
y a = =
y (2.1.3)
y b b
y b a
y b a ¨ die Ubertragung der Eigenschaft auf alle Vektoren aus X \ {0} . Da das Nullelement stets der Gleichung (2.1.1) gen¨ ugt, folgt
y a ≤ β y b
f¨ ur alle y ∈ X.
Die zweite Absch¨ atzung ergibt sich analog. Aufgrund des Satzes 2.9 wird die Definition ¨ aquivalenter Normen oftmals auf der Basis der Ungleichungen (2.1.1) vorgenommen. Als direkte Folgerung dieser Ungleichungen erhalten wir die folgende Aussage.
2.1 Vektornormen und Skalarprodukt
11
Korollar 2.10 Die Grenzelemente einer Folge stimmen bez¨ uglich zweier ¨aquivalenter Normen u ¨ berein. Satz 2.11 Auf einem endlichdimensionalen reellen oder komplexen linearen Raum sind alle Normen ¨aquivalent. Beweis: F¨ ur den Nachweis der obigen Behauptung gen¨ ugt es zu zeigen, daß eine bestimmte Norm a¨quivalent zu jeder Norm ist. Sei X := span{u1 , . . . ,um } ein m -dimensionaler linearer Raum, dann l¨ aßt sich jedes x ∈ X in der Form x=
m
αi ui , αi ∈ C
i=1
darstellen. Definieren wir auf X die Norm
x max := max
i=1,...,m
|αi |,
dann folgt f¨ ur jede weitere Norm . auf X die Absch¨atzung m m m (N4) (N3) αi ui ≤
αi ui = |αi | ui
x = i=1
≤
max
i=1,...,m
i=1
|αi |
m
i=1
ui = β x max .
(2.1.4)
i=1
β:=
Die zweite Ungleichung werden wir mittels des folgenden Widerspruchsbeweises nachweisen. Annahme: Es existiert kein α ∈ R+ mit x max ≤ α x f¨ ur alle x ∈ X . Wie wir bereits in Gleichung (2.1.3) gesehen haben, ist diese Eigenschaft a¨quivalent zur Aussage: Es existiert kein α ∈ R+ mit x max ≤ α f¨ ur alle x ∈ X mit x = 1. Somit existiert eine Folge {xn }n∈N mit
xn max ≥ n und xn = 1. Sei y n :=
xn , dann gilt y n max = 1 f¨ ur alle n ∈ N.
xn max
Wir schreiben yn =
m i=1
αi,n ui
(2.1.5)
12
2 Grundlagen der linearen Algebra
und erhalten mit (2.1.5)
max |αi,n | = 1 f¨ ur alle n ∈ N . Mit {α1,n }n∈N , . . .,{αm,n }n∈N
i=1,...,m
liegen daher m beschr¨ ankte Folgen komplexer Zahlen vor, so daß f¨ ur i = 1, . . . ,m aufgrund des Satzes von Bolzano-Weierstraß je eine konvergente Teilfolge j→∞
αi,n(j) −−−→ α i mit n(j + 1) > n(j) existiert. Definieren wir y :=
m
α i ui ,
i=1
dann folgt f¨ ur y n(j) :=
m i=1
αi,n(j) ui
y n(j) − y max = max
i=1,...,m
j→∞
|αi,n(j) − α i | −−−→ 0.
(2.1.6)
Unter Verwendung der Ungleichung (2.1.4) erhalten wir .
y n(j) −−→ y f¨ ur j → ∞, so daß sich mit (2.1.5)
y n(j) =
xn(j) 1 1 j→∞ = ≤ −−−→ 0
xn(j) max xn(j) max n(j) j→∞
und folglich y = 0 ergibt. Hierdurch erhalten wir mittels yn(j) max −−−→ 0 einen ur alle n ∈ N . Widerspruch zu y n max = 1 f¨ ¨ F¨ ur die aufgef¨ uhrten Vektornormen erhalten wir die Aquivalenzkonstanten f¨ ur x ∈ Rn gem¨ aß √
x 2 ≤ x 1 ≤ n x 2 , (2.1.7) √ (2.1.8)
x ∞ ≤ x 2 ≤ n x ∞ , und 1
x 1 ≤ x ∞ ≤ x 1 . n
(2.1.9)
Definition 2.12 Eine Teilmenge V eines normierten Raumes X heißt vollst¨andig, wenn jede Cauchy-Folge aus V gegen ein Grenzelement aus V konvergiert. Ein vollst¨andiger normierter Raum heißt Banach-Raum. Bei den betrachteten linearen Gleichungssystemen betrachten wir stets endlichdimensionale normierte R¨aume. F¨ ur diese R¨ aume ergibt sich die folgende hilfreiche Eigenschaft. Satz 2.13 Jeder endlichdimensionale normierte Raum ist ein Banach-Raum. Beweis: Sei X ein endlichdimensionaler normierter Raum. Laut Satz 2.11 sind auf X alle Normen ¨ aquivalent, so daß der Nachweis f¨ ur eine beliebige Norm erbracht werden kann.
2.2 Lineare Operatoren, Matrizen und Matrixnormen
13
Sei X := span{u1 , . . . ,uk } , dann l¨ aßt sich jedes x ∈ X in der Form x=
k
αi ui mit αi ∈ C
i=1
schreiben. Wir betrachten nun wiederum die Norm
x max := max |αi |. i=1,...,k
Sei {xn }n∈N eine Cauchy-Folge in X , dann schreiben wir xn =
k
αi,n ui mit αi,n ∈ C
i=1
und erhalten max |αi,n − αi,m | = xn − xm max → 0 f¨ ur n,m → ∞.
i=1,...,k
Folglich stellen die k Koeffizientenfolgen jeweils Cauchy-Folgen in C dar, so daß aufgrund der Vollst¨ andigkeit des Raumes der komplexen Zahlen n→∞
i ∈ C f¨ ur i = 1, . . . ,k αi,n −−−−→ α ˜= gilt. Mit x
k i=1
α ˜ i ui liegt wegen n→∞
˜ max = max |αi,n − α i | −−−−→ 0
xn − x i=1,...,k
der gesuchte Vektor vor.
2.2
Lineare Operatoren, Matrizen und Matrixnormen
Die Eigenschaften der Matrix eines linearen Gleichungssystem sind wesentlich f¨ ur die Auswahl eines geeigneten iterativen Verfahrens und bestimmen in der Regel zudem das Konvergenzverhalten der gew¨ ahlten Methode. Neben der Einf¨ uhrung spezieller Klassen von Matrizen und der Festlegung unterschiedlicher Matrixnormen werden wir in diesem Abschnitt den Spektralradius erl¨ autern und dessen Zusammenhang zu den Matrixnormen diskutieren, der sich als fundamental f¨ ur Konvergenzaussagen von Splitting-Methoden erweisen wird. Definition 2.14 Seien X,Y normierte R¨ aume mit den Normen . X beziehungsweise
. Y . Ein Operator A : X → Y heißt .X
(a) stetig an der Stelle x ∈ X , falls f¨ ur alle Folgen {xn }n∈N aus X mit xn −−−→ x f¨ ur n → ∞ .Y Axn −−−→ Ax f¨ ur n → ∞ folgt.
14
2 Grundlagen der linearen Algebra
(b) stetig, falls A an allen Stellen x ∈ X stetig ist. (c) linear, falls A(αx + βy) = αAx + βAy ∀x,y ∈ X ∀α,β ∈ C gilt. (d) beschr¨ ankt, wenn A linear ist und ein C ≥ 0 existiert, so daß
Ax Y ≤ C x X ∀x ∈ X gilt. Jede Zahl C mit dieser Eigenschaft heißt Schranke von A . Wir besch¨ aftigen uns im weiteren mit sogenannten induzierten Matrixnormen, die jeweils auf der Grundlage einer Vektornorm durch den folgenden Satz festgelegt werden. Satz und Definition 2.15 Ein linearer Operator A : X → Y ist genau dann beschr¨ankt, wenn
A := sup Ax Y < ∞ xX =1
gilt. A ist die kleinste Schranke von A und heißt Norm des Operators. Beweis: ⇒“ ” Sei A beschr¨ ankt, dann existiert insbesondere ein C ≥ 0 mit
Ax Y ≤ C f¨ ur alle x ∈ X mit x X = 1 und wir erhalten
A =
sup xX =1
Ax Y ≤ C < ∞.
Insbesondere stellt A demzufolge die kleinste Schranke von A dar. ⇐“ ” Sei A linear und gelte A < ∞ Betrachten wir ein beliebiges x ∈ X \ {0} , dann folgt x
Ax Y = x X A
x X Y x A = x X
x X Y ≤ x X sup
zX =1
= x X A . Somit ist A beschr¨ ankt mit Schranke A .
Az Y
2.2 Lineare Operatoren, Matrizen und Matrixnormen
15
Die Eigenschaft
Ax ≤ A
x wird als Vertr¨ aglichkeitsbedingung bezeichnet. Stetigkeit und Beschr¨ anktheit stellen im Kontext linearer Operatoren ¨aquivalente Begriffe dar. Diese Tatsache wird durch den folgenden Satz nachgewiesen. Satz 2.16 F¨ ur einen linearen Operator A : X → Y sind die folgenden drei Eigenschaften ¨aquivalent: (a) A ist stetig an der Stelle x = 0 . (b) A ist stetig. (c) A ist beschr¨ankt. Beweis: (a) ⇒ (b) “ ” Sei x ∈ X gegeben und {xn }n∈N eine beliebige Folge aus X mit xn → x , n → ∞ , dann folgt mit der Stetigkeit an der Stelle x = 0 und der Linearit¨at des Operators die Gleichung .Y
ur n → ∞. Axn = A(xn − x) +Ax −−−→ Ax f¨ .
−−−Y→0, n→∞ (b) ⇒ (c) “ ” Annahme: A ist stetig und nicht beschr¨ ankt. Dann existiert eine Folge {xn }n∈N aus X mit xn X = 1 und Axn Y ≥ n . Wir definieren xn y n :=
Axn Y und erhalten hiermit
yn X =
xn X 1 1 = ≤ .
Axn Y
Axn Y n
Folglich konvergiert die Folge y n in der Norm auf X gegen das Nullelement, und es folgt aus der Stetigkeit des Operators .Y
Ay n −−−→ A (0) = 0 f¨ ur n → ∞, so daß ein Widerspruch zu
Ay n Y =
Axn Y = 1 f¨ ur alle n ∈ N
Axn Y
vorliegt. ”
(c) ⇒ (a) “ .X
Sei A beschr¨ ankt und {xn }n∈N eine Folge aus X mit xn −−−→ 0 , f¨ ur n → ∞ . Dann folgt
16
2 Grundlagen der linearen Algebra
Axn Y ≤ A
xn X → 0 f¨ ur n → ∞
und hieraus mit
.Y
ur n → ∞ Axn −−−→ 0 = A (0) f¨ die Stetigkeit des Operators an der Stelle x = 0 . Bei der Betrachtung von Kompositionen linearer Abbildungen erweist sich der folgende Satz zur Absch¨ atzung der Norm der Komposition als hilfreich. Satz 2.17 Seien A : X → Y und B : Y → Z beschr¨ankte lineare Operatoren, dann ist BA : X → Z beschr¨ankt mit
BA ≤ B A .
(2.2.1)
Beweis: Mit
BAx Z ≤ B Ax Y ≤ B A x X folgt der Nachweis direkt aus
BA =
sup xX =1
BAx Z ≤
sup xX =1
B
A
x X = B
A .
Die Eigenschaft (2.2.1) wird auch als Submultiplikativit¨at der zugrundeliegenden Norm bezeichnet. Wir werden uns im folgenden, solange nicht ausdr¨ ucklich erw¨ahnt, stets auf Normen beschr¨ anken, die auf der Grundlage der Definition 2.15 festgelegt sind. Im Kontext der betrachteten Matrizen sind jedoch auch hiervon abweichende Normen denkbar, die nicht der Ungleichung (2.2.1) gen¨ ugen. Jede lineare Abbildung zwischen endlichdimensionalen Vektorr¨aumen kann durch eine Matrix ⎞ ⎛ a11 . . . a1n ⎜ .. ⎟ ∈ Cm×n .. A = ⎝ ... . . ⎠ am1
. . . amn
repr¨ asentiert werden. Die Menge aller Matrizen wollen wir nun vorab in unterschiedliche Klassen unterteilen. Definition 2.18 Zu einer gegebenen Matrix ⎞ ⎛ a11 . . . a1n ⎜ .. ⎟ ∈ Rn×n .. A = ⎝ ... . . ⎠ an1 . . . ann heißt
⎛
a11 ⎜ .. T A =⎝ . a1n die zu A transponierte Matrix.
⎞ . . . an1 .. ⎟ ∈ Rn×n .. . . ⎠ . . . ann
2.2 Lineare Operatoren, Matrizen und Matrixnormen
17
Definition 2.19 Eine Matrix A ∈ Rn×n heißt (a) symmetrisch, falls AT = A gilt, (b) orthogonal, falls AT A = I gilt. Definition 2.20 Zu gegebener Matrix ⎛ a11 . . . ⎜ .. .. A=⎝ . . an1
⎞ a1n .. ⎟ ∈ Cn×n . ⎠ . . . ann
a11 ⎜ .. ∗ A =⎝ . a1n
⎞ . . . an1 .. ⎟ ∈ Cn×n .. . . ⎠ . . . ann
heißt
⎛
die zu A adjungierte Matrix. Definition 2.21 Eine Matrix A ∈ Cn×n heißt (a) hermitesch, falls A∗ = A gilt, (b) unit¨ ar, falls A∗ A = I gilt, (c) normal, falls A∗ A = AA∗ gilt, (d) a ¨hnlich zur Matrix B ∈ Cn×n , falls eine regul¨are Matrix C ∈ Cn×n mit B = C −1 AC existiert, (e) linke untere Dreiecksmatrix, falls aij = 0
∀j > i gilt,
(f) rechte obere Dreiecksmatrix, falls aij = 0
∀j < i gilt,
(g) Diagonalmatrix, falls aij = 0
∀j = i gilt.
Definition 2.22 Sei X = Rn beziehungsweise Cn . Eine Matrix A : X → X heißt ur alle x ∈ X gilt, (a) positiv semidefinit, falls (Ax,x)2 ≥ 0 f¨ ur alle x ∈ X\{0} gilt, (b) positiv definit, falls (Ax,x)2 > 0 f¨ (c) negativ semidefinit, falls −A positiv semidefinit ist, (d) negativ definit, falls −A positiv definit ist. Definition 2.23 Zwei Gleichungssysteme heißen a¨quivalent, wenn ihre L¨osungsmengen identisch sind. Lemma 2.24 Sei P ∈ Cn×n regul¨ar und A ∈ Cn×n , dann sind die Gleichungssysteme Ax = y und P Ax = P y ¨aquivalent.
18
2 Grundlagen der linearen Algebra
Beweis: Aufgrund der Regularit¨ at der Matrix P folgt Px = 0
⇔
x = 0.
Damit erhalten wir die Behauptung direkt aus P (Ax − y) = 0
⇔
Ax − y = 0.
Lemma und Definition 2.25 Das lineare Gleichungssystem Ax = b mit A ∈ Cm×n (Rm×n ) ist genau dann l¨osbar, wenn rang(A) = rang(A,b) gilt, wobei rang(A) die Dimension des Bildes von A darstellt, das heißt rang(A) = dim bild(A) mit
bild(A) = {y ∈ Cm (Rm ) | ∃ x ∈ Cn (Rn ) mit y = Ax } .
Beweis: ⇒“ ” Sei Ax = b , dann gilt b ∈ bild(A) . Hiermit erhalten wir rang(A) = rang(A,b) . ⇐“ ” n Sei rang(A) = rang(A,b) , dann l¨ aßt sich b in der Form b = i=1 xi ai mit xi ∈ C ur i = 1, . . . ,n die i -te Spalte der Matrix A darstellt. Hieraus schreiben, wobei ai f¨ ergibt sich direkt Ax = b mit x = (x1 , . . . ,xn )T .
∈ Cn×n linke untere und R,R ∈ Cn×n rechte obere DreiecksLemma 2.26 Seien L,L matrizen, dann sind und RR LL ebenfalls linke untere beziehungsweise rechte obere Dreiecksmatrizen. Beweis: , dann folgt f¨ Sei L = lij i,j=1,...,n = LL ur j > i lij =
n m=1
lim lmj =
j−1
n lim lmj + lim lmj = 0. m=j m=1 =0
=0
Analog ergibt sich die Behauptung f¨ ur die rechten oberen Dreiecksmatrizen. ∈ Rn×n (Cn×n ) orthogonale (unit¨are) Matrizen, dann ist Lemma 2.27 Seien Q,Q auch QQ orthogonal (unit¨ar).
2.2 Lineare Operatoren, Matrizen und Matrixnormen
19
Beweis: Bei dem Beweis beschr¨ anken wir uns auf orthogonale Matrizen. Der Nachweis der Behauptung f¨ ur unit¨ are Matrizen verl¨ auft analog. Aufgrund der Orthogonalit¨at der Matri und Q folgt zen Q T =Q T QT QQ =Q T IQ =Q TQ = I. QQ QQ
Wie bereits zuvor erw¨ ahnt, kann eine Matrixnorm mittels einer vorliegenden Vektornorm definiert werden. Ist A ∈ Cn×n und . a : Cn → R eine Norm, dann bezeichnet man
A a := sup
xa =1
Ax a
(2.2.2)
als die von der Vektornorm induzierte Matrixnorm. In diesem Sinne gilt f¨ ur A ∈ Cn×n :
A 1
=
A ∞
=
max
k=1,...,n i=1
max
n
i=1,...,n k=1
A 2
n
≤
n i,k=1
|aik | (Spaltensummennorm), |aik | (Zeilensummennorm), 12
|aik |2
= A F .
√ Hierbei wird . F : Cn×n → R als Frobeniusnorm bezeichnet. Wegen I F = n ist aus (2.2.2) sofort ersichtlich, daß die Frobeniusnorm keine induzierte Matrixnorm darstellt. Auch die durch A := maxi,k=1,...,n |aik | gegebene Norm besitzt keine zugeh¨orige Vektornorm. Einfache Beispiele zeigen, daß diese Norm nicht submultiplikativ ist. Es sei an dieser Stelle nochmals betont, daß wir uns bei den folgenden Betrachtungen, solange nicht ausdr¨ ucklich erw¨ ahnt, stets auf induzierte Matrixnormen beschr¨anken werden, obwohl einige Aussagen (zum Beispiel der Satz 2.28) allgemeine G¨ ultigkeit besitzen. Die einzige Ausnahme bildet die im Abschnitt 5.7 betrachtete Frobenius-Norm bei der Herleitung der unvollst¨ andigen Frobenius-Inversen. Satz 2.28 Eine Matrix A ∈ Cn×n ist in jeder Norm beschr¨ankt. Beweis: Sei x ∈ X beliebig, dann folgt
Ax ∞
n = max |(Ax)i | = max aij xj i=1,...,n i=1,...,n j=1 ≤
mit S =
max
n
i=1,...,n j=1
max
i=1,...,n
n
|aij ||xj | ≤ S x ∞
j=1
¨ |aij | . Diese Aussage gilt durch die Aquivalenz der Normen (Satz
2.11) f¨ ur jede beliebige Norm.
20
2 Grundlagen der linearen Algebra
Folglich erhalten wir mit Satz 2.28 auch die Stetigkeit jeder Matrix A ∈ Cn×n . Definition 2.29 Eine komplexe Zahl λ ∈ C heißt Eigenwert der Matrix A ∈ Cn×n , falls ein Vektor x ∈ Cn \ {0} mit Ax = λx existiert. Der Vektor x heißt Eigenvektor zum Eigenwert λ . Die Menge
σ (A) = λ λ ist Eigenwert von A
wird als Spektrum von A bezeichnet. Die Zahl
ρ(A) = max |λ| λ ∈ σ (A)
heißt Spektralradius von A . Die Eigenwerte λ ∈ σ (A) stellen wegen (A − λI) x = 0 mit x ∈ Cn \ {0} die Nullstellen des charakteristischen Polynoms p(λ) = det (A − λI) dar. Da jedes Polynom u C nach dem Fundamentalsatz der Algebra in Linearfaktoren ¨ ber n zerf¨ allt, das heißt p(λ) = i=1 (λ − λi ) gilt, erhalten wir direkt σ (A) = ∅ f¨ ur alle A ∈ Cn×n . Der folgende Satz von Schur stellt das wesentliche Hilfsmittel zum Nachweis des Satzes 2.35 dar, wodurch in Kombination mit Satz 2.34 ein direkter Zusammenhang zwischen einer Norm und dem Spektralradius einer Matrix vorliegt. Diese Aussagen werden sich sp¨ ater bei der Konvergenzanalyse von Splitting-Methoden als entscheidend erweisen. Satz 2.30 Zu jeder Matrix A ∈ Cn×n (Rn×n mit σ (A) ⊂ R) existiert eine unit¨are (orthogonale) Matrix U ∈ Cn×n (Rn×n ) derart, daß U ∗ AU eine rechte obere Dreiecksmatrix darstellt. Beweis: Wir beschr¨ anken uns beim Beweis der Behauptung zun¨achst auf den komplexen Fall. Der Beweis wird mittels einer vollst¨ andigen Induktion gef¨ uhrt. F¨ ur n = 1 erf¨ ullt U = I die Behauptung. Sei die Behauptung f¨ ur j = 1, . . . ,n erf¨ ullt, dann w¨ahle ein λ ∈ σ(A) mit zugeh¨origem 1 ∈ Cn+1 \{0} . Durch Erweiterung von v 1 = v 1 / Eigenvektor v v1 2 durch v 2 , . . . ,v n+1 zu einer Orthonormalbasis des Cn+1 ergibt sich mit C(n+1)×(n+1) V = (v 1 . . . v n+1 )
2.2 Lineare Operatoren, Matrizen und Matrixnormen die Gleichung
21
V ∗ AV e1 = V ∗ Av 1 = V ∗ λv 1 = λe1 ,
wobei e1 = (1,0, . . . ,0)T ∈ Cn+1 gilt. Hiermit folgt ⎛ ⎞ ˜T λ a ⎜ 0 ⎟ ⎜ ⎟ ∈ Cn×n und a ˜ ∈ Cn . V ∗ AV = ⎜ . ⎟ mit A A ⎝ .. ⎠ 0 existiert laut Induktionsvoraussetzung eine unit¨are Matrix W ∈ Cn×n derart, Zu A ∗ W eine rechte obere Dreiecksmatrix darstellt. Mit W ist auch daß W A ⎞ ⎛ 1 0 ··· 0 ⎟ ⎜ 0 ⎟ ⎜ W =⎜ . ⎟ W ⎠ ⎝ .. 0 unit¨ ar und wir erhalten mit U := V W ∈ C(n+1)×(n+1) laut Lemma 2.27 eine unit¨are Matrix, f¨ ur die einfaches Nachrechnen zeigt, daß U ∗ AU eine rechte obere Dreicksmatrix darstellt. Im Fall einer regul¨ aren Matrix A ∈ R(n+1)×(n+1) erhalten wir wegen σ (A) ⊂ R zu 1 ∈ Cn+1 \ {0} zum Eigenwert λ ∈ R wegen v 1 = x 1 + i jedem Eigenvektor v y1 , n+1 1 , x y1 ∈ R aus y 1 = A v 1 = λ v 1 = λ x1 + iλ y1 A x1 + iA die Eigenschaft A x1 = λ x1 sowie A y 1 = λ y1 , 1 oder y 1 ein Eigenvektor aus Rn+1 \ {0} vorliegt. Unter Ber¨ so daß mit x ucksichtigung dieser Eigenschaft ergibt sich der Nachweis im Fall einer reellen Matrix analog zum obigen Vorgehen. Lemma 2.31 F¨ ur jede hermitesche Matrix A ∈ Cn×n gilt σ (A) ⊂ R . Beweis: Sei x ∈ Cn \ {0} Eigenvektor zum Eigenwert λ ∈ σ (A) . Dann folgt mit λ x 2 = λ(x,x)2 = (λx,x)2 = (Ax,x)2 = (x,Ax)2 = (x,λx)2 = λ(x,x)2 = λ x 2 ∈ R+ ∈ R+ direkt λ = λ und somit λ ∈ R . Als direkte Folgerung des letzten Satzes erhalten wir die anschließende Aussage f¨ ur hermitesche und wegen Lemma 2.31 somit auch f¨ ur symmetrische Matrizen. Korollar 2.32 Sei A ∈ Cn×n (Rn×n ) hermitesch (symmetrisch), dann existiert eine unit¨are (orthogonale) Matrix U ∈ Cn×n (Rn×n ) , derart, daß U ∗ AU = diag{λ1 , . . . ,λn } ∈ Rn×n gilt. Hierbei stellt f¨ ur i = 1, . . . ,n jeweils λi ∈ R den Eigenwert der Matrix A mit der i -ten Spalte von U als zugeh¨origen Eigenvektor dar.
22
2 Grundlagen der linearen Algebra
Satz 2.33 Sei A ∈ Cn×n , dann gilt
A 2 =
! ρ(A∗ A).
(2.2.3)
Beweis: Da A∗ A hermitesch ist, existiert laut Korollar 2.32 eine unit¨are Matrix U ∈ Cn×n , so daß U ∗ A∗ AU = diag{λ1 , . . . ,λn } ∈ Rn×n gilt. Jedes x ∈ Cn l¨aßt sich daher n unter Verwendung der Spalten u1 , . . . ,un der unit¨ aren Matrix U in der Form x = i=1 αi ui mit αi ∈ C darstellen und es gilt A∗ Ax =
n
λi αi ui .
i=1
Hiermit erhalten wir
Ax 22
= (Ax,Ax)2 = (x,A∗ Ax)2 n n n = αi ui , λi αi ui = (αi ui , λi αi ui )2 i=1
=
n
i=1
2
i=1
λi |αi |2
i=1
≤ ρ (A∗ A)
n
(2.2.4) |αi |2 = ρ (A∗ A) x 22 .
i=1
Hiermit erhalten wir
Ax 22 ≤ ρ (A∗ A) .
x 22
Die Gleichheit ergibt sich durch Betrachtung des Eigenvektors uj zum betragsgr¨oßten Eigenwert λj . Mit (2.2.4) folgt 0 ≤ Aui 22 = λi , i = 1, . . . ,n und somit erhalten wir
Auj 22 λj uj 22 = = λj = ρ (A∗ A) . 2
uj 2
uj 22 Aufgrund der Eigenschaft (2.2.3) wird A 2 auch als Spektralnorm der Matrix A bezeichnet.Die folgenden zwei S¨ atze sind von entscheidender Bedeutung f¨ ur die Konvergenzaussagen iterativer Verfahren, die auf einer Aufteilung der Matrix des Gleichungssystems beruhen. Satz 2.34 F¨ ur jede Matrix A ∈ C n×n gilt (a) ρ(A) ≤ A f¨ ur jede induzierte Matrixnorm, (b) A 2 = ρ(A) , falls A hermitesch ist.
2.2 Lineare Operatoren, Matrizen und Matrixnormen
23
Beweis: ur den Sei λ ∈ C der betragsgr¨ oßte Eigenwert von A zum Eigenvektor u ∈ Cn \ {0} f¨ o.B.d.A. u = 1 gilt. Dann folgt
A = sup Ax ≥ Au = |λ| u = |λ|, x=1
womit sich direkt ρ(A) ≤ A ergibt. Mit Korrollar 2.32 erhalten wir f¨ ur hermitesche Matrizen die Eigenschaft ρ(A2 ) = ρ(A)2 , so daß sich f¨ ur hermitesche Matrizen unter Verwendung des Satzes 2.33 ! !
A 2 = ρ(A∗ A) = ρ(A2 ) = ρ(A)2 = ρ(A) ergibt. Satz 2.35 Zu jeder Matrix A ∈ Cn×n und zu jedem ε > 0 existiert eine Norm auf Cn×n , so daß
A ≤ ρ(A) + ε gilt. Beweis: F¨ ur n = 1 ist die Aussage ebenso trivial wie daher n ≥ 2 und A ungleich der Nullmatrix. einer unit¨ aren Matrix U ∈ Cn×n mit ⎛ r11 ⎜ ∗ R = U AU = ⎝
f¨ ur jede Nullmatrix A ∈ Cn×n . Seien Der Satz von Schur liefert die Existenz ... .. .
⎞ r1n .. ⎟ , . ⎠ rnn
wobei λi = rii , i = 1, . . . ,n die Eigenwerte von A sind. Sei α := dann definieren wir zu gegebenem ε > 0 δ := min 1, Mit
⎛ ⎜ ⎜ D=⎜ ⎝
ε (n − 1)α
> 0.
(2.2.5)
⎞ ⎟ ⎟ ⎟ ⎠
δ . δ n−1
erhalten wir
⎛ ⎜ ⎜ ⎜ ⎜ −1 C := D RD = ⎜ ⎜ ⎜ ⎝
r11
δr12 .. .
|rik | > 0 ,
1 ..
max
i,k=1,...,n
. . . . . . δ n−1 r1n .. .. . . .. .. .. . . . .. . δrn−1,n rn,n
⎞ ⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎠
24
2 Grundlagen der linearen Algebra
Unter Verwendung der Definition (2.2.5) folgt
C ∞
≤
max |rii | + (n − 1)δα
i=1,...,n
= ρ(A) + (n − 1)δα ≤ ρ(A) + ε.
(2.2.6)
Da D und U regul¨ are Matrizen darstellen, ist durch
x := D−1 U −1 x ∞ eine Norm auf Cn gegeben. Sei y := D−1 U −1 x , dann folgt mit (2.2.6)
A = =
sup Ax =
x=1
sup y∞ =1
=
sup y∞ =1
sup D −1 U −1 x∞ =1
D−1 U −1 Ax ∞
D−1 U −1 AU Dy ∞
Cy ∞
= C ∞ ≤ ρ(A) + ε.
Mit den obigen beiden S¨ atzen ergibt sich somit stets f¨ ur alle Matrizen A und alle ε > 0 die Existenz einer Norm derart, daß ρ(A) ≤ A ≤ ρ(A) + ε gilt. Hierdurch k¨ onnen Konvergenzaussagen, die auf der Norm einer Matrix basieren und dabei unabh¨ angig von der speziellen Wahl der Norm sind, direkt auf den Spektralradius der Matrix u ¨ bertragen werden. Betrachten wir nun normale Matrizen, so werden diese teilweise auch u ¨ ber ihre Diagonalisierbarkeit mittels einer unit¨ aren Matrix definiert [23]. Die M¨oglichkeit einer solchen Definition normaler Matrizen wird durch den folgenden Satz nachgewiesen, der uns im weiteren auch eine spezielle Darstellung der Konditionszahl solcher Matrizen erm¨oglicht. Satz 2.36 Eine Matrix A ∈ Cn×n ist genau dann normal, wenn eine unit¨are Matrix U ∈ Cn×n existiert, so daß D = U ∗ AU eine Diagonalmatrix darstellt. Beweis: ⇒“ ” Mit Satz 2.30 existiert eine unit¨ are Matrix U derart, daß R = (rij )i,j=1,...,n = U ∗ AU eine rechte obere Dreiecksmatrix darstellt. Mit R∗ R = U ∗ A∗ U U ∗ AU = U ∗ A∗ AU = U ∗ AA∗ U = U ∗ AU U ∗ A∗ U = RR∗ ist R ebenfalls normal. F¨ ur die Diagonalelemente der Matrix B = (bij )i,j=1,...,n = R∗ R = RR∗ gilt
2.3 Konditionszahl und singul¨ are Werte i j=1
|rji | = bii = 2
25 n
|rij |2 .
j=i
Eine sukzessive Auswertung dieser Gleichung f¨ ur i = 1, . . . ,n liefert rij = 0 f¨ ur alle i = j . Somit stellt D = R die gesuchte Diagonalmatrix dar. ⇐“ ” ar mit D = diag{d11 , . . . ,dnn } = U ∗ AU , dann folgt Sei U ∈ Cn×n unit¨ A∗ A = U D ∗ DU ∗ = U DD∗ U ∗ = AA∗ .
2.3
Konditionszahl und singul¨ are Werte
Neben dem Spektralradius stellt auch die Konditionszahl einer Matrix eine interessante Gr¨ oße dar, mit der Fehlereinfl¨ usse wie auch Konvergenzgeschwindigkeiten iterativer Methoden abgesch¨ atzt werden k¨ onnen. Wir werden daher in diesem Abschnitt den Begriff der Konditionszahl einf¨ uhren und seine Bedeutung hinsichtlich der L¨osung linearer Gleichungssysteme studieren. Es wird sich dabei zeigen, daß sich die bez¨ uglich der Spektralnorm gebildete Konditionszahl einer normalen Matrix A ∈ Rn×n durch deren Eigenwerte darstellen l¨ aßt. Im allgemeinen Fall einer regul¨aren Matrix muß hierzu ihre Singul¨ arwertverteilung betrachtet werden. ar, dann heißt Definition 2.37 Sei A ∈ Cn×n regul¨ conda (A) := A a A−1 a die Konditionszahl der Matrix A bez¨ uglich der induzierten Matrixnorm . a . Es ist leicht ersichtlich, daß die Konditionszahl einer regul¨aren Matrix unabh¨angig von der zugrundeliegenden induzierten Matrixnorm nach unten beschr¨ankt ist. Den mathematischen Nachweis hierzu liefert das folgende Lemma. Lemma 2.38 Sei A ∈ Cn×n regul¨ar, dann gilt cond(A) ≥ cond(I) = 1 f¨ ur cond(A) = A A−1 mit einer induzierten Matrixnorm . . Beweis: Der Nachweis ergibt sich direkt aus der folgenden Ungleichung cond(I) = I
I −1 = 1 = I = AA−1
Satz 2.17
≤
A
A−1 = cond(A).
26
2 Grundlagen der linearen Algebra
Die Relevanz der Konditionszahl hinsichtlich der iterativen L¨osung linearer Gleichungssysteme werden wir nun anhand zweier S¨ atze verdeutlichen. In praktischen Anwendungen ur die G¨ ute der ist es u ¨blich, die Norm des Residuenvektors rm = b − Axm als Maß f¨ vorliegenden N¨ aherungsl¨ osung innerhalb eines Iterationsverfahrens zu verwenden, da der Fehlervektor em = A−1 b − xm aufgrund der Unkenntnis u ¨ber die wahre L¨osung nicht zur Verf¨ ugung steht. Ein Grund hierf¨ ur liegt in der Eigenschaft, daß das Residuum analog zum Fehler genau dann identisch verschwindet, wenn die Iterierte mit der exakten L¨osung u ur eine kleine Konditionszahl der Matrix des ¨ bereinstimmt. Es wird sich zeigen, daß f¨ linearen Gleichungssystems eine Konvergenzabsch¨atzung auf der Basis des Residuums sinnvoll ist. Liegt jedoch eine große Konditionszahl vor, so kann trotz Verringerung des Residuums eine deutlich anwachsende Fehlernorm vorliegen. Satz 2.39 Gegeben sei ein Iterationsverfahren zur L¨osung von Ax = b mit einer regul¨aren Matrix A . Es bezeichne ek = A−1 b − xk den Fehlervektor und r k = b − Axk den Residuenvektor des k-ten Iterationschritts, dann gilt
ek
rk 1
ek
rk ≤ ≤ cond(A) ≤ cond(A)2 . cond(A) r0
e0
r0
e0
(2.3.1)
Beweis: Mit
rk = b − A xk = A ek ≤ A ek und
ek = A−1 b − xk ≤ A−1 b − Axk = A−1 rk
ergibt sich der erste Teil der Behauptung aus 1
rk 1 1
rk
ek
rk 1 Aek = ≤ ≤ . = −1 −1 cond(A) r0
A A r0
A e0
e0
A A r0 Die weiteren Ungleichungen folgen analog. Dem obigen Satz k¨ onnen wir entnehmen, daß im Fall einer orthogonalen Matrix A stets
ek 2
rk 2 =
e0 2
r0 2 gilt, wodurch eine direkte Konvergenzanalyse auf der Grundlage des Residuums durchgef¨ uhrt werden kann. Meßdaten aus physikalischen Experimenten weisen in nat¨ urlicher Weise Ungenauigkeiten auf. Die Auswirkung solcher oder anderer fehlerhafter Eingangsdaten auf die L¨osung k¨ onnen ebenfalls unter Verwendung der Konditionszahl der Matrix abgesch¨atzt werden. Auch hierbei erweist sich eine kleine Konditionszahl als vorteilhaft, da sich hier kleine relative Fehler in den Daten b auch nur als kleine relative Fehler in den L¨osungen x bemerkbar machen. Satz 2.40 Seien A regul¨ar, x die L¨osung des Gleichungssystems Ax = b und x+∆x die L¨osung von A(x + ∆x) = b + ∆b, dann gilt
∆b
∆x ≤ cond(A) .
x
b
2.3 Konditionszahl und singul¨ are Werte
27
Beweis: Aufgrund der Linearit¨ at von A folgt ∆b = (b + ∆b) − b = A(x + ∆x) − Ax = A(∆x). Hiermit erhalten wir
∆x = A−1 (∆b) ≤ A−1 ∆b ,
so daß mit
b = Ax ≤ A x die behauptete Ungleichung mit
∆x
A−1
∆b
∆b ≤ = cond(A)
x
A −1 b
b folgt. Liegt ein Gleichungssystem vor, bei dem die Matrix eine sehr große Konditionszahl besitzt, dann erweist es sich aufgrund der S¨ atze 2.39 und 2.40 als sinnvoll, zun¨achst eine ˜ mit cond(A) = b cond(A) vorUmformulierung auf ein ¨ aquivalentes System Ax zunehmen und anschließend ein Iterationsverfahren auf das transformierte System anzuwenden. Eine ¨ aquivalente Umformulierung kann zum Beispiel durch Multiplikation mit einer regul¨ aren Matrix P gem¨ aß Lemma 2.24 durchgef¨ uhrt werden. Hierbei stellt sich die Frage nach der Wahl der Matrix P . Die Matrix sollte aus Rechenzeitgr¨ unden einfach berechenbar sein und aus Effektivit¨ atsgr¨ unden eine m¨oglichst gute Approximation der Inversen der Matrix A repr¨ asentieren, so daß cond(P A) cond(A) gilt. Solche ¨aquivalenten Transformationen werden als Pr¨ akonditionierungen bezeichnet und ausf¨ uhrlich im Kapitel 5 untersucht. Es sei an dieser Stelle bereits erw¨ahnt, daß die Stabilisierung numerischer Verfahren zwar einen Grund zur Nutzung einer Pr¨akonditionierung darstellt, die wesentliche Zielsetzung derartiger Techniken allerdings in der Beschleunigung iterativer Verfahren liegt. Der folgende Abschnitt liefert eine Darstellung der durch die Spektralnorm gegebenen Konditionszahl einer regul¨ aren Matrix A mittels ihrer singul¨aren Werte beziehungsweise ihrer Eigenwerte. Die Konditionszahlen hinsichtlich der Zeilen- respektive Spaltensummennorm kann anschließend u ¨ber cond2 (A) abgesch¨atzt werden. Satz und Definition 2.41 F¨ ur jede regul¨are Matrix A ∈ Rn×n existieren orthogonale n×n Matrizen U ,V ∈ R derart, daß U T AV = diag{σ1 , . . . ,σn }
(2.3.2)
uhrten reellen Zahlen σi ( i = 1, . . . ,n ) heißen mit 0 < σ1 ≤ . . . ≤ σn gilt. Die aufgef¨ singul¨are Werte der Matrix A und gen¨ ugen jeweils der Gleichung det AT A − σi2 I = 0. (2.3.3) Die i -te Spalte von U bzw. V heißt i -ter Links- bzw. Rechtssingul¨arvektor der Matrix A.
28
2 Grundlagen der linearen Algebra
Beweis: Da A regul¨ ar ist, liegt mit AT A eine symmetrische, positiv definite Matrix vor. Somit existiert laut Korollar 2.32 eine orthogonale Matrix V ∈ Rn×n derart, daß V T AT AV = diag{λ1 , . . . ,λn } √ mit 0 0 gibt, so Konditionszahlen conda und condb ¨ daß α condb (A) ≤ conda (A) ≤ β condb (A) (2.3.6) f¨ ur alle regul¨ aren A ∈ Rn×n gilt. Als direkte Folgerung aus den Matrix- respektive Vektornorm¨aquivalenzen erhalten wir f¨ ur jede regul¨ are Matrix A ∈ Rn die Ungleichungen 1 cond2 (A) ≤ cond1 (A) ≤ n cond2 (A), n 1 cond∞ (A) ≤ cond2 (A) ≤ n cond∞ (A) n
(2.3.7) (2.3.8)
und 1 cond1 (A) ≤ cond∞ (A) ≤ n2 cond1 (A). n2
2.4
(2.3.9)
Der Banachsche Fixpunktsatz
Viele Iterationsverfahren zur L¨ osung eines linearen Gleichungssystems Ax = b lassen sich in der Form ur n = 0,1,2, . . . (2.4.1) xn+1 = F (xn ) f¨ schreiben, wobei F eine Abbildung der betrachteten Grundmenge in sich darstellt. Die durch die Vorgehensweise (2.4.1) gesuchte L¨ osung muß hierbei einen Fixpunkt der Abbildung F darstellen. Die Iterationsvorschrift (2.4.1) wird daher auch als Fixpunktiteration bezeichnet. F¨ ur diese Verfahrensklasse liefert der Banachsche Fixpunktsatz Aussagen zur Existenz und Eindeutigkeit eines Fixpunktes sowie eine a priori und eine a posteriori Fehlerabsch¨ atzung. Zun¨ achst f¨ uhren wir die hierzu notwendigen Begriffe des Fixpunktes und der Kontraktionszahl ein.
30
2 Grundlagen der linearen Algebra
Definition 2.45 Ein Element x einer Menge D ⊂ X heißt Fixpunkt eines Operators F : D ⊂ X → X , falls F (x) = x gilt. Definition 2.46 Sei X ein normierter Raum. Ein Operator F :D⊂X→X heißt kontrahierend, wenn eine Zahl 0 ≤ q < 1 mit
F (x) − F (y) ≤ q x − y ∀x,y ∈ D existiert. Die Zahl q heißt Kontraktionszahl des Operators F . Satz 2.47 Kontrahierende Operatoren sind stetig und besitzen h¨ochstens einen Fixpunkt. Beweis: Wir betrachten zun¨ achst die Stetigkeit des Operators. Seien X ein normierter Raum, F : D ⊂ X → X ein kontrahierender Operator und {xn }n∈N eine Folge aus D mit ur n → ∞ , dann folgt mit xn → x ∈ D f¨ ur n → ∞ 0 ≤ F (xn ) − F (x) ≤ q xn − x → 0 f¨ die Stetigkeit des Operators F . Seien x,y ∈ D Fixpunkte von F , dann erhalten wir
x − y = F (x) − F (y) ≤ q x − y , so daß mit (1 − q) x − y ≤ 0 >0
≥0
die Gleichung x − y = 0 und somit x = y folgt. Satz 2.48 (Banachscher Fixpunktsatz) Sei D eine vollst¨andige Teilmenge eines normierten Raumes X und F :D→D ein kontrahierender Operator, dann existiert genau ein Fixpunkt x ∈ D von F , und die durch ur n = 0,1,2 . . . xn+1 = F (xn ) f¨ gegebene Folge konvergiert f¨ ur jeden Startwert x0 ∈ D gegen x . Es gelten zudem die a priori Fehlerabsch¨atzung qn
x1 − x0
xn − x ≤ 1−q und die a posteriori Fehlerabsch¨atzung q
xn − xn−1 ,
xn − x ≤ 1−q wobei q die Kontraktionszahl des Operators repr¨asentiert.
2.4 Der Banachsche Fixpunktsatz
31
Beweis: Mit x0 ∈ D ist xn+1 = F (xn ) , n = 0,1, . . . wegen F : D → D wohldefiniert. Es gilt
xn+1 − xn ≤ q xn − xn−1 ≤ . . . ≤ q n x1 − x0 .
(2.4.2)
Sei m > n , dann folgt
xn − xm
≤ (2.4.2)
xn − xn+1 + xn+1 − xn+2 + . . . + xm−1 − xm
≤
(q n + . . . + q m−1 ) x1 − x0
≤
qn
∞
q i x1 − x0
i=0
=
qn
x1 − x0 . 1−q
(2.4.3)
Wegen |q| < 1 erhalten wir
xn − xm → 0 f¨ ur n → ∞, so daß mit {xn }n∈N eine Cauchy-Folge vorliegt. Aufgrund der Vollst¨andigkeit der Teilmenge D existiert ein x ∈ D mit xn → x , f¨ ur n → ∞ . Mit Satz 2.47 = F lim xn−1 = F (x) x = lim xn = lim F (xn−1 ) n→∞
n→∞
n→∞
ist x ein Fixpunkt von F , der nach Satz 2.47 eindeutig bestimmt ist. Aus der Gleichung (2.4.3) erhalten wir die a priori Fehlerabsch¨atzung
xn − x = lim xn − xm m→∞
(2.4.3)
≤
qn
x1 − x0 . 1−q
Aus
xn − x = F (xn−1 ) − F (xn ) + F (xn ) − F (x) ≤ F (xn−1 ) − F (xn ) + F (xn ) − F (x) ≤ q xn−1 − xn + q xn − x ergibt sich durch einfache Umformulierung die behauptete a posteriori Fehlerabsch¨atzung q
xn−1 − xn .
xn − x ≤ 1−q
Beispiel 2.49 Gesucht sei ein x ∈ R mit x = 1 − sin x . Wir betrachten mit D = [ε,1] , 0 < ε ≤ 1 − sin 1 < 1 , eine bez¨ uglich der Norm x = |x| vollst¨andige Teilmenge des R und haben mit f (x) = 1 − sin x eine beliebig oft stetig differenzierbare Funktion vorliegen, die zudem f : D → D und |f (x) − f (y)| ≤ q|x − y| mit der Kontraktionszahl ullt. Somit besitzt f (x) genau einen Fixpunkt x ∈ D q = max |f (x)| = | cos ε| < 1 erf¨ x∈D
und die Iteration
32
2 Grundlagen der linearen Algebra y 1
g(x) = x f(x) = 1 - sin x
0.5
0.5
Bild 2.1
1
1.5
x
Iterationsverlauf f¨ ur f (x) = 1 − sin x mit x0 = 0.25 .
xn+1 = f (xn ) konvergiert f¨ ur alle x0 ∈ D gegen x . Die folgende Skizze verdeutlicht geometrisch den Verlauf der Iteration f¨ ur x0 = 0.25 .
2.5
¨ Ubungsaufgaben
Aufgabe 1: Gegeben sei ein lineares Gleichungssystem Ax = b (1). Zeigen Sie, dass die Operationen (a) Multiplikation einer Gleichung in (1) mit einer komplexen Zahl (= 0) , (b) Vertauschen zweier Gleichungen in (1) (c) Addition der j -ten Gleichung aus (1) zur i -ten Gleichung in (1), stets ein zu (1) ¨ aquivalentes Gleichungssystem liefern. Hinweis: Dr¨ ucken Sie alle obigen Operationen durch eine Matrixmultiplikation aus und nutzen Sie Lemma 2.24. Aufgabe 2: Sei A = (aij )i,j=1,...,n ∈ Rn×n eine symmetrische und positiv definite Matrix. Zeigen Sie: (a) aii > 0, i = 1, . . . ,n , (b)
max
i,j=1,...,n
|aij | = max |aii | . i=1,...,n
Aufgabe 3: Beweisen Sie die Aussage: Ist A ∈ Rn×n eine symmetrische, streng diagonal dominante Matrix mit positiven Diagonalelementen, dann ist A positiv definit.
¨ 2.5 Ubungsaufgaben
33
Aufgabe 4: Es sei A ∈ Cn×n . Zeigen Sie: Aj → 0, j → ∞ Aufgabe 5: Sei
A =
⇐⇒
0.78 0.563 0.913 0.659
ρ(A) < 1.
.
Berechnen Sie cond∞ (A) = A ∞ A−1 ∞ . Aufgabe 6: ar und U ∈ Cn×n unit¨ ar. Zeigen Sie: Sei A ∈ Cn×n regul¨ cond2 (AU ) = cond2 (A) = cond2 (U A). Aufgabe 7: (a) Es sei
A =
1 2
100
0
1 4
gegeben. Bestimmen Sie ρ(A) , A ∞ , A 1 , A F . ur die Vektornormen . ∞ , . 1 , . 2 (b) Skizzieren Sie die Einheitskugeln im R2 f¨ ¨ und bestimmen Sie die besten Aquivalenzkonstanten f¨ ur diese drei Normen im Rn . Aufgabe 8: Es sei X ein Banachraum und A : X → X ein Operator, dessen Potenz Am f¨ ur ein m ∈ N ein kontrahierender Operator ist. Beweisen Sie, dass genau ein Fixpunkt x von A existiert und dass die durch die Iterationsvorschrift xn
= Axn−1 , n = 1,2, . . .
x0
∈
X
beliebig
erzeugte Folge {xn }n∈N gegen x konvergiert. Aufgabe 9: Sei . eine beliebige induzierte Matrixnorm auf Cn×n . Zeigen Sie: Es gilt ρ(A) = lim Ak 1/k k→∞
f¨ ur alle A ∈ Cn×n . Aufgabe 10: Zeigen Sie, dass der Spektralradius keine Norm auf dem Rn×n definiert. Wie sieht es der symmetrischen, reellen n × n -Matrizen aus? mit dem Raum Rn×n Symm Aufgabe 11: Gegeben sei die Funktion f mit f (x) = 0.5 + sin x − 2x.
34
2 Grundlagen der linearen Algebra
(a) Man zeige, dass f genau eine Nullstellen besitzt. (b) Man berechne die Nullstelle von f mit Hilfe des Fixpunktverfahrens, wobei die Voraussetzungen des Banachschen Fixpunktsatzes jeweils zu u ufen sind. ¨berpr¨ uhre man eine a priori und eine a posteriori (c) F¨ ur die berechnete N¨ aherung x5 f¨ Fehlerabsch¨atzung durch. Hinweis: Eine einfache Funktionsabtastung zeigt, dass sich die Nullstelle im Intervall [0.4, 0.5] befindet. Aufgabe 12: Gegeben sei die Funktion f mit f (x) =
x − 2 − 3 ln x. 4
(a) Man zeige, dass f genau zwei Nullstellen besitzt. (b) Man berechne die beiden Nullstellen von f mit Hilfe des Fixpunktverfahrens, wobei die Voraussetzungen des Banachschen Fixpunktsatzes jeweils zu u ufen sind. ¨ berpr¨ uhre man jeweils eine a priori und eine a poste(c) F¨ ur die berechnete N¨ aherung x5 f¨ riori Fehlerabsch¨ atzung durch. Hinweis: Eine einfache Funktionsabtastung zeigt, dass sich die Nullstellen im Intervall [0.5, 0.6] sowie im Intervall [56, 57] befinden. Aufgabe 13: Susanne und Frank machen ein Physik-Experiment. Sie versuchen die Parameter x1 und x2 zu bestimmen und kennen die funktionale Beziehung
6 3 1 2
x=
a 1
.
Die beiden f¨ uhren einen Versuch durch und messen a = 1 . Als erfahrene Experimentatoren wissen Sie, dass in Experimenten immer Fehler auftauchen, haben jedoch keine Zeit, den Versuch zu wiederholen. Sch¨ atzen Sie f¨ ur Susanne und Frank in Abh¨ angigkeit vom unbekannten Messfehler den relativen Fehler ∆x / x in der ∞ -Norm nach oben ab. Aufgabe 14: Berechnen Sie die Kondition der 3 × 3 Hilbert-Matrix ⎛ ⎞ 1 1/2 1/3 A = ⎝ 1/2 1/3 1/4 ⎠ 1/3 1/4 1/5 in der ∞ - und der 1 -Norm. Wenn Sie wollen, u ufen Sie ihr Ergebnis mit MATLAB. ¨berpr¨ Nutzen Sie hierzu die Befehle cond(A,1) bzw. cond(A,inf) f¨ ur die Konditionszahlen. Eine n × n Hilbert-Matrix wird mittels hilb(n) erzeugt.
¨ 2.5 Ubungsaufgaben
35
Aufgabe 15: Gesucht sind die L¨ osungen des nichtlinearen Gleichungssystems x2 + y 2 + y2
1 2 16 x
= 4, = 1.
(a) Fertigen Sie eine Skizze an, die die Lage der L¨osungen verdeutlicht. Bestimmen Sie f¨ ur den 1 . Quadranten einen guten ganzzahligen Startwert (x0 ,y0 ) . (b) Gesucht ist die L¨ osung im ersten Quadranten. Geben Sie eine geeignete Fixpunktgleichung an und weisen Sie hierf¨ ur die Voraussetzungen des Fixpunktsatzes von Banach nach.
36
3
Direkte Verfahren
Unter einem direkten Verfahren zur L¨ osung eines linearen Gleichungssystems versteht man eine Rechenvorschrift, die unter Vernachl¨ assigung von Rundungsfehlern die exakte L¨ osung in endlich vielen Schritten ermittelt. Direkte Verfahren werden heutzutage nur selten zur unmittelbaren L¨ osung großer linearer Gleichungssysteme verwendet. Sie werden jedoch h¨ aufig in einer unvollst¨ andigen Form als Vorkonditionierer innerhalb iterativer Methoden genutzt und zur L¨ osung von Subproblemen eingesetzt.
3.1
Gauß-Elimination
Die Grundidee des Gaußschen Eliminationsverfahrens liegt in einer sukzessiven Transformation des Systems Ax = b in ein ¨ aquivalentes System der Form LRx = b mit einer rechten oberen Dreiecksmatrix R und einer linken unteren Dreiecksmatrix L , das durch einfaches Vorw¨ arts- und anschließendes R¨ uckw¨artseinsetzen gel¨ost werden ˜= kann. Hierbei wird in der u ¨blichen Formulierung des Verfahrens die Multiplikation b −1 L b simultan mit der Berechnung der Matrix R durchgef¨ uhrt. Wir bezeichnen im folgenden mit ⎛ ⎞ 1 ⎜ ⎟ .. ⎜ ⎟ . ⎜ ⎟ ⎜ ⎟ 1 ⎜ ⎟ ⎜ ⎟ ← k-te Zeile 0 ... ... ... 1 ⎜ ⎟ ⎜ ⎟ .. .. ⎜ ⎟ . 1 . ⎜ ⎟ ⎜ ⎟ . . . .. .. .. P kj = ⎜ (3.1.1) ⎟ ⎜ ⎟ ⎜ ⎟ .. . ⎜ ⎟ . 1 .. ⎜ ⎟ ⎜ ⎟ ← j-te Zeile 1 ... ... ... 0 ⎜ ⎟ ⎜ ⎟ 1 ⎜ ⎟ ⎜ ⎟ .. ⎝ ⎠ . 1 stets eine Permutationsmatrix, die aus der Einheitsmatrix I durch Vertauschung der j ten mit der k -ten Zeile (j ≥ k) hervorgegangen ist. F¨ ur k = j gilt hierbei P kj = I . Wir werden im weiteren die Matrix L durch eine multiplikative Verkn¨ upfung von Matrizen der Form
3.1 Gauß-Elimination
37 ⎛
⎜ ⎜ ⎜ ⎜ ⎜ Lk = ⎜ ⎜ ⎜ ⎜ ⎝
⎞
1 ..
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
. 1 −k+1,k .. .
..
. ..
−n,k
.
(3.1.2)
1
darstellen. Derartige Matrizen, die sich h¨ ochstens in einer Spalte von der Einheitsmatrix unterscheiden, werden als Frobeniusmatrizen bezeichnet. Definition 3.1 Die Zerlegung einer Matrix A ∈ Rn×n in ein Produkt A = LR aus einer linken unteren Dreiecksmatrix L ∈ Rn×n und einer rechten oberen Dreiecksmatrix R ∈ Rn×n heißt LR-Zerlegung. In der Literatur wird die LR-Zerlegung auch oft als LU-Zerlegung (lower, upper) bezeichnet. Speziell bei unvollst¨ andigen Zerlegungen, wie sie im Kapitel 5 beschrieben werden, ist der Begriff der unvollst¨ andigen LU-Zerlegung anstelle der unvollst¨andigen LR-Zerlegung g¨angig. Mit Hilfe der Matrizen (3.1.1) und (3.1.2) l¨ aßt sich der zentrale Teil des Gaußschen Eliminationsverfahrens wie folgt formulieren: Algorithmus Gauß-Elimination I —
A(1) := A F¨ ur k = 1, . . . ,n − 1 (k)
W¨ ahle aus der k -ten Spalte von A(k) ein beliebiges Element ajk = 0 mit j ≥ k . Definiere P kj mit obigem j und k gem¨aß (3.1.1). (k) := P kj A(k) A (k)
(k)
Definiere Lk gem¨ aß (3.1.2) mit lik = aik / akk , i = k + 1, . . . ,n . (k) A(k+1) := Lk A
38
3 Direkte Verfahren
Mit A(n) liegt hierdurch die rechte obere Dreiecksmatrix R vor, die wie bereits beschrieben zur einfachen L¨ osung des linearen Gleichungssystems verwendet wird. Allgemein enth¨ alt A(i) durch die spezielle Konstruktion der Matrizen Lk , k = 1, . . . ,i − 1 bis einschließlich zur ( i − 1 )-ten Spalte unterhalb der Diagonalen ausschließlich Nullelemente. Wir wenden uns jetzt der Frage nach der Existenz und Eindeutigkeit von LR-Zerlegungen zu. Einfache Beispiele wie die Matrix 0 1 A= 1 1 zeigen, daß nicht jede regul¨ are Matrix notwendigerweise eine LR-Zerlegung besitzt. Analog ist auch der Nachweis der Eindeutigkeit der LR-Zerlegungen nur unter einer zus¨atzlichen Bedingung an eine der beiden Dreiecksmatrizen m¨oglich. Bevor wir uns mit den eigentlichen Existenz- und Eindeutigkeitsaussagen besch¨aftigen, ist es sinnvoll, zun¨achst die Begriffe der Hauptabschnittsmatrix und -determinante einzuf¨ uhren und einige hilfreiche Lemmata zu beweisen. Definition 3.2 Sei A ∈ Rn×n gegeben, dann heißt ⎛ ⎞ a11 . . . a1k ⎜ ⎟ ⎜ .. ⎟ ∈ Rk×k f¨ .. A[k] := ⎜ ... ur k ∈ {1, . . . ,n} . . ⎟ ⎝ ⎠ ak1
. . . akk
die f¨ uhrende k × k -Hauptabschnittsmatrix von A und det A[k] die f¨ uhrende k × k Hauptabschnittsdeterminante von A . Lemma 3.3 Seien i = (0, . . . ,0,i+1,i , . . . ,n,i )T ∈ Rn und ei ∈ Rn der i -te Einheitsvektor, dann gilt f¨ ur Li = I − i eTi ∈ Rn×n (a) L−1 = I + i eTi . i −1 −1 (b) L−1 1 L2 . . . Lk = I +
k i=1
i eTi f¨ ur k = 1, . . . ,n − 1 .
Beweis: Zu (a) : Da Li eine untere Dreiecksmatrix mit Einheitsdiagonale darstellt, existiert genau eine −1 Matrix L−1 mit L−1 = I . Hieraus folgt die Behauptung (a) durch i i Li = Li Li (I − i eTi )(I + i eTi ) = I − i eTi + i eTi − i eTi i eTi = I. =0 =0
Zu (b) : Wir f¨ uhren den Beweis durch Induktion u ur k = 1 liefert (a) die Behauptung. ¨ ber k . F¨ Gelte die Aussage f¨ ur j = 1, . . . ,k < n − 1 , dann folgt
3.1 Gauß-Elimination
39
−1 −1 L−1 1 . . . Lk Lk+1
=
k I + k+1 eTk+1 I+ i eTi i=1
= I + k+1 eTk+1 + = I+
k+1 i=1
k i=1
i eTi +
k i=1
i eTi k+1 eTk+1 =0
i eTi .
Lemma 3.4 Sei L ∈ Rn×n eine regul¨are linke untere Dreiecksmatrix, dann stellt auch ur regul¨are rechte obere DreiecksL−1 ∈ Rn×n eine linke untere Dreiecksmatrix dar. F¨ matrizen R ∈ Rn×n gilt die analoge Aussage. Beweis: Definieren wir D = diag {11 , . . . ,nn } mittels der Diagonaleintr¨age der Matrix L , dann gilt det D = 0 und := D−1 L L stellt laut Lemma 2.26 ebenfalls eine untere Dreiecksmatrix dar, die zudem eine Einheitsn−1 ˜ die Form L = I + ˜i eT mit diagonale besitzt. Somit hat L i i=1
˜i = (0, . . . ,0,˜i+1,i , . . . ,˜n,i )T i = I + ˜i eT ( i = 1, . . . ,n − 1 ) als ein und kann unter Verwendung der Matrizen L i Produkt n−1 =L 1 · . . . · L L −1 = L −1 −1 mit L −1 dargestellt werden. F¨ ur die Inverse ergibt sich L = I − ˜i eTi n−1 ·. . .· L1 i −1 ( i = 1, . . . ,n − 1 ) laut Lemma 3.3. Die Matrix L l¨aßt sich folglich als Produkt unterer −1 −1 −1 Dreiecksmatrizen in der Form L = Ln−1 · . . . · L1 D−1 schreiben und stellt somit nach Lemma 2.26 ebenfalls eine linke untere Dreiecksmatrix dar. Mit RT (R−1 )T = (R−1 R)T = I = RT (RT )−1 folgt (RT )−1 = (R−1 )T . Unter Verwendung des obigen Beweisteils stellt mit L = RT auch L−1 = (RT )−1 eine linke T untere Dreiecksmatrix dar, wodurch R−1 = (RT )−1 eine rechte obere Dreiecksmatrix repr¨ asentiert. Lemma 3.5 Sei A = (aij )i,j=1,...,n ∈ Rn×n und sei L = (ij )i,j=1,...,n ∈ Rn×n eine untere Dreiecksmatrix, dann gilt (LA) [k] = L[k]A[k] f¨ ur k = 1, . . . ,n. Beweis: ur m > k ≥ i Sei k ∈ {1, . . . ,n} . F¨ ur i,j ∈ {1, . . . ,k} folgt mit im = 0 f¨ ((LA)[k])ij =
n
m=1
im amj =
k
m=1
im amj +
n
im amj =
m=k+1
k
m=1
im amj = (L[k]A[k])ij .
40
3 Direkte Verfahren
Satz 3.6 (Existenz einer LR -Zerlegung I) Sei A ∈ Rn×n eine regul¨are Matrix, dann existiert eine Permutationsmatrix P ∈ Rn×n derart, daß P A eine LR-Zerlegung besitzt. Beweis: F¨ ur alle im Algorithmus I berechneten Matrizen A(k) gilt (k)
ai = 0 f¨ ur
= 1, . . . ,k − 1, i > .
(3.1.3)
ur alle = 1, . . . ,k − 1 , j ≥ gilt, folgt Da det L = 0 = det P ,j f¨ det A(k) = det Lk−1 P k−1,jk−1 . . . L1 P 1,j1 A = 0. (k)
Somit existiert ein i ∈ {k, . . . ,n} mit aik = 0 und der Algorithmus I bricht nicht vor der Berechnung von A(n) ab. Zudem stellt R := A(n) = Ln−1 P n−1,jn−1 . . . L1 P 1,j1 A
(3.1.4)
mit (3.1.3) eine obere Dreiecksmatrix dar. Alle Li lassen sich hierbei in der Form Li = I − i eTi , i = (0, . . . ,0,i+1,i , . . . ,n,i )T schreiben, und es gilt ur alle i < k ≤ jk . P k,jk ei = ei sowie P k,jk i = ˆi = (0, . . . ,0,ˆi+1,i , . . . ,ˆn,i )T f¨ ucksichtigung von P k,jk = P Tk,jk die Gleichung F¨ ur i < k ≤ jk folgt hiermit unter Ber¨ P k,jk Li
= P k,jk (I − i eTi ) = P k,jk − ˆi eTi " i P k,j = P k,jk − ˆi (P k,jk ei )T = P k,jk − ˆi eTi P k,jk = L k
" i = I − ˆi eT . Die Verwendung der Gleichung (3.1.4) mit einer unteren Dreiecksmatrix L i liefert " n−2 . . . L " 1 P n−1,jn−1 . . . P 1,j1 A R = Ln−1 L e L:=
P :=
eine untere Dreiecksmatrix darstellt, folgt mit mit einer Permutationsmatrix P . Da L Lemma 3.4, daß −1 L := L eine untere Dreiecksmatrix repr¨ asentiert und es ergibt sich die behauptete Darstellung LR = P A.
Satz 3.7 (Existenz einer LR -Zerlegung II) Sei A ∈ Rn×n regul¨ar, dann besitzt A genau dann eine LR-Zerlegung, wenn det A[k] = 0 gilt.
∀k = 1, . . . ,n
3.1 Gauß-Elimination
41
Beweis: ⇒ “: Gelte A = LR . ” Aufgrund der Regularit¨ at der Matrix A liefert der Determinantenmultiplikationssatz det L[n] · det R[n] = det A[n] = 0 und folglich det L[n] = 0 = det R[n]. Da L und R Dreiecksmatrizen repr¨ asentieren, folgt hierdurch det L[k] = 0 = det R[k] f¨ ur k = 1, . . . ,n und es ergibt sich mit Lemma 3.5 det A[k] = det(LR)[k] = det L[k] · det R[k] = 0. ⇐ “: Gelte det A[k] = 0 f¨ ur alle k = 1, . . . ,n . ” A besitzt eine LR-Zerlegung, falls Algorithmus I mit P kk = I , k = 1, . . . ,n − 1 durch(k) ur k = 1, . . . ,n − 1 gilt. gef¨ uhrt werden kann, das heißt, wenn akk = 0 f¨ (1)
F¨ ur k = 1 gilt a11 = det A[k] = 0 , wodurch P 11 = I w¨ahlbar ist. (k)
Sei akk = 0 f¨ ur k < n − 1 , dann folgt A(k+1) = Lk . . . L1 A, und wir erhalten wiederum mit Lemma 3.5 det A(k+1) [k + 1] = det Lk [k + 1] · . . . · det L1 [k + 1] · det A[k + 1] = 0. Da A(k+1) [k + 1] eine obere Dreiecksmatrix darstellt, folgt (k+1)
ak+1,k+1 = 0.
Satz 3.8 (Eindeutigkeit der LR -Zerlegung) ur k = 1, . . . ,n , dann existiert genau eine Sei A ∈ Rn×n regul¨ar mit det A[k] = 0 f¨ LR-Zerlegung von A derart, daß L eine Einheitsdiagonale besitzt. Beweis: Mit Satz 3.7 existiert mindestens eine LR-Zerlegung der Matrix A . Seien zwei LRZerlegungen der Matrix A durch L1 R1 = A = L2 R2 gegeben, wobei L1 und L2 Einheitsdiagonalen besitzen, dann folgt −1 R2 R−1 1 = L2 L1 .
Mit Lemma 2.26 und Lemma 3.4 ist somit L−1 2 L1 zugleich eine linke untere und rechte obere Dreiecksmatrix, die eine Einheitsdiagonale besitzt. Folglich gilt L−1 2 L1 = I
42
3 Direkte Verfahren
und wir erhalten L1 = L2 und R1 = R2 .
Bemerkung: Ohne die Forderung, daß L eine Einheitsdiagonale besitzt, folgt L1 = L2 D, R1 = D−1 R2 mit einer regul¨ aren Diagonalmatrix D . Somit sind LR-Zerlegungen durch Multiplikation mit einer Diagonalmatrix ineinander u uhrbar. ¨berf¨ Zur L¨ osung des linearen Gleichungssystems Ax = b ergibt sich die folgende explizite Form des Gauß-Algorithmus. Algorithmus Gauß-Elimination ohne Pivotisierung — F¨ ur k = 1, . . . ,n − 1 F¨ ur i = k + 1, . . . ,n aik := aik /akk F¨ ur j = k + 1, . . . ,n aij := aij − aik akj F¨ ur k = 2, . . . ,n F¨ ur i = 1, . . . ,k − 1 bk := bk − aki bi F¨ ur k = n, . . . ,1 F¨ ur i = k + 1, . . . ,n bk := bk − aki xi xk := bk /akk
⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬
Berechnung der
⎪ LR-Zerlegung ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ Vorw¨artselimination ⎪ b := L−1 b ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ R¨ uckw¨artselimination ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭
x := R−1 b
Zur Analyse des Rechenaufwandes betrachten wir lediglich die zeitaufwendigen Multiplikationen und Divisionen:
3.1 Gauß-Elimination # Divisionen
43 =
# Multiplikationen =
n−1
n−1
k=1
i=1
n−1 k=1
=
(n − k)2 +
n−1 i=1
=
(n − k) + n =
i+n=
n
i=
i=1
n(n + 1) 2
n(n − 1) n(n − 1) + 2 2
i2 + n(n − 1) =
(n − 1)n(2n − 1) + n(n − 1) 6
n2 5n n3 + − . 3 2 6
Hiermit erhalten wir # Division + # Multiplikation =
n3 n + n2 − . 3 3
Betr¨ agt die Rechenzeit f¨ ur eine Multiplikation bzw. Division 1µ sec = 10−6 sec, dann ben¨ otigt der Gauß-Algorithmus f¨ ur eine reelle n × n Matrix A die in der folgenden Tabelle aufgef¨ uhrten Rechenzeiten: n 103
≈ 5 min 30 sec
104
≈ 4 Tage
10 Tabelle 3.1
Zeit
5
≈ 10 Jahre 7 Monate
Rechenzeiten des Gaußschen Eliminationsverfahrens
Gleichungssysteme mit einer Anzahl von 105 Unbekannten treten bereits bei impliziten Finite-Volumen- und Finite-Differenzen-Verfahren f¨ ur die zweidimensionalen EulerGleichungen der Gasdynamik auf, wenn mit 25000 Kontrollvolumina respektive Gitterpunkten eine durchaus g¨ angige Diskretisierung des Str¨omungsgebietes vorliegt. Bei solchen Anwendungsf¨ allen erweist sich der Gauß-Algorithmus auch bei Vernachl¨assigung der Rundungsfehler und des immensen Speicherplatzbedarfs bereits aus Rechenzeitgr¨ unden als unpraktikabel. Betrachten wir hingegen Gleichungssysteme mit einer kleinen Anzahl von Unbekannte, so liegt mit dem Gaußschen Eliminationsverfahren eine direkte Methode vor, die h¨ aufig den iterativen Algorithmen u ¨ berlegen ist. Mit dem folgenden Beispiel sollen die Vorteile einer Pivotisierung im Hinblick auf die Genauigkeit des ermittelten L¨ osungsvektors verdeutlicht werden. Beispiel 3.9 Sei ε 1 derart, daß bei Maschinengenauigkeit 1 ± ε = 1 respektive 1 ±
1 1 = ε ε
gilt. Wir betrachten das Gleichungssystem Ax = b in der Form εx1 x1 das die exakten L¨ osung
+ 2x2 + x2
=1 = 1,
44
3 Direkte Verfahren x1 =
1 1−ε ≈ 0.5, x2 = ≈ 0.5 2−ε 2−ε
besitzt. Mit dem Gaußschen Eliminationsverfahren erhalten wir εx1 + 2x2 2 1− x2 ε
= 1 = 1−
1 ε
1 ε und damit aufgrund der vorliegenden Rechengenauigkeit x2 = · = 0.5 . Einsetzen in ε 2 die erste Gleichung liefert εx1 + 1 = 1 , wodurch x1 = 0 folgt. Eine vorherige Zeilenvertauschung f¨ uhrt dagegen zum Gleichungssystem x1
+
εx1
x2
= 1
+ 2x2
= 1.
Hieraus folgt mit dem Gaußschen Eliminationsverfahren: x1
+
x2 (2 − ε)x2
= 1 = 1 − ε,
so daß wir x2 = 0.5 und x1 = 1 − x2 = 0.5 als L¨osung erhalten. Anhand des vorliegenden Gleichungssystems wollen wir die Vorteile der Pivotisierung n¨aher untersuchen. Betrachten wir zun¨ achst das Gaußsche Eliminationsverfahren ohne Pivotisierung. Das (1) Element a11 = ε der Matrix ⎞ ⎛ (1) (1) a11 a12 ε 2 ⎠= A=⎝ (1) (1) 1 1 a a 21
22
(1)
ist deutlich kleiner als a21 = 1 . Hierdurch wird im Algorithmus ein sehr großer Quotient (1)
a21
(1)
a11
=
1 ε
(1)
gebildet. Da auch die weiteren Matrixelemente in der Gr¨oßenordnung von a21
liegen, erhalten wir (2) a22
=
(1) a22
=O(1) f¨ ur ε→0
−
(1) (1)
a12 a21 (1)
a11
2 =1− =O ε
1 f¨ ur ε → 0. ε
=O( 1ε ) f¨ ur ε→0
Innerhalb der Matrix A(2) weisen somit alle verbleibenden Nichtnullelemente eine deutlich unterschiedliche Quantit¨ at auf. Analog ergibt sich O(1) 1 b= = f¨ ur ε → 0. 1 − 1ε O 1ε (1)
uhrt die Maschinengenauigkeit Liegt ein sehr kleiner Matrixkoeffizient a11 = ε vor, so f¨ (2) (2) (1) 2 1 zu a22 = − ε und b2 = − ε . Folglich haben im vorliegenden Fall die Werte a22 (1) und b2 keinen Einfluß auf die L¨ osung des Gleichungssystems. Die zweite Gleichung ist deshalb f¨ ur hinreichend kleines ε = 0 numerisch a¨quivalent zur ersten Gleichung f¨ ur ε = 0 . Daher erhalten wir stets das Endergebnis
3.1 Gauß-Elimination
45 (1)
x2 =
b1
(1)
a12
und x1 = 0.
Durch die vorgestellte Zeilenvertauschung liegt ein kleiner Quotient
(1)
e a21
(1)
e a11
= ε vor, wo-
durch sich alle relevanten Elemente der Matrix A(2) in der gleichen Gr¨oßenordnung befinden. Folglich ergeben sich keine Probleme aufgrund der vorliegenden Rechengenauigkeit. Bei Verwendung einer Pivotisierung auf der Basis des gr¨oßten Zeilen- oder Spaltenelementes liegt der Quotient stets im Intervall [−1,1] , wogegen bei einer direkten Nutzung des Gaußschen Eliminationsverfahrens keine allgemeing¨ ultige Schranke f¨ ur den Quotienten angegeben werden kann. (k)
Die Permutation von Zeilen oder Spalten erweist sich somit nicht nur im Fall akk = 0 als sinnvoll. Wir unterscheiden drei Pivotisierungsarten: (a) Spaltenpivotisierung: Definiere P kj gem¨ aß (3.1.1) mit (k)
j = index max |ajk |, j=k,...,n
und betrachte das zu A(k) x = b aquivalente System ¨ P kj A(k) x = P kj b. (b) Zeilenpivotisierung: aß (3.1.1) mit Definiere P kj gem¨ (k)
j = index max |akj |, j=k,...,n
und betrachte das System A(k) P kj y = b x = P kj y. (c) Vollst¨ andige Pivotisierung: Definiere P k,j1 und P k,j2 gem¨ aß (3.1.1) mit (k) max |aji | j1 = index max j=k,...,n
j2 = index max
j=k,...,n
i=k,...,n
(k) max |aij |
i=k,...,n
und betrachte das System P k,j1 A(k) P k,j2 y = P k,j1 b x = P k,j2 y.
46
3 Direkte Verfahren
Bemerkung: Wird das Gaußsche Eliminationsverfahren auf ein Gleichungssystem Ax = b mit einer singul¨ aren Matrix bei vollst¨ andiger Pivotisierung angewendet, so existiert ein k ≤ n mit (k) max |aij | = 0. i,j=k,...,n
In diesem Fall ist das System mit Lemma 2.25 genau dann l¨osbar, wenn sich bei Durchf¨ uhrung aller Multiplikationen mit Li und P i,ji , i = 1, . . . ,k − 1 angewandt auf die erweiterte Koeffizientenmatrix (A(1) ,b(1) ) = (A,b) die Form
(A(k) ,b(k) ) mit b(k) = (b1 , . . . ,bk−1 ,0, . . . 0)T (k)
(k)
ergeben hat.
3.2
Cholesky-Zerlegung
F¨ ur symmetrische, positiv definite Matrizen kann der beim Gaußschen Eliminationsverfahren ben¨ otigte Aufwand zur Berechnung einer LR-Zerlegung verringert werden. Definition 3.10 Die Zerlegung einer Matrix A ∈ Rn×n in ein Produkt A = LLT mit einer linken unteren Dreiecksmatrix L ∈ Rn×n heißt Cholesky-Zerlegung. Satz 3.11 (Existenz und Eindeutigkeit der Cholesky-Zerlegung) Zu jeder symmetrischen, positiv definiten Matrix A ∈ Rn×n existiert genau eine linke untere Dreiecksmatrix L ∈ Rn×n mit ii > 0, i = 1, . . . ,n derart, daß A = LLT gilt. Beweis: Sei x ∈ Rk \ {0} , k < n , dann definieren wir y = (x,0, . . . ,0)T ∈ Rn \ {0} . Somit folgt xT A[k]x = y T Ay > 0, so daß alle A[k] f¨ ur k = 1, . . . ,n positiv definit sind. Eine Induktion u ur n = 1 gilt A = (a11 ) > 0 , ¨ber n liefert nun die Behauptung: F¨ √ wodurch 11 := a11 > 0 die Darstellung A = LLT mit L = (11 ) liefert. Sei die Behauptung f¨ ur n = 1, . . . ,j erf¨ ullt, dann folgt f¨ ur n = j + 1 A[j] c A= , cT ann
3.2 Cholesky-Zerlegung
47
wobei A[j] positiv definit ist. Somit existiert genau eine linke untere Dreiecksmatrix Lj ∈ Rj×j mit ii > 0 , i = 1, . . . ,j und A[j] = Lj LTj .
Wir machen nun den Ansatz Ln :=
Lj
0
dT
α
(3.2.1)
mit d ∈ Rj , α ∈ R derart, daß A[j] Lj d A[j] c T = A[n] = Ln Ln = cT ann dT LTj dT d + α2 gelten soll. Wegen 0 = det A[j] = (det Lj )2 ist Lj invertierbar und damit d = L−1 j c T 2 eindeutig bestimmt. Weiter gilt α = ann − d d. Aufgrund der positiven Definitheit von A = A[n] gilt det A[n] > 0 , so daß sich 0< ergibt. Damit erhalten wir α=
det(A[n]) = α2 (det(Lj ))2
! ann − dT d ∈ R+ ,
wodurch mit (3.2.1) die gesuchte Matrix vorliegt. Wir nehmen eine spaltenweise Berechnung der Matrixkoeffizienten vor. Bei der Herleitung des Algorithmus gehen wir somit davon aus, daß alle lij f¨ ur i = 1, . . . ,n und j ≤ k − 1 bekannt sind. Dann folgt aus ⎞⎛ ⎞ ⎛ 11 11 . . . n1 ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ . . .. .. A = ⎜ ... ⎟ ⎟ ⎜ . . . ⎠⎝ ⎠ ⎝ nn
. . . nn
n1 die Beziehung akk =
2k1
+ ... +
2kk
=
k
2kj ,
j=1
aß wodurch sich lkk gem¨ kk
' ( k−1 ( = )akk − 2kj
(3.2.2)
j=1
berechnen l¨ aßt. Aus aik = i1 k1 + . . . + ik kk =
k
ij kj f¨ ur i = k + 1, . . . ,n
j=1
erhalten wir die Berechnungsvorschrift f¨ ur die unterhalb der Diagonale befindlichen Elemente der k -ten Spalte in der Form
48
3 Direkte Verfahren
ik
⎛ ⎞ k−1 1 ⎝ = ij kj ⎠ f¨ aik − ur i = k + 1, . . . ,n. kk j=1
(3.2.3)
Algorithmus Cholesky-Zerlegung — F¨ ur k = 1, . . . ,n F¨ ur j = 1, . . . ,k − 1 akk := akk − akj akj akk :=
√ akk
F¨ ur i = k + 1, . . . ,n F¨ ur j = 1, . . . ,k − 1 aik := aik − aij akj aik := aik /akk F¨ ur k = 1, . . . ,n F¨ ur i = 1, . . . ,k − 1 bk := bk − aki bi bk := bk /akk F¨ ur k = n, . . . ,1 F¨ ur i = k + 1, . . . ,n bk := bk − aik xi xk := bk /akk
⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬
Berechnung der
⎪ Cholesky-Zerlegung ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ Vorw¨artselimination ⎪ ⎪ ⎪ ⎪ ⎪ b := L−1 b ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ R¨ uckw¨artselimination ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭
x := L−T b
Betrachten wir f¨ ur die Analyse der Rechenzeit lediglich den f¨ ur große n entscheidenden ersten Teil, so erhalten wir
3.3 QR-Zerlegung
49
# Multiplikationen + # Divisionen + # Wurzeln =
n k=1
(k − 1) +
Multiplikationen
=
n
k + n
k=1
n k=1
n
1 +
k=1
n
(n − k)(k − 1) +
k=1
Wurzeln
k−
n
Multiplikationen
n k=1
(n − k)
Divisionen
k2
k=1
=
n(n + 1) n(n + 1)(2n + 1) n(n + 1) +n − 2 2 6
=
n2 n n3 + + . 6 2 3
F¨ ur große n ben¨otigt die Cholesky-Zerlegung damit nur etwa die H¨alfte der aufwendigen Operationen des Gauß-Algorithmus.
3.3
QR-Zerlegung
Eine wesentliche Grundlage zur Definition des im Abschnitt 4.3.2.4 betrachteten GMRESVerfahrens wie auch vieler Methoden zur L¨ osung von Eigenwertproblemen und linearen Ausgleichsproblemen stellt die QR-Zerlegung einer Matrix dar. Der Vorteil der QRZerlegung im Vergleich zur LR-Zerlegung liegt in der Normerhaltung der unit¨aren Transformation bez¨ uglich der euklidischen Norm. Zudem kann das Gleichungssystem Ax = b wegen Q∗ = Q−1 mittels Ax = b ⇔ QRx = b ⇔ Rx = Q∗ b leicht gel¨ ost werden. Die drei bekanntesten Methoden zur Berechnung dieser Zerlegung sind das Gram-Schmidt-Verfahren und die Algorithmen nach Givens und Householder. In den folgenden Kapiteln werden wir ausschließlich die beiden erstgenannten Methoden verwenden. Eine ausf¨ uhrliche Herleitung der QR-Zerlegung nach Householder findet man zum Beispiel in [15, 31, 53, 19]. Definition 3.12 Die Zerlegung einer Matrix A ∈ Cn×n in ein Produkt A = QR aus einer unit¨ aren Matrix Q und einer rechten oberen Dreiecksmatrix R heißt QR-Zerlegung.
3.3.1
Das Gram-Schmidt-Verfahren
Die Herleitung des Gram-Schmidt-Verfahrens ergibt sich unmittelbar aus dem folgenden konstruktiven Existenznachweis der QR-Zerlegung.
50
3 Direkte Verfahren
Satz 3.13 (Existenz der QR-Zerlegung) Sei A ∈ Cn×n eine regul¨are Matrix, dann existieren eine unit¨are Matrix Q ∈ Cn×n und eine rechte obere Dreiecksmatrix R ∈ Cn×n derart, daß A = QR gilt. Beweis: Wir f¨ uhren den Beweis, indem wir sukzessive f¨ ur k = 1, . . . ,n die Existenz von Vektoren q 1 , . . . ,q k ∈ Cn mit ur i,j = 1, . . . ,k (3.3.1) (q i ,q j )2 = δij f¨ und span{q1 , . . . ,q k } = span{a1 , . . . ,ak }
(3.3.2)
nachweisen, wobei aj (1 ≤ j ≤ k) den j -ten Spaltenvektor der Matrix A darstellt. F¨ ur k = 1 sind die beiden Bedingungen wegen a1 ∈ Cn \ {0} mit q1 =
a1
a1 2
(3.3.3)
erf¨ ullt. Seien nun q 1 , . . . ,q k mit k ∈ {1, . . . ,n − 1} gegeben, die die Bedingungen (3.3.1) und (3.3.2) erf¨ ullen, dann l¨ aßt sich jeder Vektor q k+1 ∈ span{a1 , . . . ,ak+1 } \ span{q 1 , . . . ,q k }
in der Form q k+1 = ck+1
ak+1 −
k
(3.3.4)
ci q i
(3.3.5)
i=1
mit ck+1 = 0 schreiben. Motiviert durch * + (q k+1 ,q j )2 = ck+1 (ak+1 ,q j )2 − cj f¨ ur j = 1, . . . ,k ur i = und der Zielsetzung der Orthogonalit¨ at setzen wir in (3.3.5) ci := (ak+1 ,q i )2 f¨ 1, . . . ,k und erhalten hierdurch die Gleichung k (q k+1 ,q j )2 = ck+1 (ak+1 ,q j )2 − (ak+1 ,q i )2 (q i ,q j )2 i=1
= ck+1 [(ak+1 ,q j )2 − (ak+1 ,q j )2 ] = 0 f¨ ur j = 1, . . . ,k. Da A regul¨ ar ist, gilt ak+1 ∈ span{q 1 , . . . ,q k } , so daß ˜ k+1 := ak+1 − q
k i=1
(ak+1 ,q i )2 q i = 0
(3.3.6)
3.3 QR-Zerlegung
51
folgt. Mit ck+1 :=
1
˜ q k+1 2
ergibt sich qk+1 2 = 1 , so daß durch q k+1 =
1
˜ q k+1 2
˜ k+1 = q
1
˜ q k+1 2
ak+1 −
k i=1
(ak+1 ,q i )2 q i
(3.3.7)
wegen (3.3.6) der gesuchte Vektor vorliegt. Die Definition Q = (q 1 . . . q n ) mit q 1 , . . . ,q n gem¨ aß (3.3.3) respektive (3.3.7) und ⎞ ⎛ r11 · · · r1n , ⎟ ⎜
q˜i 2 ⎟ ⎜ . . .. .. ⎟ mit rik = R := ⎜ ⎠ ⎝ (ak ,q i )2 rnn
f¨ ur k = i, f¨ ur k > i
liefert somit A = QR.
Die L¨ osung des Gleichungssystems Ax = b erhalten wir durch R¨ uckw¨artsaufl¨osen des ˜ = Q∗ b. Gleichungssystems Rx = b Seien die Spalten der Matrix A ∈ Cm×n , m ≥ n linear unabh¨angig, dann folgt aus dem ∈ Cm×n , deren Spalten paarweise orthonorobigen Beweis die Existenz einer Matrix Q . mal sind, und einer regul¨ aren rechten oberen Dreiecksmatrix R ∈ Cn×n mit A = QR zu einer unit¨ Erweitern wir Q aren Matrix Q ∈ Cm×m , so folgt die Darstellung R . A=Q 0 Zusammenfassend erhalten wir aus dem Beweis des obigen Satzes das Gram-SchmidtVerfahren f¨ ur eine regul¨ are Matrix A ∈ Rn×n in der folgenden Form:
52
3 Direkte Verfahren
Algorithmus Gram-Schmidt — F¨ ur k = 1, . . . ,n F¨ ur i = 1, . . . ,k − 1 rik := 0 F¨ ur j = 1, . . . ,n rik := rik + aji ajk F¨ ur i = 1, . . . ,k − 1 F¨ ur j = 1, . . . ,n ajk := ajk − rik aji rkk := 0 F¨ ur j = 1, . . . ,n rkk := rkk + ajk ajk rkk :=
√ rkk
F¨ ur j = 1, . . . ,n ajk := ajk /rkk F¨ ur k = 1, . . . ,n b˜k := 0 F¨ ur i = 1, . . . ,n b˜k := b˜k + aik bi F¨ ur k = n, . . . ,1 F¨ ur i = k + 1, . . . ,n b˜k := b˜k − rki xi xk := b˜k /rkk
⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ Berechnung der ⎪ QR-Zerlegung ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ Matrixmultiplikation ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭
b := QT b
⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭
x := R−1 b
⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ R¨ uckw¨artselimination
3.3 QR-Zerlegung
53
Bei der Aufwandsanalyse der QR-Zerlegung nach Gram-Schmidt betrachten wir lediglich den aufwendigen ersten Teil und vernachl¨ assigen auch hier das explizite L¨osen des Gleichungssystems. Somit erhalten wir # Multiplikationen + # Divisionen + # Wurzeln = 2n
n
(k − 1) + n
k=1
n
1+ n
k=1
Multiplikationen
= 2n
n
k+n=2
k=1
n
1 +
n
1
k=1
k=1
Divisionen
Wurzeln
n2 (n + 1) + n = n3 + n2 + n. 2
F¨ ur große n ist der Aufwand somit ungef¨ ahr dreimal so hoch wie beim Gauß-Algorithmus. Die numerische Problematik des Gram-Schmidt-Verfahrens liegt im Auftreten von Rundungsfehlern, die zu Ausl¨ oschungseffekten und folglich zu einer ungen¨ ugenden Orthogouhren k¨ onnen. Zur Verbesserung betrachten wir zwei nalit¨ at der Vektoren q 1 , . . . ,q n f¨ Varianten des Verfahrens. Variante I: Das modifizierte Gram-Schmidt-Verfahren Grundidee:
Nach der Berechnung des k -ten Spaltenvektors q k der unit¨aren Matrix Q werden die Vektoren ak+1 , . . . ,an der Matrix A derart modifiziert, daß sie senkrecht auf allen Spaltenvektoren q 1 , . . . ,q k stehen.
Durchf¨ uhrung:
Sei A = (a1 . . . an ) ∈ Rn×n (1)
1. Schritt: Setze ak = ak f¨ ur k = 1, . . . ,n . 2. Schritt: F¨ ur k = 1, . . . ,n (k)
qk (k+1)
aj
:=
ak
(k)
ak 2 (k)
= aj
(k)
− (aj ,q k )2 q k f¨ ur j = k + 1, . . . ,n.
Der Rechenaufwand des modifizierten Gram-Schmidt-Verfahrens ist identisch zum urspr¨ unglichen Algorithmus. Vergleichen wir beide Methoden, so kann sich eine Ver¨anderung fr¨ uhestens f¨ ur n = 3 ergeben.
54
3 Direkte Verfahren (1)
(1)
(1)
F¨ ur A = (a1 ,a2 ,a3 ) = (a1 ,a2 ,a3 ) ∈ R3×3 folgt: Gram-Schmidt-Verfahren Modifiziertes Gram-Schmidt-Verfahren
=
q1
(1)
a1
a1 2
q1 (2)
a2
˜2 a
= a2 − (a2 ,q 1 )2 q 1
q2
=
=
a1
(1)
a1 2 (1) (1) = a2 − a2 ,q 1 q 1
(2) a3
=
q2
=
(1) a3
−
(1) a3 ,q 1
2
2
q1
(2)
˜2 a
˜ a2 2
(3)
a3
a2
(2)
a2 2 (2) (2) = a3 − a3 ,q 2 q 2 2
= a3 − (a3 ,q 1 )2 q 1
˜3 a
− (a3 ,q 2 )2 q 2 =
q3
(3)
˜3 a
˜ a3 2
q3
=
a3
(3)
a3 2
Hieraus ergibt sich der Zusammenhang (3) (1) (1) (1) (1) a3 = a3 − a3 ,q 1 q 1 − a3 ,q 2 q 2 + a3 ,q 1 q 1 ,q 2 q 2 2
2
2
2
˜ 3 + ((a3 ,q 1 )2 q 1 ,q 2 )2 q 2 , = a so daß der Unterschied im Vektor ((a3 ,q 1 )2 q 1 ,q 2 )2 q 2 liegt, der bei exakter Arithmetik verschwindet. Variante II: Gram-Schmidt-Verfahren mit Nachorthogonalisierung Grundidee:
Nach der Berechnung des unnormierten k -ten Spaltenvektors q k wird dieser bez¨ uglich q 1 , . . . ,q k−1 orthogonalisiert und anschließend normiert.
Durchf¨ uhrung:
˜ k der unnormierte Vektor, dann setze Sei q
3.3 QR-Zerlegung
55 q¯k
˜k − = q
qk
=
k−1 i=1
(˜ q k ,q i )2 q i
q¯ k .
¯ q k 2
Zus¨ atzlich m¨ ussen die Koeffizienten der Matrix R durch neu alt ri,k = ri,k + (˜ q k ,q i )2 f¨ ur i = 1, . . . ,k − 1
modifiziert werden. Der Rechenaufwand ist im Vergleich zum urspr¨ unglichen Gram-Schmidt-Verfahren etwa doppelt so hoch. Satz 3.14 (Eindeutigkeit der QR-Zerlegung) Sei A ∈ Cn×n regul¨ar, dann existiert zu je zwei QR-Zerlegungen Q1 R1 = A = Q2 R2
(3.3.8)
eine unit¨are Diagonalmatrix D ∈ Cn×n mit Q1 = Q2 D
und
R2 = DR1 .
Beweis: Mit D = Q∗2 Q1 liegt wegen Lemma 2.27 eine unit¨are Matrix vor, und es gilt Q1 = Q2 D. Da A regul¨ ar ist, sind auch R1 und R2 regul¨ar, und wir erhalten mit (3.3.8) D = Q∗2 Q1 = R2 R−1 1 . Lemma 3.4 in Kombination mit Lemma 2.26 und Lemma 2.27 besagt, daß D eine rechte obere Dreiecksmatrix darstellt. Da D zudem unit¨ar ist, stellt D sogar eine Diagonalmatrix dar. Korollar 3.15 Sei A ∈ Cn×n regul¨ar, dann existiert genau eine QR-Zerlegung der Matrix A derart, daß die Diagonalelemente der Matrix R reell und positiv sind.
3.3.2
Die QR-Zerlegung nach Givens
Wir beschr¨ anken uns auf den Fall einer Matrix A ∈ Rn×n . Die Idee der Givens-Methode liegt in einer sukzessiven Elimination der Unterdiagonalelemente. Beginnend mit der ersten Spalte werden hierzu die Subdiagonalelemente jeder Spalte in aufsteigender Reihenfolge mittels orthogonaler Drehmatrizen annulliert. Gehen wir zum Beispiel von der Matrix
56
3 Direkte Verfahren 0
A
=
B B B B B B B B B B B B B B B B B B B B B B B B B B B B @
∗ 0 .. . .. . .. . .. . .. . .. . .. . .. . 0
... .. . .. .
... ..
...
...
...
...
...
...
...
...
∗ .. . .. . .. . .. . .. . .. . .. . .. . .. . ∗
.
0
∗
0 .. . .. . .. . .. . .. . 0
0 .. . .. . 0 ∗ .. . ∗ ↑
∗ ..
∗ .. . .. . .. . .. . ∗
..
. .
..
.
..
.
..
.
..
.
..
. ..
...
...
...
. ...
...
1 C C C C C C C C C C C C C C C C C C C C C C C C C C C C A
∈ Rn×n ,
← j-te Zeile
i-te Spalte
aus, das heißt, es gilt ak = 0 ∀ ∈ {1, . . . ,i − 1} mit < k ∈ {1, . . . ,n},
(3.3.9)
ai+1,i = . . . = aj−1,i = 0
(3.3.10)
und aji = 0 . Dann suchen wir eine orthogonale Matrix 0
Gji
B B B B B B B B B B =B B B B B B B B B @
1
1 ..
C C C C C C C C C C n×n C∈R C C C C C C C C A
. 1 gii 0 .. . 0 gji
0 1
··· ..
0
0
.
···
1 0
gij 0 .. . 0 gjj 1 ..
. 1
derart, daß f¨ ur
= Gji A A
neben a ˜k = 0 ∀ ∈ {1, . . . ,i − 1} mit < k ∈ {1, . . . ,n},
(3.3.11)
a ˜i+1,i = . . . = a ˜j−1,i = 0
(3.3.12)
a ˜ji = 0
(3.3.13)
und auch gilt.
3.3 QR-Zerlegung
57
von A lediglich in der i -ten und j -ten Zeile, und es Zun¨ achst unterscheidet sich A gilt f¨ ur = 1, . . . ,n a ˜i = gii ai + gij aj a ˜j = gji ai + gjj aj . Mit (3.3.9) folgt ai = aj = 0 f¨ ur < i < j , so daß ˜j = 0 f¨ ur a ˜i = a
= 1, . . . ,i − 1
gilt und folglich die Forderungen (3.3.11) und (3.3.12) erf¨ ullt sind. Wohldefiniert durch aji = 0 setzen wir aii gii = gjj = ! a2ii + a2ji und
aji gij = −gji = ! . a2ii + a2ji
Somit stellt Gji eine orthogonale Drehmatrix um den Winkel α = arccos gii dar, und es gilt aji aii a ˜ji = − ! aii + ! aji = 0. a2ii + a2ji a2ii + a2ji ugt und Definieren wir Gji = I im Fall einer Matrix A , die (3.3.9) und (3.3.10) gen¨ zudem aji = 0 beinhaltet, dann haben wir mit := Q
1 i+1 -
Gji := Gn,n−1 · . . . · G3,2 · Gn,1 · . . . · G3,1 · G2,1
i=n−1 j=n
eine orthogonale Matrix, f¨ ur die
R = QA
T folgt eine obere Dreiecksmatrix ist. Mit Q = Q A = QR. Bei der Givens-Methode haben wir die M¨ oglichkeit, das Gleichungssystem Ax = b mittels eines QR-Verfahrens ohne explizite Abspeicherung der orthogonalen Matrix zu l¨osen. Wir erg¨ anzen die Matrix A um die rechte Seite b gem¨aß an+1 = b und erhalten:
58
3 Direkte Verfahren
Algorithmus Givens-Methode — F¨ ur i = 1, . . . ,n − 1 F¨ ur j = i + 1, . . . ,n Z Z aji = 0 Y Z Z
N
! t := 1/ a2ii + a2ji s := taji c := taii
F¨ ur k = i, . . . ,n + 1 t := caik + sajk Z Z k=i Y Z Z
N ajk := −saik + cajk
aik := t aji := 0 F¨ ur i = n, . . . ,1 F¨ ur j = i + 1, . . . ,n ai,n+1 := ai,n+1 − aij xj xi := ai,n+1 /aii Bei der Givens-Methode ergibt sich ohne Ber¨ ucksichtigung der rechten Seite b und des expliziten Aufl¨ osens des Gleichungssystems durch R¨ uckw¨artseinsetzen der folgende Rechenaufwand f¨ ur eine vollbesetzte Matrix: # Multiplikationen + # Divisionen + # Wurzeln ≤
n−1 i=1
{2(n − i) + 4(n − i)(n − i + 1)} + Multiplikationen
=
4 3 10 n + 2n2 − n. 3 3
n−1
n−1
i=1
i=1
(n − i) +
Divisionen
(n − i)
Wurzeln
¨ 3.4 Ubungsaufgaben
3.4
59
¨ Ubungsaufgaben
Aufgabe 1: Man berechne die LR-Zerlegung der Matrix ⎛ ⎞ 1 4 5 A = ⎝ 1 6 11 ⎠ 2 14 31 T
und l¨ ose hiermit das lineare Gleichungssystem Ax = (17, 31, 82) . Aufgabe 2: Gegeben ist das lineare Gleichungssystem A x = b mit 4 α 8 A = , b = 6 15 β
.
(a) F¨ ur welche Werte von α und β besitzt dieses Gleichungssystem (1) eine eindeutige L¨ osung, (2) keine L¨ osung, (3) unendlich viele L¨ osungen ? (b) F¨ ur den Fall, dass Ax = b eindeutig l¨ osbar ist, gebe man die L¨osung in Abh¨angigkeit von den Parametern α,β an. Aufgabe 3: Beweisen Sie, dass zu jeder symmetrischen, positiv definiten Matrix A ∈ Rn×n genau eine untere Dreiecksmatrix L ∈ Rn×n mit positiven Diagonalelementen existiert, f¨ ur welche A = LLT gilt. Aufgabe 4: Man berechne die QR-Zerlegung der Matrix 1 3 A = −1 1 und l¨ ose hiermit das lineare Gleichungssystem Ax = (16, 0)T . Aufgabe 5: Gegeben sei die Matrix
⎛
1 ⎜ 2 A = ⎜ ⎝ 1 3
⎞ 3 4 1 7 a 4 ⎟ ⎟. 4 6 1 ⎠ 4 9 0
(a) F¨ ur welchen Wert von a besitzt A keine LR-Zerlegung. (b) Berechnen Sie eine LR-Zerlegung von A im Existenzfall. (c) F¨ ur den Fall, dass A keine LR-Zerlegung besitzt, geben Sie eine Permutationsmatrix P derart an, dass P A eine LR-Zerlegung besitzt.
60
3 Direkte Verfahren
Aufgabe 6: Gegeben sei eine regul¨ are Matrix A ∈ Rn×n mit Bandbreite d , das heißt es gilt A = (aij )i,j=1,...,n mit aij = 0 f¨ ur |i − j| ≥ d . Zudem seien alle Hauptabschnittsdeterminanten von A ungleich Null. Zeigen Sie: Bei der LR-Zerlegung von A bleibt die Bandstruktur erhalten, d.h. L und R besitzen die Bandbreite d . Aufgabe 7: Gegeben sei die Tridiagonalmatrix ⎛ a 1 c2 ⎜ ⎜ b 1 a2 An = ⎜ ⎜ .. ⎝ .
⎞ ..
.
..
.
bn−1
cn an
⎟ ⎟ ⎟ , c1 := 0, bn := 0. ⎟ ⎠
Zeigen Sie, dass unter den Voraussetzungen |bj | + |cj | ≤ |aj | und |bj | < |aj |, j = 1, . . . ,n eine LR-Zerlegung von ⎛ 1 ⎜ ⎜ α1 Ln = ⎜ ⎜ ⎝
An in der Form ⎞
⎛
⎟ ⎟ ⎟ ⎟ ⎠
⎜ ⎜ = ⎜ ⎜ ⎝
..
.
..
.
..
.
αn−1
und
Rn
1
β1
c2 .. .
⎞ ..
.
..
.
cn βn
⎟ ⎟ ⎟ ⎟ ⎠
existiert. Geben Sie eine Rekursionsformel zur Berechnung der αj und βj an. Hinweis:
Zeigen Sie induktiv: |αj | < 1 , j = 1, . . . ,n − 1 und |βj | > 0 , j = 1, . . . ,n .
Aufgabe 8: Es sei A ∈ Cn×n regul¨ ar und es gelte A = QR , wobei Q ∈ Cn×n unit¨ar ist und n×n eine rechte obere Dreiecksmatrix darstellt. Es bezeichne aj ∈ Cn bzw. R ∈ C n q j ∈ C den j -ten Spaltenvektor von A bzw. Q , j = 1, . . . ,n . Zeigen Sie: span{a1 , . . . ,aj } = span{q1 , . . . ,q j }
f¨ ur alle j = 1, . . . ,n.
Aufgabe 9: Berechnen Sie eine Cholesky-Zerlegung der Matrix ⎛ ⎞ 9 3 9 A = ⎝ 3 9 11 ⎠ 9 11 17 und l¨ osen Sie hiermit das lineare Gleichungssystem ⎛ ⎞ 24 Ax = ⎝ 16 ⎠ . 32
¨ 3.4 Ubungsaufgaben
61
Aufgabe 10: (a) Gegeben sei die Matrix A=
A11 0
A12 A22
∈ Rn×n
mit Aii ∈ Rmi ×mi , i = 1,2, wobei m1 + m2 = n und det Aii = 0, i = 1,2 gilt. Man zeige, dass A invertierbar ist und bestimme eine Blockdarstellung der Inversen A−1 . (b) Unter Benutzung geeigneter Blockbildungen ⎛ 1 2 3 ⎜ 2 5 7 ⎜ B=⎜ ⎜ 0 1 2 ⎝ 0 0 0 0 0 0
berechne man die Inverse von ⎞ 1 0 1 1 ⎟ ⎟ 1 1 ⎟ ⎟. 1 0 ⎠ 0 1
Aufgabe 11: Gegeben seien eine symmetrische Matrix An−1 ∈ R(n−1)×(n−1) und eine untere Dreiecksmatrix Ln−1 ∈ R(n−1)×(n−1) mit positiven Diagonalelementen, die Ln−1 LTn−1 = An−1 erf¨ ulle. Weiter seien b ∈ Rn−1 ein Spaltenvektor, α ∈ R und An−1 b An := ∈ Rn×n bT α symmetrisch und positiv definit. Zeigen Sie, dass ein Vektor c ∈ Rn−1 und eine positive reelle Zahl β existieren, so dass T Ln−1 0 Ln−1 c An = cT β 0 β gilt. Aufgabe 12: Gegeben sei die Matrix
⎛
1 A = ⎝ 2 0
4 α 1
⎞ 7 β ⎠. 1
Unter welchen Voraussetzungen an die Werte α,β ∈ R ist die Matrix regul¨ar und besitzt zudem eine LR-Zerlegung. Geben Sie zudem ein Parameterpaar (α,β) derart an, dass die Matrix A regul¨ ar ist und keine LR-Zerlegung besitzt.
62
4
Iterative Verfahren
Die pr¨ asentierten direkten Verfahren stellen bei einer kleinen Anzahl von Unbekannten oftmals eine effiziente Vorgehensweise dar. Praxisrelevante Problemstellungen (siehe Beispiele 1.1 und 1.4) f¨ uhren jedoch h¨ aufig auf große schwachbesetzte Gleichungssysteme. Die Speicherung derartiger Gleichungssysteme wird gew¨ohnlich erst durch die Vernachl¨assigung der Nullelemente der Matrix, die teilweise u ¨ ber 99% der Matrixkoeffizienten darstellen, erm¨ oglicht. Betrachten wir die erl¨ auterte Diskretisierung der Konvektions-DiffusionsGleichung mit N = 500 , so ben¨ otigen wir bei einem vorausgesetzten Speicherplatzbedarf von 8 Byte f¨ ur jede reelle Zahl etwa 10 Megabyte zur Speicherung der nichtverschwindenden Matrixkoeffizienten. Dagegen w¨ urde das Abspeichern der gesamten Matrix 500 Gigabyte beanspruchen. Direkte Verfahren k¨ onnen in der Regel die besondere Gestalt der Gleichungssysteme nicht ausnutzen, wodurch vollbesetzte Zwischenmatrizen generiert werden, die einerseits den verf¨ ugbaren Speicherplatz u ¨berschreiten und andererseits zu unakzeptablen Rechenzeiten f¨ uhren (siehe Tabelle 3.1). Desweiteren entstehen solche Gleichungssysteme zumeist durch eine Diskretisierung der zugrundeliegenden Aufgabenstellung, wodurch auch die exakte L¨osung des Gleichungssystems nur eine Approximation an die gesuchte L¨osung darstellt. Folglich erweist sich eine N¨ aherungsl¨ osung f¨ ur das Gleichungssystem mit einem Fehler in der Gr¨ oßenordnung des Diskretisierungsfehlers als ausreichend. Hierzu eignen sich iterative Methoden hervorragend. Wir betrachten ein lineares Gleichungssystem der Form Ax = b
(4.0.1)
arer Matrix A ∈ Cn×n . Iterative Verfahren mit gegebener rechter Seite b ∈ Cn und regul¨ ermitteln sukzessive N¨ aherungen xm an die exakte L¨osung A−1 b durch wiederholtes Ausf¨ uhren einer festgelegten Rechenvorschrift xm+1 = φ(xm ,b) f¨ ur m = 0,1, . . . bei gew¨ ahltem Startvektor x0 ∈ Cn . Bevor wir uns mit speziellen numerischen Methoden besch¨aftigen werden, wollen wir in diesem Abschnitt zun¨ achst einige zweckdienliche Eigenschaften iterativer Verfahren beschreiben. Definition 4.1 Eine Iterationsverfahren ist gegeben durch eine Abbildung φ : Cn × Cn → Cn und heißt linear, falls Matrizen M ,N ∈ Cn×n derart existieren, daß φ(x,b) = M x + N b
63 gilt. Die Matrix M wird als Iterationsmatrix der Iteration φ bezeichnet. Die Matrizen M und N werden hierbei eindeutig durch die Iterationsvorschrift festgelegt. ˜ ∈ Cn bezeichnen wir als Fixpunkt des IterationsverfahDefinition 4.2 Einen Vektor x n n n rens φ : C × C → C zu b ∈ Cn , falls ˜ = φ(˜ x x,b) gilt. Definition 4.3 Ein Iterationsverfahren φ heißt konsistent zur Matrix A , wenn f¨ ur alle b ∈ Cn die L¨osung A−1 b ein Fixpunkt von φ zu b ist. Ein Iterationsverfahren φ heißt konvergent, wenn f¨ ur alle b ∈ Cn und alle Startwerte x0 ∈ Cn ein vom Startwert unabh¨ angiger Grenzwert ˆ = lim xm = lim φ(xm−1 ,b) x m→∞
m→∞
existiert. Die Konsistenz stellt eine notwendige Bedingung an jedes Iterationsverfahren dar, da mit ihr ein sinnvoller Zusammenhang zwischen der numerischen Methode und dem Gleichungssystem sichergestellt wird. Bei einem inkonsistenten Algorithmus m¨ ußte der Anwender die Iteration in einem geeigneten Moment abbrechen, da die exakte L¨osung keinen station¨ aren Punkt der Iteration darstellt und sich die Folge der N¨aherungsl¨osungen nach Erreichen des L¨ osungsvektors notwendigerweise wieder von diesem entfernen wird. Bei einem linearen Iterationsverfahren kann die Konsistenz der Methode unmittelbar anhand der verwendeten Matrizen M und N bestimmt werden. Diese wesentliche Eigenschaft wird durch den folgenden Satz belegt. Satz 4.4 Ein lineares Iterationsverfahren ist genau dann konsistent zur Matrix A , wenn M = I − NA gilt. Beweis: = A−1 b . Sei x ⇒ “ φ sei konsistent zur Matrix A . ” Damit erhalten wir = φ( + Nb = Mx + N A x x,b) = M x x. Da die Konsistenz f¨ ur alle b ∈ Cn gilt, ergibt sich unter Ber¨ ucksichtigung der Regularit¨at ∈ Cn , wodurch der Matrix A die G¨ ultigkeit der obigen Gleichung f¨ ur alle x M = I − NA folgt.
64
4 Iterative Verfahren
⇐ “ Es gelte M = I − N A . ” Dann ergibt sich = Mx + N A + N b = φ( x x = Mx x,b), wodurch die Konsistenz des Iterationsverfahrens φ zur Matrix A folgt. Die Wahl M = I und N = 0 zeigt bereits deutlich, daß die Forderung nach der Konsistenz des Verfahrens zwar eine notwendige, jedoch keine hinreichende Bedingung zur Festlegung praktikabler linearer Iterationsverfahren repr¨asentiert. Wir ben¨otigen folglich eine zus¨ atzliche Forderung, um die Konvergenz der Methode gegen die gesuchte L¨osung sicherzustellen. Satz 4.5 Ein lineares Iterationsverfahren φ ist genau dann konvergent, wenn der Spektralradius der Iterationsmatrix M die Bedingung ρ(M ) < 1 erf¨ ullt. Beweis: ⇒ “ φ sei konvergent. ” Sei λ Eigenwert von M mit |λ| = ρ(M ) und x ∈ Cn \{0} der zugeh¨orige Eigenvektor. W¨ ahlen wir b = 0 ∈ Cn , dann folgt f¨ ur x0 = c x mit beliebigem c ∈ R \ {0} die Iterationsfolge xm = φ(xm−1 ,b) = M xm−1 = . . . = M m x0 = λm x0 . Im Fall |λ| > 1 folgt aus xm = |λ|m x0 die Divergenz der Folge {xm }m∈N . F¨ ur |λ| = 1 stellt M f¨ ur den Eigenvektor eine Drehung dar. Die Konvergenz der Folge ur alle {xm }m∈N liegt daher nur im Fall λ = 1 vor. Hierbei erhalten wir xm = x0 f¨ m ∈ N unabh¨ angig vom gew¨ ahlten Skalierungsparameter c , so daß sich mit ˆ = lim xm = x0 x m→∞
ein vom Startvektor abh¨ angiger Grenzwert ergibt und daher das Iterationsverfahren nicht konvergent ist. Die Bedingung |λ| < 1 und damit ρ(M ) < 1 stellt demzufolge ein notwendiges Kriterium f¨ ur die Konvergenz des Iterationsverfahrens dar. ⇐ “ Gelte ρ(M ) < 1 . ” aquivalent sind, kann die Konvergenz in einer Da laut Satz 2.11 alle Normen auf dem Cn ¨ beliebigen Norm nachgewiesen werden. Sei ε := daß
1 2 (1
− ρ(M )) > 0 , dann existiert mit Satz 2.35 eine Norm auf Cn×n derart, q := M ≤ ρ(M ) + ε < 1
gilt. Bei gegebenem b ∈ C
n
definieren wir
4.1 Splitting-Methoden
65 F : Cn x
→ Cn F
→ F (x) = M x + N b.
Hiermit erhalten wir
F (x) − F (y) = M x − M y ≤ M
x − y = q x − y , so daß aufgrund des Banachschen Fixpunktsatzes die durch xm+1 = F (xm ) ur ein beliebiges Startelement x0 ∈ Cn gegen den eindeutig definierte Folge {xm }m∈N f¨ bestimmten Fixpunkt ˆ = lim xm+1 = lim F (xm ) = lim φ(xm ,b) x m→∞
m→∞
m→∞
konvergiert und folglich mit φ ein konvergentes Iterationsverfahren vorliegt. Nat¨ urlich k¨ onnen analog zur Konsistenz auch Matrizen M und N angegeben werden, die ein konvergentes lineares Iterationsverfahren generieren, ohne in einem zweckm¨aßigen Verh¨ altnis zum Gleichungssystem zu stehen (z. B. M = 0 , N = I ). Erst das Zusammenwirken von Konsistenz und Konvergenz liefert eine geeignete Iterationsvorschrift. Satz 4.6 Sei φ ein konvergentes und zur Matrix A konsistentes lineares Iterationsver der Folge fahren, dann erf¨ ullt das Grenzelement x ur m = 1,2, . . . xm = φ(xm−1 ,b) f¨ f¨ ur jedes x0 ∈ Cn das Gleichungssystem (4.0.1). Beweis: Mit Satz 4.5 konvergiert die Folge xm = φ(xm−1 ,b) gegen den eindeutig bestimmten Fixpunkt = φ( x x,b), der wegen der Konsistenz des Iterationsverfahrens die L¨osung der Gleichung Ax = b darstellt.
4.1
Splitting-Methoden
Splitting-Methoden zur L¨ osung des Gleichungssystems (4.0.1) basieren auf einer Aufteilung der Matrix A in der Form A = B + (A − B), B ∈ Cn×n , so daß sich aus Ax = b das ¨ aquivalente System
(4.1.1)
66
4 Iterative Verfahren Bx = (B − A)x + b
ergibt. Ist B zudem regul¨ ar, dann erhalten wir x = B −1 (B − A)x + B −1 b und definieren hierdurch das lineare Iterationsverfahren ur m = 0,1, . . . xm+1 = φ(xm ,b) = M xm + N b f¨ mit
M := B −1 (B − A)
und
N := B −1 .
Bevor wir Splitting-Verfahren hinsichtlich ihrer Konsistenz und ihres Konvergenzverhaltens untersuchen, werden wir mit der folgenden Definition den Begriff der symmetrischen Splitting-Methode einf¨ uhren. Solche Methoden erweisen sich bei der im Kapitel 5 beschriebenen Pr¨ akonditionierung symmetrischer, positiv definiter Matrizen als vorteilhaft, da mit Hilfe der Iterationsmatrix symmetrischer Splitting-Methoden diese Eigenschaften der Matrix auch u aquivalente Umformulierung hinaus erhalten werden k¨onnen. ¨ber die ¨ Folglich k¨ onnen Methoden f¨ ur positiv definite, symmetrische Matrizen, wie zum Beispiel das im Abschnitt 4.3.1.3 hergeleitete Verfahren der konjugierten Gradienten, auch nach der Pr¨ akonditionierung angewendet werden. Definition 4.7 Die Splitting-Methode xm+1 = B −1 (B − A)xm + B −1 b zur L¨ osung der Gleichung (4.0.1) heißt symmetrisch, falls f¨ ur jede positiv definite und symmetrische Matrix A die Matrix B ebenfalls positiv definit und symmetrisch ist. Satz 4.8 Sei B ∈ Cn×n regul¨ar, dann ist das lineare Iterationsverfahren xm+1 = φ(xm ,b) = B −1 (B − A)xm + B −1 b zur Matrix A konsistent. Beweis: Mit M = B −1 (B −A) = I −B −1 A = I −N A folgt die Behauptung durch Anwendung des Satzes 4.4. Gilt f¨ ur eine Splitting-Methode ρ(M ) < 1 , dann stellt das eindeutig bestimmte Grenzelement der Folge xm = φ(xm−1 ,b) f¨ ur m = 1,2, . . . f¨ ur beliebigen Startvektor x0 ∈ Cn die L¨ osung der zugeh¨origen Gleichung Ax = b dar. Betrachten wir ein lineares Iterationsverfahren ur m = 1,2, . . . xm = M xm−1 + N b f¨ mit ρ(M ) < 1, dann existiert laut Satz 2.35 zu jedem ε mit 0 < ε < 1 − ρ(M ) eine Norm derart, daß
4.1 Splitting-Methoden
67 ρ(M ) ≤ M ≤ ρ(M ) + ε < 1 q:=
gilt. Aus dem Banachschen Fixpunktsatz folgt die a priori Fehlerabsch¨atzung
xm − A−1 b ≤
qm
x1 − x0 f¨ ur m = 1,2, . . . . 1−q
F¨ ur jede weitere Norm · a gilt
xm − A−1 b a ≤
qm Ca x1 − x0 a 1−q
mit einer Konstanten Ca > 0 , die nur von den Normen abh¨angt. Somit stellt der Spektralradius in jeder Norm ein Maß f¨ ur die Konvergenzgeschwindigkeit dar. Satz 4.9 Sei φ ein zur Matrix A konsistentes lineares Iterationsverfahren, f¨ ur dessen zugeh¨orige Iterationsmatrix M eine Norm derart existiert, daß q := M < 1 gilt, dann folgt f¨ ur gegebenes ε > 0
xm − A−1 b ≤ ε f¨ ur alle m ∈ N mit ln m≥
ε(1 − q)
x1 − x0 ln q
und x1 = φ(x0 ,b) = x0 . Beweis: Mit φ(x,b) − φ(y,b) ≤ q x − y folgt mit der a priori Fehlerabsch¨atzung des Banachschen Fixpunktsatzes die Ungleichung
xm − A−1 b ≤
qm
x1 − x0 . 1−q
Zu gegebenem ε > 0 erhalten wir unter Ausnutzung von x1 = x0 f¨ ur ln m≥
ε(1 − q)
x1 − x0 . ln q
somit die Absch¨ atzung
−1
xm − A
ε(1 − q) qm
x1 − x0 b ≤
x1 − x0 ≤
x1 − x0 = ε. 1−q 1−q
Gilt 0 < q < 1 und q˜ = q 2 , dann folgt q 2m q 2m q˜m = . < 2 1 − q˜ 1 − q 1−q
68
4 Iterative Verfahren
Betrachtet man folglich zwei konvergente lineare Iterationsverfahren φ1 und φ2 deren zugeordnete Iterationsmatrizen M 1 und M 2 die Eigenschaft ρ (M 1 ) = ρ (M 2 )2 erf¨ ullen, dann liefert Satz 4.9 eine gesicherte Genauigkeitsaussage f¨ ur die Methode φ1 in der Regel nach der H¨ alfte der f¨ ur das Verfahren φ2 ben¨otigten Iterationszahl. Innerhalb eines iterativen Verfahrens dieser Klasse darf daher mit einer Halbierung der ben¨otigten Iterationen gerechnet werden, wenn der Spektralradius beispielsweise von 0.9 auf 0.81 gesenkt wird. Beispiel 4.10 Triviales Verfahren Wir betrachten das Modellproblem 0.3 x1 0.7 −0.4 . = 0.3 x2 −0.2 0.5 A:=
x:=
(4.1.2)
b:=
Die exakte L¨ osung lautet A−1 b = (1,1)T . Nat¨ urlich besteht f¨ ur dieses Gleichungssystem keine Notwendigkeit zur Nutzung eines iterativen Verfahrens. Das Beispiel eignet sich jedoch sehr gut zur Verdeutlichung der Effizienz der einzelnen Splitting-Methoden. Mit ¨ A = I − (I − A) folgt die Aquivalenz zwischen Ax = b und x = (I − A)x + b. Hierdurch ergibt sich das einfache konsistente und lineare Iterationsverfahren I b. xm+1 = φ(xm ,b) = (I − A) xm + M :=
(4.1.3)
N :=
Es gilt det(M − λI) = (λ − 0.4) − 0.09 , so daß die Eigenwerte der Iterationsmatrix λ1 = 0.1 und λ2 = 0.7 sind und damit das Verfahren (4.1.3) mit ρ(M ) = 0.7 < 1 konvergiert. Sei x0 = (21, − 19)T , dann erhalten wir den in der folgenden Tabelle aufgef¨ uhrten Konvergenzverlauf. 2
Triviales Verfahren m xm,1 xm,2 εm := xm − A−1 b ∞ 0 2.100000e+01 -1.900000e+01 2.000000e+01 10 8.116832e-01 8.116832e-01 1.883168e-01 40 9.999958e-01 9.999958e-01 4.244537e-06 70 1.000000e-00 1.000000e-00 9.566903e-11 96 1.000000e-00 1.000000e-00 8.881784e-15
εm /εm−1 7.000000e-01 7.000000e-01 7.000002e-01 6.956522e-01
Der Konvergenzverlauf zeigt, daß eine derartig primitive Wahl der Iterationsmatrix in der Regel zu keinem zufriedenstellenden Algorithmus f¨ uhren wird. Die Entwicklung effektiver Splitting-Methoden korreliert mit der gezielten Festlegung der Matrix B , die einerseits leicht invertierbar sein muß und andererseits eine gute Approximation der Matrix A mit dem Ziel ρ(M ) 1 darstellen soll.
4.1 Splitting-Methoden 4.1.1
69
Jacobi-Verfahren
Das Jacobi-Verfahren zur iterativen L¨ osung des linearen Gleichungssystems Ax = b mit regul¨ arer Matrix A ∈ Cn×n setzt nichtverschwindende Diagonalelemente aii = 0 , i = 1, . . . ,n der Matrix A voraus, so daß mit D = diag{a11 , . . . ,ann } eine regul¨are Diagonalmatrix vorliegt. Der Grundidee der Splitting-Methoden folgend, schreiben wir das lineare Gleichungssystem Ax = b in der a ¨quivalenten Form −1 x = D −1 (D − A) x + D b. N J :=
M J :=
Mit Satz 4.8 ist das hiermit definierte lineare Iterationsverfahren xm+1 = D −1 (D − A)xm + D −1 b f¨ ur m = 0,1,2, . . .
(4.1.4)
konsistent zur Matrix A , und wir erhalten die Komponentenschreibweise ⎛ ⎞ xm+1,i =
n ⎟ 1 ⎜ ⎜bi − aij xm,j ⎟ ur i = 1, . . . ,n und m = 0,1,2, . . . . ⎝ ⎠ f¨ aii j=1 j=i
Beim Jacobi-Verfahren wird die neue Iterierte xm+1 somit ausschließlich mittels der alten Iterierten xm ermittelt. Die Methode wird aus diesem Grund auch als Gesamtschrittverfahren bezeichnet und ist folglich unabh¨angig von der gew¨ahlten Nummerierung der Unbekannten x = (x1 , . . . ,xn )T . Da es sich um eine Splitting-Methode handelt, ist die Konvergenz des Jacobi-Verfahrens einzig vom Spektralradius der Iterationsmatrix angig. Dieser Wert kann laut Satz 2.34 durch jede beliebiM J = D −1 (D − A) abh¨ ge Matrixnorm abgesch¨ atzt werden, wodurch sich die Konvergenz des Verfahrens ohne Berechnung der Eigenwerte anhand der Gr¨ oße der Matrixkoeffizienten u ufen l¨aßt. ¨berpr¨ Satz 4.11 Erf¨ ullt die regul¨are Matrix A ∈ Cn×n mit aii = 0 , i = 1, . . . ,n das starke Zeilensummenkriterium n |aik | 0 , i = 1,2 , n1 + n2 = n gilt. Andernfalls heißt A irreduzibel mit A oder unzerlegbar. Die Reduzibilit¨ at ist somit ausschließlich von der Besetzungsstruktur der Matrix und nicht von den absoluten Werten der Matrixkoeffizienten abh¨angig. Zudem haben die Diagonalelemente keinen Einfluß auf die Reduzibilit¨at. Satz 4.13 Sei die regul¨are Matrix A ∈ Cn×n irreduzibel und diagonaldominant, das heißt, es gilt n |aij | ≤ 1, (4.1.5) max i=1,...,n |aii | j=1 j=i
und es existiere ein k ∈ {1, . . . ,n} mit n |akj | < 1, |a kk | j=1
(4.1.6)
j=k
dann konvergiert das Jacobi-Verfahren bei beliebigem Startvektor x0 ∈ Cn und f¨ ur jede beliebige rechte Seite b ∈ Cn gegen A−1 b .
4.1 Splitting-Methoden
71
¨ Die Grundidee des Satzes liegt in einer graphentheoretischen Uberlegung: Bezeichnen A A A wir mit G := {V ,E } den gerichteten Graphen der Matrix A , der aus den Knoten V A := {1, . . . ,n} und der Kantenmenge geordneter Paare E A := {(i,j) ∈ V A × V A | aij = 0} besteht. Eine Matrix A ist genau dann irreduzibel, wenn der zugeh¨oriangend ist, das heißt, wenn es zu je zwei Indizes ge gerichtete Graph GA zusammenh¨ i0 = i,i = j ∈ V A einen gerichteten Weg der L¨ange ∈ N (i0 ,i1 )(i1 ,i2 ) . . . (i−1 ,i ) mit (ik ,ik+1 ) ∈ E A f¨ ur k = 0, . . . , − 1 gibt. Ist
em := xm − A−1 b
der Fehlervektor der m -ten Iterierten des Jacobi-Verfahrens, dann folgt mit (4.1.5) |em+1,i | ≤ em ∞ f¨ ur i = 1, . . . ,n , und mit (4.1.6) existiert ein k ∈ {1, . . . ,n} mit |em+1,k | ≤ γ em ∞ mit γ < 1. Hiermit folgt |em+2,j | ≤ γ em ∞ mit γ < 1 f¨ ur alle j ∈ {1, . . . ,n} mit (j,k) ∈ E A , und aufgrund des zusammenh¨angenden Graphen gilt (4.1.7)
em+n ∞ ≤ γ em ∞ mit γ < 1 , wodurch sich die Konvergenz des Jacobi-Verfahrens ergibt. Die Irreduzibilit¨at der Matrix stellt somit sicher, daß die Eigenschaft (4.1.6) bei diagonaldominanten Matrizen sp¨ atestens nach n Iterationen zu einer betragsm¨aßigen Verringerung aller Komponenten innerhalb des Fehlervektors f¨ uhrt. Die Anzahl der ben¨otigten Iterationen wird hierbei durch den maximalen Wert der L¨ ange des jeweils k¨ urzesten gerichteten Weges zwischen Zeilen, die der Ungleichung (4.1.6) gen¨ ugen, und Zeilen i ∈ {1, . . . ,n} , die die Gleichung n |aij | =1 |aii | j=1 j=i
erf¨ ullen, bestimmt. Liegt eine vollbesetzte Matrix vor, die den Bedingungen des Satzes 4.13 gen¨ ugt, so ergibt sich die Ungleichung (4.1.7) sp¨atestens nach zwei Iterationen. Wir kommen nun zum Beweis des Satzes 4.13. Beweis: Betrachten wir die Iterationsmatrix M J = (mij )i,j=1,...,n des Jacobi-Verfahrens und definieren |M J | := (|mij |)i,j=1,...,n sowie y := (1, . . . ,1)T ∈ Rn , so gilt mit (4.1.5) ur i = 1, . . . ,n, 0 ≤ (|M J |y)i ≤ yi f¨
(4.1.8)
und mit (4.1.6) existiert ein k ∈ {1, . . . ,n} mit 0 ≤ (|M J |y)k < yk .
(4.1.9)
ur i = 1, . . . ,n und alle m ∈ N . Existiert ein m ˜ ∈N Aus (4.1.8) folgt (|M J |m y)i ≤ yi f¨ ˜ y)j < yj , so erhalten wir f¨ ur alle m ≥ m ˜ mit (4.1.5) die Ungleichung mit (|M J |m
72
4 Iterative Verfahren (|M J |m y)j < yj .
Mit
(4.1.10)
tm := y − |M J |m y
und
m τ m := #{tm i | ti = 0, i = 1, . . . ,n}
ergibt sich unter Verwendung von (4.1.9) und (4.1.10) 0 < τ 1 ≤ τ 2 ≤ . . . ≤ τ m ≤ τ m+1 ≤ . . . . Nun nehmen wir an, es g¨ abe ein m ∈ {1, . . . ,n − 1} mit τ m = τ m+1 < n und f¨ uhren dieses zum Widerspruch. O.B.d.A. weise der Vektor tm die Form u tm = ur 1 ≤ p < n, und ui > 0 f¨ ur i = 1, . . . ,p , u ∈ Rp f¨ 0 auf, dann folgt mit (4.1.10) und τ m = τ m+1 v , v ∈ Rp , und vi > 0 f¨ tm+1 = ur i = 1, . . . ,p. 0
Sei |M J | =
|M 11 | |M 12 | |M 21 | |M 22 |
mit |M 11 | ∈ Rp×p , dann ergibt sich unter Verwendung der Ungleichung (4.1.8) |M 11 |u v = tm+1 = y − |M J |m+1 y ≥ |M J |y − |M J |m+1 y = |M J |tm = . |M 21 |u 0 Mit ui > 0 , i = 1, . . . ,p erhalten wir aufgrund der Nichtnegativit¨at der Elemente der Matrix |M 21 | die Gleichung |M 21 | = 0, wodurch M j reduzibel ist. Da sich die Besetzungsstrukturen von M j und A bis auf die Diagonalelemente gleichen und diese keinen Einfluß auf die Reduzibilit¨at haben, liegt demzufolge ein Widerspruch zur Irreduzibilit¨ at der Matrix A vor. Somit folgt im Fall τ m < n direkt 0 < τ 1 < τ 2 < . . . < τ m < τ m+1 f¨ ur m ∈ {1, . . . ,n − 1} , wodurch sich die Existenz eines m ∈ {1, . . . ,n} mit 0 ≤ (|M J |m y)i < yi f¨ ur i = 1, . . . ,n ergibt. Hiermit erhalten wir m m ρ(M J )m ≤ ρ(M m J ) ≤ M J ∞ ≤ |M J | ∞ < 1
und folglich ρ(M J ) < 1 .
4.1 Splitting-Methoden
73
Beispiel 4.14 F¨ ur das Gleichungssystem Au = g mit der aus der Diskretisierung des Poisson-Problems resultierenden Matrix A (siehe (1.0.3)) konvergiert das JacobiVerfahren bei beliebigem g ∈ RN und u0 ∈ RN . Diese Behauptung belegen wir durch den Nachweis der Voraussetzungen des Satzes 4.13. Zun¨achst erf¨ ullt A das schwache Zeilensummenkriterium, und es gilt n 1 1 |a1i | = + < 1, |a | 4 4 11 i=2
so daß die Irreduzibilit¨ at der Matrix zu zeigen bleibt. Als ersten Schritt weisen wir die 2 2 Irreduzibilit¨ at der in der Matrix A ∈ RN ×N enthaltenen Submatrizen B ∈ RN ×N B nach. Seien i,j ∈ V gegeben. Aufgrund der vorliegenden Symmetrie der Matrix k¨onnen wir o. B. d. A. i < j voraussetzen. Wegen (, + 1) ∈ E B , = 1, . . . ,N − 1 erhalten wir durch (i,i + 1)(i + 1,i + 2) . . . (i + k − 1,j) mit k = j − i einen gerichteten Weg von i nach j , womit die Irreduzibilit¨at der Matrix B folgt. Wir kommen nun zur Matrix A : Seien i,j ∈ V A gegeben, wobei analog zur Matrix B aufgrund der Symmetrie der Matrix A wiederum i < j o. B. d. A. angenommen wird, dann existiert stets eine eindeutige Darstellung der Indizes in der Form i = i1 N + i2 und j = j1 N + j2 mit 0 ≤ i1 ≤ j1 ≤ N − 1 und i2 ,j2 ∈ {1, . . . ,N } . Gilt i1 = j1 , so existiert aufgrund der Irreduzibilit¨ at der Matrix B ein gerichteter Weg von i nach j . Im Fall i1 < j1 existiert zun¨ achst ein gerichteter Weg von i nach ˜j = i1 N + j2 ≤ N 2 − N . Wegen ur l = 1, . . . ,N 2 − N erhalten wir durch (, + N ) ∈ E A , f¨ (˜j,˜j + N )(˜j + N,˜j + 2N ) . . . (˜j + (k − 1)N,j) andigung des gerichteten Weges von i nach j . mit k = j1 − i1 die Vervollst¨ Eine reduzible Matrix ergibt sich beispielsweise bei der Diskretisierung der KonvektionsDiffusions-Gleichung im Grenzfall eines verschwindenden Diffusionsparameters. In diesem Fall kann das entsprechende Gleichungssystem jedoch durch einfache Vorw¨artselimination gel¨ ost werden. Beispiel 4.15 F¨ ur das Modellproblem (4.1.2) 0.7 −0.4 0.3 A= ,b= −0.2 0.5 0.3 liegt mit q∞ := max
i=1,2
2 |aij | j=1 j=i
|aii |
= max
4 2 , 7 5
. j L = (ij )i,j=1,...,n mit ij = (4.1.11) 0, sonst und die strikte rechte obere Dreiecksmatrix R = (rij )i,j=1,...,n
mit
rij =
aij , i < j 0, sonst.
(4.1.12)
Hierdurch erhalten wir das zu Ax = b ¨ aquivalente Gleichungssystem (D + L)x = −Rx + b und
x = −(D + L)−1 R x + (D + L)−1 b. M GS :=
Somit gilt
N GS :=
M GS = (D + L)−1 (D + L − A) = I − N GS A,
und das lineare Iterationsverfahren
(4.1.13)
4.1 Splitting-Methoden
75
xm+1 = −(D + L)−1 Rxm + (D + L)−1 b f¨ ur m = 0,1, . . .
(4.1.14)
ist konsistent zur Matrix A . Zur Herleitung der Komponentenschreibweise betrachten wir die i− te Zeile des Iterationsverfahrens (4.1.14) in der Form gem¨ aß Gleichungssystem (4.1.13) i
aij xm+1,j = −
j=1
n
aij xm,j + bi .
j=i+1
Seien xm+1,j f¨ ur j = 1, . . . ,i − 1 bekannt, dann kann xm+1,i durch ⎛ ⎞ i−1 n 1 ⎝ xm+1,i = aij xm+1,j − aij xm,j ⎠ f¨ bi − ur i = 1, . . . ,n und m = 0,1,2, . . . aii j=1 j=i+1 (4.1.15) ermittelt werden. Aus dieser Darstellung wird deutlich, daß beim Gauß-Seidel-Verfahren zur Berechnung der i -ten Komponente der (m + 1) -ten Iterierten neben den Komponenten der alten m -ten Iterierten xm die bereits bekannten ersten i − 1 Komponenten der (m + 1) -ten Iterierten xm+1 verwendet werden. Das Verfahren wird daher auch als Einzelschrittverfahren bezeichnet und ist abh¨angig von der gew¨ahlten Nummerierung der Unbekannten (x1 , . . . ,xn )T . Verglichen mit dem Jacobi-Verfahren wird beim Gauß-Seidel-Algorithmus mit D + L eine bessere Approximation der Matrix A verwendet, wodurch ein kleiner Spektralradius der Iterationsmatrix und folglich eine schnellere Konvergenz erwartet werden darf. ur i = 1, . . . ,n gegeben. Satz 4.16 Sei die regul¨are Matrix A ∈ Cn×n mit aii = 0 f¨ Erf¨ ullen die durch pi =
i−1 |aij | j=1
|aii |
pj +
n |aij | f¨ ur i = 1,2, . . . ,n |aii | j=i+1
rekursiv definierten Zahlen p1 , . . . ,pn die Bedingung p := max pi < 1, i=1,...,n
ur jede dann konvergiert das Gauß-Seidel-Verfahren bei beliebigem Startvektor x0 und f¨ beliebige rechte Seite b gegen A−1 b . Beweis: Unser Ziel ist der Nachweis M GS ∞ < 1 . Sei x ∈ Cn mit x ∞ = 1 . F¨ ur z := M GS x = −(D + L)−1 Rx gilt zi = −
i−1 aij j=1
aii
zj −
n aij xj . a j=i+1 ii
Somit folgt unter Verwendung von x ∞ = 1 die Absch¨atzung
(4.1.16)
76
4 Iterative Verfahren |z1 | ≤
n |aij | j=2
|aii |
= p1 < 1.
ur die i -te Seien z1 , . . . ,zi−1 mit |zj | ≤ pj , j = 1, . . . ,i − 1 < n gegeben, dann folgt f¨ Komponente des Vektors z mit (4.1.16) |zi | ≤
i−1 |aij |
|aii |
j=1
pj +
n |aij | = pi < 1. |aii | j=i+1
Hieraus ergibt sich z ∞ < 1 und damit aufgrund der Kompaktheit des Einheitskreises die Absch¨ atzung
M GS ∞ = sup M GS x ∞ < 1, x∈Cn x∞ =1
wodurch ρ(M GS ) < 1 gilt und die Konvergenz des Gauß-Seidel-Verfahrens vorliegt. Beispiel 4.17 Wie bereits im Beispiel 4.14 betrachten wir die Matrix A gem¨aß Beispiel ur alle j ≤ 0 erhalten wir 1.1. Mit pj = 0 f¨ p1
=
1 4
pi
≤
1 4 pi−1
pi
≤
1 4 pi−N
+
1 4
< 1, +
1 4
+
1 4
< 1 f¨ ur i = 2, . . . ,N,
+ 14 pi−1 +
1 4
+
1 4
< 1 f¨ ur i = N + 1, . . . ,N 2 ,
und folglich die Konvergenz des Gauß-Seidel-Verfahrens. Strikt diagonaldominante Matrizen erf¨ ullen wegen
n
|aij | i=1,...,n j=1 |aii | j=i
max
< 1 inh¨arent die Be-
dingungen des Satzes 4.16, wodurch sich das folgende Korollar ergibt: Korollar 4.18 Sei die regul¨are Matrix A ∈ Cn×n strikt diagonaldominant, dann konvergiert das Gauß-Seidel-Verfahren bei beliebigem Startvektor x0 und f¨ ur jede beliebige rechte Seite b gegen A−1 b . Beispiel 4.19 Die Matrix
A=
0.7 −0.4 −0.2 0.5
ist strikt diagonaldominant, wodurch die Konvergenz des Gauß-Seidel-Verfahrens sichergestellt ist. Die zugeh¨ orige Iterationsmatrix 0 47 −1 M GS = −(D + L) R = 8 0 35 weist die Eigenwerte λ1 = 0 und λ2 =
8 35
auf, so daß
ρ(M GS ) = ρ(M J )2 =
8 ≈ 0.22857 35
4.1 Splitting-Methoden
77
gilt und mit etwa doppelt so schneller Konvergenz wie beim Jacobi-Verfahren gerechnet werden darf. F¨ ur den Startvektor x0 = (21, − 19)T und die rechte Seite b = (0.3,0.3)T erhalten wir diese Erwartung mit dem in der folgenden Tabelle aufgelisteten Konvergenzverlauf best¨ atigt. Gauß-Seidel-Verfahren m xm,1 xm,2 εm := xm − A−1 b ∞ 0 2.100000e+01 -1.900000e+01 2.000000e+01 5 9.688054e-01 9.875222e-01 3.119462e-02 10 9.999805e-01 9.999922e-01 1.946209e-05 15 1.000000e-00 1.000000e-00 1.214225e-08 20 1.000000e-00 1.000000e-00 7.575385e-12 25 1.000000e-00 1.000000e-00 4.551914e-15
4.1.3
εm /εm−1 2.285714e-01 2.285714e-01 2.285714e-01 2.285702e-01 2.204301e-01
Relaxationsverfahren
Wir schreiben das lineare Iterationsverfahren xm+1 = B −1 (B − A)xm + B −1 b in der Form
xm+1 = xm + B −1 (b − Axm ) .
(4.1.17)
r m :=
Somit kann xm+1 als Korrektur von xm unter Verwendung des Vektors r m interpretiert werden. Beschr¨ anken wir unsere Betrachtungen zun¨ achst auf Verfahren, die einen Gesamtschrittcharakter aufweisen, so liegt das Ziel der Relaxationsverfahren in einer Verbesserung der Konvergenzgeschwindigkeit der Methode (4.1.17) durch Gewichtung des Korrekturvektors r m . Wir modifizieren (4.1.17) zu xm+1 = xm + ωB −1 (b − Axm ) mit ω ∈ R+ . Ausgehend von xm suchen wir das optimale xm+1 in Richtung rm .
rm xm+1
Bild 4.1
xm
Berechnung der Iterierten beim Relaxationsverfahren
Optimal bedeutet im obigen Sinne, daß der Spektralradius der Iterationsmatrix minimal wird. Mit
78
4 Iterative Verfahren xm+1
= xm + ωB −1 (b − Axm ) −1 = (I − ωB −1 A) xm + ωB b
(4.1.18)
N (ω):=
M (ω):=
muß ω ∈ R+ folglich derart bestimmt werden, daß ρ(M (ω)) minimal wird, das heißt ω = arg min ρ(M (α)). α∈R+
Der Gewichtungsfaktor ω heißt Relaxationsparameter, und die Methode (4.1.18) wird ¨ f¨ ur ω < 1 als Unterrelaxationsverfahren und f¨ ur ω > 1 als Uberrelaxationsverfahren bezeichnet. Betrachten wir nun als zugrundeliegende Verfahren diejenigen, die auf einem Einzelschrittansatz beruhen. F¨ ur diese Algorithmen ist die erw¨ahnte Vorgehensweise zwar ebenfalls durchf¨ uhrbar, jedoch un¨ ublich. Die Relaxation wird bei diesen Methoden bei der Iteration jeder Einzelkomponente ber¨ ucksichtigt. Die genaue Vorgehensweise wird am Beispiel des Gauß-Seidel-Verfahrens im Abschnitt 4.1.3.2 erl¨autert.
4.1.3.1
Jacobi-Relaxationsverfahren
Gem¨ aß (4.1.17) schreiben wir das Jacobi-Verfahren in der Form ur m = 0,1, . . . . xm+1 = xm + D−1 (b − Axm ) f¨ Somit besitzt das Jacobi-Relaxationsverfahren die Darstellung xm+1
= xm + ωD−1 (b − Axm ) −1 ur m = 0,1, . . . , = (I − ωD −1 A) xm + ωD b f¨ N j (ω):=
M J (ω):=
und wir erhalten die Komponentenschreibweise n ω xm+1,i = xm,i + aij xm,j bi − aii j=1 n ω = (1 − ω)xm,i + aij xm,j f¨ bi − ur i = 1, . . . ,n und m = 0,1, . . . . aii j=1 j=i
Satz 4.20 Die Iterationsmatrix des Jacobi-Verfahrens M J habe nur reelle Eigenwerte λ1 ≤ . . . ≤ λn mit den zugeh¨origen linear unabh¨angigen Eigenvektoren u1 , . . . ,un , und es gelte ρ(M J ) < 1 . Dann besitzt die Iterationsmatrix M J (ω) des Jacobi-Relaxationsverfahrens die Eigenwerte ur i = 1, . . . ,n, µi = 1 − ω + ωλi f¨ und es gilt ωopt = arg min+ ρ(M J (ω)) = ω∈R
2 . 2 − λ1 − λn
4.1 Splitting-Methoden Beweis: Mit
79
ur i = 1, . . . ,n −D−1 (L + R)ui = M J ui = λi ui f¨
erhalten wir M J (ω)ui
= (I − ωD−1 A)ui =
(1 − ω)I − ωD−1 (L + R) ui
= (1 − ω + ωλi )ui f¨ ur i = 1, . . . ,n. Da die Eigenvektoren u1 , . . . ,un linear unabh¨angig sind, existieren keine weiteren Eigenwerte. F¨ ur die Eigenwerte µi (ω) = 1 − ω + ωλi , (i = 1, . . . ,n) der Iterationsmatrix des Jacobi-Relaxationsverfahrens gilt mit ω ≥ 0 µ1 (ω) ≤ . . . ≤ µn (ω).
f! 1
f4=3 (
n)
f1=2 1
-1
n
f4=3 ( f3=2
1
1)
-1
Bild 4.2 Verlauf der Relaxationsfunktionen fω in Abh¨ angigkeit vom gew¨ ahlten Relaxationsparameter ω
Betrachten wir die in der Abbildung 4.2 f¨ ur verschiedene Relaxationsparameter ω dargestellte Relaxationsfunktion fω : R λ
→ R fω
→ fω (λ) = 1 − ω + ωλ,
so liegt die Idee nahe, den optimalen Relaxationsparameter durch die Bedingung µn (ω ∗ ) = fω∗ (λn ) = −fω∗ (λ1 ) = −µ1 (ω ∗ ) zu bestimmen. Hierdurch erhalten wir aus
80
4 Iterative Verfahren µn (ω ∗ ) = 1 − ω ∗ + ω ∗ λn = −(1 − ω ∗ + ω ∗ λ1 ) = −µ1 (ω ∗ )
unter Verwendung von ρ(M j ) < 1 die Darstellung ω∗ =
2 > 0. 2 − λ1 − λn
Ber¨ ucksichtigen wir fω (1) = 1 f¨ ur alle ω ∈ R+ , so gilt stets µn (ω ∗ ) = −µ1 (ω ∗ ) ≥ 0 . Zum Nachweis der Optimalit¨ at sei ω > ω ∗ > 0 . Somit folgt µ1 (ω) = 1 − ω (1 − λ1 ) < 1 − ω ∗ (1 − λ1 ) = µ1 (ω ∗ ) ≤ 0, >0
wodurch sich
ρ(M J (ω)) ≥ |µ1 (ω)| > |µ1 (ω ∗ )| = ρ(M J (ω ∗ ))
ergibt. Eine analoge Aussage erhalten wir im Fall ω < ω ∗ durch Betrachtung der Eigenwerte µn (ω) und µn (ω ∗ ) , so daß ω ∗ = ωopt = arg min+ ρ(M J (ω)) ω∈R
folgt. Gleichungssysteme, bei denen die Iterationsmatrix des Jacobi-Verfahrens eine um den Nullpunkt symmetrische Eigenwertverteilung besitzt, liefern aufgrund des Satzes 4.20 den optimalen Relaxationsparameter ωopt = 1 . Folglich kann mit dem Relaxationsansatz in solchen F¨ allen keine Beschleunigung des zugrundeliegenden Gesamtschrittverfahrens erzielt werden. Die betrachtete Modellgleichung (4.1.2) weist diese Eigenschaft auf, weshalb auf eine Diskussion der Methode in Bezug auf diesen Sachverhalt verzichtet wird.
4.1.3.2
Gauß-Seidel-Relaxationsverfahren
Wir betrachten die Komponentenschreibweise des Gauß-Seidel-Verfahrens (4.1.15) mit gewichteter Korrekturvektorkomponente rm,i in der Form i−1 n ω xm+1,i = xm,i + aij xm+1,j − aij xm,j bi − aii j=1 j=i i−1 n ω = (1 − ω)xm,i + aij xm+1,j − aij xm,j bi − aii j=1 j=i+1 f¨ ur i = 1, . . . ,n und m = 0,1, . . . . Hieraus erhalten wir * + (I + ωD−1 L)xm+1 = (1 − ω)I − ωD−1 R xm + ωD −1 b, wodurch
D −1 (D + ωL)xm+1 = D−1 [(1 − ω)D − ωR] xm + ωD−1 b
und somit das Gauß-Seidel-Relaxationsverfahren in der Darstellung xm+1 = (D + ωL)−1 [(1 − ω)D − ωR] xm + ω(D + ωL)−1 b M GS (ω):=
folgt.
N GS (ω):=
4.1 Splitting-Methoden
81
Satz 4.21 Sei A ∈ Cn×n mit aii = 0 f¨ ur i = 1, . . . ,n , dann gilt f¨ ur ω ∈ R ρ(M GS (ω)) ≥ |ω − 1|. Beweis: Seien λ1 , . . . ,λn die Eigenwerte von M GS (ω) , dann folgt n i=1
λi
= det M GS (ω) = det((D + ωL)−1 ) det((1 − ω)D − ωR) = det(D −1 ) det((1 − ω)D) = det(D)−1 (1 − ω)n det D = (1 − ω)n .
Hiermit ergibt sich ρ(M GS (ω)) = max |λi | ≥ |1 − ω|. i=1,...,n
Der obige Satz besagt, daß eine Wahl des Relaxationsparameters ω ≤ 0 stets zu einem divergenten Verfahren f¨ uhrt, so daß die beim Relaxationsverfahren zun¨achst willk¨ urlich geforderte Positivit¨ at des Relaxationsparameters an dieser Stelle im Kontext des GaußSeidel-Relaxationsverfahrens seine Begr¨ undung findet. Analog beinhaltet der Satz die Forderung ω < 2 . Beide Bedingungen fassen wir in dem folgenden Korollar zusammen. Korollar 4.22 Das Gauß-Seidel-Relaxationsverfahren konvergiert h¨ochstens f¨ ur einen Relaxationsparameter ω ∈ (0,2) . Satz 4.23 Sei A hermitesch und positiv definit, dann konvergiert das Gauß-SeidelRelaxationsverfahren genau dann, wenn ω ∈ (0,2) ist. Beweis: Aus der positiven Definitheit der Matrix A folgt aii ∈ R+ f¨ ur i = 1, . . . ,n , wodurch sich die Wohldefiniertheit des Gauß-Seidel-Relaxationsverfahrens ergibt. ⇒ “ Das Gauß-Seidel-Relaxationsverfahren sei konvergent. ” In diesem Fall ergibt sich ω ∈ (0,2) unmittelbar aus Korollar 4.22. ⇐ “ Gelte ω ∈ (0,2) . ” Sei λ Eigenwert von M GS (ω) zum Eigenvektor x ∈ Cn . Da A hermitesch ist folgt L∗ = R und somit ((1 − ω)D − ωL∗ )x = λ(D + ωL)x. Mit
2 [(1 − ω)D − ωL∗ ] = (2 − ω)D + ω(−D − 2L∗ ) = (2 − ω)D − ωA + ω(L − L∗ )
und
2(D + ωL) = (2 − ω)D + ω(D + 2L) = (2 − ω)D + ωA + ω(L − L∗ )
82
4 Iterative Verfahren
ergibt sich f¨ ur den Eigenvektor x ∈ Cn λ((2 − ω)x∗ Dx + ωx∗ Ax + ωx∗ (L − L∗ )x) = 2λx∗ (D + ωL)x = 2x∗ [(1 − ω)D − ωL∗ ]x = (2 − ω)x∗ Dx − ωx∗ Ax + ωx∗ (L − L∗ )x. Unter Verwendung der imagin¨ aren Einheit i schreiben wir x∗ (L − L∗ )x = x∗ Lx − x∗ L∗ x = x∗ Lx − x∗ Lx = i · s, s ∈ R. Zudem gilt
d := x∗ Dx ∈ R+ , a := x∗ Ax ∈ R+ ,
so daß λ((2 − ω)d + ωa + iωs) = (2 − ω)d − ωa + iωs folgt. Division durch ω und Einsetzen von µ =
2−ω ω
liefert
λ(µd + a + is) = µd − a + is. Aus der Voraussetzung ω ∈ (0,2) erhalten wir µ ∈ R+ , so daß mit a,d ∈ R+ die Ungleichung |µd + is − a| < |µd + is − (−a)| und daher die Absch¨atzung |λ| =
|µd + is − a| 1 f¨ ur alle Mit ω ∈ (0,2) k¨ onnen wir ω − vernachl¨ λ ∈ [0,1) . Zudem gilt f¨ ur alle λ ∈ [0,1) und ω ∈ (0,2) 1 ∂g (ω,λ) = λ2 ω − 1 < 0. ∂ω 2 Wir erhalten die folgenden drei F¨ alle: (1) 2 > ω > ω + (λ) : Die beiden Eigenwerte µ+ (ω,λ) und µ− (ω,λ) sind komplex, und es gilt |µ+ (ω,λ)| = |µ− (ω,λ)| = |ω − 1| = ω − 1 (2) ω = ω + (λ) : Aus (4.1.22) folgt λ2 =
4 4 − , wodurch sich ω ω2
|µ+ (ω,λ)| = |µ− (ω,λ)| = ergibt.
1 2 2 λ ω − (ω − 1) = 2ω − 2 − (ω − 1) = ω − 1 2
86
4 Iterative Verfahren
(3) 0 < ω < ω + (λ) : Die Gleichung (4.1.21) liefert zwei reelle Eigenwerte / 1 2 2 1 2 2 ± λ ω − (ω − 1) µ (ω,λ) = λ ω − (ω − 1) ± λω 4 2 >0
mit
≥0
max{|µ+ (ω,λ)|,|µ− (ω,λ)|} = µ+ (ω,λ).
Zur Bestimmung von ρ(M GS (ω)) sind wir in allen drei F¨allen nur an µ+ (ω,λ) interessiert. Damit betrachten wir f¨ ur λ ∈ [0,1) , + µ (ω,λ) f¨ ur 0 < ω < ω + (λ) µ(ω,λ) = (4.1.23) ω−1 f¨ ur ω + (λ) ≤ ω < 2. Hiermit gilt f¨ ur 0 < ω < ω + (λ) und λ ∈ [0,1) / 1 2 ∂µ 1 2 2 1 2 2 λω (ω,λ) = λω + ω λ ω − (ω − 1) + λω ! > 0, ∂λ 4 2 1 λ2 ω 2 − (ω − 1) ≥0 4 >0
(4.1.24)
≥0
und wegen
µ(ω,λ) =
ωλ + 2
/
2 1 2 2 λ ω − (ω − 1) 4
folgt ∂µ (ω,λ) = 2 ∂ω
ωλ + 2
/
⎤ ⎡ 1 2 λ ω − 1 λ 1 1 2 2 ⎦. λ ω − (ω − 1) ⎣ + ! 2 4 2 2 1 λ2 ω 2 − (ω − 1) 4 >0
Wir schreiben
q(ω,λ):=
⎛
⎞ / ⎜ ⎟ 1 2 2 1 1 ⎜ ⎟ λ ω − (ω − 1) + λ2 ω − 1⎟ . q(ω,λ) = ! ⎜λ 4 2 ⎝ ⎠ 1 2 2 2 4 λ ω − (ω − 1) q (ω,λ):= 2 q1 (ω,λ):= >0
ur alle λ ∈ [0,1) und ω ∈ (0,ω + (λ)) F¨ ur die Funktionen q1 und q2 gilt hierbei f¨ q1 (ω,λ) ≥ 0
und q2 (ω,λ) < 0.
Desweiteren liefert [q1 (ω,λ)]2 =
ω 2 λ4 ω 2 λ4 2 + λ2 − ωλ2 < + 1 − ωλ2 = [q2 (ω,λ)] 4 4
4.1 Splitting-Methoden
87
die Ungleichung ∂µ (ω,λ) < 0 f¨ ur alle λ ∈ [0,1) und ω ∈ (0,ω + (λ)). ∂ω Aus (4.1.23) erhalten wir zudem µ(0,λ) = 1 = µ(2,λ) , so daß |µ(ω,λ)| < 1 f¨ ur alle ur jeden λ ∈ [0,1) und ω ∈ (0,2) folgt, wodurch sich direkt ρ(M GS (ω)) < 1 ergibt. F¨ Eigenwert λ wird |µ(ω,λ)| minimal f¨ ur ωopt = ω + (λ) . Gleichung (4.1.23) liefert somit ρ(M GS (ωopt ))
=
|µ(ωopt ,ρ(M J ))|
=
ωopt (ρ(M J )) − 1
(4.1.22)
2 −1 1 + 1 − ρ2 1 − 1 − ρ2 . 1 + 1 − ρ2
=
=
Bemerkung: Da f¨ ur alle λ ∈ (0,1) lim
ω ωopt
∂µ (ω,λ) = 1 und ∂ω
lim
ω ωopt
∂µ (ω,λ) = −∞ ∂ω
(4.1.25)
gilt, sollte ω im Zweifelsfall eher gr¨ oßer ωopt als kleiner ωopt gew¨ahlt werden. Zudem liegt der optimale Relaxationsparameter f¨ ur die den Voraussetzungen des Satzes 4.28 gen¨ ugenden Matrizen im Intervall [1,2) , weshalb dieses Relaxationsverfahren auch als SOR-Methode (successive overrelaxation method) bezeichnet wird. Bei einem ged¨ ampften Gauß-Seidel-Verfahren ( ω < 1 ) spricht man hingegen auch von der successive underrelaxation method. Beispiel 4.29 Wir betrachten wiederum das Modellproblem Ax = b mit 0.7 −0.4 0.3 A= , b= . −0.2 0.5 0.3 Die Matrix A ist als Tridiagonalmatrix konsistent geordnet, und die Eigenwerte von M J = −D−1 (L + R) sind laut Beispiel 4.15
/ λ1,2 = ±
8 ∈ R, 35
so daß ρ(M J ) < 1 gilt. Unter Verwendung dieser Eigenschaften liefert der Satz 4.28 die Konvergenz des Gauß-Seidel-Relaxationsverfahrens xm+1 = M GS (ω)xm + N GS (ω)b
88
4 Iterative Verfahren
f¨ ur alle ω ∈ (0,2) . Der optimale Relaxationsparameter lautet ωopt =
2 ! 1+ 1−
8 35
≈ 1.0648
! 8 1 − 35 ∗ ! ρ(M GS (ω )) = ≈ 0.0648. 8 1 + 1 − 35 ! 8 aufgetragenen Verlauf des Spektralradius in Die Abbildung 4.3 zeigt den f¨ ur λ = 35 Abh¨ angigkeit vom Relaxationsparameter. Desweiteren pr¨asentiert die Tabelle den Konvergenzverlauf des Gauß-Seidel-Relaxationsverfahrens mit optimalem Relaxationsparameter beim Modellproblem unter Verwendung des Startvektors x0 = (21, − 19)T .
und liefert
1−
0.8
0.6
(!) 0.4
0.2
0.0 0.0
Bild 4.3
0.5
1.0
!
1.5
2.0
Spektralradius in Abh¨ angigkeit vom Relaxationsparameter
SOR-Gauß-Seidel-Verfahren m xm,1 xm,2 εm := xm − A−1 b ∞ 0 2.100000e+01 -1.900000e+01 2.000000e+01 5 9.987226e-01 9.997003e-01 1.277401e-03 10 1.000000e-00 1.000000e-00 2.942099e-09 15 1.000000e-00 1.000000e-00 4.884981e-15
εm /εm−1 8.134709e-02 7.205638e-02 6.727829e-02
Die Abbildung 4.3 verdeutlicht nachdr¨ ucklich den Verlauf des Spektralradius in der N¨ahe des optimalen Relaxationsparameters, wodurch das analytisch ermittelte Verhalten unterstrichen wird.
4.1 Splitting-Methoden 4.1.4
89
Richardson-Verfahren
Das Richardson-Verfahren basiert auf dem Grundalgorithmus xm+1 = (I − A)xm + b (siehe Beispiel 4.10) und einer Gewichtung des Korrekturvektors r m = b − Axm mit einer Zahl Θ ∈ C . Wir erhalten xm+1 = (I − ΘA) xm + M R (Θ):=
ΘI
(4.1.26)
b
N R (Θ):=
oder in Komponentenschreibweise xm+1,i = xm,i + Θ(bi −
n
aij xm,j ).
j=1
Lemma 4.30 Sei A ∈ Cn×n mit σ(A) ⊂ R gegeben, und seien λmax = max λ sowie ur alle Θ ∈ R λmin = min λ , dann gilt f¨
λ∈σ(A)
λ∈σ(A)
σ(M R (Θ)) ⊂ R und f¨ ur alle Θ ∈ C ρ(M R (Θ)) = max{|1 − Θλmax |,|1 − Θλmin |}. Beweis: Mit M R (Θ) = I −ΘA weisen alle Eigenwerte der Matrix M R (Θ) die Form µ = 1−Θλ mit λ ∈ σ(A) auf. Mit Θ ∈ R und σ(A) ⊂ R sind alle Eigenwerte von M R (Θ) reellwertig, und es gilt σ(M R (Θ)) ⊂ R . F¨ ur gegebenes Θ ∈ C betrachten wir die durch p : [a,b] → R λ
→ p(λ) = |1 − Θλ|
definierte Funktion, die auf [a,b] kein lokales Maximum besitzt. Hiermit gilt max p(λ) = max{|1 − Θa|,|1 − Θb|},
λ∈[a,b]
und wir erhalten ρ(M R (Θ)) = max p(λ) = max {|1 − Θλmin |,|1 − Θλmax |} . λ∈σ(A)
In Anlehnung an das Gauß-Seidel-Relaxationsverfahren werden wir mit den folgenden zwei S¨ atzen den Konvergenzbereich der Richardson-Iteration in Abh¨angigkeit vom Parameter Θ sowie dessen optimalen Wert Θopt bestimmen.
90
4 Iterative Verfahren
Satz 4.31 Seien A ∈ Cn×n mit σ(A) ⊂ R+ und λmax = max λ , λmin = min λ , λ∈σ(A)
λ∈σ(A)
dann konvergiert das Richardson-Verfahren (4.1.26) f¨ ur Θ ∈ R genau dann, wenn 0 ρ(M R (Θ)) ≥ |1 − Θλmax | ≥ 1 − Θλmax , womit Θλmax > 0 und damit aufgrund des positiven reellen Spektrums von A die Ungleichung Θ > 0 folgt. Weiter gilt −1 < −ρ(M R (Θ)) ≤ −|1 − Θλmax | ≤ 1 − Θλmax , wodurch sich Θλmax < 2 und mit λmax > 0 die Absch¨atzung Θ
0 f¨ ur i = 1, . . . ,n , so daß neben der Richardson-Methode auch die Jacobi- und Gauß-SeidelVerfahren wohldefiniert sind. (1) B J (ω) = ω1 D = ω1 diag{a11 , . . . ,ann } ist symmetrisch und mit ω,aii ∈ R+ f¨ ur i = 1, . . . ,n zudem positiv definit. 1 I ist das Richardson-Verfahren genau dann eine symmetrische (2) Mit B R (Θ) = Θ Splitting-Methode, wenn Θ ∈ R+ gilt.
(3) Das Gauß-Seidel-Relaxationsverfahren ist unabh¨angig von einer speziellen Wahl des Relaxationsparameters ω ∈ (0,2) keine symmetrische Splitting-Methode, da ur alle L = 0 unsymmetrisch ist. die Matrix B GS (ω) = ω1 (D + ωL) f¨
4.1 Splitting-Methoden
93
Wir wollen im folgenden am Beispiel des Gauß-Seidel-Relaxationsverfahrens eine M¨oglichkeit der Symmetrisierung unsymmetrischer Splitting-Methoden vorstellen. Entspreche A = D + L + R der u ¨blichen Zerlegung der Matrix A , dann definieren wir mit ur m = 0,1, . . . xm+1 = −(D + R)−1 L xm + (D + R)−1 b f¨ M RGS :=
N RGS :=
das r¨ uckw¨ arts durchgef¨ uhrte Gauß-Seidel-Verfahren. Die Komposition der beiden GaußSeidel-Verfahren entspricht der Durchf¨ uhrung zweier aufeinanderfolgender Iterationvorschriften. Durch eine Zusammenfassung der beiden Einzelschritte zu einem Iterationsschritt erhalten wir mit xm+1/2 = M GS xm + N GS b die Darstellung xm+1 = M RGS xm+1/2 + N RGS b = M RGS M GS xm + (M RGS N GS + N RGS ) b. M SGS :=
N SGS :=
F¨ ur das hieraus entstandene symmetrische Gauß-Seidel-Verfahren gelten folglich M SGS = −(D + R)−1 L −(D + L)−1 R = (D + R)−1 L(D + L)−1 R und N SGS
=
−(D + R)−1 L (D + L)−1 + (D + R)−1
= (D + R)−1 I − L(D + L)−1 = (D + R)−1 D(D + L)−1 . Analog erhalten wir das symmetrische Gauß-Seidel-Relaxationsverfahren (symmetrisches SOR-Verfahren = SSOR-Verfahren) als Kombination der relaxierten Einzelverfahren in der Form xm+1 = M SGS (ω)xm + N SGS (ω)b mit M SGS (ω) = (D + ωR)−1 ((1 − ω)D − ωL) (D + ωL)−1 ((1 − ω)D − ωR) und
N SGS (ω) = ω(2 − ω) (D + ωR)−1 D(D + ωL)−1 .
(4.1.27)
F¨ ur jede positiv definite und hermitesche Matrix A ∈ Cn×n existiert eine unit¨are Matrix Q ∈ Cn×n mit D = Q∗ AQ = diag {d11 , . . . ,dnn } mit dii > 0 f¨ ur i = 1, . . . ,n. Dann sei im folgenden stets
5 4 1/α Q. A1/α := Q∗ D1/α Q = Q∗ diag d11 , . . . ,d1/α nn
Im Fall einer positiv definiten, symmetrischen Matrix A ∈ Rn×n ist Q ∈ Rn×n orthogonal.
94
4 Iterative Verfahren
Satz 4.35 Das symmetrische Gauß-Seidel-Relaxationsverfahren ist f¨ ur ω ∈ (0,2) eine konsistente symmetrische Splitting-Methode. Beweis: Mit M GS (ω) = I − N GS (ω)A und M RGS (ω) = I − N RGS (ω)A erhalten wir I − N SGS (ω)A = I − (M RGS (ω)N GS (ω) + N RGS (ω)) A = I − N RGS (ω)A −M RGS (ω) N GS (ω)A =M RGS (ω)
=I−M GS (ω)
= M RGS (ω)M GS (ω) = M SGS (ω),
(4.1.28)
wodurch das SSOR eine konsistente Splitting-Methode repr¨asentiert. Sei A positiv definit und symmetrisch, dann gelten aii > 0 ( i = 1, . . . ,n ) und L = RT . √ √ a11 , . . . , ann , dann folgt mit B SGS (ω) = N −1 Sei D1/2 = diag SGS (ω) die Gleichung B SGS (ω) = =
1 (D + ωL)D −1 (D + ωR) ω(2 − ω) 1 1 D + ωRT D −1/2 D −1/2 (D + ωR) ω(2 − ω) ω(2 − ω) C :=
= C T C. Die Voraussetzungen ω ∈ (0,2) und aii > 0 ( i = 1, . . . ,n ) liefern die Regularit¨at der Matrix C , wodurch sich neben der Symmetrie auch die positive Definitheit der Matrix B SGS = C T C ergibt. Satz und Definition 4.36 Sei A ∈ Cn×n eine positiv definite und hermitesche Matrix, dann stellt
. A : Cn
→ R
x → x A := A1/2 x
2
eine Norm dar. Diese Norm heißt Energienorm (bez¨ uglich A ). Die zugeh¨orige Matrixnorm ist durch
4.1 Splitting-Methoden
95
. A : Cn×n B
→ R
→ B A = A1/2 BA−1/2
2
gegeben. Beweis: Der Nachweis der ersten Aussage beruht auf einfachem Nachrechnen der Vektornormaxio¨ me und verbleibt als Ubungsaufgabe. F¨ ur die Matrixnorm erhalten wir
B A
=
sup Bx A =
xA =1
=
sup A1/2 x2 =1
A1/2 Bx 2
sup A1/2 BA−1/2 y 2 = A1/2 BA−1/2 . 2
y2 =1
Satz 4.37 Sei A ∈ Cn×n hermitesch und positiv definit, dann konvergiert das symmetrische Gauß-Seidel-Relaxationsverfahren f¨ ur alle ω ∈ (0,2) , und es gilt 2
ρ (M SGS (ω)) = M SGS (ω) A = M GS (ω) A , sowie σ (M SGS (ω)) ⊂ [0,ρ (M SGS (ω))] . Beweis: Da A1/2 ∈ Cn×n regul¨ ar ist, ist M SGS (ω) zu A1/2 M GS (ω)A−1/2 A1/2 M SGS (ω)A−1/2 = A1/2 M RGS (ω)A−1/2
(4.1.29)
¨ahnlich. Mit M RGS (ω) = (D + ωR)−1 ((1 − ω)D − ωL) = I − ω(D + ωR)−1 A und M GS (ω) = (D + ωL)−1 ((1 − ω)D − ωR) = I − ω(D + ωL)−1 A erhalten wir A1/2 M RGS (ω)A−1/2
= I − ωA1/2 (D + ωR)−1 A1/2 = = =
∗ ∗ I − ωA1/2 (D + ωR)−1 A1/2 I − ωA1/2 (D + ωL)−1 A1/2 A1/2 M GS (ω)A−1/2
∗
.
∗
(4.1.30)
96
4 Iterative Verfahren
∗ A1/2 M GS (ω)A−1/2 folgt Aus A1/2 M SGS (ω)A−1/2 = A1/2 M GS (ω)A−1/2 σ (M SGS (ω)) = σ A1/2 M SGS (ω)A−1/2 ⊂ R+ 0. Somit gilt σ (M SGS (ω)) ⊂ [0,ρ (M SGS (ω))] .
(4.1.31) 1/2
Aus (4.1.29) und (4.1.30) wird direkt ersichtlich, daß die Matrix A hermitesch ist und somit ρ(M SGS (ω)) = ρ A1/2 M SGS (ω)A−1/2
M SGS (ω)A−1/2
A1/2 M SGS (ω)A−1/2 2 = M SGS (ω) A
Satz 2.34
=
∗ 1/2 A1/2 M GS (ω)A−1/2 A M GS (ω)A−1/2
(4.1.29),(4.1.30)
=
2
2 1/2 2 A M GS (ω)A−1/2 = M GS (ω) A
=
2
folgt. F¨ ur hermitesche Matrizen f¨ uhren wir die folgende Ordnungsrelation ein: Seien die Matrizen F ,G ∈ Cn×n hermitesch, dann schreiben wir G > F , wenn G − F positiv definit ist. Seien F ,G ∈ Cn×n mit G > F und F positiv definit gegeben, dann sei λ ∈ R+ Eigenwert von F mit λ = ρ(F ) und zugeh¨ origem Eigenvektor x ∈ Cn mit x 2 = 1 . Somit erhalten wir 0 < ρ(F ) = (F x,x)2
(G>F )
A ω
ergibt. Betrachten wir die Matrix 6 GS (ω) := A1/2 M GS (ω)A−1/2 M =
A1/2 (I − N GS (ω)A) A−1/2
=
I − A1/2 N GS (ω)A1/2 ,
(4.1.33)
4.2 Mehrgitterverfahren
97
dann folgt ∗
6 GS (ω)M 6 GS (ω) M =
I − A1/2 N GS (ω)A1/2 I − A1/2 N ∗GS (ω)A1/2
=
I − A1/2 (N GS (ω) + N ∗GS (ω)) A1/2 +A1/2 N GS (ω)AN ∗GS (ω)A1/2
=
∗ −∗ 1/2 I − A1/2 N GS (ω) N −1 GS (ω) + N GS (ω) N GS (ω)A +A1/2 N GS (ω)AN ∗GS (ω)A1/2
= (4.1.33)
N−1 ist der Kern von R−1 , kurz ker(R−1 ) , nicht trivial. Sei 0 = v ∈ −1 −1 ker(R ) , dann folgt mit w := A v = 0 die Gleichung −1 M GGK w = w − P −1 A−1 A w = w, −1 R =v
≥ 1 ergibt. wodurch sich ρ M GGK
=0
4.2 Mehrgitterverfahren
107 T
Betrachten wir wiederum als Beispiel den Fehler e0 = (0.75,0.2,0.9,0.8,0.55,0.9,0.3) , so erhalten wir mit zwei Iterationsschritten auf Ω und einer anschließenden Grobgitterkorrektur die in Abbildung 4.12 aufgef¨ uhrte Darstellung. Definition 4.42 Sind φ,ψ : Cn × Cn → Cn zwei Iterationsverfahren, dann heißt φ ◦ ψ : Cn × Cn → Cn mit xm+1 = (φ ◦ ψ) (xm ,b) := φ(ψ(xm ,b),b) Produktiteration.
Fehler
1.0
0.5
0.0 0.0
Bild 4.12
e20 e21 e22 e22 neu
0.5 x
1.0
Entwicklung des Fehlers beim Zweigitterverfahren
Lemma 4.43 Sind φ,ψ zwei lineare Iterationsverfahren mit den Iterationsmatrizen M φ und M ψ , dann gilt: (a) Sind φ und ψ konsistent, dann ist auch die Produktiteration φ ◦ ψ konsistent. (b) Die Iterationsmatrix der Produktiteration φ ◦ ψ hat die Form M φ◦ψ = M φ M ψ . (c) Die beiden Produktiterationen φ ◦ ψ und ψ ◦ φ besitzen die gleichen Konvergenzeigenschaften im Sinne von ρ(M φ◦ψ ) = ρ(M ψ◦φ ). Beweis: ˆ = A−1 b , dann folgt die Konsistenz aus zu (a): Sei x ˆ. (φ ◦ ψ)(ˆ x,b) = φ (ψ(ˆ x,b),b) = φ(ˆ x,b) = x
108
4 Iterative Verfahren
zu (b): Mit φ(xm ,b) = M φ xm + N φ b und ψ(xm ,b) = M ψ xm + N ψ b folgt die Behauptung gem¨ aß (φ ◦ ψ)(xm ,b) = M φ (M ψ xm + N ψ b)+N φ b = M φ M ψ xm +(M φ N ψ + N φ )b. =M φ◦ψ
=N φ◦ψ
zu (c): Sei x Eigenvektor der Matrix M φ M ψ zum Eigenwert λ = 0 , so ergibt sich aus M φ M ψ x = λx = 0 die Eigenschaft M ψ x = 0 , wodurch aufgrund der Gleichung M ψ M φ M ψ x = λM ψ x stets ρ (M φ M ψ ) ≤ ρ (M ψ M φ ) gilt. Analog erhalten wir ρ (M ψ M φ ) ≤ ρ (M φ M ψ ) . Damit stimmen die Spektralradien der Iterationsmatrizen und somit auch das Konvergenzverhalten der Produktiterationen φ ◦ ψ und ψ ◦ φ u ¨ berein.
Lineare Iterationsverfahren wie zum Beispiel die Jacobi-Methode wirken sich gl¨attend auf den Fehlerverlauf aus und werden daher im folgenden als Gl¨atter bezeichnet. Seien ν ∈ N die Anzahl der Iterationsschritte auf dem feinen Gitter Ω und φ das Gl¨attungsverfahren, dann erhalten wir das Zweigitterverfahren als Produktiteration in der Form φZGM = φGGK ◦ φν .
(4.2.18)
Bezeichnet R die Restriktion, P die Prolongation und E das exakte L¨osen des Gleichungssystems, dann l¨ aßt sich (4.2.18) mit dem Gl¨atter G gem¨aß der in der Abbildung 4.13 dargestellten Form visualisieren.
G
`
R
P E
Bild 4.13
`
1
Zweigitterverfahren ohne Nachgl¨ attung
Seien ν1 ,ν2 ∈ N mit ν = ν1 + ν2 , dann liegt laut Lemma 4.43 mit ZGM(ν1 ,ν2 )
φ
:= φν 2 ◦ φGGK ◦ φν 1
(4.2.19)
ein Verfahren vor, das die gleichen Konvergenzeigenschaften wie (4.2.18) aufweist. Man spricht hierbei von ν1 Vor- und ν2 Nachgl¨ attungen. Wir erhalten somit die in Abbildung 4.14 pr¨ asentierte graphische Darstellung. Lemma 4.44 Sei φ ein konsistentes Iterationsverfahren mit Iterationsmatrix M , ZGM(ν1 ,ν2 ) konsistent mit der Iterationsmadann ist das Zweigitteriterationsverfahren φ trix ZGM(ν1 ,ν2 ) −1 = M ν 2 I − P −1 A−1 A M ν 1 . M −1 R
4.2 Mehrgitterverfahren
109
G2
G1 R
P E
Bild 4.14
`
`
1
Zweigitterverfahren mit Nachgl¨ attung
Beweis: konsistent mit Iterationsmatrix Laut Lemma 4.40 ist die Grobgitterkorrektur φGGK −1 = I − P −1 A−1 R A . Lemma 4.43 (a) liefert somit die behauptete KonsiM GGK −1 stenz, und mit Lemma 4.43 (b) folgt ZGM(ν1 ,ν2 ) −1 = M φν2 ◦φGGK ◦φν1 = M ν 2 I − P −1 A−1 A M ν 1 . M −1 R
Zur Vor- und Nachiteration k¨ onnen hierbei nat¨ urlich auch unterschiedliche Gl¨attungsalgorithmen genutzt werden. In der Form eines Diagramms l¨ aßt sich das Zweigitterverfahren wie folgt schreiben: Algorithmus - Zweigitterverfahren — F¨ ur i = 1, . . . ,ν1 u := φ u ,f A d−1 := R−1 u − f −1 e−1 := A−1 −1 d
u := u − P −1 e−1 F¨ ur i = 1, . . . ,ν2 u := φ u ,f
4.2.2
Der Mehrgitteralgorithmus
Das Zweigitterverfahren hat sich als effizient herausgestellt. Es ist jedoch f¨ ur große Systeme unpraktikabel, da es die exakte L¨ osung der Korrekturgleichung
110
4 Iterative Verfahren A−1 e−1 = d−1
(4.2.20)
auf Ω−1 ben¨ otigt. Da aber die Prolongation der exakten L¨osung e−1 auf das feine Gitter Ω nur eine N¨ aherung an den gesuchten Fehlervektor e = u − u,∗ liefert, erweist sich auch eine approximative L¨osung der Korrekturgleichung als ausreichend. Die Gleichung (4.2.20) weist die gleiche Form wie die Ausgangsgleichung A u = f auf. Die Idee liegt daher in der Nutzung einer Zweigittermethode auf Ω−1 und Ω−2 zur −1 . Damit erhalten wir eine Dreigittermethode, bei Approximation von e−1 = A−1 −1 d −2 −2 =d exakt gel¨ ost werden muß. Sukzessives Fortsetzen dieser Idee liefert der A−2 e ein Verfahren auf + 1 Gittern Ω , . . . ,Ω0 bei dem lediglich A0 e0 = d0 exakt gel¨ost werden muß. Bei der von uns gew¨ ahlten Gitterverfeinerung mit h−1 = 2h gilt A0 ∈ R1×1 . In der Praxis wird in der Regel mit Ω0 ein Gitter genutzt, das eine approximative L¨osung des Gleichungssystems mit der Matrix A0 auf effiziente und einfache Weise erm¨ oglicht. Der Mehrgitteralgorithmus l¨ aßt sich folglich als rekursives Verfahren in der anschließenden Form darstellen: MGM(ν1 ,ν2 )
Algorithmus - Mehrgitterverfahren φ
u ,f
— N
Z Z =0 Y Z Z 0 u0 := A−1 0 f
R¨ uckgabe von u0
F¨ ur i = 1, . . . ,ν1 u := φ u ,f A u − f d−1 := R−1 e−1 := 0 0 F¨ ur i = 1, . . . ,γ MGM(ν1 ,ν2 )
e−1 := φ−1 i
u := u − P −1 e−1 γ F¨ ur i = 1, . . . ,ν2 u := φ u ,f R¨ uckgabe von u
−1 e−1 i−1 ,d
4.2 Mehrgitterverfahren
111
In der hier gew¨ ahlten Darstellung werden zur iterativen L¨osung der Grobgittergleichung γ Schritte verwendet. In der Praxis erweisen sich in der Regel γ = 1 respektive γ = 2 als geeignet. Der Fall γ = 1 liefert den sogenannten V-Zyklus, der sich f¨ ur = 3 graphisch gem¨aß Abbildung 4.15 darstellen l¨ aßt, w¨ ahrend f¨ ur γ = 2 die als W-Zyklus bezeichnete Iterationsfolge vorliegt. Der f¨ ur diese Vorgehensweise entstehende algorithmische Ablauf des Verfahrens ist f¨ ur den Fall von vier genutzten Gittern in Abbildung 4.16 dargestellt.
G1
G2
R
G
P
G
1
R
G
R
E
2
2
P
G
1
2
1
P 0
Mehrgitterverfahren mit V-Zyklus
Bild 4.15
G1 R
G2 G1 R
4.2.3
P G2
G P G2
G
G1 R
Bild 4.16
3
P E
R
E
P
R
G1 R
P G2
G P E
R
P E
3
2
1
0
Mehrgitterverfahren mit W-Zyklus mit ν = ν 1 + ν 2
Das vollst¨ andige Mehrgitterverfahren
Die Idee des vollst¨ andigen Mehrgitterverfahrens (nested iteratons, full multigrid method (FMGM)) liegt in der Nutzung der gr¨ oberen Gitter zur Verbesserung der Startn¨aherung u0 auf dem feinsten Gitter Ω . Die Durchf¨ uhrung l¨ aßt sich wie folgt beschreiben: (a) L¨ ose auf Ω0 die Gleichung A0 u0 = f 0 exakt. (b) Prolongiere das Ergebnis auf das n¨ achstfeinere Gitter und f¨ uhre einige Iterationsschritte mit dem Gl¨ attungsverfahren durch.
112
4 Iterative Verfahren
(c) Wiederhole (b), bis eine N¨ aherungsl¨ osung u0 auf Ω ermittelt wurde. (d) F¨ uhre das Mehrgitterverfahren mit der Startn¨aherung u0 durch. Graphisch erhalten wir f¨ ur den V-Zyklus auf 3 Gittern die Darstellung des vollst¨andigen Mehrgitterverfahrens in der in Abbildung 4.17 pr¨asentierten Form.
E Bild 4.17
P
G
G P R 2
G1 R
E
P
G
P 2
G2
2
1 0
Vollst¨ andiges Mehrgitterverfahren mit ν = ν 1 + ν 2
Varianten des Verfahrens erh¨ alt man zum Beispiel durch (a) eine approximative anstelle einer exakten L¨osung der Gleichung A0 u0 = f 0 . (b) die Nutzung unterschiedlicher Anzahlen von Gl¨attungsschritten. (c) die Verwendung verschiedener Prolongationen und Restriktionen.
4.3
Projektionsmethoden und Krylov-Unterraum-Verfahren
Wir betrachten in diesem Abschnitt stets lineare Gleichungssysteme der Form Ax = b
(4.3.1)
mit einer regul¨ aren Matrix A ∈ Rn×n und einer rechten Seite b ∈ Rn . Definition 4.45 Eine Projektionsmethode zur L¨osung der Gleichung (4.3.1) ist ein Verucksichtigung fahren zur Berechnung von N¨ aherungsl¨ osungen xm ∈ x0 + Km unter Ber¨ der Bedingung (b − Axm ) ⊥ Lm , (4.3.2) wobei x0 ∈ Rn beliebig ist und Km sowie Lm m -dimensionale Unterr¨aume des Rn repr¨ asentieren. Die Orthogonalit¨ atsbedingung ist hierbei durch das euklidische Skalarprodukt mittels x ⊥ y ⇔ (x,y)2 = 0 definiert. Gilt Km = Lm , so besagt (4.3.2), daß der Residuenvektor rm = b − Axm senkrecht auf Km steht. In diesem Fall liegt daher eine orthogonale Projektionsmethode vor, und (4.3.2) heißt Galerkin-Bedingung. F¨ ur Km = Lm liegt eine schiefe Projektionsmethode vor, und (4.3.2) wird als PetrovGalerkin-Bedingung bezeichnet.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
113
Beispiel 4.46 Jeder Schritt des Gauß-Seidel-Verfahrens kann als orthogonale Projektionsmethode mit x0 = (xm+1,1 , . . . ,xm+1,i−1 ,0,xm,i+1 , . . . ,xm,n )T und den eindimensionalen R¨ aumen K = L = span {ei } interpretiert werden, denn es gilt n 1 i−1 aij xm+1,j + aij xm,j − bi xi = − aii j=1 j=i+1 ⇔ bi − (Ax)i = 0 mit x ∈ x0 + K ⇔ b − Ax ⊥ L
mit x ∈ x0 + K.
Diese Eigenschaft l¨ aßt sich auch f¨ ur weitere iterative Verfahren dieser Art nachweisen. Generell unterscheiden sich Splitting-Methoden jedoch wesentlich von den Projektionsmethoden. Eine Gegen¨ uberstellung dieser beiden Verfahrensklassen gibt die Tabelle 4.1. Splitting-Methoden
Projektionsmethoden
Berechnung von N¨ aherungsl¨ osungen x m ∈ Rn
Berechnung von N¨aherungsl¨osungen x m ∈ x 0 + K m ⊂ Rn dim Km = m ≤ n
Berechnungsvorschrift Berechnungsvorschrift (Orthogonalit¨atsbed.) xm = M xm−1 + N b b − Axm ⊥ Lm ⊂ Rn dim Lm = m ≤ n Tabelle 4.1
Gegen¨ uberstellung von Splitting-Methoden und Projektionsverfahren
Definition 4.47 Eine Krylov-Unterraum-Methode ist eine Projektionsmethode zur L¨osung der Gleichung (4.3.1), bei der Km den Krylov-Unterraum Km = Km (A,r 0 ) = span r0 ,Ar0 , . . . ,Am−1 r0 mit r0 = b − Ax0 darstellt. Krylov-Unterraum-Methoden werden oftmals durch eine Umformulierung des linearen Gleichungssystems in eine Minimierungsaufgabe beschrieben. Zwei der bekanntesten Vertreter dieser Algorithmengruppe sind das von Hestenes und Stiefel [37] entwickelte Verfahren der konjugierten Gradienten und die von Saad und Schulz [62] hergeleitete GMRESMethode. Beide Verfahren ermitteln die optimale Approximation xm ∈ x0 + Km an die gesuchte L¨ osung A−1 b im Sinne der Orthogonalit¨atsbedingung (4.3.2), wobei bei jeder Iteration die Dimension des Unterraums um eins inkrementiert wird. Vernachl¨assigt man die auftretenden Rundungsfehler, so w¨ urden beide Methoden sp¨atestens nach n Iterationen die exakte L¨ osung liefern. Bevor wir uns mit der Herleitung der einzelnen Verfahren befassen, werden wir zun¨achst eine allgemeing¨ ultige Konvergenzaussage f¨ ur Krylov-Unterraum-Methoden formulieren. Hierzu erweist sich das folgende Lemma als hilfreich.
114
4 Iterative Verfahren
Lemma 4.48 Gegeben sei eine Projektionsmethode zur L¨osung der Gleichung Ax = b mit einer regul¨aren Matrix A ∈ Rn×n . Sei m ∈ N fest, und bilden die Spaltenvektoren der Matrix V m ∈ Rn×m beziehungsweise W m ∈ Rn×m eine Basis der R¨aume Km respektive Lm derart, daß W Tm AV m ∈ Rm×m regul¨ar ist, dann besitzt die L¨osung der Projektionsmethode die Darstellung −1 W Tm r0 . xm = x0 + V m W Tm AV m Beweis: Aufgrund der Basiseigenschaft der Spaltenvektoren der Matrix V m l¨aßt sich der L¨osungsvektor in der Form xm = x0 + V m αm mit αm ∈ Rm schreiben. Aus der Orthogonalit¨atsbedingung (4.3.2) erhalten wir W Tm (b − A (x0 + V m αm )) = 0, wodurch
W Tm AV m αm = W Tm (b − Ax0 )
folgt. Aufgrund der vorausgesetzten Regularit¨ at der Matrix W Tm AV m gilt daher −1 αm = W Tm AV m W Tm r 0 , wodurch sich die behauptete Gestalt der Iterierten ergibt. Aus dem obigen Lemma erhalten wir unmittelbar die Darstellung des zugeh¨origen Residuenvektors in der Form −1 rm = b − Axm = r 0 − AV m W Tm AV m W Tm r 0 . (4.3.3) Wir kommen nun zum angek¨ undigten Konvergenzsatz, der in [38] vorgestellt wurde. Satz 4.49 Sei die Matrix A ∈ Rn×n regul¨ar. Desweiteren bezeichnen v 1 , . . . ,v m ∈ Rn und w 1 , . . . ,w m ∈ Rn die durch ein beliebiges Krylov-Unterraum-Verfahren erzeugten Basisvektoren des Km und Lm . Liegt mit den Matrizen V m = (v 1 . . . v m ) ∈ Rn×m und W m = (w 1 . . . w m ) ∈ Rn×m eine regul¨are Matrix W Tm AV m ∈ Rm×m vor, dann folgen mit der Projektion −1 P m = I − AV m W Tm AV m W Tm (4.3.4) die Absch¨atzungen f¨ ur den Fehlervektor em = A−1 b − xm und den Residuenvektor r m = Aem der Krylov-Unterraum-Methode in der Form
em ≤ A−1 P m min1 p(A)r 0
(4.3.5)
rm ≤ P m min1 p(A)r 0 ,
(4.3.6)
p∈Pm
und p∈Pm
1 wobei Pm die Menge aller Polynome p vom H¨ochstgrad m bezeichnet, die zudem die Nebenbedingung p(0) = I erf¨ ullen.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
115
Beweis: ucksichtigung der Regularit¨at der Aus der Definition der Projektion P m folgt unter Ber¨ Matrix W Tm AV m die Gleichung −1 W Tm AV m = 0. P m AV m = AV m − AV m W Tm AV m
(4.3.7)
Unter Verwendung der Gleichung (4.3.3) ergibt sich r m = P m r0 , wodurch mit (4.3.7) zudem r m = P m (r 0 + AV m α) f¨ ur jeden Vektor α ∈ Rm gilt. Wegen AV m α ∈ AKm erhalten wir r m = P m p(A)r 0 1 f¨ ur jedes beliebige Polynom p ∈ Pm . Hierdurch folgt
rm = min1 P m p(A)r 0 ≤ P m min1 p(A)r 0 . p∈Pm
p∈Pm
Analog liefert em = A−1 r m die Ungleichung (4.3.5). Die im obigen Satz geforderte Regularit¨ at der Matrix W Tm AV m l¨aßt sich f¨ ur spezielle Krylov-Unterraum-Verfahren direkt nachweisen. F¨ ur eine symmetrische, positiv definite Matrix A existiert laut Korollar 2.32 eine orthogonale Matrix U mit U T AU = ur i = 1, . . . ,n und D = diag{λ1 , . . . ,λn } . Aus der positiven Definitheit folgt λi > 0 f¨ 1/2 1/2 T wir erhalten A = U D D U . Betrachten wir hierbei eine orthogonale KrylovUnterraum-Methode, so k¨ onnen wegen Lm = Km die Matrizen W m = V m genutzt werden, wodurch sich T W Tm AV m = D 1/2 U V m D1/2 U V m ∈ Rm×m ergibt. Da die Vektoren der Matrix V m eine Basis von Km darstellen, erhalten wir rang (V m ) = m . Hierdurch ist D1/2 U V m injektiv, so daß T 2 D 1/2 U V m x = D 1/2 U V m x = 0 ∀x ∈ Rm \ {0} x, D 1/2 U V m 2
2
die Regularit¨ at der Matrix W Tm AV m liefert. Eine derartige Methode stellt zum Beispiel das im folgenden betrachtete Verfahren der konjugierten Gradienten dar. F¨ ur regul¨ are Matrizen A ∈ Rn×n betrachten wir Lm = AKm , wodurch W m = AV m gew¨ ahlt werden kann. Analog zu der obigen Betrachtung ergibt sich die Regularit¨at der Matrix W Tm AV m aus T W Tm AV m = (AV m ) AV m . Diese Bedingungen erf¨ ullt das im Abschnitt 4.3.2.4 hergeleitete GMRES-Verfahren. Generell ergibt sich f¨ ur m = n die Regularit¨ at der Matrizen V m und W m , so daß atzungen (4.3.5) und (4.3.6) jeweils die Aussage P m = 0 gilt, und wir aus den Absch¨ erhalten, daß derartige Krylov-Unterraum-Verfahren sp¨atestens nach n Schritten die exakte L¨ osung ermitteln.
116
4 Iterative Verfahren
Die Entwicklung modernster numerischer Algorithmen zur Simulation praxisrelevanter Problemstellungen hat zu einer großen Nachfrage hinsichtlich effizienter, schneller und robuster iterativer Gleichungssysteml¨ oser gef¨ uhrt und einen wesentlichen Impuls zum in den letzten zwanzig Jahren erzielten Fortschritt im Bereich der Krylov-Unterraum-Verfahren beigetragen. Aufgrund der Vielzahl dieser Verfahren werden wir uns im vorliegenden Buch neben dem Verfahren der konjugierten Gradienten im wesentlichen auf die sehr h¨aufig verwendeten Methoden GMRES, CGS, BiCGSTAB, TFQMR und QMRCGSTAB beschr¨ anken und die Einordnung weiterer Algorithmen in den vorliegenden Rahmen soweit m¨ oglich durch Anmerkungen vornehmen. Der Zusammenhang zwischen den genannten Algorithmen wird in der Abbildung 4.18 schematisch verdeutlicht. Hinsichtlich weiterer Literaturstellen zu dieser Verfahrensklasse sei auf die B¨ ucher von Axelsson [7], Demmel [18], Fischer [24], Greenbaum [32], Kelley [42], Meurant [51], Saad [61], Trefethen und Bau [69], van der Vorst [72] sowie Weiss [74] verwiesen. CG-Verfahren Hestenes, Stiefel [37], 1952 Simultane Betrachtung: Ax = b und AT x = b BiCG-Verfahren Fletcher [25], 1975
@ @ Minimierung: @ F (x) = Ax − b 22 @ @ R @ GMRES-Verfahren Saad, Schultz [62], 1986
H HH HH Vermeidung von Speicherplatzreduzierung HH T Multiplikationen mit A HHdurch Quasiminimierung HH j? H ? CGS-Verfahren QMR-Verfahren Sonneveld [67], 1989 Freund, Nachtigall [28], 1991 HH HH Oszillationsminimierung Vermeidung von HH durch eindimensionale HH Multiplikationen mit AT Residuenminimierung HH H j? H ? BiCGSTAB-Verfahren TFQMR-Verfahren van der Vorst [71], 1992 Freund [27], 1993 H HH Erweiterung auf H ¨ HH Ubereinstimmende -dimensionale HH Grundidee Residuenminimierung HH H j? H ? QMRCGSTAB-Verfahren BiCGSTAB( )-Verfahren Chan et. al. [16], 1994 Sleijpen, Fokkema [64], 1993 Bild 4.18
Zusammenh¨ ange zwischen Krylov-Unterraum-Verfahren
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren 4.3.1
117
Verfahren f¨ ur symmetrische, positiv definite Matrizen
Innerhalb dieses Abschnitts setzen wir voraus, daß das betrachtete Gleichungssystem (4.3.1) eine symmetrische und positiv definite Matrix aufweist. Zur Herleitung der Verfahren betrachten wir die Funktion F : Rn
→ R 1 x → (Ax,x)2 − (b,x)2 2
(4.3.8)
und werden zun¨ achst einige ihrer grundlegenden Eigenschaften im Zusammenhang mit dem betrachteten Gleichungssystem studieren. Lemma 4.50 Seien A ∈ Rn×n symmetrisch, positiv definit und b ∈ Rn gegeben, dann gilt mit der durch (4.3.8) gegebenen Funktion F ˆ = arg minn F (x) x x∈R
genau dann, wenn Aˆ x=b gilt. Beweis: Da A positiv definit ist, existiert die positiv definite Inverse A−1 ∈ Rn×n , und wir erhalten (4.3.9) arg minn F (x) = arg minn G(x) x∈R
x∈R
mit 1 G(x) = F (x) + bT A−1 b 2 1 1 = (Ax,x)2 − (b,x)2 + bT A−1 b 2 2 1 1 T T = (Ax − b) x − b (x − A−1 b) 2 2 1 1 −1 T T (Ax − b) x − A b (Ax − b) = 2 2 1 (Ax − b)T A−1 (Ax − b). = 2
(4.3.10)
Somit gelten G(x) ≥ 0 und G(x) = 0
⇔
x = A−1 b.
Bei allen in diesem Abschnitt betrachteten Verfahren nehmen wir eine sukzessive Minimierung der Funktion F ausgehend vom Punkt x ∈ Rn entlang spezieller Richtungen p ∈ Rn vor. Wir definieren daher f¨ ur x,p ∈ Rn die Funktion fx,p : R
→ R
λ → fx,p (λ) := F (x + λp).
(4.3.11)
118
4 Iterative Verfahren
Lemma und Definition 4.51 Seien die Matrix A ∈ Rn×n symmetrisch, positiv defi 0 gegeben, dann gilt nit und die Vektoren x,p ∈ Rn mit p = (r,p)2 (Ap,p)2
λopt = λopt (x,p) := arg min fx,p (λ) = λ∈R
mit r := b − Ax . Der Vektor r wird als Residuenvektor und seine euklidische Norm
r 2 als Residuum bezeichnet. Beweis: Es gilt fx,p (λ) =
1 2
(A(x + λp),x + λp)2 − (b,x + λp)2
= F (x) + λ(Ax − b,p)2 + 12 λ2 (Ap,p)2 . Somit folgt
(λ) = (Ax − b,p)2 + λ (Ap,p)2 fx,p >0
und
fx,p (λopt ) = (Ax − b,p)2 +
(b − Ax,p)2 (Ap,p)2 = 0. (Ap,p)2
Mit
fx,p (λ)
= (Ap,p)2
A pos.def. p=0
>
0
(4.3.12)
ist λopt globales Minimum von fx,p . Ist nun mit {pm }m∈N0 eine Folge von Suchrichtungen aus Rn \{0} gegeben, dann k¨ onnen wir ein erstes Verfahren erstellen: Algorithmus - Basisl¨ oser — W¨ ahle x0 ∈ Rn F¨ ur m = 0,1, . . . r m = b − Axm λm =
(r m ,pm )2 (Apm ,pm )2
xm+1 = xm + λm pm
4.3.1.1
Die Methode des steilsten Abstiegs
Zur Vervollst¨ andigung des Basisl¨ osers ben¨ otigen wir eine Berechnungsvorschrift zur Erur mittlung der Suchrichtungen pm ∈ Rn . Wir fordern zudem o.B.d.A. pm 2 = 1 . F¨ x = A−1 b erhalten wir eine global optimale Wahl durch
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren p=
ˆ −x x
ˆ x − x 2
119
ˆ = A−1 b, mit x
denn hiermit folgt bei Definition von λopt gem¨aß Lemma 4.51 ˜ = x + λoptp = x = x + ˆ x − x 2
ˆ −x (b − Ax,ˆ x − x)2 x (b − Ax,ˆ x − x)2 ˆ x − x 2
ˆ. = x Jedoch ben¨ otigen wir hierbei bereits zur Definition der Suchrichtung die exakte L¨osung. Beschr¨ anken wir uns auf lokale Optimalit¨ at, so erhalten wir diese mit dem negativen Gradienten der Funktion F . Hier gilt 1 A sym. = Ax − b = −r. ∇F (x) = (A + AT )x − b 2 Somit liefert ⎧ r ⎨ f¨ ur r = 0,
r 2 p := (4.3.13) ⎩ 0 f¨ ur r = 0 die Richtung des steilsten Abstiegs. Die Funktion F ist wegen ∇2 F (x) = A und positiv definitem A strikt konvex. Auch hiermit erkennen wir, daß ˆ = A−1 b x wegen ∇F (ˆ x) = 0 das einzige und globale Minimum von F darstellt. Mit (4.3.13) erhalten wir das auch als Gradientenverfahren bezeichnete Verfahren des steilsten Abstiegs in der folgenden Form: Algorithmus - Verfahren des steilsten Abstiegs — W¨ ahle x0 ∈ Rn F¨ ur m = 0,1, . . . r m = b − Axm Z Z r m = 0 Y Z Z λm =
rm 22 (Arm ,rm )2
xm+1 = xm + λm rm
N λm = 0
120
4 Iterative Verfahren
Bemerkung: In der praktischen Anwendung wird r0 außerhalb der Schleife ermittelt und innerhalb der Schleife rm+1
= b − Axm+1 = b − Axm − λm Arm = r m − λm Ar m
verwendet, wodurch pro Iteration eine Matrix-Vektor-Multiplikation vermieden wird. Eine MATLAB-Implementierung ist im Anhang A aufgelistet. Satz 4.52 Das Verfahren des steilsten Abstiegs ist konsistent und nicht linear. Beweis: Das Iterationsverfahren φ : Rn × Rn → Rn ist gegeben durch φ(x,b) = (I − λ(x,b)A) x + λ(x,b)b, wobei λ : Rn × Rn → R in der Form ⎧
b − Ax 22 ⎨ (A(b − Ax),b − Ax)2 λ(x,b) = ⎩ 0
(4.3.14)
f¨ ur b − Ax = 0 sonst.
festgelegt ist. Einfaches Nachrechnen an kleinen Beispielen zeigt, daß λ nicht konstant ˆ = A−1 b ergibt sich λ(ˆ ˆ = φ(ˆ ˆ ist. F¨ ur x x,b) = 0 . Folglich erhalten wir x x,b) und x stellt einen Fixpunkt der Iteration φ dar. Satz 4.53 Sei A positiv definit und symmetrisch, dann konvergiert die durch das Verur jeden Startvektor x0 ∈ Rn fahren des steilsten Abstiegs definierte Folge {xm }m∈N0 f¨ −1 ˆ = A b , und es gilt f¨ ˆ die gegen die L¨osung x ur den Fehlervektor em = xm − x Absch¨atzung m cond2 (A) − 1
e0 A . (4.3.15)
em A ≤ cond2 (A) + 1 Beweis: Betrachten wir die Gleichung (4.3.14), so kann das Verfahren als spezielle RichardsonIteration mit variablem Θ = λ(x,b) interpretiert werden. Da der Startvektor x0 ∈ Rn beliebig ist, reicht der Nachweis der Absch¨ atzung (4.3.15) f¨ ur m = 1 . Seien λmax = max λ und λmin = λ∈σ(A)
min λ , dann ergibt sich beim herk¨ommlichen
λ∈σ(A)
Richardson-Verfahren mit optimalem Gewichtungsparameter Θopt
Satz 4.32
=
2 λmax + λmin
f¨ ur den Fehlervektor eR 1 die Darstellung eR 1 = M R (Θopt )e0 mit
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
121
M R (Θopt ) = I − Θopt A. Aus der Symmetrie der Matrix A folgt, daß M R (Θopt ) ebenfalls symmetrisch ist und sich somit
M R (Θopt ) 2
Satz 2.34
=
ρ (M R (Θopt )) λmax − λmin λmax + λmin
Satz 4.32
=
ergibt. Zudem gilt f¨ ur beliebiges p ∈ R M R (Θopt )Ap = Ap M R (Θopt ), und es folgt mit
1/2 R ˜0 = A1/2 e0 und e ˜R e e1 1 = A
die Darstellung
1/2 ˜R e M R (Θopt )e0 = M R (Θopt )˜ e0 . 1 = A
Hiermit erhalten wir
eR eR e0 2 = M R (Θopt ) 2 e0 A . 1 2 ≤ M R (Θopt ) 2 ˜ 1 A = ˜ Unter Verwendung der Gleichung (4.3.10) folgern wir G(x) = so daß sich mit
1 1 ˆ 2A (Ax − b)T A−1 (Ax − b) = x − x 2 2 xR 1 = x0 + Θopt r 0
und x1 = x0 + λ0 r 0 durch x1 = arg
min
x∈x0 +span {r 0 }
F (x) = arg
min
x∈x0 +span {r 0 }
die Absch¨ atzung
e1 A ≤ eR 1 A ≤
G(x) = arg
1 ˆ 2A
x − x x∈x0 +span {r 0 } 2
λmax − λmin
e0 A λ +λ max min
min
(4.3.16)
ξ :=
ergibt. F¨ ur positiv definite, symmetrische Matrizen A ∈ Rn×n gilt A 2 = ρ(A) = λmax > 0 und A−1 2 = ρ(A−1 ) = λ−1 min > 0 , so daß einerseits mit |ξ| < 1 die behauptete Konvergenz des Verfahrens vorliegt und andererseits aus (4.3.16) die Absch¨atzung λ max
A 2 A−1 2 − 1 cond2 (A) − 1 λmin − 1
e1 A ≤ λmax
e0 A =
e0 A =
e0 A cond2 (A) + 1
A 2 A−1 2 + 1 λmin + 1 folgt. Wegen cond2 (A) ≥ 1 ist es aufgrund des obigen Satzes somit stets vorteilhaft, eine m¨oglichst kleine Konditionzahl vorliegen zu haben.
122
4 Iterative Verfahren
Beispiel 4.54 Wir betrachten Ax = b
mit A=
2 0 0 10
, b=
0 0
, x0 =
√4 1.8
.
Hiermit erhalten wir den folgenden Konvergenzverlauf:
m 0 10 40 70 72
Verfahren xm,1 4.000000e+00 3.271049e-02 1.788827e-08 9.782499e-15 3.740893e-15
des steilsten Abstiegs (Gradientenverfahren) xm,2 εm := xm − A−1 b A εm /εm−1 1.341641e+00 7.071068e+00 1.097143e-02 5.782453e-02 6.183904e-01 5.999910e-09 3.162230e-08 6.183904e-01 3.281150e-15 1.729318e-14 6.183904e-01 1.254734e-15 6.613026e-15 6.183904e-01
Wir nutzen die in Abbildung 4.19 qualitativ dargestellten H¨ohenlinien der Funktion F zur Verdeutlichung des Konvergenzverlaufs. Liegen bei der betrachteten Diagonalmatrix gleiche Diagonaleintr¨ age vor, dann beschreiben die H¨ohenlinien Kreise, und das Verfahren konvergiert bei beliebigem Startvektor bereits bei der ersten Iteration, da der Residuenvektor stets in die Richtung des Koordinatenursprungs zeigt. Weist die Diagonalmatrix positive, jedoch sehr unterschiedlich große Diagonaleintr¨age auf, dann stellen die H¨ ohenlinien der Funktion F zunehmend gestreckte Ellipsen dar, wodurch die N¨aherungsl¨ osung bei jeder Iteration das Vorzeichen wechseln kann und nur sehr langsam gegen das Minimum der Funktion F konvergiert. Die zunehmende Verringerung der Konvergenzgeschwindigkeit l¨ aßt sich hierbei auch deutlich durch Betrachten der Konditionzahl der Matrix A erkl¨ aren, die bei der zugrundeliegenden Diagonalmatrix mit dem Streckungsverh¨ altnis der Ellipse u ¨ bereinstimmt.
x2
x0 x2 x3
Bild 4.19
x1
x1
H¨ ohenlinien der Funktion F mit qualitativem Konvergenzverlauf
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
123
Als Motivation zur Verbesserung f¨ uhren wir die Begriffe Optimalit¨at bez¨ uglich einer Richtung und eines Unterraums ein. Definition 4.55 Sei F : Rn → R gegeben, dann heißt x ∈ Rn (a) optimal bez¨ uglich der Richtung p ∈ Rn , falls F (x) ≤ F (x + λp) ∀ λ ∈ R gilt. (b) optimal bez¨ uglich eines Unterraums U ⊂ Rn , falls F (x) ≤ F (x + ξ) ∀ ξ ∈ U gilt. uglich Lemma 4.56 Sei F durch (4.3.8) gegeben, dann ist x ∈ Rn genau dann bez¨ U ⊂ Rn optimal, wenn r = b − Ax ⊥ U gilt. Beweis: F¨ ur beliebiges ξ ∈ U \{0} betrachten wir f¨ ur λ ∈ R fx,ξ (λ) = F (x + λξ). Die Funktion fx,ξ ist laut (4.3.12) strikt konvex und aus
fx,ξ (λ) = (Ax − b,ξ)2 + λ(Aξ,ξ)2
folgt
(0) = 0 fx,ξ
⇔
Ax − b ⊥ ξ.
Satz 4.57 Die Iterierten xm , m ∈ N des Gradientenverfahrens sind optimal bez¨ uglich der Richtung r m−1 = b − Axm−1 . Beweis: Im Fall r m−1 = 0 folgt direkt rm ⊥ r m−1 . Sei r m−1 = 0 , so erhalten wir mit λm−1 =
rm−1 22 (Ar m−1 ,r m−1 )2
die Orthogonalit¨ at der Residuenvektoren durch (r m ,r m−1 )2
= (rm−1 − λm−1 Ar m−1 ,r m−1 )2 = (r m−1 ,r m−1 )2 − = 0.
Lemma 4.56 liefert damit die Optimalit¨ at.
rm−1 22 (Ar m−1 ,rm−1 )2 (Ar m−1 ,r m−1 )2
124
4 Iterative Verfahren
Korollar 4.58 Das Gradientenverfahren stellt in jedem Schritt eine orthogonale Projektionsmethode mit K = L = span {rm−1 } dar. W¨ unschenswert w¨are eine Optimalit¨ at der Iterierten bez¨ uglich des gesamten Unterraums U = span {r0 , . . . ,r m−1 } , da f¨ ur linear unabh¨ angige Residuenvektoren hierdurch sp¨atestens xn = A−1 b folgt. Im Verfahren des steilsten Abstiegs liegt jedoch das Problem vor, daß die ermittelte N¨ aherungsl¨ osung xm stets nur eine Optimalit¨at bez¨ uglich rm−1 aufweist und die Bedingung r ⊥ p nicht transitiv ist, so daß aus r m−2 ⊥ r m−1 und r m−1 ⊥ r m nicht notwendigerweise rm−2 ⊥ r m folgt. 4.3.1.2
Das Verfahren der konjugierten Richtungen
Die Idee dieses Verfahrens ist die Erweiterung der Optimalit¨ at der ermittelten N¨ahe rungen xm auf den gesamten Unterraum Um = span p0 , . . . ,pm−1 mit linear unabh¨ angigen Suchrichtungen p0 , . . . ,pm−1 . Hierzu werden wir mit dem folgenden Satz eine Bedingung an die zu verwendenden Suchrichtungen formulieren, die den Erhalt der Optimalit¨ at bez¨ uglich U m im (m + 1) -ten Schritt garantiert. Satz 4.59Sei F gem¨aß (4.3.8) gegeben und x ∈ Rn optimal bez¨ uglich des Unterraums ˜ = x + ξ genau dann optimal bez¨ U = span p0 , . . . ,pm−1 ⊂ Rn , dann ist x uglich U , wenn Aξ ⊥ U gilt. Beweis: Sei η ∈ U beliebig, dann folgt die Behauptung unmittelbar aus (b − A˜ x,η)2 = (b − Ax,η)2 − (Aξ,η)2 . =0
Wird mit pm eine Suchrichtung gew¨ ahlt, f¨ ur die Apm ⊥ U m = span p0 , . . . ,pm−1 oder ¨ aquivalent Apm ⊥ pj , j = 0, . . . ,m − 1 gilt, so erbt die N¨ aherungsl¨ osung xm+1 = xm + λm pm laut Satz 4.59 die Optimaltit¨ at von xm bez¨ uglich U m unabh¨angig von der Wahl des skalaren Gewichtungsparameters λm . Dieser Freiheitsgrad wird im weiteren zur Erweiterung der Optimalit¨ at auf
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
125
U m+1 = span {p0 , . . . ,pm } genutzt. Definition 4.60 Sei A ∈ Rn×n , dann heißen die Vektoren p0 , . . . ,pm ∈ Rn paarweise konjugiert oder A -orthogonal, falls pi ,pj A := Api ,pj 2 = 0 ∀ i,j ∈ {0, . . . ,m} und i = j gilt. Eine f¨ ur das Verfahren wichtige Eigenschaft liegt in der sukzessiven Dimensionserh¨ohung innerhalb der betrachteten Folge von Untervektorr¨aumen {U m }m=1,2,... , die durch das anschließende Lemma nachgewiesen wird. Lemma 4.61 Seien A ∈ Rn×n symmetrisch, positiv definit und p0 , . . . ,pm−1 ∈ Rn \{0} paarweise A -orthogonal, dann gilt dim span p0 , . . . ,pm−1 = m f¨ ur m = 1, . . . ,n . Beweis: m−1 Gelte αj pj = 0 mit αj ∈ R , dann erhalten wir f¨ ur i = 0, . . . ,m − 1 j=0
⎛ 0 = (0,Api )2 = ⎝
m−1 j=0
⎞ αj pj ,Api ⎠ = 2
m−1 j=0
αj pj ,Api 2 = αi
(pi ,Api )2
.
= 0, da A pos.def.
Folglich ergibt sich αi = 0 f¨ ur i = 0, . . . ,m − 1 , wodurch die lineare Unabh¨angigkeit der Vektoren nachgewiesen ist. Seien mit p0 , . . . ,pm ∈ Rn \{0} paarweise konjugierte Suchrichtungen gegeben und xm optimal bez¨ uglich Um = span p0 , . . . ,pm−1 , dann erhalten wir die Optimalit¨at von xm+1 = xm + λpm bez¨ uglich Um+1 , wenn 0 = b − Axm+1 ,pj 2 = b − Axm ,pj 2 −λ Apm ,pj 2 = 0 f¨ ur j=m
= 0 f¨ ur j=m
f¨ ur j = 0, . . . ,m gilt. Hieraus ergibt sich f¨ ur λ die Darstellung λ=
(r m ,pm )2 , (Apm ,pm )2
und wir k¨ onnen das Verfahren der konjugierten Richtungen in der folgenden Form schreiben:
126
4 Iterative Verfahren
Algorithmus - Verfahren der konjugierten Richtungen — W¨ ahle x0 ∈ Rn r 0 := b − Ax0 F¨ ur m = 0, . . . ,n − 1 λm :=
(rm ,pm )2 (Apm ,pm )2
xm+1 := xm + λm pm r m+1 := rm − λm Apm Sind die gegebenen Suchrichtungen ung¨ unstig gew¨ahlt, so kann mit xn die exakte L¨osung vorliegen, obwohl xn−1 noch einen sehr großen Fehler aufweist. Im Extremfall kann ur m = 1,2, . . . ,n − 1 und xn = A−1 b gelten. Das Verfahren hierbei xm = x0 = A−1 b f¨ kann daher bei fest vorgegebenen Suchrichtungen in der Regel nur als direktes Verfahren genutzt werden. Diese Eigenschaft f¨ uhrt bei großen n zu einem hohen Rechenaufwand. Eine problemangepaßte Auswahl der Suchrichtungen ist also gefordert. 4.3.1.3
Das Verfahren der konjugierten Gradienten
Die von Hestenes und Stiefel [37] vorgestellte Methode der konjugierten Gradienten (CG-Verfahren) kombiniert das Gradientenverfahren mit dem Verfahren der konjugierten Richtungen. Das Verfahren nutzt die Residuenvektoren zur Definition der konjugierten Suchrichtungen, wodurch ein problemangepaßtes Vorgehen in Bezug auf die Auswahl der Suchrichtungen vorliegt, und zudem die Optimalit¨at des Verfahrens der konjugierten Richtungen erhalten wird (siehe Schaubild 4.20). Analog zu der bereits vorgestellten Methode der konjugierten Richtungen kann das Verfahren der konjugierten Gradienten als direktes und iteratives Verfahren interpretiert werden. ur Mit den Residuenvektoren r0 , . . . ,r m ermitteln wir die Suchrichtungen sukzessive f¨ m = 1, . . . ,n − 1 gem¨ aß p0 pm
= r0, = rm +
m−1
αj pj .
(4.3.17)
j=0
F¨ ur αj = 0 ( j = 0, . . . ,m − 1 ) erhalten wir damit eine zum Verfahren des steilsten Abstiegs analoge Auswahl der Suchrichtungen. Mit der Ber¨ ucksichtigung der bereits genutzten Suchrichtungen p0 , . . . ,pm−1 ∈ Rn \ {0} in der obigen Form liegen m Freiheitsgrade in der Wahl der Koeffizienten αj vor, die zur Gew¨ahrleistung der Konjugiertheit der Suchrichtungen genutzt werden. Aus der geforderten A -Orthogonalit¨atsbedingung folgt m−1 0 = (Apm ,pi )2 = (Ar m ,pi )2 + αj Apj ,pi 2 j=0
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren Verfahren des steilsten Abstiegs
127
Verfahren der konjugierten Richtungen
Basis
: Gradienten als Basis : Konjugiertheit der Suchrichtungen Suchrichtungen Vorteil : Problemorientiertheit Vorteil : Optimalit¨at Nachteil : Konvergenzverhalten Nachteil : Fehlerverlauf H HH HH j H Verfahren der konjugierten Gradienten Basis
: Gradienten zur Berechnung konjugierter Suchrichtungen Vorteile : Problemorientiertheit, Optimalit¨ at Bild 4.20
Herleitung des CG-Verfahrens
f¨ ur i = 0, . . . ,m − 1 . Mit Apj ,pi 2 = 0 f¨ ur i,j ∈ {0, . . . ,m − 1} und i = j erhalten wir die ben¨ otigte Vorschrift zur Berechnung der Koeffizienten in der Form αi = −
(Ar m ,pi )2 . (Api ,pi )2
(4.3.18)
Somit ergibt sich die vorl¨ aufige Version des Verfahrens der konjugierten Gradienten in der folgenden Darstellung: Algorithmus - Vorl¨ aufiges Verfahren der konjugierten Gradienten — W¨ ahle x0 ∈ Rn p0 := r 0 := b − Ax0 F¨ ur m = 0, . . . ,n − 1 λm :=
(r m ,pm )2 (Apm ,pm )2
xm+1 := xm + λm pm rm+1 := r m − λm Apm pm+1
m Arm+1 ,pj 2 p := rm+1 − Apj ,pj 2 j j=0
(4.3.19)
128
4 Iterative Verfahren
Das vorl¨ aufige CG-Verfahren weist den entscheidenden Nachteil auf, daß zur Berechnung unstigsten Fall von pm+1 scheinbar alle pj ( j = 0, . . . ,m ) ben¨otigt werden. Im ung¨ ben¨ otigen wir daher den Speicherplatz einer vollbesetzten n × n -Matrix f¨ ur die Suchrichtungen. Bei großen schwachbesetzten Matrizen ist das Verfahren somit ineffizient und eventuell unpraktikabel. Durch die folgende Analyse zeigt sich jedoch, daß das Verfahren im Hinblick auf den Speicherplatzbedarf und die Rechenzeit entscheidend verbessert werden kann. Satz 4.62 Vorausgesetzt, das vorl¨aufige CG-Verfahren bricht nicht vor der Berechnung ur k > 0 ab, dann gilt von pk f¨ (a) pm ist konjugiert zu allen pj mit 0 ≤ j < m ≤ k , (b) Um+1 := span {p0 , . . . ,pm } = span {r0 , . . . ,r m } mit dim Um+1 = m + 1 f¨ ur m = 0, . . . ,k − 1 , (c) r m ⊥ U m f¨ ur m = 1, . . . ,k , (d) xk = A−1 b
⇐⇒
rk = 0
⇐⇒
pk = 0 ,
(e) Um+1 = span {r 0 , . . . ,Am r0 } f¨ ur m = 0, . . . ,k − 1 , (f ) r m ist konjugiert zu allen pj mit 0 ≤ j < m − 1 < k − 1 . Beweis: zu (a): Da pk berechnet wurde, gilt p0 , . . . ,pk−1 ∈ Rn \{0} . Die Behauptung folgt aus den Berechnungsvorschriften (4.3.17) und (4.3.18). zu (b): Induktion u ¨ ber m . F¨ ur m = 0 folgt p0 = r 0 ∈ Rn \{0} und damit die Behauptung. Sei (b) f¨ ur m < k − 1 erf¨ ullt. Wegen pm+1 ∈ Rn \{0} folgt mit (a) die Konjugiertheit von pm+1 zu allen p0 , . . . ,pm . Aus Lemma 4.61 erhalten wir somit dim Um+2 = m + 2, und m (4.3.17) pm+1 − rm+1 = αj pj ∈ Um+1 j=0
liefert
Um+2 = span Um+1 ,pm+1 = span {Um+1 ,r m+1 } .
zu (c): Induktion u ¨ ber m : F¨ ur m = 1 erhalten wir mit p0 = 0 die Gleichung (r 1 ,r 0 )2 = (r0 ,r0 )2 −
(r 0 ,p0 )2 (Ap0 ,r 0 )2 (Ap0 ,p0 )2
r 0 =p0
=
0.
Sei (c) f¨ ur m < k erf¨ ullt und η ∈ Um , dann folgt mit Teil (a) (r m+1 ,η)2 = (rm ,η)2 −λm (Apm ,η)2 = 0. =0
=0
Unter Ber¨ ucksichtigung von pm = 0 erhalten wir die Behauptung durch (r m+1 ,pm )2 = (r m ,pm )2 −
(r m ,pm )2 (Apm ,pm )2 = 0. (Apm ,pm )2
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
129
¨ zu (d): Aus rk = b−Axk folgt direkt die Aquivalenz zwischen xk = A−1 b und r k = 0 . Sei rk = 0 , dann liefert (4.3.19) die Gleichung pk = 0 . Gelte pk = 0 , dann gilt wiederum mit (4.3.19) r k ∈ Uk . Laut Teil (c) gilt aber rk ⊥ Uk , womit r k = 0 folgt. zu (e): Induktion u ¨ ber m : F¨ ur m = 0 ist die Aussage trivial. Sei (e) f¨ ur m < k − 1 erf¨ ullt, dann folgt mit (b) r m ∈ Um+1 = span {r 0 , . . . ,rm } = span {r 0 , . . . ,Am r 0 } sowie
Apm ∈ AUm+1 = span Ar0 , . . . ,Am+1 r0 . Folglich erhalten wir r m+1 = rm − λm Apm ∈ span r0 , . . . ,Am+1 r0 , so daß Um+2 = span {r 0 , . . . ,rm+1 } ⊂ span r0 , . . . ,Am+1 r0 gilt. Teil (b) liefert dim Um+2 = m + 2 , wodurch Um+2 = span r0 , . . . ,Am+1 r 0 folgt. zu (f): F¨ ur 0 ≤ j < m − 1 ≤ k − 1 gilt pj ∈ Um−1 . Somit gilt Apj ∈ Um , und wir erhalten A symm. (c) Arm ,pj 2 = rm ,Apj 2 = 0.
Dem obigen Satz k¨ onnen wir drei wesentliche Aussagen zur Verbesserung des Verfahrens entnehmen: • Mit Aussage (f) folgt pm = r m −
m−1 j=0
Arm ,pj 2 Arm ,pm−1 2 pj = r m − p . Apj ,pj 2 Apm−1 ,pm−1 2 m−1
(4.3.20)
Damit ist der Speicheraufwand unabh¨ angig von der Anzahl der Iterationen. • Das Verfahren bricht in der k + 1 -ten Iteration genau dann ab, wenn pk = 0 gilt. Mit (d) liefert xk in diesem Fall bereits die exakte L¨osung, so daß pk = 0 als Abbruchkriterium genutzt werden kann. Im folgenden Diagramm stellen wir zudem eine Variante dar, die ohne zus¨ atzlichen Rechenaufwand als Abbruchkriterium das Residuum verwendet. • Aus r m+1 = r m −λm Apm erhalten wir aufgrund der Eigenschaft (c) die Gleichung (rm − λm Apm ,rm )2 = 0 , wodurch sich die skalare Gr¨oße in der Form λm =
(rm ,pm )2 (r m ,r m )2 = (Apm ,pm )2 (Apm ,rm )2
(4.3.21)
schreiben l¨ aßt. Verwendung der Gleichung (4.3.20) offenbart (Arm ,pm−1 )2 (Apm ,rm )2 = Apm ,pm + pm−1 = (Apm ,pm )2 , (Apm−1 ,pm−1 )2 2
130
4 Iterative Verfahren so daß (4.3.21) die Eigenschaft (r m ,r m )2 = (r m ,pm )2
(4.3.22)
liefert. Desweiteren ergibt sich im Fall λm = 0 aus dem vorl¨aufigen CG-Verfahren stets 1 (r m+1 − r m ), (4.3.23) Apm = − λm so daß (Ar m+1 ,pm )2 (Apm ,pm )2
A symm.
=
(b),(c)
=
(Apm ,r m+1 )2 (4.3.23) (r m+1 − rm ,r m+1 )2 = (Apm ,pm )2 (r m+1 − r m ,pm )2 (rm+1 ,rm+1 )2 (4.3.22) (rm+1 ,r m+1 )2 − = − (r m ,pm )2 (r m ,r m )2
folgt und hierdurch innerhalb jeder Iteration eine Matrix-Vektor-Multiplikation entf¨ allt. Hiermit ergibt sich das CG-Verfahren in der folgenden Form. Der interessierte Leser findet eine Implementierung der Methode im Anhang A. Algorithmus - Verfahren der konjugierten Gradienten
—
W¨ ahle x0 ∈ Rn p0 := r 0 := b − Ax0 , α0 := r0 22 F¨ ur m = 0, . . . ,n − 1 Z Z αm = 0 Y Z Z
N
v m := Apm , λm :=
αm (v m ,pm )2
STOP
xm+1 := xm + λm pm r m+1 := rm − λm v m αm+1 := rm+1 22 pm+1 := r m+1 +
αm+1 p αm m
Beispiel 4.63 Wir betrachten das eindimensionale Randwertproblem (4.2.1) mit h = (das heißt N = 7 ), wodurch sich A u = f mit
1 8
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
131
RN ×N A = tridiag {−64,128, − 64} ergibt. Zudem sei die rechte Seite gem¨ aß f = (128, − 448,704, − 832,512,128,320)T gegeben. Mit dem Startvektor u0 = 0 erhalten wir den in der folgenden Tabelle pr¨asentierten Konvergenzverlauf:
m 0 1 2 3 4 5 6 7
Verfahren der konjugierten Gradienten (CG-Verfahren) um,1 um,2 um,3 um,4 um,5 um,6 um,7 rm 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1336.36 0.58 -2.04 3.21 -3.79 2.33 0.58 1.46 363.57 -0.39 -1.72 2.81 -4.57 3.00 4.99 4.26 252.76 -0.01 -2.38 2.06 -3.53 4.87 6.07 6.25 153.30 -0.14 -2.88 2.57 -2.13 6.50 7.48 5.93 117.64 -0.70 -2.18 3.53 -1.12 7.65 7.81 6.27 103.52 0.13 -1.14 5.40 0.54 8.23 8.54 6.98 89.70 1.00 0.00 6.00 1.00 9.00 9.00 7.00 0.00
Dieses einfache Beispiel best¨ atigt die theoretische Eigenschaft des Verfahrens, nach sp¨atestens N Iterationen die exakte L¨ osung zu ermitteln. Im allgemeinen weist der numerische Algorithmus jedoch Ungenauigkeiten aufgrund von Rundungsfehlern auf, wodurch bei einem Gleichungssystem (4.3.1) das nach n Iterationen vorliegende Ergebnis in der Regel von der gesuchten L¨ osung abweicht. Daher f¨ uhrt man in der Praxis bei kleinem n zus¨ atzliche Iterationen durch, bis eine hinreichend genaue L¨osung berechnet wurde. Ein Algol-Programm f¨ ur eine Variante dieses Algorithmus findet man in [76], einen umfangreichen Bericht u ¨ ber numerische Erfahrungen in [57]. Viele aus technischen Anwendungen resultierende Gleichungssysteme besitzen eine große, schwachbesetzte Matrix A ∈ Rn×n . An einer exakten L¨osung dieses Gleichungssystems ist man dabei aus folgenden zwei Gr¨ unden nicht interessiert: Zun¨achst w¨ urde auch bei exakter Arithmetik die eventuell ben¨ otigten n Iterationen auf extrem hohe Rechenzeiten und folglich zu einem unbrauchbaren Verfahren f¨ uhren. Desweiteren stellt die exakte L¨ osung des Gleichungssystems gew¨ ohnlich nur eine Approximation an die L¨osung der zugrundeliegenden Problemstellung dar. Man ist deshalb nur an einer Fehlerordnung interessiert, die im Bereich der Approximationsg¨ ute des Diskretisierungsverfahrens liegt. Diese Argumente zeigen, daß auch ein theoretisch direkter Algorithmus wie das CGVerfahren u ¨ blicherweise nur als iterative Methode verwendet wird. Die im CG-Algorithmus auftretenden Quotienten verdeutlichen die grundlegende Abh¨angigkeit des Verfahrens von der positiven Definitheit der Matrix. Gleichungssysteml¨oser, die die Symmetrie der Matrix ausnutzen, jedoch keine positive Definitheit fordern, werden ausf¨ uhrlich von Fischer [24] diskutiert.
132
4 Iterative Verfahren
Beispiel 4.64 Als weiteres Beispiel betrachten wir die Poisson-Gleichung (siehe Beispiel 1.1), wobei N = 200 gew¨ ahlt wird und folglich 40.000 Unbekannte vorliegen. Zudem verwenden wir ϕ ≡ 0 und f (x,y) = 2x + 2y . Aus der folgenden Tabelle wird ersichtlich, daß der CG-Algorithmus bereits nach 641 Iterationen eine u ¨ bliche Grenze der Maschinengenauigkeit erreicht hat. Auch hierdurch zeigt sich nachdr¨ ucklich, daß das Verfahren bei großen Gleichungssystemen als iterative Methode genutzt werden sollte. Innerhalb des Beispiels 4.14 haben wir bereits nachgewiesen, daß die Matrix des betrachteten Gleichungssystems den Voraussetzungen des Satzes 4.13 gen¨ ugt und folglich das Jacobi-Verfahren konvergiert. Der Residuenverlauf dieser Splitting-Methode ist ebenfalls in der Tabelle enthalten und unterstreicht die durch das CG-Verfahren gewonnene immense Effizienzsteigerung.
Iterationen 0 150 300 450 600 641
CG-Verfahren Jacobi-Verfahren Residuenverlauf 140.348 140.348 1.83245 134.735 2.40822e-05 131.221 1.77391e-12 128.135 1.88161e-15 125.292 8.91038e-17 124.547
Bemerkung: Es gilt beim CG-Verfahren stets xm ∈ x0 +
span p0 , . . . ,pm−1 , =span {r 0 ,...,Am−1 r 0 }=Km
und xm ist optimal bez¨ uglich Km , da r m ⊥ Km gilt. Das CG-Verfahren stellt somit eine orthogonale Krylov-Unterraum-Methode dar. Zudem gilt (4.3.24) xm = arg min F (x). x∈x0 +Km
Wir haben bereits beim Verfahren des steilsten Abstiegs eine Konvergenzaussage auf der Basis der Konditionszahl der Matrix des linearen Gleichungssystems herleiten k¨onnen. Eine analoge Aussage werden wir nun f¨ ur das CG-Verfahren formulieren. Satz 4.65 Seien A ∈ Rn×n symmetrisch, positiv definit und {xm }m∈N0 die durch das Verfahren der konjugierten Gradienten erzeugte Folge von N¨aherungsl¨osungen. Dann erf¨ ullt der zu xm korrespondierende Fehlervektor em = xm − A−1 b die Ungleichung m cond2 (A) − 1
e0 A .
em A ≤ 2 cond2 (A) + 1
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
133
Beweis: 1 aller Polynome p vom H¨ochstgrad m , die der Wir nutzen wiederum die Menge Pm Nebenbedingung p(0) = I gen¨ ugen. Folglich existiert aufgrund der Gleichung em = xm − A−1 b = x0 − A−1 b −
m
=e0 1 ein Polynom p ∈ Pm mit
i=1
ci Ai−1 r0 =−Ai e0
em = p(A)e0 .
(4.3.25)
Die Gleichung (4.3.24) liefert xm − A−1 b A = minx∈x0 +Km x − A−1 b A , wodurch
em A = min1 p(A)e0 A
(4.3.26)
p∈Pm
folgt. Als symmetrische und positiv definite Matrix besitzt A reelle und positive Eigenwerte λn ≥ . . . ≥ λ1 > 0 und die zugeh¨ origen Eigenvektoren v 1 , . . . ,v n k¨onnen als Orthonormalbasis des Rn gew¨ ahlt werden. Somit existiert eine Darstellung des Fehlervektors e0 in der Form n e0 = αi v i i=1
mit αi ∈ R f¨ ur i = 1, . . . ,n . Hieraus erhalten wir n n n 2
e0 A = αi v i , αi λi v i = α2i λi i=1
i=1
und analog
p(A)e0 2A
=
n
i=1
2
p(λi )2 α2i λi .
i=1
Folglich ergibt sich unter Ausnutzung der Gleichung (4.3.26) die Ungleichung
em A
=
=
≤ ≤
min p(A)e0 A
1 p∈Pm
min
1 p∈Pm
min
n
1/2 p(λi )2 α2i λi
i=1
max |p(λj )|
1 j=1,...,n p∈Pm
min
max
1 λ∈[λ ,λ ] p∈Pm 1 n
n
1/2 α2i λi
i=1
|p(λ)| e0 A .
(4.3.27)
Die weitere Aufgabe zum Nachweis der Behauptung besteht in der Angabe eines speziellen Polynoms. F¨ ur die Tschebyscheff-Polynome Tm : [−1,1] → [−1,1] mit Tm (x) = cos(m arccos x), m ∈ N0 l¨aßt sich mittels einer Induktion unter Verwendung von T0 (x) = 1 und T1 (x) = x die Rekursionsformel
134
4 Iterative Verfahren Tm+1 (x) = 2xTm (x) − Tm−1 (x) f¨ ur m ∈ N
aus dem Kosinus-Additionstheorem herleiten. Diese Darstellung belegt Tm ∈ Pm und wird zudem zur Fortsetung der Tschebyscheff-Polynome auf R genutzt. Ebenfalls ergibt sich durch eine vollst¨ andige Induktion die Gleichung 1 1 1 1 m Tm (4.3.28) f¨ ur m ∈ N0 . x+ = x + m 2 x 2 x Wir betrachten zun¨ achst den Fall λ1 = λn . Unter dieser Voraussetzung ist das Polynom n +λ1 ) Tm 2λ−(λ λ1 −λn pm (λ) = 1 Tm λλnn +λ −λ1 1 wohldefiniert und es gilt pm ∈ Pm . Ausgehend von der Ungleichung (4.3.27) erhalten wir mit Tm 2λ − (λn + λ1 ) ≤ 1 ∀λ ∈ [λ1 ,λn ] λ1 − λn
und 1 cond2 (A) + 1 λn + λ1 = = λn − λ1 cond2 (A) − 1 2
cond2 (A) + 1 cond2 (A) − 1 + cond2 (A) − 1 cond2 (A) + 1
(4.3.29)
die Absch¨ atzung
em A
≤
max
λ∈[λ1 ,λn ]
≤
(4.3.29),(4.3.28)
=
≤
|pm (λ)| e0 A
1 e0 A λn +λ1 Tm λn −λ1 ⎛ ⎞−1 m m⎟ ⎜ ⎜ ⎟ cond (A) + 1 cond (A) − 1 2 2 2 ⎜ ⎟ + ⎜ ⎟ e0 A cond2 (A) − 1 cond2 (A) + 1 ⎝ ⎠ >0 >0 m cond2 (A) − 1 2
e0 A . cond2 (A) + 1
1 F¨ ur den Spezialfall λ1 = λn > 0 nutzen wir pm ∈ Pm mit pm (λ) = 1 − λλn und erhalten mit cond2 (A) = λλn1 = 1 die behauptete Ungleichung
em A ≤
max
|pm (λ)| e0 A
λ∈[λ1 ,λn ]
=0
m cond2 (A) − 1 =0=2
e0 A . cond2 (A) + 1
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren 4.3.2
135
Verfahren f¨ ur regul¨ are Matrizen
Im Kontext komplexer Anwendungsf¨ alle k¨ onnen h¨aufig keine Aussagen u ¨ ber die Eigenschaften der auftretenden Gleichungssysteme getroffen werden. Bereits die Diskretisierung der Konvektions-Diffusions-Gleichung (Beispiel 1.4) zeigt, daß selbst bei einfachen Grundgleichungen die Symmetrie der Matrix nicht gew¨ahrleistet werden kann. Wir werden uns in diesem Abschnitt daher mit Verfahren besch¨aftigen, die neben der Regularit¨at der Matrix zun¨ achst keine weiteren Forderungen an das betrachtete Gleichungssystem stellen. Diese Bedingung erweist sich beim GMRES-Verfahren als theoretisch hinreichend f¨ ur die Konvergenz und Stabilit¨ at des Verfahrens. Die weiteren iterativen Gleichungssysteml¨ oser basieren direkt oder indirekt auf dem Bi-Lanczos-Algorithmus und erben demzufolge im Fall einer indefiniten Matrix auch dessen m¨ogliche vorzeitige Verfahrensabbr¨ uche. Trotz dieser Problematik sind die angesprochenen Algorithmen im Bereich des wissenschaftlichen Rechnens sehr verbreitet und haben sich als robust, stabil und effizient erwiesen.
4.3.2.1
Der Arnoldi-Algorithmus und die FOM
Arnoldi entwickelte 1951 ein Verfahren zur sukzessiven Transformation dichtbesetzter Matrizen auf die obere Hessenbergform. Dieser Algorithmus wurde sp¨ater auch zur Ermittlung von Eigenwerten verwendet und dient in der folgenden Form zur Berechnung einer Orthonormalbasis Vm = {v 1 , . . . ,v m } des Krylov-Unterraums Km , die f¨ ur weitere Verfahren von entscheidender Bedeutung ist. Zur Herleitung des Arnoldi-Algorithmus setzen wir voraus, daß mit {v 1 , . . . ,v j } eine Orthogonalbasis des Kj = span{r0 , . . . ,Aj−1 r 0 } f¨ ur j = 1, . . . ,m vorliegt. Wegen AKm = span{Ar 0 , . . . ,Am r0 } ⊂ Km+1 liegt die Idee nahe, v m+1 in der Form v m+1 = Av m + ξ mit ξ ∈ span{v1 , . . . ,v m } = Km zu definieren. Mit ξ = −
m j=1
αj v j folgt
(v m+1 ,v j )2 = (Av m ,v j )2 − αj (v j ,v j )2 , wodurch aufgrund der Orthogonalit¨ atsbedingung αj =
(Av m ,v j )2 (v j ,v j )2
f¨ ur j = 1, . . . ,m gilt. Betrachten wir zudem ausschließlich normierte Basisvektoren, dann vereinfacht sich die Berechnung der Koeffizienten zu αj = (v j ,Av m )2 und wir erhalten unter der Voraussetzung r0 = 0 das folgende Verfahren:
136
4 Iterative Verfahren
Algorithmus - Arnoldi —
v 1 :=
r0
r0 2
F¨ ur j = 1, . . . ,m F¨ ur i = 1, . . . ,j hij := (v i ,Av j )2 wj := Av j −
j
(4.3.30)
hij v i
(4.3.31)
i=1
hj+1,j := wj 2 Z Z hj+1,j = 0 Y Z Z wj v j+1 := hj+1,j
(4.3.32) N (4.3.33) v j+1 := 0 STOP
Eine Implementierung dieses Verfahrens in Form eines MATLAB-Files befindet sich im Anhang A. Satz 4.66 Vorausgesetzt, der Arnoldi-Algorithmus bricht nicht vor der Berechnung von v m = 0 ab, dann stellt Vj = {v1 , . . . ,v j } eine Orthonormalbasis des j -ten KrylovUnterraums Kj f¨ ur j = 1, . . . ,m dar. Beweis: ur alle j = 1, . . . ,m ein OrthoWir weisen zun¨ achst nach, daß die Vektoren v 1 , . . . ,v j f¨ normalsystem (ONS) repr¨ asentieren. Hierzu f¨ uhren wir eine Induktion u ¨ ber j durch. F¨ ur j = 1 ist die Aussage wegen r 0 = 0 trivial. Sei Vk f¨ ur k = 1, . . . ,j < m ein ONS, dann folgt unter Ausnutzung der Voraussetzung v j+1 = 0 die Gleichung (v j+1 ,v k )2
(4.3.31) (4.3.33)
= =
(4.3.30)
=
=
1 hj+1,j
Av j −
j i=1
hij v i ,v k 2
1
((Av j ,v k )2 − hkj ) hj+1,j 1 ((Av j ,v k )2 − (v k ,Av j )2 ) hj+1,j 0.
Die Normierung (4.3.33) liefert die Behauptung. Wir kommen nun zum Nachweis der Basiseigenschaft und f¨ uhren wiederum eine Induktion u ¨ ber j durch.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
137
F¨ ur j = 1 ist die Aussage trivial. Sei Vk f¨ ur k = 1, . . . ,j < m eine Basis von Kk , dann folgt j hij v i ∈ Kj+1 . wj = A vj − i=1 ∈Kj ∈Kj
Somit gilt span{v 1 , . . . ,v j+1 } ⊂ Kj+1 . Aufgrund der nachgewiesenen Orthonormalit¨at der Vektoren v 1 , . . . ,v j+1 ∈ Rn \ {0} gilt dim span{v 1 , . . . ,v j+1 } = j + 1 , wodurch span{v1 , . . . ,v j+1 } = Kj+1 folgt. Satz 4.67 Vorausgesetzt, der Arnoldi-Algorithmus bricht nicht vor der Berechnung von v m = 0 ab, dann erhalten wir unter Verwendung von V m = (v 1 . . . v m ) ∈ Rn×m mit H m := V Tm AV m ∈ Rm×m
(4.3.34)
eine obere Hessenbergmatrix, f¨ ur die hij aus dem Arnoldi-Algorithmus f¨ ur i ≤ j + 1, (H m )ij = 0 f¨ ur i > j + 1 gilt. Beweis: Bezeichnen wir die Elemente der Matrix H m mit ˜hij , dann folgt mit (4.3.34) ˜ ij = (v i ,Av j )2 h
(4.3.30)
=
hij
f¨ ur
i ≤ j.
Seien j ∈ {1, . . . ,m − 1} beliebig, aber fest, dann erhalten wir f¨ ur k ∈ {1, . . . ,m − j} die Darstellung ˜ j+k,j h
= (4.3.31)
=
(v j+k ,Av j )2 (v j+k ,wj )2 +
j i=1
(4.3.33)
= =
hij (v j+k ,v i )2 =0
hj+1,j (v j+k ,v j+1 )2 hj+1,j f¨ ur k = 1 0 f¨ ur k = 2, . . . ,m − j.
Satz 4.68 Vorausgesetzt, der Arnoldi-Algorithmus bricht nicht vor der Berechnung von v m+1 ab, dann gilt AV m = V m+1 H m , (4.3.35) wobei H m ∈ R(m+1)×m durch Hm = gegeben ist.
Hm 0 . . . 0 hm+1,m
(4.3.36)
138
4 Iterative Verfahren
Beweis: Aus (4.3.31) und (4.3.33) folgt Av j = hj+1,j v j+1 +
j
hij v i f¨ ur j = 1, . . . ,m
i=1
und somit (4.3.35). Mit dem Arnoldi-Algorithmus kann direkt ein iteratives Verfahren zur L¨osung der Gleichung Ax = b definiert werden. Zun¨ achst l¨ aßt sich jeder Vektor xm ∈ x0 + Km in der Form (4.3.37) xm = x0 + V m αm mit αm ∈ Rm schreiben, da die Spalten der Matrix V m eine Basis des Krylov-Unterraums Km darstellen. Machen wir den Ansatz einer orthogonalen Krylov-Unterraum-Methode, dann ergibt sich unter Verwendung des ersten Einheitsvektors e1 = (1,0, . . . ,0)T ∈ Rm die Bedingung rm
=
b − Axm ⊥ Km
⇐⇒ (b − Axm ,v j )2
=
0 f¨ ur j = 1, . . . ,m
Rm 0
=
V Tm (b − Axm )
⇐⇒
(4.3.37)
=
V Tm (r0 − AV m αm )
=
r0 2 e1 − V Tm AV m αm .
(4.3.38)
=H m
Hiermit erhalten wir die als Full Orthogonalization Method (FOM) bezeichnete orthogonale Krylov-Unterraum-Methode in der folgenden Form: Algorithmus - Full Orthogonalization Method (FOM) — W¨ ahle x0 ∈ Rn und m ∈ N . r 0 := b − Ax0 N
Z Z r 0 = 0 Y Z Z Berechne V m und H m gem¨ aß dem Arnoldi-Algorithmus unter Verwendung von r 0 αm := r0 2 H −1 m e1 xm := x0 + V m αm
STOP
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
139
Die L¨ osung der Gleichung H m αm = r0 2 e1 kann zum Beispiel durch m − 1 Givens-Rotationen mit G = Gm,m−1 · . . . · G2,1 und anschließendem R¨ uckw¨ artsl¨ osen des verbleibenden Systems Rαm = r0 2 Ge1 mit einer rechten oberen Dreiecksmatrix R erfolgen. F¨ ur das Residuum ergibt sich hierbei
rm 2
= Satz 4.68
= = =
b − A(x0 + V m αm ) 2
V m+1 r0 2 e1 − H m αm 2 R G r 0 2 e1 − α m 0 . . . 0 hm+1,m 2 hm+1,m (αm )m .
Bei der FOM muß durchaus m sehr groß gew¨ ahlt werden, um eine akzeptable L¨osung ¨ erwarten zu d¨ urfen. Eine Uberpr¨ ufung des Residuums als Indikator f¨ ur einen Verfahrensabbruch w¨ are daher w¨ unschenswert. Eine M¨oglichkeit besteht darin, mit ε > 0 eine Genauigkeitsschranke vorzugeben. Erf¨ ullt xm die Bedingung b − Axm 2 ≤ ε dann wird das Verfahren beendet, ansonsten wird ein Restart“ mit x0 = xm durchgef¨ uhrt. ” Hierdurch wird der Speicherplatzbedarf f¨ ur die Orthonormalbasis auf n · m reelle Zahlen beschr¨ ankt. Zur Aufwandsminimierung in Bezug auf die Rechenzeit und den ben¨otigten Speicherplatz erhalten wir somit die folgende Variante der Full Orthogonalization Method, zu der eine MATLAB-Implementierung im Anhang A aufgef¨ uhrt ist. Algorithmus - Restarted FOM — W¨ ahle x0 ∈ Rn , ε > 0 und m ∈ N . r 0 := b − Ax0 Solange r0 2 > ε Berechne V m und H m gem¨ aß Arnoldi-Algorithmus unter Verwendung von r 0 αm := r0 2 H −1 m e1 xm := x0 + V m αm x0 := xm r 0 := b − Ax0
140
4 Iterative Verfahren
Ein Problem des vorgestellten Algorithmus liegt darin, daß die Orthogonalit¨at der Vektoren bereits nach wenigen Iterationen verloren gehen kann. Eine Verbesserung liefert der sogenannte Arnoldi-modifizierte Gram-Schmidt-Algorithmus. Dieser ergibt sich aus dem Arnoldi-Verfahren, indem (4.3.30) und (4.3.31) Aktuelle Schleife (Arnoldi) — F¨ ur i = 1, . . . ,j hij := (v i ,Av j )2 w j := Av j −
j
i=1
hij v i
durch Modifizierte Schleife (Arnoldi) — w j := Av j F¨ ur i = 1, . . . ,j hij := (v i ,w j )2 w j := w j − hij v i (4.3.39) ersetzt werden. Legt man eine maximale Bandbreite der Matrix H m fest und vernachl¨assigt anschließend alle außerhalb liegenden Matrixeintr¨ age, so ergibt sich die IOM (Incomplete Orthogonalization Method), die analog zu DIOM (Direct IOM) eine schiefe Projektionsmethode darstellt. DIOM und IOM unterscheiden sich einzig darin, daß bei der direkten Version eine LU-Zerlegung der Matrix H m vorgenommen wird, wodurch sich ein einfach programmierbarer Algorithmus ergibt. Eine spezielle Implementierung der IOM wird in [58] vorgestellt.
4.3.2.2
Der Lanczos-Algorithmus und die D-Lanczos-Methode
Mit dem Ziel der Eigenvektor- und Eigenwertbestimmung stellte Lanczos [44] bereits 1950 ein Verfahren zur Umformung symmetrischer Matrizen auf Tridiagonalgestalt vor. Wie wir sehen werden, kann die Methode als Vereinfachung des Arnoldi-Algorithmus f¨ ur symmetrische Matrizen aufgefaßt werden. Betrachten wir eine symmetrische Matrix A ∈ Rn×n , dann folgt mit (4.3.34) H m = V Tm AV m = V Tm AT V m = (V Tm AV m )T = H Tm . Hiermit erhalten wir den Lanczos-Algorithmus aus dem Arnoldi-Algorithmus, da
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
141
(a) das Matrixelement hj−1,j bereits durch hj,j−1 im vorhergehenden Schritt berechnet wurde und somit die Schleife (4.3.30) zu hjj = (v j ,Av j )2 degeneriert und urzt. (b) (4.3.31) sich auf w j = Av j − hj−1,j v j−1 − hjj v j verk¨ W¨ahlen wir die Notationen aj = hjj und cj = hj−1,j , dann hat H m die Gestalt ⎞ ⎛ a 1 c2 ⎟ ⎜ ⎟ ⎜ c2 a 2 . . . ⎟ ⎜ ⎟ ⎜ . . . .. .. .. Hm = ⎜ ⎟. ⎟ ⎜ ⎟ ⎜ .. ⎝ . am−1 cm ⎠ cm am Aus der modifizierten Variante des Arnoldi-Algorithmus (siehe (4.3.39)) ergibt sich unter Ausnutzung von hj−1,j = hj,j−1 der Lanczos-Algorithmus in der Form Algorithmus - Lanczos —
v 1 :=
r0 , c1 := 0 , v 0 := 0
r0 2
F¨ ur j = 1, . . . ,m w j := Av j − cj v j−1 aj := (w j ,v j )2 w j := w j − aj v j cj+1 := wj 2 Z Z cj+1 = 0 Y Z Z wj v j+1 := cj+1
N v j+1 := 0 STOP
Analog zum Arnoldi-Algorithmus l¨ aßt sich auch die Lanczos-Methode zur L¨osung des linearen Gleichungssystems Ax = b verwenden. Vorausgesetzt, die Matrix H m l¨aßt sich in der Form ⎞ ⎞⎛ ⎛ β1 δ 2 1 ⎟ ⎟⎜ ⎜ .. .. ⎜ ⎜ γ2 . . . . . 0 ⎟ 0 ⎟ ⎟ ⎟⎜ ⎜ ⎟ ⎟⎜ ⎜ .. .. .. .. Hm = ⎜ (4.3.40) ⎟ ⎟⎜ . . . . ⎟ ⎟⎜ ⎜ ⎟ ⎟⎜ ⎜ .. .. .. ⎠⎝ 0 ⎝ 0 . . . δm ⎠ γm 1 βm =: Lm =: U m
142
4 Iterative Verfahren
zerlegen, dann folgt δj
= cj f¨ ur j = 2, . . . ,m
β1
= a1 , cj = f¨ ur j = 2, . . . ,m, βj−1
γj βj
= aj − γj cj f¨ ur j = 2, . . . ,m.
(4.3.41) (4.3.42) (4.3.43)
Analog zur FOM schreiben wir die N¨ aherungsl¨ osung unter Verwendung des ersten Einheitsvektors e1 ∈ Rm in der Form xm
= x0 + V m H −1 m r 0 2 e1 ˜1 =: e = x0 + P m z m
n×m mit P m := V m U −1 und z m m ∈ R vektoren von P m , dann folgt mit ⎛ β1 δ 2 ⎜ .. ⎜ . ⎜ Pm ⎜ ⎝
(4.3.40)
=
−1 ˜1 x0 + V m U −1 m Lm e
˜1 . Seien p1 , . . . ,pm ∈ Rn die Spalten:= L−1 m e ⎞ ..
.
..
.
δm βm
⎟ ⎟ ⎟ = (v 1 . . . v m ) ⎟ ⎠
die Gleichung δm pm−1 + βm pm = v m , wodurch sich die Vorschrift zur Berechnung der m -ten Spalte mittels 1 (v m − δm pm−1 ) (4.3.44) pm = βm unter Ber¨ ucksichtigung der Festlegung δ0 := 0 respektive p0 := 0 ergibt. Gilt die Beziehung P m−1 U m−1 = V m−1 , dann folgt mit (4.3.44) die Gleichung P m U m = V m , T m−1 wodurch sich P m = V m U −1 m ergibt. Sei desweiteren z m−1 = (ξ1 , . . . ,ξm−1 ) ∈ R m−1 ˜1 ∈ R die L¨ osung von Lm−1 z m−1 = e , so erhalten wir durch Inkrementierung der Raumdimension ⎛ ⎞ 0 ⎜ .. ⎟ z ˜ e ⎜ ⎟ m−1 1 m L . m−1 ˜ 1 = Lm z m = ⎜ R e = ⎟ ξm γm ξm−1 + ξm ⎝ 0 ⎠ 0 . . . 0 γm 1 und somit ξm = −γm ξm−1 .
(4.3.45)
Hierbei liefert die erste Gleichung direkt ξ1 = 1 . F¨ ur die N¨aherungsl¨osung folgt daher z m−1 = x0 + P m−1 z m−1 + ξm pm xm = x0 + (P m−1 ,pm ) ξm = xm−1 + ξm pm
(4.3.46)
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
143
und wir erhalten zusammenfassend das D(Direct)-Lanczos-Verfahren: D-Lanczos-Algorithmus — W¨ ahle x0 ∈ Rn und ε > 0 r 0 := b − Ax0 N
Z Z
r0 2 > ε Y Z Z r0 v 1 :=
r0 2 c1 := γ1 := 0, ξ1 := 1, p0 := v 0 := 0 F¨ ur j = 1, . . . w j := Av j − cj v j−1 aj := (v i ,wj )2 Z Z j>1 Y Z Z γj βj pj
N
(4.3.42)
cj , ξj βj−1
(4.3.43)
aj − γj cj
(4.3.44)
1 (v j − cj pj−1 ), xj βj
:=
:=
:=
(4.3.45)
:=
−γj ξj−1
(4.3.46)
:=
xj−1 + ξj pj
Z Z
b − Axj 2 > ε Y Z Z
N
w j := w j − aj v j
v j+1 := 0
cj+1 := wj 2
STOP
Z Z cj+1 = 0 Y Z Z wj v j+1 := cj+1
N v j+1 := 0 STOP
Die Anwendung einer LQ-Zerlegung anstelle einer LU-Zerlegung f¨ uhrt auf das Verfahren SYMMLQ, welches 1975 von Paige und Saunders [54] vorgestellt wurde. Die naheliegende Idee der Nutzung einer QR-Zerlegung wird zudem in [24] vorgestellt. Der D-Lanczos-Algorithmus wurde auf der Basis der Umformung (4.3.38) hergeleitet und stellt somit analog zur FOM eine orthogonale Krylov-Unterraum-Methode dar. Betrachten wir nun den Spezialfall einer positiv definiten und symmetrischen Matrix A . Da V m
144
4 Iterative Verfahren
orthonormale Spaltenvektoren besitzt, erhalten wir V m x = 0 f¨ ur alle x ∈ Rn \ {0} , wodurch sich mit (x,H m x)2 = (V m x,AV m x)2 neben der Symmetrie auch die positive Definitheit auf die Matrix H m ∈ Rm×m u ¨bertr¨agt. Mit H m stellen auch alle Hauptabschnittsmatrizen H m [k] f¨ ur k = 1, . . . ,m positiv definite Matrizen und folglich auch regul¨ are Matrizen dar. Hierdurch folgt mit Satz 3.8 die Existenz und Eindeutigkeit der Zerlegung (4.3.40). In diesem Fall ist der Algorithmus wohldefiniert und als orthogonale Krylov-Unterraum-Methode zudem ¨aquivalent zum CG-Verfahren. Somit k¨ onnen wir den D-Lanczos-Algorithmus als Verallgemeinerung des CG-Verfahrens auf indefinite symmetrische Matrizen ansehen.
4.3.2.3
Der Bi-Lanczos-Algorithmus
Die aus dem Arnoldi- und Lanczos-Algorithmus hervorgegangenen iterativen Verfahren FOM und D-Lanczos weisen unterschiedliche Vorteile und Nachteile auf. Der Vorteil der Full Orthogonalization Method liegt in der Anwendbarkeit f¨ ur beliebige regul¨ are Matrizen A ∈ Rn×n , w¨ ahrend sich der D-Lanczos-Algorithmus durch einen geringen Speicherplatzbedarf f¨ ur die Orthonormalbasis {v1 , . . . ,v m } des KrylovUnterraums Km auszeichnet. Betrachten wir die Nachteile der beiden Algorithmen, so weist die FOM einen hohen Speicherplatzbedarf f¨ ur die Orthonormalbasis auf, der bei schwachbesetzten Matrizen A ∈ Rn×n oftmals keine n Iterationen zul¨aßt. Abhilfe liefert die Restarted-Version“, die jedoch nach n Schritten auch theoretisch keine Konvergenz ” gew¨ ahrleistet. Das D-Lanczos-Verfahren ist dagegen auf die L¨osung von Gleichungssystemen mit einer symmetrischen Matrix A beschr¨ankt und kann als Spezialform der FOM f¨ ur symmetrische Matrizen interpretiert werden. Beide Verfahren sind f¨ ur positiv definite Matrizen formal ¨aquivalent zum Verfahren der konjugierten Gradienten. Das Ziel des Bi-Lanczos-Algorithmus liegt in der Ermittlung einer Basis des KrylovUnterraums Km derart, daß hierauf beruhende iterative Verfahren den Vorteil eines geringen Speicherplatzes mit der Anwendbarkeit auf unsymmetrische Matrizen verkn¨ upfen. are Matrix, dann definieren wir neben Sei A ∈ Rn×n eine beliebige regul¨ Km = Km (A,r 0 ) = span r0 ,Ar0 , . . . ,Am−1 r0 den zu Km transponierten Krylov-Unterraum m−1 . T Km = Km AT ,r 0 = span r 0 ,AT r0 , . . . , AT r0 . Definition 4.69 Seien v 1 , . . . ,v m ,w 1 , . . . ,wm ∈ Rn , dann heißen die beiden Mengen {v 1 , . . . ,v m } und {w1 , . . . ,wm } bi-orthogonal, wenn ur i,j = 1, . . . ,m (v i ,w j )2 = δij cij mit cij ∈ R\{0} f¨
(4.3.47)
ur i = 1, . . . ,m heißen die Mengen bi-orthonormal. gilt. Im Fall cii = 1 f¨
Eine wesentliche Eigenschaft bi-orthogonaler Mengen wird durch das folgende Lemma beschrieben.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
145
Lemma 4.70 Seien die Mengen {v 1 , . . . ,v m } und {w1 , . . . ,wm } bi-orthogonal, dann gilt dim span {v 1 , . . . ,v m } = m = dim span {w 1 , . . . ,wm } Beweis: Aus Symmetriegr¨ unden ist es hierbeiausreichend, die Behauptung f¨ ur die Vektoren m v 1 , . . . ,v m nachzuweisen. Gelte 0 = i=1 λi v i , so erhalten wir f¨ ur j = 1, . . . ,m die Darstellung m m m 1 1 1 1 λi cij δij = λi (v i ,w j )2 = λi v i ,wj = (0,w j )2 = 0. λj = cjj i=1 cjj i=1 cjj i=1 cjj 2
Der Bi-Lanczos-Algorithmus basiert auf der folgenden Idee: Anstelle eine Orthonormalbasis des Km zu ermitteln, wird simultan eine Basis {v 1 , . . . ,v m } des Km und eine T Basis {w1 , . . . ,w m } des Km berechnet, die der Bi-Orthogonalit¨atsbedingung (4.3.47) gen¨ ugen. Bi-Lanczos-Algorithmus — h1,0 = h0,1 := 0 v 0 = w0 := 0 v 1 = w1 :=
r0
r0 2
(4.3.48)
f¨ ur j = 1, . . . ,m hjj := (w j ,A v j )2
(4.3.49)
v ∗j+1 := A v j − hjj v j − hj−1,j v j−1
(4.3.50)
w∗j+1 := AT w j − hjj wj − hj,j−1 w j−1
(4.3.51)
hj+1,j := |(v ∗j+1 ,w ∗j+1 )2 |1/2 Z hj+1,j = 0 Z Y Z Z (v ∗j+1 ,w∗j+1 )2 hj,j+1 := hj+1,j v j+1 := wj+1
v ∗j+1 hj+1,j
w∗j+1 := hj,j+1
N (4.3.52) (4.3.53)
hj,j+1 := 0 v j+1 := 0 wj+1 := 0
(4.3.54) STOP
146
4 Iterative Verfahren
Mit dem n¨ achsten Satz werden wir nachweisen, daß der vorliegende Bi-Lanczos-Algorithmus T generiert. tats¨ achlich bi-orthonormale Basen der Krylov-Unterr¨aume Km und Km Satz 4.71 Vorausgesetzt, der Bi-Lanczos-Algorithmus bricht nicht vor der Berechnung von w m = 0 ab, dann stellen Vj = {v 1 , . . . ,v j } und Wj = {w1 , . . . ,w j } eine Basis ur j = 1, . . . ,m dar. Zudem erf¨ ullen des Krylov-Unterraums Kj beziehungsweise KjT f¨ die Basisvektoren die Bi-Orthogonalit¨atsbedingung (4.3.47) mit cii = 1 f¨ ur i = 1, . . . ,m . Beweis: Den Nachweis der Bi-Orthonormalit¨ at erhalten wir durch eine vollst¨andige Induktion u ber j . ¨ F¨ ur j = 1 folgt (w 1 ,v 1 )2 =
(r 0 ,r 0 )2 = 1.
r0 22
Sei die Bedingung f¨ ur = 1, . . . ,j < m erf¨ ullt, dann erhalten wir (v j+1 ,wj )2
(4.3.50) (4.3.53)
1
=
hj+1,j
=
(Av j ,wj ) −hjj (v j ,wj )2 −hj−1,j (v j−1 ,wj )2 2 = hjj
=1
=0
0,
wobei sich im Fall j = 1 die Eigenschaft (v j−1 ,wj )2 = (v 0 ,w1 )2 = 0 durch die Definiur 0 < i < j tion von v 0 := 0 ergibt. Zudem gilt f¨ (Av j ,w i )2 = v j ,AT w i 2
(4.3.51) (4.3.54)
=
hi,i+1 (v j ,w i+1 )2 + (v j ,hii wi + hi,i−1 wi−1 )2 =0
=
hj−1,j f¨ ur i = j − 1, 0 f¨ ur i < j − 1.
Die Verwendung der beiden obigen Aussagen liefert f¨ ur 0 < i < j die Gleichung (v j+1 ,wi )2
(4.3.50) (4.3.53)
=
=
1 hj+1,j
(Av j ,wi )2 j hj−1,j , i=j−1 = 0, j j + 1.
ur i < j Analog erhalten wir mit der Definition von w∗j+1 und (4.3.51) f¨ h ur i = j − 1, j−1,j f¨ (wi ,Av j ) = AT wi ,v j = 0 f¨ ur i < j − 1, womit die behauptete Darstellung der Matrix T m gem¨aß (4.3.56) gezeigt ist. Ber¨ ucksichtigen wir die Gestalt der Matrix T m , dann stellen die Gleichungen (4.3.57) und (4.3.58) die Matrixdarstellungen der Gleichungen (4.3.50) und (4.3.51) unter Verwendung von (4.3.53) respektive (4.3.54) dar. Der Nachweis rang(V m ) = rang(W m ) = m folgt unmittelbar aus der Basiseigenschaft der entsprechenden Spaltenvektoren.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
149
Der Bi-Lanczos-Algorithmus terminiert in der pr¨asentierten Form im Fall hj+1,j = 0 . Eine derartige Situation tritt auf, wenn einer der beiden Basisvektoren identisch verschwindet. Gilt v ∗j+1 = 0 , so liegt mit Kj ein A -invarianter Krylov-Unterraum vor, d. h. es gilt Kj = Kj+1 , und hierauf basierende orthogonale als auch schiefe KrylovUnterraum-Methoden liefern die exakte L¨ osung des Gleichungssystems, siehe [61]. Eine analoge Aussage ergibt sich f¨ ur w∗j+1 = 0 . Diese beiden F¨alle werden als regul¨are Verfahrensabbr¨ uche beschrieben. Bei orthogonalen Vektoren v ∗j+1 = 0 = w ∗j+1 liegt ein sogenannter ernsthafter Abbruch (serious breakdown) vor, da hierauf beruhende Projektionsmethoden in der Regel ohne Berechnung einer akzeptablen N¨aherungsl¨osung terminieren. Diese Problematik kann oftmals durch eine vorausschauende Variante des Verfahrens (Look-ahead Lanczos algorithm) behoben werden. Hierbei wird ausgenutzt, daß h¨ aufig die Vektoren v ∗j+2 und w ∗j+2 auch ohne explizite Verwendung von v ∗j+1 und onnen. Sollten auch v ∗j+2 und w∗j+2 nicht ermittelt werden w∗j+1 definiert werden k¨ k¨ onnen, dann versucht der Algorithmus die Vektoren v ∗j+3 und w∗j+3 zu berechnen, usw.. Gelingt die Berechnung eines solchen Vektorpaares, so kann der Algorithmus in seiner urspr¨ unglichen Form weitergef¨ uhrt werden. Die auf dem Bi-Lanczos-Algorithmus beruhenden Iterationsverfahren haben sich innerhalb praktischer Anwendungen auch bei Nutzung der beschriebenen Lanczos-Version als stabil erwiesen [48, 50]. Wir verzichten daher auf eine detailierte Beschreibung der vorausschauenden Variante und verweisen den interessierten Leser auf die Arbeiten von Brezinski, Zaglia, Sadok [13] und Parlett, Taylor, Liu [55], wobei in letzterem auch sogenannte unheilbare Verfahrensabbr¨ uche diskutiert werden.
4.3.2.4
Das GMRES-Verfahren
Das von Saad und Schultz [62] 1986 vorgestellte GMRES-Verfahren (Generalized Minimal Residual) ist bei beliebigen regul¨ aren Matrizen anwendbar. Analog zum CG-Algorithmus kann das Verfahren formal als direktes und iteratives Verfahren aufgefaßt werden. Die Verwendung des GMRES-Verfahrens in einer direkten Form ist jedoch in der Regel aufgrund des ben¨ otigten Speicherplatzes nicht praktikabel. Der Algorithmus wird daher bei praxisrelevanten Problemstellungen zumeist in einer Restarted-Version genutzt, die bereits bei der FOM vorgestellt wurde. Das Verfahren kann auf zwei unterschiedliche Arten betrachtet werden. Einen Zugang erhalten wir, indem wir GMRES als Krylov-Unterraum-Methode betrachten, bei der die Projektion durch eine Petrov-Galerkin-Bedingung mit Lm = AKm gegeben ist und das Verfahren somit eine schiefe Projektionsmethode darstellt. Die zweite M¨ oglichkeit zur Herleitung des Verfahrens besteht in der Umformulierung des linearen Gleichungssystems in ein Minimierungsproblem. Wir definieren hierzu im Gegensatz zum Verfahren der konjugierten Gradienten die Funktion F durch F : Rn → R x → b − Ax 22 .
(4.3.59)
Lemma 4.73 Seien A ∈ Rn×n regul¨ar und b ∈ Rn , dann gilt mit der durch (4.3.59) gegebenen Funktion F ˆ = arg minn F (x) x x∈R
150
4 Iterative Verfahren
ˆ = A−1 b gilt. genau dann, wenn x Beweis: ur alle x ∈ Rn . Somit erhalten wir durch Es gilt F (x) = b − Ax 22 ≥ 0 f¨ ⇔
F (ˆ x) = 0 die Aussage
Aˆ x=b
ˆ = arg minn F (x) = A−1 b. x x∈R
Zum Abschluß dieser kurzen Einordnung der GMRES-Methode m¨ ussen wir noch nachweisen, daß beide Herleitungen zum gleichen Verfahren f¨ uhren, das heißt, daß die bei den unterschiedlichen Bedingungen erzielten N¨ aherungsl¨osungen u ¨ bereinstimmen. Diese Aussage liefert uns das folgende Lemma. Lemma 4.74 Seien F : Rn → R durch (4.3.59) gegeben und x0 ∈ Rn beliebig. Dann folgt = arg min F (x) (4.3.60) x x∈x0 +Km
genau dann, wenn b − A x ⊥ Lm = AKm
(4.3.61)
gilt. Beweis: = x0 + z und xm = x0 + z m , dann erhalten wir Seien xm , x ∈ x0 + Km mit x F (xm ) − F ( x) x − b,A x − b)2 = (Axm − b,Axm − b)2 − (A = (A(x0 + z m ) − b,A(x0 + z m ) − b)2 − (A(x0 + z) − b,A(x0 + z) − b)2 = (Az m ,Az m )2 + 2 (Ax0 − b,Az m )2 + (Ax0 − b,Ax0 − b)2 − (Az,Az)2 − 2 (Ax0 − b,Az)2 − (Ax0 − b,Ax0 − b)2 = (Az m ,Az m )2 − 2 (Az,Az m )2 + (Az,Az)2 = (A(z m − z),A(z m − z))2 5 4 +2 (Ax0 − b,Az m )2 + (Az,Az m )2 − (Ax0 − b,Az)2 − (Az,Az)2 = (A x − b,A(z m − z))2 x − b,A(z m − z))2 . = (A(z m − z),A(z m − z))2 + 2 (A
(4.3.62)
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
151
(4.3.61) ⇒ (4.3.60)“ ” Gelte b − A x ⊥ AKm . Dann ergibt sich (b − A x,Az)2 = 0 f¨ ur alle z ∈ Km und wir erhalten x) F (xm ) − F (
(4.3.62)
=
2
A(z m − z) 2 .
Unter Ber¨ ucksichtigung der Regularit¨ at der Matrix A folgt somit x) f¨ ur alle xm ∈ {x0 + Km }\{ x}. F (xm ) > F ( (4.3.60) ⇒ (4.3.61)“ ” = arg min F (x) . Gelte x x∈x0 +Km
Wir f¨ uhren einen Widerspruchsbeweis durch und nehmen hierzu an, daß ein z m ∈ Km derart existiert, daß (b − A x,Az m )2 = ε = 0 gilt. O.B.d.A. k¨ onnen wir ε > 0 voraussetzen. Mit der Regularit¨at der Matrix A gilt z m = 0 und wir definieren η := (Az m ,Az m )2 > 0. Desweiteren betrachten wir f¨ ur gegebenes ξ ∈ R mit 0 < ξ
0 auf, so wird dennoch die zur Zeit optimale N¨aherungsl¨osung xm bestimmt und als Startvektor innerhalb eines Restarts verwendet. Das folgende Diagramm beschreibt eine GMRES-Version mit Restart und einer maximalen KrylovUnterraumdimension von m . Das Verfahren wird oftmals als Restarted GMRES( m ) bezeichnet. Die theoretisch m¨ ogliche Interpretation des GMRES-Verfahrens als direkte Methode geht in dieser Formulierung zwar verloren, aber das Residuum ist dennoch monoton fallend. Im Rahmen einer impliziten Finite-Volumen-Methode zur Simulation reibungsfreier und reibungsbehafteter Luftstr¨ omungen erwies sich bei schwachbesetzten Gleichungssystemen mit etwa 10.000 Unbekannten eine maximale Krylov-Unterraumdimension im Bereich 10 bis 15 als ausreichend, um eine Genauigkeit von ε = 10−6 ohne Restart zu erreichen, falls eine geeignete Pr¨ akonditionierung implementiert wurde. Hierbei hat sich gezeigt, daß das Konvergenzverhalten des GMRES-Verfahrens sehr stark vom gew¨ahlten Pr¨akonditionierer abh¨ angt. Mit einer unvollst¨ andigen LU-Zerlegung (siehe Abschnitt 5.4) erwies sich die Methode als robust, w¨ ahrend eine einfache Skalierung (siehe Abschnitt 5.1) analog zum Verfahren ohne Vorkonditionierung h¨ aufig auf nicht akzeptable Rechenzeiten f¨ uhrte. Eine ausf¨ uhrliche Diskussion der angesprochenen Ergebnisse kann der Arbeit [48] entnommen werden. Das Ersetzen der Arnoldi-Methode durch eine unvollst¨andige Orthogonalisierungsvorschrift innerhalb des GMRES-Verfahrens f¨ uhrt auf den sogenannten Quasi-GMRES-Algorithmus (QGMRES). Dieser Ansatz kann auch in einer direkten Version der DQGMRES verwendet werden. Beide Verfahren sind allerdings nicht so stark verbreitet und werden detailliert in [61] beschrieben.
160
4 Iterative Verfahren
GMRES( m )-Algorithmus mit begrenzter Anzahl von Restarts — W¨ ahle x0 ∈ Rn und ε > 0 restart := 0 ; r0 := b − Ax0 Z Z r0 = 0 Y Z Z x := x0 v 1 :=
r0 r 0 2 ,
N γ1 := r0 2
F¨ ur j = 1, . . . ,m F¨ ur i = 1, . . . ,j setze hij := (v i ,Av j )2 wj := Av j −
j
i=1
hij v i , hj+1,j := wj 2
F¨ ur i = 1, . . . ,j − 1 hij ci := hi+1,j −si β :=
! h2jj + h2j+1,j ; sj :=
si ci
hj+1,j β
hij hi+1,j
; cj :=
hjj β
hjj := β; γj+1 := −sj γj ; γj := cj γj Z Z γj+1 ≤ ε Y Z Z F¨ ur i = j, . . . ,1 j αi := h1ii γi − k=i+1 hik αk x := x0 +
j
i=1
v j+1 :=
wj hj+1,j
N
αi v i
STOP F¨ ur i = m, . . . ,1 αi := h1ii γi − m k=i+1 hik αk x := x0 +
m
i=1
αi v i
x0 := x ; r 0 := b − Ax0 ; restarts := restarts + 1 solange restart ≤ Maximale Anzahl von Restarts Unter Verwendung von W m = (Av 1 . . . Av m ) erf¨ ullt das GMRES-Verfahren die Voraussetzung des Satzes 4.49. Folglich gilt
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
161
rm ≤ P m min1 p(A)r 0 p∈Pm
bez¨ uglich jeder Norm, wobei P m die in (4.3.4) aufgef¨ uhrte Projektion darstellt. F¨ ur ur den Spezialfall der Projektionen gilt mit P 2m = P m stets P m ≥ 1 , wodurch sich f¨ euklidischen Norm schon aus der Definition der Funktion F gem¨aß (4.3.59) f¨ ur die durch das GMRES-Verfahren ermittelte N¨ aherungsl¨ osung xm mit
rm 2 = min1 p(A)r 0 2
(4.3.77)
p∈Pm
eine Verbesserung der Aussage ergibt. Unter zus¨atzlichen Voraussetzungen an die Matrix ergeben sich mit den anschließenden Aussagen weitere Absch¨atzungen des Residuums. Zu einer gegebenen symmetrischen Matrix B ∈ Rn×n bezeichne λmin (B) und λmax (B) im folgenden stets den betragskleinsten beziehungsweise betragsgr¨oßten Eigenwert von B. Satz 4.77 Sei A ∈ Rn×n positiv definit und r m der im GMRES-Verfahren ermittelte m -te Residuenvektor, dann konvergiert das GMRES-Verfahren, und es gilt ⎛
rm 2 ≤ ⎝1 −
λ2min
AT +A 2
⎞ m2
⎠ λmax AT A
r0 2 .
(4.3.78)
Beweis: Aus (4.3.77) erhalten wir
rm 2 ≤ min1 p(A) 2 r0 2 .
(4.3.79)
p∈Pm
Wir werden nun den Nachweis der Absch¨ atzung (4.3.78) durch eine explizite Angabe 1 erbringen. eines Polynoms p ∈ Pm F¨ ur α > 0 definieren wir p1 (A) = I − αA ∈ P11 , wodurch (p1 (A))
m
1 ∈ Pm und
min p(A) 2 ≤ (p1 (A))m 2 ≤ p1 (A) m 2
1 p∈Pm
gilt. Aus
p1 (A) 22
(2.2.2)
= =
(I − αA)x 22
x 22 x=0 x2 =1 . (x,Ax)2 2 (Ax,Ax)2 sup 1 − 2α +α (x,x)2 (x,x)2 x=0 sup (I − αA)x 22 = sup
ergibt sich f¨ ur x = 0 unter Verwendung von 0< und
(Ax,Ax)2 (x,AT Ax)2 = ≤ λmax AT A (x,x)2 (x,x)2
(4.3.80)
162
4 Iterative Verfahren (x,Ax)2 = (x,x)2
T
x, A
+A x 2 2
(x,x)2
die Ungleichung
p1 (A) 22
≤ 1 − 2αλmin
≥ λmin
AT + A 2
AT + A 2
A pos. def.
>
0
+ α2 λmax AT A .
(4.3.81)
Das Minimum der rechten Seite bez¨ uglich α erhalten wir im Punkt T λmin A 2+A > 0. αmin = λmax AT A atzung (4.3.81) folgt f¨ ur p1 (A) = I−αmin A Durch Einsetzen der Gr¨ oße αmin in die Absch¨ die Ungleichung T λ2min A 2+A < 1. 0 ≤ p1 (A) 22 ≤ 1 − (4.3.82) λmax AT A Somit konvergiert das GMRES-Verfahren, und es gilt
r m 2
(4.3.79)
≤
(4.3.80)
≤
(4.3.82)
≤
min p(A) 2 r0 2
1 p∈Pm
p1 (A) m 2 r 0 2 T ⎞ m2 ⎛ λ2min A 2+A ⎝1 − ⎠ r0 2 . λmax AT A
F¨ ur eine symmetrische Matrix ergibt sich hieraus zudem eine Absch¨atzung unter Verwendung der Konditionszahl der Matrix A , die den Vorteil einer kleineren Konditionszahl verdeutlicht. Korollar 4.78 Sei A ∈ Rn×n positiv definit und symmetrisch. Zudem sei rm der im GMRES-Verfahren ermittelte m -te Residuenvektor, dann konvergiert das GMRESVerfahren und es gilt m cond22 (A) − 1 2
r0 2 .
rm 2 ≤ cond22 (A) Zum Abschluß dieses Abschnitts wenden wir uns nochmals dem GMRES( m )-Verfahren zu. W¨ ahrend mit Satz 4.76 das GMRES-Verfahren sp¨atestens nach n Iterationen die exakte L¨ osung liefert, kann aufgrund des Restarts eine solche Aussage f¨ ur die GMRES( m )Methode ( m < n ) nicht nachgewiesen werden. Zwar liegt auch bei der Restarted-Version ein monotones Abfallen des Residuums vor, es bleibt jedoch zu bef¨ urchten, daß sich ein konstanter Residuenverlauf einstellt. Wir sind daher an Konvergenzaussagen f¨ ur das GMRES( m )-Verfahren interessiert, die zudem aus praktischen Gesichtspunkten eine m¨ oglichst kleine untere Schranke f¨ ur die maximale Krylov-Unterraumdimension m fordern sollten. Eine derartige Aufgabenstellung kann in Spezialf¨allen durch die anschließenden S¨ atze positiv beantwortet werden.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
163
Satz 4.79 Sei A ∈ Rn×n positiv definit, dann konvergiert das GMRES( m )-Verfahren f¨ ur m ≥ 1 . Beweis: Durch die Ungleichung (4.3.82) ergibt sich mit Satz 4.77 stets
r1 2 ≤ γ r0 2
(4.3.83)
mit γ < 1 . Da γ unabh¨ angig vom Startvektor x0 ist, folgt aus (4.3.83) die Behauptung.
Satz 4.80 Sei A ∈ Rn×n regul¨ar und symmetrisch, dann konvergiert das GMRES( m )Verfahren f¨ ur m ≥ 2 . Beweis: Ausgehend von der Absch¨ atzung (4.3.79) w¨ ahlen wir p(A) = I − αA2 mit α > 0 . Analog zum Beweis des Satzes 4.77 folgt unter Verwendung der Symmetrie der Matrix A die Ungleichung
p(A) 22 ≤ 1 − 2αλmin A2 + α2 λmax A4 . F¨ ur den optimalen Parameter ergibt sich αmin
λmin A2 = λmax A4
atzung wodurch mit p1 (A) = I − αmin A2 die Absch¨ 12 λ2min A2
r2 2 ≤ 1 −
r0 2 λmax A4 1 die Gleichung Zudem erhalten wir aus Lm z m = r0 2 e1 f¨ ξm + m,m−1 ξm−1 = 0.
(4.3.89)
166
4 Iterative Verfahren
Zudem gilt ξ1 = r0 2 , und aus (4.3.87) ergibt sich daher m z m = x0 + P m−1 z m−1 + p ˜ m−1 ξm xm = x0 + P ˜ m−1 = xm−1 + ξm p
(4.3.90)
und r m = b − Axm = r m−1 − ξm A˜ pm−1 .
(4.3.91)
F¨ ur den Residuenvektor erhalten wir somit die Darstellung rm
= (4.3.84)
=
Satz 4.72
=
b − Axm r 0 − AV m T −1 m ( r 0 2 e1 ) r 0 − V m T m + hm+1,m v m+1 eTm T −1 m ( r 0 2 e1 )
=
r 0 − V m r0 2 e1 −hm+1,m v m+1 eTm T −1 m ( r 0 2 e1 ) = 0 ∈R
=
σm v m+1
(4.3.92)
˜ m−1 l¨ mit σm ∈ R . Der Vektor p aßt sich folglich unter Verwendung der Gleichung (4.3.88) in der Form 1 1 ˜ m−1 = ˜ m−2 . p r m−1 − hm−1,m p umm σm−1 schreiben. Analog erhalten wir f¨ ur das transponierte Problem b − AT x∗m ⊥ Km T mit x∗m = x∗0 + Km und x∗0 = A−T Ax0 bei vorausgesetzter Regularit¨at der Matrix T m die eindeutig bestimmte L¨ osung in der Form
x∗m = x∗0 + W m T −T m ( r 0 2 e1 ) mit W m gem¨ aß Satz 4.72. F¨ ur den Residuenvektor r∗m = b − AT x∗m ergibt sich entsprechend der Gleichung (4.3.92) die Darstellung ∗ r∗m = σm wm+1 ∗ mit σm ∈ R . Definieren wir
∗ ∗m = p ˜0 . . . p ˜ ∗m−1 := W m L−T P m , so gilt
∗ ˜ ∗m−1 = wm − m,m−1 p ˜ ∗m−2 = σm−1 ˜ ∗m−2 , p r ∗m−1 − m,m−1 p
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
167
m−1 laut (4.3.88) die Festlegung p ∗−1 := 0 wobei analog zur Bestimmung der Vektoren p ucksichtigt werden muß. Die N¨aherungsl¨osung l¨aßt sich in der respektive 1,0 := 0 ber¨ Form ∗m z ∗m x∗m = x∗0 + P mit
T
∗ z ∗m = (ξ1∗ , . . . ,ξm ) := U −T m ( r 0 2 e1 )
schreiben. Analog zu (4.3.89) gilt f¨ ur m > 1 ∗ ξm =−
hm−1,m ∗ ξ umm m−1
und ξ1 = − Daher ergibt sich
r0 2 . u11
∗ ∗ ˜ m−1 p x∗m = x∗m−1 + ξm
sowie
∗ ˜ ∗m−1 . r∗m = r ∗m−1 − ξm AT p
Skalieren wir die Suchvektoren gem¨ aß pm−1 =
ξm ˜ p αm−1 m−1
und p∗m−1 =
∗ ξm ˜∗ , p αm−1 m−1
dann folgt xm
= xm−1
+ αm−1 pm−1 ,
x∗m
= x∗m−1
+ αm−1 p∗m−1
pm
= τm rm
+ βm−1 pm−1 ,
p∗m
∗ ∗ = τm rm
∗ + βm−1 p∗m−1
und
∗ ∗ mit τm ,τm ,βm−1 ,βm−1 ∈ R . Hierbei bleibt die Berechnung der skalaren Gr¨oßen anzugeben. Es erweist sich als u achst den BiCG-Algorithmus in der folgen¨ bersichtlich, zun¨ den Form aufzuf¨ uhren und anschließend nachzuweisen, daß in der gew¨ahlten Formulieur j ∈ N0 stets die L¨ osung der auf der Petrov-Galerkin-Bedingung rung mit xj+1 f¨ (4.3.85) basierenden Krylov-Unterraum-Methode vorliegt. Ein direkt ausf¨ uhrbares Programm wird im Anhang A dargestellt.
168
4 Iterative Verfahren
BiCG-Algorithmus — W¨ ahle x0 ∈ Rn und ε > 0 r 0 = r∗0 = p0 = p∗0 := b − A x0 j := 0 Solange rj 2 > ε rj ,r ∗j 2 αj := A pj ,p∗j 2 xj+1 := xj + αj pj r j+1 := rj − αj A pj r ∗j+1 := r∗j − αj AT p∗j r j+1 ,r∗j+1 2 βj := rj ,r ∗j 2 pj+1 := r j+1 + βj pj p∗j+1 := r ∗j+1 + βj p∗j j := j + 1
Lemma 4.82 Vorausgesetzt, der BiCG-Algorithmus bricht nicht vor der Berechnung von ur j = 0, . . . ,m p∗m ab, dann gilt f¨ rj
=
j+1
γi v i ,
r ∗j =
i=1
pj
=
j+1 i=1
j+1
γi∗ wi ,
(4.3.93)
λ∗i wi
(4.3.94)
i=1
λi v i ,
p∗j =
j+1 i=1
∗ ,λj+1 ,λ∗j+1 = 0 und den aus dem Bi-Lanczos-Algorithmus resultierenden mit γj+1 ,γj+1 bi-orthonormalen Vektoren v 1 , . . . ,v j+1 und w1 , . . . ,wj+1 .
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
169
Beweis: Der Nachweis ergibt sich durch eine Induktion u ur j = 0 gilt v 1 = w 1 = r0 = ¨ ber j . F¨ p0 = r∗0 = p∗0 , so daß die Darstellung mit γ1 = γ1∗ = λ1 = λ∗1 = 1 erf¨ ullt ist. Vorausgesetzt, die Behauptung sei f¨ ur = 0, . . . ,j < m erf¨ ullt, dann folgt aus dem BiCG-Verfahren rj+1
rj − αj Apj
= (4.3.93) (4.3.94)
=
j+1
−αj λj+1 Av j+1 + γi v i − αj i=1 ∈Kj+2
j
λi Av i .
i=1
∈Kj+1
Laut Voraussetzung konnte pj+1 berechnet werden, wodurch αj = 0 folgt und mit λj+1 = 0 sich der Residuenvektor in der Form r j+1 = γj+2 v j+2 + ψj+1 ∈ Kj+2 ∈Kj+1
mit γj+2 = 0 schreiben l¨ aßt. F¨ ur den Suchvektor ergibt sich entsprechend pj+1 = rj+1 + βj pj
(4.3.93) (4.3.94)
=
λj+2 v j+2 + φj+1 ∈ Kj+2 . ∈Kj+1
∈Kj+1
mit λj+2 = 0 . Die Aussage f¨ ur die verbleibenden zwei Vektoren folgt analog. Lemma 4.83 Vorausgesetzt, der BiCG-Algorithmus bricht nicht vor der Berechnung von p∗m+1 ab, dann gilt (rj ,r ∗i )2 Apj ,p∗i 2
= 0
f¨ ur
i = j ≤ m + 1,
(4.3.95)
= 0
f¨ ur
i = j ≤ m + 1.
(4.3.96)
Beweis: Wir f¨ uhren den Beweis mittels einer vollst¨ andigen Induktion u ur m = 0 ¨ber m durch. F¨ ergibt sich die Behauptung gem¨ aß (r1 ,r∗0 )2 = (r0 ,r∗0 )2 −
(r0 ,r∗0 )2 (Ar 0 ,r ∗0 )2 = 0 (Ar0 ,r∗0 )2
(4.3.97)
und (Ap1 ,p∗0 )2
= (Ar 1 ,p∗0 )2 + β0 (Ap0 ,p∗0 )2 β0 r 1 ,AT p∗0 + (r 0 ,r ∗0 )2 α0 2 (r1 ,r ∗1 )2 r∗0 − r∗1 = r1 , + α0 α0 2 =
= 0.
(4.3.98)
170
4 Iterative Verfahren
Analog ergibt sich die behauptete Aussage f¨ ur (r 0 ,r∗1 )2 sowie (Ap0 ,p∗1 )2 . Sei die Behauptung f¨ ur = 0, . . . ,m erf¨ ullt, dann folgt der Nachweis in den folgenden Schritten. F¨ ur j < m erhalten wir unter Ber¨ ucksichtigung von β−1 := 0 respektive p∗−1 := 0 die Gleichungen = rm ,r∗j 2 −αm Apm ,r ∗j 2 rm+1 ,r∗j 2 = 0 = −αm Apm ,p∗j − βj−1 p∗j−1 2 (4.3.96)
=
0
(4.3.99)
und (r m+1 ,r∗m )2
= (r m ,r∗m )2 − αm (Apm ,r ∗m )2 = (r m ,r∗m )2 − αm (Apm ,p∗m )2 + αm Apm ,βm−1 p∗m−1 2 = 0 = (r m ,r∗m )2 −
(r m ,r∗m )2 (Apm ,p∗m )2 (Apm ,p∗m )2
= 0.
(4.3.100)
Desweiteren ergibt sich f¨ ur j < m = Arm+1 ,p∗j 2 + βm Apm ,p∗j 2 = rm+1 ,AT p∗j Apm+1 ,p∗j 2 2 =0 r ∗j − r ∗j+1 = r m+1 , αj 2 (4.3.99) (4.3.100)
=
und
Apm+1 ,p∗m 2
0
= (Arm+1 ,p∗m )2 + βm (Apm ,p∗m )2
βm (rm ,r ∗m )2 αm rm+1 ,r ∗m+1 2 r ∗m − r ∗m+1 = r m+1 , + αm αm 2 =
rm+1 ,AT p∗m
= 0.
+
2
Eine analoge Vorgehensweise liefert die verbleibenden Gleichungen r j ,r∗m+1 2 = 0 und Apj ,p∗m+1 2 = 0 f¨ ur j < m + 1 .
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
171
Satz 4.84 Unter der Voraussetzung, daß der BiCG-Algorithmus nicht vor der Berechnung von r ∗m abbricht, stellt xm die L¨osung des Problems T b − Ax ⊥ Km
mit x ∈ x0 + Km dar. Beweis: Das Einsetzen von (4.3.93) in (4.3.95) liefert 0
(4.3.95)
=
rTm r∗i
(4.3.93)
=
m+1
γj v Tj r ∗i
f¨ ur
i = 0, . . . ,m − 1.
j=1
Startend von i = 0 erhalten wir mittels der Bi-Orthogonalit¨atsbedingung (4.3.47) und der Darstellung (4.3.93) f¨ ur r ∗i sukzessive die Gleichung γ1 = . . . = γm = 0, wodurch
T b − Axm = r m = γm+1 v m+1 ⊥ Km
gilt und folglich mit xm die L¨ osung der Krylov-Unterraum-Methode vorliegt. Bemerkung: Der im BiCG-Verfahren implizit vorliegende Vektor x∗m = A−T (b − r ∗m ) stellt analog osung des transponierten Problems zur N¨ aherungsl¨ osung xm die L¨ b − AT x ⊥ Km T mit x ∈ x∗0 + Km , x∗0 = A−T Ax0 dar.
Der BiCG-Algorithmus weist im wesentlichen drei Nachteile auf. Zun¨achst k¨onnen Residuenvektoren rj = 0 und r∗j = 0 mit r j ,r∗j = 0 auftreten, die zu einem Verfahrensabbruch f¨ uhren, obwohl die L¨ osung der betrachteten Gleichung nicht berechnet wurde. Desweiteren werden bei jeder Iteration Matrix-Vektor-Multiplikationen mit A und AT ben¨ otigt, und die BiCG-Iterierten sind im Gegensatz zu den GMRES-Iterierten in der Regel durch keine Minimierungseigenschaft charakterisiert, wodurch sich Oszillationen im Konvergenzverhalten zeigen k¨ onnen [26, 28, 32, 41, 74]. Im Fall einer symmetrischen, positiv definiten Matrix A stimmt der Bi-Lanczos-Algorithmus mit der Lanczos-Methode und entsprechend das BiCG-Verfahren mit dem CG-Verfahren u ¨berein.
4.3.2.6
Das CGS-Verfahren
Das CGS-Verfahren (Conjugate Gradient Squared) wurde 1989 von Sonneveld [67] pr¨asentiert und stellt eine Weiterentwicklung des BiCG-Verfahrens dar, bei dem die Berechnung der skalaren Gr¨ oßen αj und βj ohne Verwendung des Residuenvektors r∗m und des ∗ oglich ist, wodurch der Zugriff auf AT entf¨allt. Suchvektors pm m¨ Wir betrachten Pj als die Menge der Polynome vom H¨ochstgrad j und schreiben
172
4 Iterative Verfahren rj
= ϕj (A)r 0 ,
r ∗j
= ϕj (AT )r 0
pj
= ψj (A)r 0 ,
p∗j
= ψj (AT )r 0
mit ϕj ,ψj ∈ Pj . Auf der Basis des BiCG-Algorithmus sind in unserem Fall die Polynome ϕj und ψj rekursiv durch ψj (λ) = ϕj (λ) + βj−1 ψj−1 (λ)
(4.3.101)
und ϕj+1 (λ) = ϕj (λ) − αj λψj (λ)
(4.3.102)
mit ϕ0 (λ) = ψ0 (λ) = 1 gegeben. Die grundlegende Idee des CGS-Verfahrens liegt in der Nutzung der Eigenschaft φj (A)r0 ,φj (AT )r 0 = φ2j (A)r 0 ,r0 2 , 2
die f¨ ur alle Polynome φj ∈ Pj g¨ ultig ist. Definieren wir ˆj := ϕ2j (A)r 0 r
ˆ j := ψj2 (A)r 0 p
und
dann folgt αj =
ϕj (A)r0 ,ϕj (AT )r 0
Aψj (A)r0 ,ψj (AT )r0
2 2
2 ϕj (A)r 0 ,r0 2 = Aψj2 (A)r 0 ,r 0 2
(ˆ r j ,r0 )2 = Aˆ pj ,r 0 2
(4.3.103)
und
ϕj+1 (A)r 0 ,ϕj+1 (AT )r 0 βj = ϕj (A)r 0 ,ϕj (AT )r 0
2
2
=
(ˆ rj+1 ,r 0 )2 . (ˆ rj ,r 0 )2
(4.3.104)
Mit (4.3.101) und (4.3.102) erhalten wir 2 2 ψj2 (λ) = ϕ2j (λ) + 2βj−1 ϕj (λ)ψj−1 (λ) + βj−1 ψj−1 (λ),
ϕ2j+1 (λ) = ϕ2j (λ) − αj λ 2ϕ2j (λ) + 2βj−1 ϕj (λ)ψj−1 (λ) − αj λψj2 (λ)
(4.3.105) (4.3.106)
und f¨ ur die gemischten Terme ϕj+1 (λ)ψj (λ) = ϕ2j (λ) + βj−1 ϕj (λ)ψj−1 (λ) − αj λψj2 (λ). Wir definieren
(4.3.107)
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
173
qˆj := ϕj+1 (A)ψj (A)r 0
(4.3.108)
und ˆj u
:=
ϕj (A)ψj (A)r 0
(4.3.101)
=
ϕ2j (A)r 0 + βj−1 ϕj (A)ψj−1 (A)r 0
=
rˆ j + βj−1 qˆj−1 .
(4.3.109)
Damit ergibt sich qˆj
(4.3.107)
=
ϕ2j (A)r 0 + βj−1 ϕj (A)ψj−1 (A)r 0 − αj Aψj2 (A)r 0
=
ˆ j−1 − αj Aˆ ˆj + βj−1 q r pj
(4.3.109)
=
ˆj+1 r
=
ˆ j − αj Aˆ u pj ,
(4.3.110)
ϕ2j+1 (A)r0
=
ϕ2j (A)r 0 − αj A 2ϕ2j (A)r 0 + 2βj−1 ϕj (A)ψj−1 (A)r0 − αj Aψj2 (A)r 0
=
ˆ j−1 − αj Aˆ ˆj − αj A 2ˆ r rj + 2βj−1 q pj
(4.3.106)
=
=
ˆj + βj−1 q ˆ j−1 + r ˆ j−1 − αj Aˆ ˆ j + βj−1 q ˆj − αj A r pj r ˆj ˆj = u = q ˆj − αj A u ˆj + q ˆj r
(4.3.111)
und ˆ j+1 p
= (4.3.105)
2 ψj+1 (A)r0
=
ϕ2j+1 (A)r 0 + 2βj ϕj+1 (A)ψj (A)r 0 + βj2 ψj2 (A)r 0
=
ˆj ˆj+1 + 2βj qˆ j + βj2 p r
=
ˆj . ˆ j + βj p ˆ j+1 + βj q u
(4.3.112)
ˆ j+1 erhalten wir Mit dem Residuenvektor r ˆ j+1 = x ˆj + q ˆ j + αj u ˆj . x
(4.3.113)
174
4 Iterative Verfahren
Vernachl¨ assigen wir das Superskript ˆ , so folgt der CGS-Algorithmus durch (4.3.103), (4.3.104) sowie (4.3.109) bis (4.3.113) in der folgenden Form. Die Umsetzung eines derartigen Pseudocodes in ein ausf¨ uhrbares MATLAB-Programm liefert Anhang A. CGS-Algorithmus — W¨ ahle x0 ∈ Rn und ε > 0 u0 = r0 = p0 := b − A x0 , j := 0 Solange rj 2 > ε v j := A pj , αj :=
(rj ,r 0 )2 (v j ,r 0 )2
q j := uj − αj v j xj+1 := xj + αj uj + q j r j+1 := rj − αj A uj + q j βj :=
(r j+1 ,r0 )2 (r j ,r0 )2
uj+1 := rj+1 + βj q j pj+1 := uj+1 + βj q j + βj pj , j := j + 1
4.3.2.7
Das BiCGSTAB-Verfahren
Der vorgestellte CGS-Algorithmus zeichnet sich im Vergleich zum BiCG-Verfahren durch zwei Vorteile aus. Zum einen ben¨ otigt die Methode keinerlei Operationen mit AT und zum anderen weist sie aufgrund der Quadrierung des Polynoms zur Definition des Residuenvektors ein schnelleres Konvergenzverhalten bei gleichbleibendem Rechenaufwand auf. Jedoch beinhaltet auch das CGS-Verfahren die bereits im Bi-Lanczos-Algorithmus vorliegende Problematik eines vorzeitigen Abbruchs, und es zeigen sich teilweise Oszillationen im Residuenverlauf [27, 30, 50, 52, 70]. Die auftretenden vorzeitigen Verfahrensabbr¨ uche k¨onnen analog zum Look-ahead Ansatz teilweise behoben werden [14]. Mit der BiCGSTAB-Methode (BiCG Stabilized) hat van der Vorst [71] eine Variante des CGS-Verfahrens vorgestellt, die ein wesentlich glatteres Konvergenzverhalten aufweist. Hierzu werden im Gegensatz zum CGS-Algorithmus gezielt unterschiedliche Polynome bei der Definition der Suchrichtungen und Residuenvektoren betrachtet, womit bei jeder
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
175
Iteration ein zus¨ atzlicher Freiheitsgrad zur Verf¨ ugung steht, der zur Minimierung des Residuums genutzt wird. Zun¨ achst werden die Residuenvektoren r j , r∗j und die Suchvektoren pj , p∗j entsprechend dem CGS-Verfahren definiert, wobei die hierbei ben¨otigten Polynome ϕj und ψj gem¨ aß (4.3.101) und (4.3.102) gegeben sind. Wir setzen weiterhin ˜ ∗j := r ˜∗j := φj AT r 0 , p wobei das Polynom durch die einfache Rekursionsvorschrift φj+1 (λ) := (1 − ωj λ) φj (λ)
(4.3.114)
mit φ0 (λ) := 1 festgelegt ist. Als Folgerung des Satzes 4.84 erhalten wir ϕj (A) r0 = r j ⊥ KjT
und damit
ϕj (A) r 0 ,πj−1 AT r0 = 0,
(4.3.115)
2
f¨ ur alle πj−1 ∈ Pj−1 . Hiermit folgt die Darstellung ϕj (A) r 0 ,φj AT r0 2 αj = αj ϕj (A) r 0 ,φj AT r0 2
(φj (A) ϕj (A) r 0 ,r 0 )2 ϕj (A) − ϕj+1 (A) r0 ,φj AT r0 αj 2
(4.3.115)
(4.3.102)
(φj (A) ϕj (A) r 0 ,r 0 )2 , (φj (A) Aψj (A) r 0 ,r 0 )2
=
=
und wir definieren daher ˆj := φj (A) ϕj (A) r0 r
(4.3.116)
ˆ j := φj (A) ψj (A) r0 . p
(4.3.117)
sowie Damit folgt ˆj s
:= (4.3.102)
φj (A) ϕj+1 (A) r 0
=
φj (A) ϕj (A) r 0 − αj Aφj (A) ψj (A) r 0
=
rˆ j − αj Aˆ pj
(4.3.118)
und wir erhalten die Rekursionsformeln rˆj+1
= φj+1 (A) ϕj+1 (A) r 0 = (I − ωj A) φj (A) ϕj+1 (A) r 0 ˆj = (I − ωj A) s
(4.3.119)
176
4 Iterative Verfahren
und ˆ j+1 p
=
φj+1 (A) ψj+1 (A) r 0
(4.3.101)
=
φj+1 (A) ϕj+1 (A) r 0 + βj φj+1 (A) ψj (A) r0
=
rˆ j+1 + βj (I − ωj A) φj (A) ψj (A) r 0
=
ˆj . rˆ j+1 + βj (I − ωj A) p
(4.3.120)
Um eine vollst¨ andige Darstellung des Verfahrens zu erhalten, m¨ ussen wir abschließend die Berechnung der skalaren Gr¨ oßen βj und ωj erl¨autern. Wir schreiben (4.3.101) (4.3.102)
ϕj (λ)
=
−αj−1 λϕj−1 (λ) + πj−1 (λ)
=
αj−1 αj−2 λ2 ϕj−2 (λ) + π ˜j−1 (λ)
=
(−1)j αj−1 . . . α0 λj + π j−1 (λ)
(4.3.121)
πj−1 ,π j−1 ∈ Pj−1 . Analog ergibt sich die Darstellung mit πj−1 ,˜
mit π ˆj−1
φj (λ) = (−1)j ωj−1 . . . ω0 λj + π ˆj−1 (λ) ∈ Pj−1 , wodurch mit r ∗j = ϕj AT r 0 die Gleichung
(4.3.122)
ϕj (A) r 0 ,ϕj AT r0 2 ϕj (A) r0 ,φj AT r 0
r j ,r∗j 2 r j ,˜ r∗j 2
=
2
(4.3.121) (4.3.122)
j T j r0 + π j−1 AT r0 ϕj (A) r0 ,(−1) αj−1 . . . α0 A 2 j ˆj−1 AT r0 ϕj (A) r0 ,(−1)j ωj−1 . . . ω0 AT r0 + π
(4.3.115)
j ϕj (A) r0 , AT r 0 αj−1 . . . α0 2 j ωj−1 . . . ω0 T r0 ϕj (A) r0 , A
=
=
2
= folgt. Somit gilt
αj−1 . . . α0 ωj−1 . . . ω0
2
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren βj
=
=
=
=
177
r j+1 ,r∗j+1 2 rj ,r ∗j 2 r j+1 ,r∗j+1 2 rj+1 ,˜ r ∗j+1 2 r j ,˜ r∗j 2 r j+1 ,˜ r j ,˜ r j ,r∗j 2 r∗j+1 2 r∗j 2 r∗j+1 2 αj r j+1 ,˜ ωj rj ,˜ r ∗j 2 ϕ AT r 0 (A) r ,φ j+1 0 j+1 αj 2 ωj ϕj (A) r0 ,φj AT r 0 2
=
r j+1 ,r 0 )2 αj (ˆ . ωj (ˆ r j ,r 0 )2
(4.3.123)
Mit ωj steht uns ein Parameter zur gezielten Minimierung des Residuums zur Verf¨ ugung. Wir betrachten die Funktion fj : R → R ˆj 22 . fj (ω) := (I − ωA) s
ˆj = 0 ergibt sich fj (ω) = 2 Aˆ sj 22 > 0 , wodurch die Funktion in diesem Fall F¨ ur s ˆj = 0 der Parameter strikt konvex ist. Wie wir im folgenden sehen werden, kann im Fall s ωj beliebig gew¨ ahlt werden und das Verfahren liefert die exakte L¨osung. Wir beschr¨anken ˆj = 0 , wodurch wir uns daher auf den Fall s ωj := arg min fj (ω) ω∈R
mittels
sj ,ˆ sj )2 + 2 ωj (Aˆ sj ,Aˆ sj )2 0 = fj (ωj ) = −2 (Aˆ in der Form ωj =
sj )2 (Aˆ sj ,ˆ (Aˆ sj ,Aˆ sj )2
(4.3.124)
erhalten. Die BiCGSTAB-Iterierte l¨ aßt sich folglich gem¨aß ˆ j+1 x
= (4.3.119)
=
A−1 (b − rˆj+1 ) ˆj + ωj Aˆ A−1 (b − s sj )
=
A−1 b − rˆj + αj Aˆ pj + ωj Aˆ sj
=
ˆ j + ωj s ˆj ˆ j + αj p x
(4.3.118)
(4.3.125)
schreiben. Vernachl¨ assigen wir wiederum das Superskript ˆ , so ergibt sich mit (4.3.118) bis (4.3.120), (4.3.123) bis (4.3.125) und der Definition der skalaren Gr¨oße αj zusammenfassend der BiCGSTAB-Algorithmus in der folgenden Form. Zur Implementierung siehe Anhang A.
178
4 Iterative Verfahren
BiCGSTAB-Algorithmus — W¨ ahle x0 ∈ Rn und ε > 0 r 0 := p0 := b − A x0 , ρ0 := (r 0 ,r 0 )2 , j := 0 Solange rj 2 > ε v j := A pj , αj :=
ρj (v j ,r 0 )2
sj := r j − αj v j , tj := A sj ωj :=
(tj ,sj )2 (tj ,tj )2
xj+1 := xj + αj pj + ωj sj r j+1 := sj − ωj tj ρj+1 := (r j+1 ,r 0 )2 , βj :=
αj ρj+1 ω j ρj
pj+1 := r j+1 + βj pj − ωj v j , j := j + 1 Eine Verallgemeinerung des vorgestellten Verfahrens im Sinne einer -dimensionalen anstelle einer eindimensionalen Minimierung stellt die BiCGSTAB( )-Methode dar, die 1993 von Sleipjen und Fokkema [64] hergeleitet wurde. Der Algorithmus kann als Kombination der GMRES( )-Methode und des BiCG-Verfahrens interpretiert werden und stimmt im Fall = 1 mit der BiCGSTAB-Methode u ¨ berein. Dabei werden zun¨achst implizit BiCG-Residuenvektoren berechnet und anschließend eine Minimierung u ¨ ber den hierdurch festgelegten -dimensionalen Unterraum durchgef¨ uhrt. Wir haben bereits im Abschnitt 4.3.2.3 die m¨ oglichen Verfahrensabbr¨ uche des Bi-LanczosAlgorithmus diskutiert. Mit der folgenden Variante des BiCGSTAB-Verfahrens werden wir eine Stabilisierung der Methode hinsichtlich dieser Problematik pr¨asentieren. Zun¨ achst werden wir vor der Berechnung des Skalars αj die Gr¨oße des auftretenden Nenners u ufen, um bei großen, aber ann¨ ahernd orthogonalen Vektoren v j und r 0 ¨berpr¨ eine Divisionen durch sehr kleine Werte zu vermeiden. Liegt der Betrag des Nenners relativ zur L¨ ange der Vektoren v j und r 0 unterhalb einer vorgegebenen Schranke, so wird ein Restart des Verfahrens durchgef¨ uhrt. Eine weitere m¨ogliche Division durch Null tritt bei der Berechnung von ωj auf. Zur Behebung dieser Problematik wird in [8] eine Kontrolle des Vektors sj empfohlen, der dem Residuenvektor im BiCG-Verfahren entspricht. Gilt sj 2 ≤ ε , so erhalten wir mit xj+1 = xj + αj pj bereits
rj+1 2 = rj − αj v j 2 = sj 2 ≤ ε,
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
179
wodurch keine Notwendigkeit zur Ermittlung des Vektors tj und damit der Berechnung ucksichtigung der obigen Verbesserungen der skalaren Gr¨ oße ωj vorliegt. Durch die Ber¨ ergibt sich die folgende Stabilisierung des BiCGSTAB-Verfahrens. Stabilisierter BiCGSTAB-Algorithmus — W¨ ahle x0 ∈ Rn und ε, ε > 0 r 0 := p0 := b − A x0 , ρ0 := (r 0 ,r 0 )2 , j := 0 Solange rj 2 > ε v j := A pj σj := (v j ,r0 )2 Z σj > ε v j 2 r0 2 Z Y Z Z αj :=
N
ρj σj
Restart mit x0 = xj
sj := r j − αj v j Z
sj 2 > ε Z Y Z Z tj := A sj ωj :=
(tj ,sj )2 (tj ,tj )2
xj+1 := xj + αj pj + ωj sj r j+1 := sj − ωj tj ρj+1 := (r j+1 ,r 0 )2 βj :=
αj ρj+1 ω j ρj
pj+1 := r j+1 + βj pj − ωj v j j := j + 1
N xj+1 := xj + αj pj r j+1 := sj j := j + 1
180
4 Iterative Verfahren
Nat¨ urlich k¨ onnen zudem weitere Modifikationen zu einem besseren Verhalten der Methode beitragen. Eine M¨ oglichkeit besteht in der Kontrolle der Variation der relevanten Gr¨oßen. Wegen
r j+1 − r j 2
sj − r j 2 |αj | v j 2 ≤ =
rj 2
rj 2
rj 2 liegt im Fall |αj | vj 2 ≤γ
r j 2 ¨ die relative Anderung des Residuums unterhalb einer zu w¨ahlenden Grenze γ , so daß ein Restart sinnvoll erscheint. Zur Kontrolle von Rundungsfehlern kann in regelm¨aßigen Abst¨ anden der im Verfahren ermittelte Residuenvektor r j+1 mit dem tats¨achlichen Residuenvektor b − Axj+1 verglichen werden. Gr¨oßere Abweichungen weisen auf Run¨ dungsfehler hin, wodurch ebenfalls ein Restart angebracht erscheint. Eine Ubertragung der Look-ahead-Strategie auf das BiCGSTAB-Verfahren wird in [12] vorgestellt.
4.3.2.8
Das TFQMR-Verfahren
Mit der QMR-Methode (Quasi Minimal Residual) pr¨asentierten Freund und Nachtigal [28] ein neuartiges BiCG-¨ ahnliches Verfahren, das als Kombination zwischen der GMRES-Methode und dem BiCG-Verfahren angesehen werden kann. Das Verfahren verkn¨ upft die Vorteile des geringen Speicher- und Rechenaufwandes der BiCG-Methode, die auf die Verwendung des Bi-Lanczos-Algorithmus zur¨ uckgeht, mit der Eigenschaft des glatten Residuenverlaufes des GMRES-Verfahrens, das auf der Minimierung des Residuums beruht. Hierzu wurde die vorausschauende Variante des Bi-Lanczos-Verfahrens, der Look-ahead Lanczos-Algorithmus, zur Berechnung einer Basis {v 1 , . . . ,v m } des Km genutzt. Die aus den Basisvektoren bestehende Matrix V m = (v 1 . . . v m ) ist aufgrund des genutzten Bi-Lanczos-Algorithmus nicht notwendigerweise orthogonal, weshalb beim QMR-Verfahren im Gegensatz zur GMRES-Methode lediglich eine Quasiminimierung der durch (4.3.59) gegebenen Funktion vorgenommen wird. In nat¨ urlicher Weise impliziert der BiCG-Algorithmus einen notwendigen Zugriff auf die Matrix AT im QMRVerfahren. Die im folgenden beschriebene TFQMR-Methode (Transpose-Free QMR) wurde von Freund [27] auf der Basis des CGS-Verfahrens anstelle der BiCG-Methode entwickelt, wodurch Matrix-Vektor-Multiplikationen mit AT entfallen. Bevor wir zur direkten Herleitung des Verfahrens kommen, werden wir mit den folgenden beiden Lemmata eine Basis des Krylov-Unterraums Km definieren und eine Eigenschaft der Basisvektoren beweisen. Hierzu sei die Abbildung : R → Z durch
x −→ x ∈ ]x − 1,x]
(4.3.126)
definiert. Lemma 4.85 Vorausgesetzt, das CGS-Verfahren bricht nicht vor der Berechnung der Vektoren q m−1 und u m−1 ab, dann stellen die durch 2 2 , u k−1 , falls k ungerade, 2 y k := (4.3.127) q k−1 , falls k gerade 2
definierten Vektoren y 1 , . . . ,y m eine Basis des Km dar.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
181
Beweis: ur k = 2n + 1 Sei n ∈ N0 , dann folgt f¨ = un = ϕn (A) ψn (A) r 0
yk
= α20 · . . . · α2n−1 Ak−1 r0 + π (A) r0 mit π ∈ Pk−2 und f¨ ur k = 2n > 0 yk
= q n−1 = ϕn (A) ψn−1 (A) r 0 = −α20 · . . . · α2n−2 αn−1 Ak−1 r 0 + π (A) r 0 mit π ∈ Pk−2 .
ur i = 0, . . . ,n − 1 und damit Laut Voraussetzung gilt αi = 0 f¨ span {y 1 , . . . ,y m } = Km .
Lemma 4.86 Sei , wk :=
ϕ2 k−1 (A) r0
, falls k ungerade,
ϕ k−1 (A) ϕ k (A) r0
, falls k gerade,
2
2
2
(4.3.128)
dann gilt ur k = 1, . . . ,m wk+1 = wk − α k−1 Ay k f¨ 2
mit den durch (4.3.127) gegebenen Vektoren y 1 , . . . ,y m . Beweis: Aus (4.3.102) erhalten wir λψj (λ) =
1 (ϕj (λ) − ϕj+1 (λ)) . αj
(4.3.129)
Sei n ∈ N0 , dann folgt f¨ ur k = 2n + 1 Ay k
= (4.3.109) (4.3.129)
=
=
Aun 1 2 ϕn (A) r0 − ϕn (A) ϕn+1 (A) r0 αn 1 2 ϕ k−1 (A) r0 − ϕ (k+1)−1 (A) ϕ k+1 (A) r0 2 2 2 α k−1 2
=
1 α k−1 2
und f¨ ur k = 2n > 0
(w k − wk+1 )
182
4 Iterative Verfahren Ay k
=
Aq n−1
(4.3.108) (4.3.129)
=
=
1 αn−1
ϕn−1 (A) ϕn (A) r 0 − ϕ2n (A) r 0
1 α k−1
ϕ k−1 (A) ϕ k (A) r0 − ϕ2 (k+1)−1 (A) r 0 2
2
2
2
=
1 (wk − w k+1 ) . α k−1 2
Aufgrund der vorgenommenen Definition des Vektors wk gilt stets w2k+1 = r k . Mit
und
⎛
(4.3.130)
W m+1 = (w1 . . . wm+1 )
(4.3.131) ⎞
α−1 1−1
⎜ ⎜ −α−1 1−1 ⎜ 2 ⎜ ⎜ =⎜ ⎜ ⎜ ⎜ ⎝ 2
Bm
Y m = (y 1 . . . y m ) ,
α−1 2−1 2
..
.
..
.
−α−1 m−2 2
α−1 m−1 2
−α−1 m−1
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ∈ R(m+1)×m ⎟ ⎟ ⎟ ⎠
2
l¨aßt sich Lemma 4.86 in der Form AY m = W m+1 B m
(4.3.132)
schreiben. Zudem existiert aufgrund des Lemmas 4.85 f¨ ur jeden Vektor xm ∈ x0 + Km die Darstellung xm = x0 + Y m αm mit αm ∈ Rm . Durch (4.3.128) folgt w1 = r 0 und wir erhalten daher f¨ ur den zu xm geh¨ orenden Residuenvektor unter Verwendung der Gleichung (4.3.132) rm
= b − Axm = r 0 − AY m αm = W m+1 e1 − B m αm
(4.3.133)
mit e1 = (1,0, . . . ,0)T ∈ Rm+1 . Die Matrix W m+1 ist in der Regel nicht normerhaltend, weshalb bei der Quasiminimierung keine vollst¨andige Minimierung des Residuums betrachtet wird. Unter zus¨ atzlicher Verwendung der Skalierungsmatrix ⎛ ⎞
w1 2 ⎜ ⎟ ⎜ ⎟ .. ⎟ ∈ R(m+1)×(m+1) . S m+1 := ⎜ ⎜ ⎟ ⎝ ⎠
wm+1 2
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren folgt
183
e − S B α
rm 2 ≤ W m+1 S −1 w 1 2 1 m+1 m m . m+1 2 2 =: τm
(4.3.134)
Die Skalierung dient in der obigen Formulierung als Vorkonditionierer, da die Konditionszahl der Matrix W m+1 S −1 ur die G¨ ute der Absch¨atzung des Resim+1 ein Kriterium f¨ duums durch die Gr¨ oße τm darstellt. Wir erhalten die im folgenden Lemma bewiesene Absch¨ atzung: Lemma 4.87 Sei τm := w1 2 e1 − S m+1 B m αm , dann folgt 2
√
r m 2 ≤ m + 1 τm f¨ ur den durch (4.3.133) gegebenen Residuenvektor r m . Beweis: Da die euklidische Norm einer beliebigen Matrix A = (aij ) ∈ Rm×n der Absch¨atzung ⎛
A 2 ≤ ⎝
m n
⎞1/2 |aij |2 ⎠
= A F
i=1 j=1
gen¨ ugt, folgt die Behauptung durch Einsetzen der Ungleichung W m+1 S −1 m+1 ≤ 2
m+1 1/2 wi 2 √ = m+1 wi 2 i=1
2
in die Gleichung (4.3.134). In Anlehnung an die im GMRES-Verfahren durch (4.3.64) eingef¨ uhrte Abbildung nutzen wir aufgrund der Absch¨ atzung (4.3.134) die Funktion Jm : Rm → R mit (4.3.135) Jm (α) := w1 2 e1 − S m+1 B m α 2
und beschreiben mit den folgenden zwei S¨ atzen ein Iterationsverfahren zur L¨osung der Minimierungsaufgabe αm = arg minm Jm (α), α∈R
die die TFQMR-Iterierte mittels xm = x0 + Y m αm liefert. Satz 4.88 Sei m ≥ 1 und gelte Tm Tm = := S m+1 B m ∈ R(m+1)×m hm+1,1 . . . hm+1,m
(4.3.136)
184
4 Iterative Verfahren
mit einer regul¨aren Matrix T m . F¨ ur k = m − 1,m seien desweiteren αk = arg min Jk (α), α∈Rk
und τk := Jk (αk ) mit der durch (4.3.135) gegebenen Funktion Jk . Dann gilt αm−1 2 ˜m + c2m α αm = 1 − cm 0 mit
T ˜ m := α j−1 α
j=1,...,m
2
(4.3.137)
T = α0 ,α0 ,α1 , . . . ,α m−1 ∈ Rm , 2
sowie τm = τm−1 ϑm cm mit ϑm = und
wm+1 2 τm−1
−1/2 cm = 1 + ϑ2m .
(4.3.138)
Beweis: Einfaches Nachrechnen liefert ⎛ w
⎞
1 2 α0
Tm
⎜ ⎜ w2 2 ⎜ − α0 ⎜ ⎜ ⎜ =⎜ ⎜ ⎜ ⎜ ⎜ ⎝
w2 2 α0
..
.
..
.
m 2 − αwm−2
2
w m 2 α m−1 2
m+1 2 − w α m−1
wodurch und somit
˜ m = w1 2 T −1 α m e1
2
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟, ⎟ ⎟ ⎟ ⎟ ⎠
(4.3.139)
˜ m
wm+1 2 = w1 2 e1 − T m α
(4.3.140)
2
gilt. Wir f¨ uhren analog zum Lemma 4.75 eine orthogonale Transformation der Matrix T m mittels Givens-Rotationen durch und erhalten die Darstellung Rm Qm T m = Rm = . (4.3.141) 0T Zudem definieren wir g m := w1 2 Qm e1 .
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
185
Aufgrund der besonderen Gestalt der Matrix T m stellt die Abbildung Rm eine rechte obere Dreiecksmatrix mit Bandbreite zwei dar. F¨ ur den Vektor g m ergibt sich dabei mit ⎛ ⎞ γ1 ⎟ ⎜ ⎜ .. ⎟ gm g m−1 ⎜ . ⎟ ⎜ ⎟ gm = =⎜ ⎟ und g m−1 = γ˜m+1 γ˜m ⎜ γm ⎟ ⎝ ⎠ γ˜m+1 unter Verwendung der durch (4.3.141) gegebenen Transformation die ⎛ ⎞ I
w1 2 ⎜ ⎟ Qm−1 0 cm sm ⎟ gm = ⎜ ⎝ ⎠ T 0 1 0 −sm cm ⎛ ⎞⎛ ⎞ ⎛ I g m−1 g m−1 ⎜ ⎟⎜ ⎟ ⎜ ⎜ ⎟ ⎜ cm sm ⎟ = ⎜ ⎝ ⎠ ⎝ γ˜m ⎠ = ⎝ cm γ˜m −sm cm 0 −sm γ˜m
Form
⎞ ⎟ ⎟, ⎠
(4.3.142)
wobei o.B.d.A. cm ≥ 0 gelten soll. Analog zum GMRES-Verfahren liegt mit Rm eine regul¨ are Matrix vor, und wir erhalten αm = arg minm Jm (α) = R−1 m gm . α∈R
Desweiteren gilt
Rm 0T
⎛
= Rm
⎜ =⎜ ⎝
⎞
I cm
sm
−sm
cm
wodurch mit c2m + s2m = 1 die Gleichung Qm−1 T m =
⎟ ⎟ ⎠
I
0
0T
cm
Qm−1 T m 0 . . . 0 hm+1,m
,
Rm
folgt. Mit (4.3.139) erhalten wir daher unter Ber¨ ucksichtigung der vorausgesetzten Regularit¨ at der Matrix T m die Eigenschaft cm = 0 und folglich die Darstellung ˜m α
= w1 2 T −1 m e1 −1 = Qm−1 T m g m−1 I 0 g m−1 −1 = Rm γ˜m 0T c−1 m Rm−1 αm−1 = R−1 . m γ˜m c−1 m
(4.3.143)
186
4 Iterative Verfahren
Elementares Nachrechnen liefert die Form ⎛ R Rm = ⎝ m−1 0T Aus (4.3.142) erhalten wir
gm =
⎞
0 rm−1,m rm,m
g m−1 cm γ˜m
⎠.
,
ucksichtigung der obigen Gestalt der oberen wodurch mit g m−1 = Rm−1 αm−1 unter Ber¨ Dreiecksmatrix Rm die behauptete Gestalt des Koeffizientenvektors durch Rm−1 αm−1 −1 −1 αm = Rm g m = Rm (4.3.144) γ˜m cm R α α R m−1 m−1 m−1 m−1 1 − c2m + c2m = R−1 m 0 γ˜m c−1 m αm−1 ˜m + c2m α = 1 − c2m 0 ˜ m an, so erhalten wir unter Verwendung der folgt. Wenden wir die Funktion Jm auf α −2 2 − 1 = c s die Gleichung Identit¨ at c−2 m m m : ; (4.3.140)
w1 2 ˜ ˜ m) = Q α = Jm (α T
wm+1 2 − m m m 0 2 ⎛ ⎞ g m−1 (4.3.141) ˜m Rm α ⎟ (4.3.142) ⎜ ⎜ ⎟ = ⎝ cm γ˜m ⎠ − 0 −sm γ˜m 2
(4.3.143)
=
=
⎛ ⎞ ⎞ ⎛ g m−1 g m−1 ⎜ ⎟ ⎟ ⎜ ⎜ cm γ˜m ⎟ − ⎜ γ˜m c−1 ⎟ m ⎠ ⎝ ⎠ ⎝ −sm γ˜m 0 2 ! 2 c2 − 2 + c−2 + s2 γm ||sm |c−1 γ˜m m m m = |˜ m ,
wodurch mit (4.3.142) und (4.3.144) ⎛ g m−1 ⎜ ⎜ τm = ⎝ cm γ˜m −sm γ˜m = τm−1
⎞ ⎟ ⎟− ⎠
Rm αm 0
= |˜ γm sm |
wm+1 2 cm = τm−1 ϑm cm τm−1
2
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
187
−1 mit ϑm = wm+1 2 τm−1 folgt, und zudem wegen s2m + c2m = 1 unter Einbeziehung von γm | τm−1 = |˜ < ' ( 1 1 ( cm = ( 2 = 1 + ϑ2m ) s 1 + 2m cm
gilt. Satz 4.89 Seien cm ,ϑm ,y m durch Lemma 4.85 und Satz 4.88 gegeben und m ≥ 1 . Dann l¨aßt sich die TFQMR-Iterierte mittels ηm := α m−1 c2m
(4.3.145)
2
und dm := y m +
ϑ2m−1 ηm−1 dm−1 α m−1 2
in der rekursiven Form xm = xm−1 + ηm dm schreiben. Beweis: Definieren wir den Vektor ˜ m = x0 + Y m α ˜m x ˜ m und der Matrix Y m gem¨aß (4.3.130), mit dem durch Satz 4.88 gegebenen Vektor α so folgt ˜ m−1 + α m−1 y m = x ˜ m = x0 + Y m−1 α ˜ m−1 + α m−1 y m . x 2
2
(4.3.146)
F¨ ur die TFQMR-Iterierte xm ergibt sich mit (4.3.136) und (4.3.137) die Rekursionsvroschrift αm−1 2 ˜ m) = 1 − cm x 0 + Y m xm + c2m (x0 + Y m α 0 ˜m = 1 − c2m xm−1 + c2m x (4.3.145)
=
xm−1 +
ηm α m−1
(˜ xm − xm−1 ) .
(4.3.147)
2
˜ m gem¨ aß Legen wir den Vektor d ˜ m − xm−1 ˜ m := x d α m−1 2
fest, dann folgt die Gleichung
(4.3.148)
188
4 Iterative Verfahren
˜m d
(4.3.146) (4.3.147)
=
ym +
1 α m−1
˜ m−1 ˜ m−1 − xm−2 − ηm−1 d x
2
(4.3.145) (4.3.148)
=
ym +
1 α m−1 2
(4.3.138)
=
ym +
1 c2m−1
˜ m−1 − ηm−1 d ˜ m−1 ηm−1 d
ϑ2m−1 ηm−1 ˜ dm−1 , α m−1 2
˜ m gleichsetzen k¨ wodurch wir dm mit d onnen. Das Einsetzen von (4.3.148) in (4.3.147) liefert somit die behauptete Darstellung der TFQMR-Iterierten. Betrachten wir die im CGS-Algorithmus auftretenden Vektoren q j ,uj+1 und pj+1 , so erhalten wir unter Verwendung der Lemmata 4.85 und 4.86 sowie der Hilfsvariablen v j := Apj die Rekursionsvorschriften y 2j y 2j+1
= q j−1 = uj−1 − αj−1 v j−1 = y 2j−1 − αj−1 v j−1 , = uj = rj + βj−1 q j−1 = w 2j+1 + βj−1 y 2j .
Zudem gilt pj = uj + βj−1 q j−1 + βj−1 pj−1 = y 2j+1 + βj−1 y 2j + βj−1 pj−1 , so daß f¨ ur die Hilfsvariable v j = Ay 2j+1 + βj−1 Ay 2j + βj−1 v j−1 folgt. Mit den Lemmata 4.86 und 4.87 sowie den S¨atzen 4.88 und 4.89 erhalten wir zusammenfassend den TFQMR-Algorithmus in der folgenden Formulierung, dessen Umsetzung in MATLAB im Anhang A aufgef¨ uhrt ist.
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
189
TFQMR-Algorithmus — W¨ ahle x0 ∈ Rn und ε > 0 w 1 = y 1 = r0 := b − Ax0 , τ0 := r 0 2 Z Z τ0 > ε Y Z Z v 0 := Ay 1 , d0 := 0, η0 = ϑ0 := 0, j := 1 αj−1 :=
(w 2j−1 ,r 0 )2 (v j−1 ,r 0 )2 ,
N
y 2j := y 2j−1 − αj−1 v j−1
m := 2j − 1 w m+1 := wm − αj−1 Ay m ϑm :=
w m+1 2 τm−1 ,
dm := y m +
−1/2 cm := 1 + ϑ2m
ϑ2m−1 ηm−1 dm−1 , αj−1
ηm := c2m αj−1
xm := xm−1 + ηm dm , τm := τm−1 ϑm cm Z √ Z m + 1 τm > ε Y Z Z m := m + 1
N STOP
solange m < 2j + 1 βj−1 :=
(w 2j+1 ,r 0 )2 (w2j−1 ,r 0 )2
y 2j+1 := w 2j+1 + βj−1 y 2j v j := Ay 2j+1 + βj−1 Ay 2j + βj−1 v j−1 j := j + 1 solange 1 = 1
4.3.2.9
Das QMRCGSTAB-Verfahren
Motiviert durch die Entwicklung der TFQMR-Methode aus dem CGS-Algorithmus veroffentlichten Chan et al. das QMRCGSTAB-Verfahren [16], das sich unter Verwendung ¨ des Prinzips der Quasi-Minimierung aus dem BiCGSTAB-Verfahren herleiten l¨aßt. Hierzu
190
4 Iterative Verfahren
definieren wir mit dem folgenden Lemma eine Basis des Krylov-Unterraums Km unter Nutzung der durch (4.3.126) gegebenen Abbildung. Lemma 4.90 Vorausgesetzt, das BiCGSTAB-Verfahren bricht nicht vor der Berechnung der Vektoren p m−1 und s m−1 ab, dann stellen die durch 2
2
,
p k−1
, falls k ungerade,
s k−1
, falls k gerade
2
y k :=
2
(4.3.149)
definierten Vektoren y 1 , . . . ,y m eine Basis des Km dar. Beweis: Der Beweis ergibt sich analog zum Nachweis des Lemmas 4.85 unter Verwendung der Gleichungen (4.3.117) und (4.3.118). Dem Lemma 4.86 entsprechend erhalten wir das folgende Lemma. Lemma 4.91 Seien ,
r k−1
, falls k ungerade,
s k−1
, falls k gerade
α k−1
, falls k ungerade,
ω k−1
, falls k gerade,
2
wk :=
2
,
und δk :=
2
2
(4.3.150)
dann gilt wk+1 = wk − δk Ay k f¨ ur k = 1, . . . ,m mit den durch (4.3.149) gegebenen Vektoren y 1 , . . . ,y m . Beweis: Mit den Gleichungen (4.3.114), (4.3.116) und (4.3.118) l¨aßt sich die Behauptung durch einfaches Nachrechnen beweisen. Definieren wir die Matrizen Y m und W m+1 gem¨aß (4.3.130) und (4.3.131) mit den durch (4.3.149) und (4.3.150) vorliegenden Vektoren, so l¨aßt sich der Residuenvektor in der Form rm = W m+1 S −1 m+1 S m+1 e1 − B m αm mit S m+1 = diag{ w1 2 , . . . , wm+1 2 } , ⎛ −1 δ1 ⎜ ⎜ −δ −1 δ −1 1 2 ⎜ ⎜ ⎜ .. .. Bm = ⎜ . . ⎜ ⎜ −1 ⎜ −δm−1 ⎝
⎞
−1 δm −1 −δm
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ∈ R(m+1)×m ⎟ ⎟ ⎟ ⎠
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
191
und e1 = (1,0, . . . ,0)T ∈ Rm+1 darstellen. Der QMRCGSTAB-Algorithmus unterscheidet sich vom TFQMR-Verfahren einzig in der vorliegenden Matrix B m , die bei beiden Verfahren zwar die gleiche Struktur, jedoch unterschiedliche Eintr¨age aufweist. Beim QMRCGSTAB-Verfahren wird daher ebenfalls die Abbildung Jm gem¨aß (4.3.135) eingef¨ uhrt und die QMRCGSTAB-Iterierte mittels (4.3.136) definiert, wodurch f¨ ur die Norm des Residuenvektors ebenfalls die durch Lemma 4.87 gegebene Absch¨atzung gilt. Zudem k¨ onnen die S¨ atze 4.88 und 4.89 direkt f¨ ur das vorliegende QMRCGSTAB-Verfahren umgeschrieben werden, und wir erhalten mit den beiden folgenden S¨atzen die mathematische Grundlage der Methode. Satz 4.92 Sei m ≥ 1 und desweiteren f¨ ur k = m − 1,m αk = arg min Jk (α) und τk := Jk (αk ) α∈Rk
mit der durch (4.3.135) gegebenen Funktion Jk . Dann gilt αm−1 2 ˜m + c2m α αm = 1 − cm 0 ˜ m := (δ1 ,δ2 , . . . ,δm )T ∈ Rm sowie τm = τm−1 ϑm cm mit ϑm = mit α −1/2 und cm = 1 + ϑ2m .
w m+1 2 τm−1
Beweis: Der Beweis ergibt sich analog zum Nachweis des Satzes 4.88. Satz 4.93 Seien cm ,ϑm ,y m durch Lemma 4.90 und Satz 4.92 gegeben und m ≥ 1 . Dann l¨aßt sich die QMRCGSTAB-Iterierte mittels ηm := δm c2m und dm := y m +
ϑ2m−1 ηm−1 dm−1 δm
in der rekursiven Form xm = xm−1 + ηm dm schreiben. Beweis: Die Behauptung l¨ aßt sich analog zum Beweis des Satzes 4.89 nachweisen. Ber¨ ucksichtigen wir die spezielle Darstellung der Vektoren y 1 , . . . ,y m und w1 , . . . ,wm , so l¨ aßt sich der QMRCGSTAB-Algorithmus in der folgenden Form schreiben. Dem Anhang A kann eine Implementierung in MATLAB entnommen werden.
192
4 Iterative Verfahren
QMRCGSTAB-Algorithmus — W¨ ahle x0 ∈ Rn und ε > 0 p0 = r 0 := b − Ax0 , τ0 := r0 2 , v 0 := Ap0 Z Z τ0 > ε Y Z Z d0 := 0, η0 = ϑ0 := 0, j := 1 αj−1 := ϑ˜j :=
(r j−1 ,r 0 )2 (v j−1 ,r 0 )2 ,
sj−1 2 τj−1 ,
˜ j := p d j−1 +
N
sj−1 := rj−1 − αj−1 v j−1
−1/2 c˜j := 1 + ϑ˜2j ϑ2j−1 ηj−1 αj−1 dj−1 ,
η˜j := c˜2j αj−1
˜ j , τ˜j := τj−1 ϑ˜j c˜j ˜ j := xj−1 + η˜j d x ωj−1 := ϑj :=
(Asj−1 ,sj−1 )2 (Asj−1 ,Asj−1 )2 ,
r j 2 τ˜j ,
rj := sj−1 − ωj−1 Asj−1
−1/2 cj := 1 + ϑ2j
dj := sj−1 +
˜2 η ϑ j ˜j ˜ ωj−1 dj ,
ηj := c2j ωj−1
˜ j + ηj dj , τj := τ˜j ϑj cj xj := x Z √ Z 2j + 1τj > ε Y Z Z βj−1 :=
αj−1 (r j ,r 0 )2 ωj−1 (r j−1 ,r 0 )2
N STOP
pj := rj + βj−1 pj−1 − ωj−1 Apj−1 v j := Apj , j = j + 1 solange 1 = 1
4.3.2.10
Konvergenzanalysen
In diesem Abschnitt untersuchen wir das Konvergenzverhalten der f¨ ur regul¨are Matrizen anwendbaren Verfahren GMRES, CGS, BiCGSTAB, TFQMR und QMRCGSTAB. Zur
4.3 Projektionsmethoden und Krylov-Unterraum-Verfahren
193
Analyse nutzen wir die im Beispiel 1.4 hergeleitete unsymmetrische Matrix (1.0.9), wobei f¨ ur den Diffusionsparameter der Wert ε = 0.1 gew¨ahlt wurde und mit N = 100 stets 10.000 Unbekannte vorliegen. Alle pr¨ asentierten Abbildungen zeigen den Logarithmus des Residuums zur Basis 10 aufgetragen u ¨ ber der Iterationzahl. Aufgrund der vorliegenden Gestalt des Gleichungssystems ben¨ otigt eine Matrix-Vektor-Multiplikation stets 5N 2 − 4N Operationen, die folglich stets in der Gr¨ oßenordnung einer Skalarmultiplikation mit N 2 Operationen liegt. Die Verfahren CGS, BiCGSTAB, TFQMR und QMRCGSTAB ben¨otigen hierbei pro Iteration jeweils zwei Matrix-Vektor-Multiplikationen. Dagegen weist das GMRES-Verfahren lediglich eine derartige Operationen pro Iteration auf. Jedoch zeigt sich durch den im GMRES-Verfahren enthaltenen Arnoldi-Algorithmus zur Berechnung der Orthonormalbasis eine von der Dimension des Krylov-Unterraums abh¨angige Anzahl an Skalarprodukten. Das GMRES-Verfahren wurde in unserem Fall in einer Restarted-Version mit einer maximalen Krylov-Unterraumdimension von m = 30 verwendet. Eine kleinere obere Grenze f¨ uhrte zu einer Erh¨ ohung der Iterationszahl und wurde daher vermieden. Innerhalb eines Restarts m¨ ussen demzufolge 465 Skalarprodukte im Rahmen des ArnoldiAlgorithmus berechnet werden, die etwa 3 Matrix-Vektor-Multiplikationen pro Iteration entsprechen. Alle weiteren Verfahren beinhalten keinerlei iterationsabh¨angige Anzahl von Skalarprodukten. Je Iteration werden 3 (CGS), 4 (BiCGSTAB, TFQMR) beziehungsweise 6 (QMRCGSTAB) Skalarprodukte berechnet, so daß diese Verfahren einen vergleichbaren Aufwand innerhalb eines Schleifendurchlaufs aufweisen. Dagegen ergibt sich bei GMRES-Verfahren durchschnittlich ein deutlicher h¨oherer Rechenbedarf. 4
4
CGS BiCGSTAB
0
0
−2
−2
−4 −6
−4 −6
−8
−8
−10
−10
−12
−12
−14
0
50
100
150
200
250
TFQMR QMRCGSTAB
2
log10||rj||2
log10||rj||2
2
300
350
Iterationen (j)
Bild 4.21 Konvergenzverl¨ aufe des CGSund BiCGSTAB-Verfahrens
−14
0
50
100
150
200
250
300
350
Iterationen (j)
Bild 4.22 Konvergenzverl¨ aufe des TFQMRund QMRCGSTAB-Verfahrens
Die dargestellten Konvergenzverl¨ aufe zeigen das zu erwartende typische Verhalten der Gleichungssysteml¨ oser. W¨ ahrend das CGS-Verfahren sehr starke Oszillationen aufweist, ergibt sich bei der BiCGSTAB-Methode durch die eingef¨ uhrte eindimensionale Residuenminimierung ein deutlich glatteres Abfallverhalten (siehe Bild 4.21). Die Nutzung der Quasiminimierung innerhalb des TFQMR- und QMRCGSTAB-Verfahrens f¨ uhrt, wie in Bild 4.22 zu sehen, auf ein ann¨ ahernd monotones und oszillationsfreies Konvergenzverhalten. Ein durchgehend monotones Abklingverhalten des Residuums ergibt sich aus theoretischer Sicht f¨ ur das GMRES-Verfahren und auch dessen GMRES( m )-Variante. Diese Eigenschaft wird auch durch die Abbildung 4.23 wiedergegeben.
194
4 Iterative Verfahren
Aus den ermittelten Konvergenzverl¨ aufen wird ersichtlich, daß bei allen betrachteten Gleichungssysteml¨ osern eine Reduktion des Residuums um 14 Gr¨oßenordnungen in weniger als 1000 Schleifendurchl¨ aufen erzielt wurde. Hierbei ergab sich f¨ ur die Verfahren BiCGSTAB (272 Iterationen), CGS (291 Iterationen), TFQMR (302 Iterationen), QMRCGSTAB (286 Iterationen) ein vergleichbarer Aufwand. Einzig das GMRES-Verfahren ben¨ otigte mit 838 Schleifendurchl¨ aufen eine deutlich h¨ohere Iterationszahl. 4 2
GMRES(30)
0 −2
log10||rj||2
Im Kontext der Euler- und Navier-StokesGleichungen wird in [48] von einem ¨ ahnlichen Verhalten der Gleichungssysteml¨ oser berichtet, wobei sich das GMRES-Verfahren ohne Nutzung einer geeigneten Pr¨ akonditionierung sogar teilweise als unpraktikabel erwies.
−4 −6 −8
Die auf dem Bi-Lanczos-Algorithmus beru−10 henden Verfahren CGS, BiCGSTAB, −12 TFQMR und QMRCGSTAB haben sich in −14 vielen praxisrelevanten Problemstellungen 0 100 200 300 400 500 600 700 800 900 Iterationen (j) als robust und stabil herausgestellt. Es bleibt hierbei allerdings zu erw¨ ahnen, daß diese Bild 4.23 Konvergenzverlauf des GMRES(30)-Verfahrens vier Methoden die m¨ oglichen vorzeitigen Verfahrensabbr¨ uche des Bi-Lanczos-Algorithmus erben, und daher die Konvergenz auch bei Vernachl¨assigung m¨oglicher Rundungsfehler nicht garantiert werden kann.
4.4
¨ Ubungsaufgaben
Aufgabe 1: Zeigen Sie, dass das Jacobi-Verfahren und das Gauss-Seidel-Verfahren bei einer strikt diagonal dominaten Matrix A ∈ Rn×n konvergieren. Hinweis: Eine Matrix A = (aij )i,j=1,...,n ∈ Rn×n heißt streng diagonal dominant, wenn |akk | >
n
|aki |, k = 1, . . . ,n
i=1 i=k
gilt. Aufgabe 2: Seien x,y ∈ Rn mit y = 0 . Sei ψ : R → R definiert durch ψ(a) := x − ay 2 . Zeigen Sie:
xT y = arg min ψ(a). a∈R yT y
¨ 4.4 Ubungsaufgaben
195
Aufgabe 3: Sei A ∈ Cn×n hermitesch und positiv definit. Zeigen Sie, dass
. A : Cn
→ R
x → x A := A1/2 x 2 eine Norm auf Cn darstellt. Aufgabe 4: Zeigen Sie, dass die Matrix ⎛
−1 ⎜ ⎜ −1 . . . ⎜ ⎜ .. A = ⎜ . ⎜ ⎜ ⎝
⎞
2
..
.
..
.
..
.
⎟ ⎟ ⎟ ⎟ .. ⎟ ∈ Rn×n . ⎟ ⎟ .. . −1 ⎠ −1 2
irreduzibel ist, ohne die vorgestellte graphentheoretische Vorgehensweise auszunutzen. Aufgabe 5: Gegeben sei die Matrix A =
1−
7 8
cos π4
7 8
− 78 sin π4
1−
und der Vektor b =
sin π4
0 0
7 8
cos π4
.
Zeigen Sie, dass das lineare Iterationsverfahren xn+1 = (I − A)xn + b, n = 0,1,2, . . . f¨ ur beliebigen Starvektor x0 ∈ R2 gegen die eindeutig bestimmte L¨osung x = (0,0)T konvergiert, obwohl eine induzierte Matrixnorm mit
I − A > 1 existiert. Veranschaulichen Sie beide Sachverhalte zudem graphisch. Aufgabe 6: Geben Sie ein Beispiel an, bei dem die linearen Iterationsverfahren ψ und φ nicht konvergieren und die Produktiteration ψ ◦ φ konvergiert. Aufgabe 7: Das Einzelschrittverfahren zur L¨ osung des Gleichungssystems Ax = y ist f¨ ur symmetrische, reelle, positiv definite n × n Matrizen A konvergent. Beweisen Sie die Aussage f¨ ur n = 2 ohne auf den allgemeinen Beweis (Satz 4.16) zur¨ uckzugreifen.
196
4 Iterative Verfahren
Aufgabe 8: Eine Matrix A ∈ Rn×n heißt M -Matrix, falls • aii > 0 , i = 1, . . . ,n , • aij ≤ 0 , i,j = 1, . . . ,n , i = j und • A ist regul¨ ar mit A−1 ≥ 0 gilt. (a) Geben Sie ein Beispiel f¨ ur eine M -Matrix an, die keine Diagonalmatrix darstellt. (b) Zeigen Sie f¨ ur eine M -Matrix A ∈ Rn×n : (1) Sei Ax = b und Ax = b , dann folgt aus b ≤ b auch x ≤ x . (2) F¨ ur die zu A geh¨ orige Iterationsmatrix des Jacobi-Verfahrens gilt MJ ≥ 0 und ρ(M J ) < 1. Hinweis: Die Relationen A ≥ 0 respektive x ≥ 0 sind stets komponentenweise zu verstehen. Nutzen Sie die Aussage, dass f¨ ur A ≥ 0 stets zu λ = ρ(A) ein Eigenvektor x ≥ 0 geh¨ ort. Aufgabe 9: Wir betrachten Matrizen A = (aij )i,j=1,...,n ∈ Rn×n (n ≥ 2) mit aii = 1 , i = 1, . . . ,n ur i = j . und aij = a f¨ (a) Wie sieht die Iterationsmatrix des Jacobi-Verfahrens zu A aus? Berechnen Sie ihre Eigenwerte und die Eigenwerte von A . (b) F¨ ur welche a konvergiert das Jacobi-Verfahren? F¨ ur welche a ist A positiv definit? ur die das Jacobi-Verfahren nicht (c) Gibt es positiv definite Matrizen A ∈ Rn×n f¨ konvergiert? Aufgabe 10: Sei U := span{u1 , . . . ,um } ein Unterraum des Rn (a) Zeigen Sie: Gilt f¨ ur x,y ∈ Rn , x − y ∈ U , dann folgt span{U,x} = span{U,y}. (b) Sei A ∈ Rn×n , dann gilt AU := {Ax | x ∈ U }. Zeigen Sie: AU = span{Au1 , . . . ,Aum }.
¨ 4.4 Ubungsaufgaben
197
Aufgabe 11: Beweisen Sie: (a) Wenn A mindestens einen positiven und einen negativen reellen Eigenwert besitzt, dann divergiert das Richardson-Verfahren f¨ ur jede Wahl von Θ ∈ C . (b) Wenn A unter anderem zwei komplexe Eigenwerte λ1 ,λ2 mit entgegengesetztem Vorzeichen besitzt (λ1 /|λ1 | = −λ2 /|λ2 |) , so divergiert das Richardson-Verfahren f¨ ur jede Wahl von Θ ∈ C . (c) Das Spektrum von A liege in einem abgeschlossenen Kreis um µ ∈ C\{0} mit dem Radius r < |µ| , dann f¨ uhrt die Wahl Θ = 1/µ zur Konvergenz des RichardsonVerfahrens mit ρ(I − ΘA) ≤ r/|µ| < 1. Aufgabe 12: Bestimmen Sie f¨ ur das System ⎛ ⎞ ⎞ ⎛ ⎞⎛ 4 4 0 2 x1 ⎝ 0 5 2 ⎠ ⎝ x2 ⎠ = ⎝ −3 ⎠ x3 2 5 4 10 die Spektralradien der Iterationsmatrizen f¨ ur das Gesamt- und Einzelschrittverfahren und schreiben Sie beide Verfahren in Komponeten. Zeigen Sie, dass die Matrix konsistent geordnet ist und bestimmen Sie den optimalen Relaxationsparameter f¨ ur das Einzelschrittverfahren. Aufgabe 13: Gegeben sei die Iterationsvorschrift xk+1 = xk + ak (b − Axk ), ak ∈ R
(4.4.1)
zur L¨ osung der Gleichung Ax = b mit A ∈ Rn×n und b ∈ Rn . (a) Schreiben Sie den Residuenvektor r k+1 = b − Axk+1 als Funktion von A, r k und ak , das heißt r k+1 = r k+1 (A, r k , ak ). (b) Berechnen Sie ak ∈ R derart, dass r k+1 minimal bez¨ uglich der euklidischen Norm ist. T . y Ay n : y ∈ R (c) Sei F (A) := \{0} . yT y Zeigen Sie: F¨ ur die Iterationsvorschrift (4.4.1) mit ak = biges r k = 0
rk+1 2 ≤ rk 2 T
genau dann, wenn 0 ∈ F(A ) gilt.
(r k ,Ar k ) gilt f¨ ur belie(Ark ,Ar k )
198
4 Iterative Verfahren
Aufgabe 14: Gegeben sei das Gleichungssystem Ax = b mit 0.78 0.563 A = , 0.913 0.659
b =
0.217 0.254
.
(a) Wie lautet die exakte L¨ osung? (b) Berechnen Sie f¨ ur die beiden N¨ aherungsl¨osungen u = (0.999, − 1.001)T und T v = (0.341, − 0.087) die Residuen r(u) und r(v) . Hat die genauere“ L¨osung ” u das kleinere Residuum? Erkl¨ aren Sie die Diskrepanz durch Betrachtung der Residuenfunktion r . Hinweis: Das Residuum r(z) einer N¨ aherungsl¨osung z der Gleichung Ax = b ist durch r(z) = b − Az 2 definiert. Aufgabe 15: Das Gleichungssystem
3 −1 −1 3
x1 x2
=
1 −1
soll mit dem Jacobi- und Gauß-Seidel-Verfahren gel¨ost werden. Wieviele Iterationen sind jeweils ungef¨ ahr erforderlich, um den Fehler xn − x 2 um den Faktor 10−6 zu reduzieren? Aufgabe 16: Zeigen Sie, dass das Verfahren des steilsten Abstiegs konsistent jedoch nicht linear ist. Aufgabe 17: Betrachten Sie das Verfahren der konjugierten Richtungen und konstruieren Sie eine Matrix A ∈ R4×4 sowie vier A -orthogonale Suchrichtungen p0 , . . . ,p3 derart, dass f¨ ur gegebene rechte Seite b = (10,9,8,7)T und gegebenen Startvektor x0 = (1,2,3,4)T der durch das Verfahren ermittelte Fehlervektor em = xm − A−1 b die Bedingung
em 2 ≥ 2,749 f¨ ur
m = 0,1,2,3
erf¨ ullt. Aufgabe 18: Zeigen Sie: Sei A ∈ Rn×n symmetrisch und positiv definit und gelte Aj = A f¨ ur ein j ∈ N mit n > j > 1 , dann liefert das CG-Verfahren sp¨atestens mit xj die exakte L¨ osung der Gleichung Ax = b f¨ ur beliebiges b ∈ Rn . Aufgabe 19: Zeigen Sie: Seien A ∈ Rn×n und ξ ∈ Rn gegeben. Desweiteren seien φj , ψj ∈ Pj , dann gilt φj (AT )η, ψj (A)ξ = 0 ∀η ∈ Rn , 2
falls ξ ∈ Kern(φj (A)ψj (A)) ist.
¨ 4.4 Ubungsaufgaben
199
Aufgabe 20: Gegeben sei das lineare Gleichungssystem . 49 a 14 1 . x= mit a ∈ R+ \ 7 50 1 25 (a) F¨ ur welche Werte von a konvergiert das Jacobi-Verfahren respektive das GaussSeidel-Verfahren? (b) L¨ asst sich die Konvergenzgeschwindigkeit durch Relaxation des Gauß-Seidel-Verfahrens erh¨ohen?
200
5
Pr¨ akonditionierer
Den Einfluß der Konditionszahl auf die Eigenschaften des Gleichungssystems und den Zusammenhang zwischen dem Fehler- und Residuenvektor haben wir bereits ausf¨ uhrlich im Abschnitt 2.3 studiert. Die erzielten Resultate (S¨atze 2.39 und 2.40), wie auch die f¨ ur das Verfahren des steilsten Abstiegs (Satz 4.53), das CG-Verfahren (Satz 4.65) und die GMRES-Methode (Korollar 4.78) vorliegenden Konvergenzaussagen, verdeutlichen nachdr¨ ucklich den Vorteil einer kleinen Konditionszahl der Matrix A ∈ Rn×n des linearen Gleichungssystems Ax = b . Motiviert durch diese Sachverhalte liegt die Nutzung einer ¨aquivalenten Umformulierung des Gleichungssystems mit dem Ziel der Verringerung der Konditionszahl der Matrix nahe. Solche Techniken werden als Pr¨ akonditionierung des Systems bezeichnet und haben sich im Kontext von Modellproblemen [18, 32, 69, 74] wie auch bei praktischen Anwendungsf¨ allen [2, 21, 39, 48, 49, 50, 56] als effizientes Mittel zur Beschleunigung und Stabilisierung von Krylov-Unterraum-Verfahren erwiesen. Neben der Verwendung eines geeigneten Gleichungssysteml¨ osers ist die Wahl des Pr¨akonditionierers von ausschlaggebender Bedeutung f¨ ur das resultierende Gesamtverfahren. Aus diesem Grund werden wir uns in diesem Abschnitt ausf¨ uhrlich mit der Beschreibung und Untersuchung m¨oglicher ¨ Pr¨akonditionierungstechniken befassen. Einen aktuellen Uberblick findet man zudem in der Arbeit von Benzi [9]. Nach einer einf¨ uhrenden Definition werden wir unterschiedliche Varianten zur Pr¨ akonditionierung vorstellen. Anschließend pr¨asentieren wir neben dem pr¨ akonditionierten CG-Verfahren auch eine spezielle Formulierung einer pr¨akonditionierten BiCGSTAB-Methode, die einen Vergleich von Links- und Rechtspr¨akonditionierungen erm¨ oglicht. Zur Konvergenzanalyse nutzen wir die Poisson-Gleichung und die Konvektions-Diffusions-Gleichung. Definition 5.1 Seien P L und P R ∈ Rn×n regul¨ar. Dann heißt P L AP R xP
= PL b
x = PR x
(5.0.1) P
(5.0.2)
das zum Gleichungssystem Ax = b geh¨ orige pr¨akonditionierte System. Gilt P L = I , akonditionierer und das System linkspr¨akonditioniert. Ist P R = I , so heißt P L Linkspr¨ so heißt P R Rechtspr¨ akonditionierer und das System rechtspr¨akonditioniert. Ein linksund rechtspr¨ akonditioniertes System heißt beidseitig pr¨akonditioniert. Aufgrund der Invertierbarkeit der Matrix A stellt zum Beispiel AT eine m¨ogliche Pr¨akonditionierungsmatrix dar. Mit P L = AT und P R = I erhalten wir die Normalengleichungen (5.0.3) AT Ax = AT b. Die Matrix B = AT A ist symmetrisch und positiv definit, wodurch die Verwendung des CG-Verfahrens m¨ oglich ist. Diese Vorgehensweise wird als CGNR (CG Normal equations Residual minimizing) bezeichnet. Analog f¨ uhrt P L = I und P R = AT auf das
5.1 Skalierungen
201
CGNE-Verfahren (CG Normal equations Error minimizing). Beide Verfahren k¨onnen also als pr¨ akonditionierte CG-Verfahren interpretiert werden. Oftmals erweisen sich diese Ans¨ atze jedoch im Fall schlecht konditionierter Matrizen aufgrund von cond2 (AAT ) cond2 (A) als ineffizient. Besitzt A dagegen eine kleine Konditionszahl, so stellen beide Verfahren gute Alternativen zu den im Abschnitt 4.3.2 diskutierten Methoden dar, da sich die positiven Eigenschaften des CG-Algorithmus auf diese Verfahren u ¨ bertragen. Besonders im Spezialfall orthogonaler Matrizen liefern CGNR und CGNE wegen AT A = I die exakte L¨ osung des Gleichungssystems im ersten Iterationsschritt. Mit P L AP R = I liegt eine im Sinne der Konvergenz optimale Wahl der Matrizen P L und P R vor. Eine derartige Forderung kommt jedoch einer Invertierung der Matrix A gleich und ist daher aus Speicherplatz- und Rechenzeitgr¨ unden u ¨blicherweise nicht realisierbar. Das Ziel der Pr¨ akonditionierung liegt in der Definition einfach berechenbarer Matrizen P L und P R , die einen geringen Speicherplatzbedarf aufweisen und mit P L AP R eine gute Approximation der Einheitsmatrix liefern, so daß cond(P L AP R ) cond(A) gilt. Die beidseitige Variante wird, wie im Abschnitt 4.1.5 erw¨ahnt, bei Verfahren f¨ ur positiv definite und symmetrische Matrizen und der Wahl P TL = P R verwendet, damit mit P L AP R wiederum eine positiv definite und symmetrische Matrix vorliegt. In der Praxis unterscheidet man oft zwischen expliziten und impliziten Pr¨akonditionierern. Mit dieser Sprechweise will man betonen, daß man entweder die Pr¨akonditionierungsmatrix explizit zur Verf¨ ugung hat oder aber den Pr¨akonditionierer nur implizit in seiner Wirkungsweise bei Matrix-Multiplikationen kennt. Ein Beispiel f¨ ur die implizite Variante ist die unvollst¨ andige LU-Zerlegung, bei der die Inverse des Pr¨akonditionierers in faktorisierter Form als Produkt von zwei Dreiecksmatrizen vorliegt. Das Produkt der Matrizen LU kann auch bei schwachbesetzten Matrizen L und U eine vollbesetzte Matrix darstellen. Die explizite Berechnung der Produktmatrix w¨ urde daher eventuell die zur Verf¨ ugung stehenden Speicherresourcen u ußte zur Bestim¨bersteigen. Desweiteren m¨ mung der Pr¨ akonditionierungmatrix die hieraus resultierende Matrix aufwendig invertiert werden, w¨ ahrend die Invertierung des Produktes LU durch einfache R¨ uckw¨arts- und Vorw¨ artselimination implizit gegeben ist.
5.1
Skalierungen
Skalierungen stellen die einfachste Form der Pr¨akonditionierung dar. Den Vorteilen des geringen Speicherplatzsbedarfs und der leichten Berechnung steht der Nachteil entgegen, daß mit der Skalierung in der Regel nur eine sehr grobe Approximation der Inversen der Matrix A vorliegt, und folglich auch zumeist nur eine geringf¨ ugige Beschleunigung erzielt wird. Definition 5.2 Eine regul¨ are Diagonalmatrix D = diag{d11 , . . . ,dnn } ∈ Rn×n heißt Skalierung. Mit der folgenden Auflistung werden wir einige gebr¨auchliche Formen der Skalierung auf der Basis einer regul¨ aren Matrix A ∈ Rn×n pr¨asentieren: (a) Skalierung mit dem Diagonalelement: Unter der Voraussetzung aii = 0 f¨ ur i = 1, . . . ,n w¨ahlt man
202
5 Pr¨akonditionierer dii :=
1 f¨ ur i = 1, . . . ,n. aii
(5.1.1)
(b) Zeilen-/Spaltenskalierung bez¨ uglich der Betragssummennorm: dii := n j=1
1 |aij |
beziehungsweise djj := n i=1
1
(5.1.2)
|aij |
f¨ ur i = 1, . . . ,n respektive j = 1, . . . ,n . (c) Zeilen-/Spaltenskalierung bez¨ uglich der euklidischen Norm: dii :=
1 n j=1
12 beziehungsweise djj :=
|aij |2
1 n
i=1
|aij
|2
12
(5.1.3)
f¨ ur i = 1, . . . ,n respektive j = 1, . . . ,n . (d) Zeilen-/Spaltenskalierung bez¨ uglich der Maximumsnorm: dii :=
1 1 beziehungsweise djj := max |aij | max |aij |
j=1,...,n
(5.1.4)
i=1,...,n
f¨ ur i = 1, . . . ,n respektive j = 1, . . . ,n . Wie zu erwarten, h¨ angt die G¨ ute einer Skalierung auch entscheidend von der gew¨ahlten Norm ab. In der Betragssummennorm und der Maximumsnorm sind sogar optimale Skalierungen m¨ oglich. ∈ Rn×n als Zeilenskalierung bez¨ Satz 5.3 Seien A ∈ Rn×n regul¨ar und D uglich der Betragssummennorm gem¨aß (5.1.2) gegeben. Dann gilt ≤ cond∞ (DA) cond∞ (DA) f¨ ur jede Skalierung D ∈ R
n×n
(5.1.5)
.
Beweis: wohldefiniert, und es Aufgrund der vorausgesetzten Regularit¨ at der Matrix A ist D liegt mit C = DA eine Matrix vor, deren Zeilen die L¨ange 1 bez¨ uglich der Betragssummennorm aufweisen. Sei eine beliebige Skalierung D ∈ Rn×n gegeben, dann definieren −1 . Aus dem Zeilengleichgewicht der Matrix C folgt wir D = diag{d11 , . . . ,d11 } = D D
DA ∞ = DC ∞ = max |dii | C ∞ = max |dii | DA ∞, i=1,...,n
i=1,...,n
wohingegen stets
(DA)−1 ∞ = (DC)−1 ∞ = C −1 D
−1
∞ ≥
C −1 ∞ 1 −1 ∞ =
(DA)
D ∞ max |dii | i=1,...,n
gilt. Zusammenfassend ergibt sich somit die Behauptung. Ber¨ ucksichtigt man A 1 = AT ∞ , so erh¨ alt man das folgende Korollar.
5.1 Skalierungen
203
∈ Rn×n als Spaltenskalierung bez¨ Korollar 5.4 Seien A ∈ Rn×n regul¨ar und D uglich der Betragssummennorm gem¨aß (5.1.2) gegeben. Dann gilt ≤ cond1 (AD) cond1 (AD)
(5.1.6)
f¨ ur jede Skalierung D ∈ Rn×n . Bemerkung: Die Konditionszahl einer gegebenen Matrix ist invariant gegen¨ uber Multiplikationen mit λ ∈ R\{0} . Somit sind alle optimalen Skalierungen stets nur bis auf einen multiplikativen Faktor eindeutig bestimmt. F¨ ur die Konditionszahl in der euklidischen Norm gilt folgende Absch¨atzung: derart gew¨ahlt, daß alle Spalten von Satz 5.5 Seien A regul¨ar und die Skalierung D AD die gleiche L¨ange bez¨ uglich der euklidischen Norm besitzen. Dann gilt √ ≤ n inf cond2 (A D), cond2 (AD) (5.1.7) D
wobei das Infimum ¨ uber alle regul¨aren Diagonalmatrizen D ∈ Rn×n gebildet wird. Beweis: Es sei B eine beliebige Matrix und bj bezeichne die j -te Spalte von B , so gilt die folgende Kette von Ungleichungen ⎛ max bj 2 ≤ B 2 ≤ ⎝
j=1,...,n
n
⎞ 12 |bij |2 ⎠ ≤
i,j=1
√
n max bj 2 . j=1,...,n
(5.1.8)
−1 D . Da f¨ Wir definieren C = AD ur jede Skalierung D eine Skalierung D mit D = D existiert, kann die Aussage in der ¨ aquivalenten Form √ cond2 (C) ≤ n inf cond2 (CD) D
formuliert werden, wobei das Infimum wiederum u ¨ ber alle regul¨aren Diagonalmatrizen D ∈ Rn×n gebildet wird. Aufgrund der obigen Bemerkung k¨onnen wir zudem f¨ ur die Spalten cj der Matrix C die Eigenschaft
cj 2 = 1
(5.1.9)
o.B.d.A. annehmen. Sei nun eine beliebige Skalierung D gegeben, so definieren wir ˆ . . . ,d} ˆ mit dˆ = max |djj | . Diese Festlegung impliziert ˆ = diag{d, D j=1,...,n
ˆ
D
−1
2 =
1 ,
D 2
woraus unter Verwendung der Submultiplikativit¨at laut Satz 2.17 die Ungleichung ˆ ˆ D ˆ −1 2 = d ( ˆ D)
C −1 2 = d (C
−1
DD
−1
−1 ˆ C −1 2 ≤ d (CD)
2
(5.1.10)
204
5 Pr¨akonditionierer
folgt. Aus (5.1.8) erhalten wir dˆ 1 ˆ 2 ≤ max (C D) ˆ j 2 √ C 2 = √ C D j=1,...,n n n
(5.1.9)
=
max (CD)j 2 ≤ CD 2 .
j=1,...,n
(5.1.11) Eine Kombination der Ungleichungen (5.1.10) und (5.1.11) liefert die Behauptung. Nat¨ urlich ist diese Aussage f¨ ur die Praxis unbefriedigend, da dort√die Dimension des Gleichungssystems im allgemeinen so groß ist, daß auch der Faktor n untragbar hoch ist. Es ist aber m¨ oglich, Versch¨ arfungen dieses Satzes nachzuweisen, wie sie den Arbeiten [65] und [66] entnommen werden k¨ onnen. Es bleibt zu bemerken, daß eine Skalierung nicht unbedingt zu einer Verbesserung der Konditionszahl der Matrix f¨ uhren muß. So besagt der Satz 5.3, daß im Fall einer regul¨aren Matrix A deren Zeilen bereits die gleiche L¨ange bez¨ uglich der Betragssummennorm aufweisen, mittels einer Linkspr¨ akonditionierung in der Form einer Skalierung keine Verbesserung der Konditionzahl hinsichtlich der Zeilensummennorm erzielt werden kann. Eine analoge Aussage ergibt sich f¨ ur die Rechtspr¨akonditionierung mit Korollar 5.4 f¨ ur regul¨ are Matrizen deren Spalten die gleiche L¨ange bez¨ uglich der Betragssummennorm besitzen. Betrachten wir die Matrix 2 100 , A= 100 100 so liefert eine Linkspr¨ akonditionierung des Gleichungssystems mittels einer Skalierung gem¨ aß (5.1.1) die Matrix 1 50 B= 1 1 mit cond2 (B) = 51,062 , so daß die Skalierung wegen cond2 (A) = 2,6899 zu einer deutlichen Erh¨ ohung der Konditionszahl gef¨ uhrt hat.
5.2
Polynomiale Pr¨ akonditioner
Die grundlegende Idee polynomialer Pr¨ akonditionierer beruht auf der Darstellung der Inversen einer Matrix in der Form einer Neumannschen Reihe. Satz 5.6 Sei ρ (I − A) < 1 , dann ist die Matrix A ∈ Rn×n regul¨ar, und die Inverse A−1 besitzt die Darstellung in der Form einer Neumannschen Reihe A−1 =
∞
k
(I − A) .
(5.2.1)
k=0
Beweis: Mit ρ (I − A) < 1 existiert laut Satz 2.35 eine induzierte Matrixnorm . mit
I − A < 1 . Hiermit folgt aufgrund der geometrischen Reihe
∞
(I − A)k ≤
k=0
∞ k=0
(I − A)k ≤
∞ k=0
I − A k =
1 , 1 − I − A
5.2 Polynomiale Pr¨ akonditioner
205
∞ so daß mit B = k=0 (I − A)k ein beschr¨ ankter linearer Operator vorliegt, der wegen ur m → ∞ der Eigenschaft
(I − A)m+1 ≤ I − A m+1 → 0 f¨ m k BA = lim (I − A) A = lim I − (I − A)m+1 = I m→∞
m→∞
k=0
gen¨ ugt und folglich die Inverse der Matrix A darstellt. Die Voraussetzung u urlich einschneidend. Wie der folgende ¨ber den Spektralradius ist nat¨ Satz zeigt, ist diese Bedingung f¨ ur gewisse Klassen von Matrizen jedoch stets durch eine geeignete Skalierung erf¨ ullbar. Satz 5.7 Sei A = (aij )i,j=1,...,n ∈ Rn×n regul¨ar und strikt diagonaldominant, die Skalierung D = diag{d11 , . . . ,dnn } sei gegeben durch dii :=
1 f¨ ur i = 1, . . . ,n. aii
(5.2.2)
Dann ist ρ (I − DA) < 1, und es gilt A−1 =
∞
(5.2.3)
(I − DA)
k
D.
(5.2.4)
k=0
Beweis: Die Existenz und Regularit¨ at der Matrix D folgt aus der strikten Diagonaldominanz ullt ist, und die Darstellung von A . Weiter gilt I − DA ∞ < 1 , wodurch (5.2.3) erf¨ der Inversen A−1 aus dem Satz 5.6 folgt. Nat¨ urlich kann bei Verwendung der Matrix D in Form einer geeigneten Approximation der Inversen A−1 die Bedingung (5.2.3) prinzipiell gew¨ahrleistet werden. Diese Matrix D stellt dann aber nicht notwendigerweise eine Diagonalmatrix dar, und wir sind wieder beim Ausgangsproblem der Pr¨ akonditionierung angelangt. Die Verwendung einer abgeschnittenen Neumannreihe als Pr¨akonditionierer ergibt sich auf ganz nat¨ urliche Weise aus dem Satz 5.6 und wurde erstmalig in [20] vorgeschlagen. Definition 5.8 Sei ρ (I − A) < 1 und m ∈ N beliebig, dann heißt P (m) :=
m
(I − A)k
(5.2.5)
k=0
die abgeschnittene Neumannsche Reihe m -ter Stufe zur Matrix A . Bemerkung: Die so gebildeten Matrizen P (m) k¨ onnen sowohl zur Links- als auch zur Rechtspr¨akonditionierung verwendet werden. Bei der Implementierung ist zu beachten, daß P (m) nur bei Matrix-Vektor-Multiplikationen ben¨ otigt wird, weshalb die Verwendung des Hornerschemas naheliegt.
206
5 Pr¨akonditionierer
Realisierung einer Matrix-Vektor-Multiplikation P (m) z — b0 := z f¨ ur i = 1, . . . ,m bi := z + (I − A) bi−1 P (m) z = bm Der Polynomansatz (5.2.5) legt es nahe, auch andere Polynome als die abgeschnittene Neumannsche Reihe zu betrachten. So erh¨ alt man zum Beispiel durch den Ansatz P :=
m
θk (I − A)
k
(5.2.6)
k=0
ein parameterabh¨ angiges Polynom, wobei die Gewichte θk dazu benutzt werden k¨onnen, die Konvergenzgeschwindigkeit des Iterationsverfahrens gezielt zu steuern. Ist die Matrix A ∈ Cn×n hermitesch, so kann man aus dem Raum Pm aller Polynome vom H¨ ochstgrad m die Bestapproximation p∗ bestimmen, welche in einer vorgegebenen Norm . die Bedingung
I − A p∗ (A) ≤ I − A p(A) ∀p ∈ Pm
(5.2.7)
erf¨ ullt. Diese Vorgehensweise werden wir anhand der euklidischen Norm demonstrieren. Laut Satz 2.36 ist A unit¨ ar diagonalisierbar, und wir erhalten die zu (5.2.7) ¨aquivalente Forderung
I − D p∗ (D) 2 ≤ I − D p(D) 2 ∀p ∈ Pm , wobei D = diag{λ1 , . . . ,λn } ∈ Rn×n die Diagonalmatrix mit den Eigenwerten von A repr¨ asentiert. Folglich minimiert p∗ unter allen Polynomen p ∈ Pm den Ausdruck max |1 − λi p(λi )|.
i=1,...,n
F¨ ur die unbekannten Eigenwerte kann mit dem Satz von Gerschgorin [68] ein Intervall I = [a,b] mit a < 0 < b festgelegt werden, welches alle Eigenwerte enth¨alt. Anschließend wird p∗ derart bestimmt, daß der Ausdruck max |1 − x p(x)| x∈I
u urlich die Frage nach ¨ ber alle p ∈ Pm minimiert wird. An dieser Stelle stellt sich nat¨ der Existenz eines derartigen Polynoms. Zun¨ achst liegt mit q ∞ := maxx∈I |q(x)| eine Norm auf dem linearen Raum Pm+1 (I) := {q : I → R | q ∈ Pm+1 } vor. Desweiteren 0 stellt Pm+1 (I) := {q ∈ Pm+1 (I) | q(0) = 0 } einen endlichdimensionalen Unterraum von 0 Pm+1 (I) dar. W¨ ahlen wir ein festes aber beliebiges Polynom q˜ ∈ Pm+1 (I) , so erhalten wir mit
5.3 Splitting-assoziierte Pr¨ akonditionierer
207
0 M := q ∈ Pm+1 (I) | 1 − q ∞ ≤ 1 − q˜ ∞ 0 eine abgeschlossene und beschr¨ ankte Teilmenge von Pm+1 (I) , die folglich kompakt ist. Somit stellt M zudem eine kompakte Teilmenge von Pm+1 (I) dar, wodurch zu jedem qˆ ∈ Pm+1 (I) mindestens ein q ∈ M mit
q − q ∞ ∀q ∈ M
ˆ q − q ∞ ≤ ˆ existiert. Die Wahl qˆ(x) = 1 liefert
1 − q ∞ ≤ 1 − q ∞ ≤ 1 − q˘ ∞ 0 f¨ ur alle q˘ ∈ Pm+1 (I) . Mit
p(x) = q(x)/x f¨ ur x = 0
und p(0) = limx→0 q(x)/x erhalten wir das gesuchte Polynom. F¨ ur Details zur praktischen Berechnung sei auf [5] verwiesen. Die Bestimmung polynomialer Pr¨ akonditionierer als Bestapproximation in einer gewichteten L2 -Norm findet man zum Beispiel in [40] und [59].
5.3
Splitting-assoziierte Pr¨ akonditionierer
Im Abschnitt 4.1 haben wir uns ausf¨ uhrlich mit der Herleitung unterschiedlicher SplittingMethoden und der Diskussion ihrer Eigenschaften besch¨aftigt. Diese Verfahren basieren auf einer Aufteilung der Matrix A in der Form A = B + (A − B) . Hierbei soll B eine leicht invertierbare Approximation der Matrix A darstellen, so daß die resultierende Iterationsmatrix M = B −1 (B − A) einen m¨oglichst kleinen Spektralradius besitzt. ¨ Diese Forderung weist eine sehr große Ahnlichkeit zu den gew¨ unschten Eigenschaften von Pr¨ akonditionierern auf, wodurch sich eine Verwendung der Matrix N = B −1 als Pr¨akonditionierer anbietet. Definition 5.9 Sei durch xj+1 = M xj + N b eine Splitting-Methode zur L¨osung von Ax = b mit einer regul¨ aren Matrix N gegeben, dann heißt P = N der zur SplittingMethode assoziierte Pr¨ akonditionierer. Die durch die obige Definition eingef¨ uhrten Pr¨ akonditionierungsmatrizen lassen sich zur Links- und Rechtspr¨ akonditionierung verwenden. Die im folgenden aufgef¨ uhrten M¨oglichkeiten zur Wahl der Matrix N basieren ausschließlich auf den im Abschnitt 4.1 vorgestellten iterativen Verfahren, wodurch sich auch die zur Invertierung der Matrix B notwendige Eigenschaft der Regularit¨ at der Diagonalmatrix D = diag{a11 , . . . ,ann } u bertr¨ a gt. Desweiteren stellen die Matrizen L und R gem¨aß (4.1.11) und (4.1.12) die ¨ strikte linke untere beziehungsweise strikte rechte obere Dreiecksmatrix bez¨ uglich A dar. Die Tabelle 5.1 liefert eine Auswahl m¨ oglicher Splitting-assoziierter Pr¨akonditionierer. Bei der Implementierung nutzt man aus, daß bei den vorgestellten Pr¨akonditionierern die zu invertierenden Matrizen stets eine Diagonal- oder Dreiecksgestalt aufweisen und folglich bei der Matrix-Vektor-Multiplikation die entsprechende Eliminationstechnik genutzt werden kann. Der dargestellte Jacobi-assoziierte Pr¨akonditionierer ist ¨aquivalent
208
5 Pr¨akonditionierer
Splitting-Methode
Assoziierter Pr¨akonditionierer
Jacobi-Verfahren
P Jac = D−1
Gauß-Seidel-Verfahren
P GS = (D + L)−1
SOR-Verfahren
P GS (ω) = ω (D + ωL)−1
Symm. Gauß-Seidel-Verfahren P SGS = (D + R)−1 D (D + L)−1 SSOR-Verfahren Tabelle 5.1
−1
P SGS (ω) = ω(2 − ω) (D + ωR)
D (D + ωL)
−1
Splitting-assoziierte Pr¨ akonditionierer
zur Skalierung mit dem Diagonalelement (5.1.1). Die Eigenschaften der im Bezug zu einem Relaxationsverfahren stehenden Pr¨ akonditionierer P GS (ω) und P SGS (ω) h¨angen entscheidend von der Wahl des Relaxationsparameters ω ab. Im Fall einer symmetrischen, positiv definiten Matrix A werden in [6] Absch¨atzungen f¨ ur das Spektrum des pr¨akonditionierten Systems und ein im Sinne von cond2 optimales ω angegeben.
5.4
Die unvollst¨ andige LU-Zerlegung
Liegt eine große schwachbesetzte Matrix vor, so erweist sich die Berechnung einer LUZerlegung unter den Gesichtspunkten der Rechenzeit und des Speicherplatzbedarfs auch bei Vernachl¨ assigung der Rundungsfehler als ineffizient und h¨aufig sogar unpraktikabel. Die Idee der unvollst¨ andigen LU-Zerlegung ist es, eine Zerlegung der Form A = LU + F mit einer linken unteren Dreiecksmatrix L und einer rechten oberen Dreiecksmatrix U durchzuf¨ uhren, wobei der gesamte Speicherplatzbedarf der Matrizen L und U identisch zu dem der Matrix A sein soll. Das Vernachl¨assigen der Restmatrix F liefert eine = LU , deren Inverse als Approximation von A−1 zur leicht invertierbare Matrix A Pr¨ akonditionierung des Gleichungssystems Ax = b verwendet werden kann. Um die oben genannten Eigenschaften zu gew¨ ahrleisten, m¨ ussen n2 + n Bedingungen an die unvollst¨ andige LU-Zerlegung gestellt werden. Bevor wir einen leicht programmierbaren Algorithmus herleiten werden, f¨ uhren wir die hilfreichen Begriffe Matrix-, Spalten- sowie Zeilenmuster und Besetzungsstruktur ein. Definition 5.10 Jede Menge M ⊂ {(i,j) | i,j ∈ {1, . . . ,n}} heißt Matrixmuster im Raum Rn×n . Zu gegebenem Matrixmuster M heißt MS (j) := {i | (i,j) ∈ M} das zu M geh¨ orige j -te Spaltenmuster und MZ (j) := {i | (j,i) ∈ M}
5.4 Die unvollst¨ andige LU-Zerlegung
209
das zu M geh¨ orige j -te Zeilenmuster. Zu gegebener Matrix A ∈ Rn×n bezeichnet MA := {(i,j) | aij = 0} die Besetzungsstruktur von A . Unter Zuhilfenahme der Besetzungsstruktur legen wir nun die Bedingungen zur Berechnung der unvollst¨ andigen LU-Zerlegung mittels der folgenden Definition fest. Definition 5.11 Sei A ∈ Rn×n . Die Zerlegung A = LU + F
(5.4.1)
existiere unter den Bedingungen 1) uii = 1 f¨ ur i = 1, . . . ,n , 2) ij = uij = 0 , falls (i,j) ∈ MA , 3) (LU )ij = aij , falls (i,j) ∈ MA , und es seien L = (ij )i,j=1,...,n und U = (uij )i,j=1,...,n eine regul¨are linke untere beziehungsweise rechte obere Dreiecksmatrix, dann heißt (5.4.1) unvollst¨andige LU-Zerlegung (incomplete LU, ILU) der Matrix A zum Muster MA . Die im Abschnitt 3.1 gewonnenen Existenzaussagen f¨ ur die LR-Zerlegung lassen sich nicht auf die unvollst¨ andige Formulierung u ¨ bertragen. So existiert aufgrund der Bedingung 2 f¨ ur 1 −1 A= 1 0 keine unvollst¨ andige LU-Zerlegung, obwohl mit det A[k] = 0 ( k = 1,2 ) durch die S¨atze 3.7 und 3.8 die Existenz und eine Form der Eindeutigkeit der LR-Zerlegung gew¨ahrleistet ist. Dennoch stellt die unvollst¨ andige LU-Zerlegung eine sehr effiziente Form der Pr¨ akonditionierung dar, die bei Simulationen technischer Problemstellungen h¨aufig erfolgreich angewendet wird, da die hierbei auftretenden Gleichungssysteme in der Regel keinen Widerspruch zu den Bedingungen 1 und 2 liefern (siehe die Beispiele 1.1 und 1.4). Existenzaussagen k¨ onnen f¨ ur den Fall einer M-Matrix der Arbeit von Meijerink und van der Vorst [47] und f¨ ur H-Matrizen der Ver¨ offentlichung von Manteuffel [46] entnommen werden. Zur Herleitung der Zerlegung entwickeln wir sukzessive f¨ ur i = 1, . . . ,n zun¨achst die i -te Spalte von L und anschließend die i -te Zeile von U . Aus den Bedingungen 1 und 3 erhalten wir wegen umi = 0 ( m > i ) die Gleichung aki =
n
i
km umi =
m=1
km umi =
m=1
i−1
km umi + ki ,
m=1
woraus sich sofort die i -te Spalte von L in der Form ki = aki −
i−1 m=1
km umi
f¨ ur
k = i, . . . ,n
(5.4.2)
210
5 Pr¨akonditionierer
ergibt. Mit im = 0 ( m > i ) folgt f¨ ur k = i + 1, . . . ,n die Gleichung aik =
n
im umk =
m=1
i
im umk ,
m=1
und wir erhalten die Darstellung der i -ten Zeile von U gem¨aß i−1 1 uik = im umk aik − f¨ ur k = i + 1, . . . ,n. ii m=1
(5.4.3)
Die Ber¨ ucksichtigung der Bedingung 2 liefert abschließend die unvollst¨andige LU-Zerlegung in der folgenden Schreibweise: Die unvollst¨ andige LU-Zerlegung — F¨ ur i = 1, . . . ,n F¨ ur k = i, . . . ,n, k ∈ MA S (i) i−1
ki = aki −
km umi
m=1 A m∈MA Z (k)∩MS (i)
F¨ ur k = i + 1, . . . ,n, k ∈ MA Z (i) ⎛ uik =
1 ii
⎜ ⎜ ⎜aik − ⎝
⎞ ⎟ ⎟ im umk ⎟ ⎠
i−1 m=1 A m∈MA Z (i)∩MS (k)
Definition 5.12 Es sei A = LU + F eine unvollst¨ andige LU-Zerlegung der Matrix A , dann ist P := U −1 L−1
(5.4.4)
der zugeh¨ orige ILU-Pr¨ akonditionierer. Wir haben bereits angemerkt, daß die Matrix P nicht explizit berechnet wird, sondern nur implizit in ihrer Wirkung auf der Basis einer Vorw¨artselimination und einer anschließenden R¨ uckw¨ artselimination verwendet wird. Zudem gibt es keine Notwendigkeit zur Speicherung der Diagonalelemente der Matrix U , so daß die beiden Matrizen L und U in der Summe einen zu A identischen Speicherplatzbedarf aufweisen.
5.5 Die unvollst¨ andige Cholesky-Zerlegung
211
Bei Matrizen mit einer relativ kleinen Bandbreite erweist sich h¨aufig die unvollst¨andige LU-Zerlegung mit fill-in als effektiv. Hierbei wird ausgenutzt, daß die Wahl der Besetzungsstruktur MA innerhalb der Bedingungen 2 und 3 nicht zwingend ist. Ersetzt man bei diesen Forderungen die Besetzungsstruktur MA durch ein Muster M ⊃ MA , so erh¨ alt die Fehlermatrix F weniger von Null verschiedene Eintr¨age, wodurch mit LU zumeist eine bessere Approximation der Matrix A vorliegt. Diese Erweiterung wird mit ILU( p ) beschrieben, wobei die nat¨ urliche Zahl p einen Grad f¨ ur die Anzahl der fill-in-Elemente darstellt. F¨ ur eine ausf¨ uhrliche Beschreibung der angesprochenen Verallgemeinerung sei auf Saad [60] verwiesen.
5.5
Die unvollst¨ andige Cholesky-Zerlegung
Bereits im Abschnitt 3.2 hatten wir erkannt, daß im Fall einer symmetrischen und positiv definiten Matrix A der Aufwand der LR-Zerlegung reduziert werden kann, indem die Eigenschaften der Matrix gezielt ausgenutzt werden. Die daraufhin hergeleitete CholeskyZerlegung werden wir nun auch zur Pr¨ akonditionierung in einer unvollst¨andigen Formulierung betrachten. Definition 5.13 Sei A ∈ Rn×n symmetrisch und positiv definit. Die Zerlegung A = LLT + F
(5.5.1)
existiere unter den Bedingungen 1) ij = 0 , falls (i,j) ∈ MA , 2) (LLT )ij = aij , falls (i,j) ∈ MA , und es sei L = (ij )i,j=1,...,n eine regul¨ are linke untere Dreiecksmatrix, dann heißt (5.5.1) unvollst¨ andige Cholesky-Zerlegung (incomplete Cholesky, IC) der Matrix A zum Muster MA .
Die wesentlichen Vorteile einer solchen Zerlegung liegen im Rechen- und Speicheraufwand und in der Eigenschaft, daß sich im Fall einer positiv definiten, symmetrischen Matrix A wegen T LALT = LALT und
LALT x,x
2
= ALT x,LT x > 0, ∀x ∈ Rn \ {0} 2
die Symmetrie und positive Definitheit auch auf das Produkt LALT u ¨ bertragen, wodurch die Verfahren f¨ ur symmetrische, positiv definite Matrizen auch auf das pr¨akonditionierte System angewendet werden k¨ onnen. Aus den Gleichungen (3.2.2) und (3.2.3) ergibt sich unter Ber¨ ucksichtigung der an die unvollst¨ andige Zerlegung gestellten Bedingungen die Berechnung der unvollst¨andigen Cholesky-Zerlegung in der folgenden Form:
212
5 Pr¨akonditionierer
Die unvollst¨ andige Cholesky-Zerlegung — F¨ ur k = 1, . . . ,n
kk
' ( =( (akk − )
k−1
2kj
j=1 j∈MA Z (k)
F¨ ur i = k + 1, . . . ,n, i ∈ MA Z (k) ⎛ ik =
⎞
1 ⎜ ⎜ ⎜aik − kk ⎝
⎟ ⎟ ij kj ⎟ ⎠
k−1 j=1 A j∈MA Z (i)∩MZ (k)
Im Gegensatz zur ILU ben¨ otigt die IC keine zus¨atzliche Bedingung an die Diagonalelemente (siehe Bedingung 1 in der Definition 5.11), da aufgrund der positiven Definitheit stets (k,k) ∈ MA gilt.
5.6
Die unvollst¨ andige QR-Zerlegung
Bei der Konstruktion der unvollst¨ andigen LU-Zerlegung war der Hauptgedanke, den Speicherplatz f¨ ur den Pr¨ akonditionierer a priori einzuschr¨anken, indem eine zu A ¨aquivalente Besetzungsstruktur gefordert wurde. Dieser Gedanke l¨aßt sich auch auf andere Pr¨akonditionierer u ¨ bertragen. Definition 5.14 Wird mittels einer modifizierten Variante eines beliebigen Algorithmus zur Bestimmung einer QR-Zerlegung eine Darstellung der Matrix A in der Form A = QR + F
(5.6.1)
berechnet, wobei die obere Dreiecksmatrix R und die Matrix Q den Bedingungen 1) rij = 0 , falls (i,j) ∈ MA 2) qij = 0 , falls (i,j) ∈ MA gen¨ ugen, und liegt bei Ersetzen der Besetzungsstruktur MA durch {(i,j)|i,j = 1, . . . ,n} mit Q eine orthogonale Matrix und mit F eine Nullmatrix vor, dann heißt (5.6.1) unvollst¨ andige QR-Zerlegung (incomplete QR, IQR) der Matrix A zum Muster MA .
5.6 Die unvollst¨ andige QR-Zerlegung
213
Mit dem Gram-Schmidt-Verfahren haben wir bereits in Abschnitt 3.3.1 eine Methode zur Ermittlung einer QR-Zerlegung kennengelernt. Unter Ber¨ ucksichtigung der aufgestellten Bedingungen 1 und 2 l¨ aßt sich das Gram-Schmidt-Verfahren in der folgenden Form zur Berechnung einer unvollst¨ andigen QR-Zerlegung nutzen. Die unvollst¨ andige QR-Zerlegung — F¨ ur j = 1, . . . ,n q j := aj F¨ ur i = 1, . . . ,j − 1 N
Z (i,j) ∈ MA Z Y Z Z rij := 0
rij := (q i ,aj )2 F¨ ur k = 1, . . . ,n Z (j,k) ∈ MA Z Y Z Z
N
qkj := qkj − rij qki
qkj := 0
rjj := q j 2 q j := q j /rjj Definition 5.15 Es sei A = QR + F eine unvollst¨ andige QR-Zerlegung der Matrix A . Sind Q und R regul¨ar, dann ist P := R−1 QT
(5.6.2)
der zugeh¨ orige IQR-Pr¨ akonditionierer.
Der Speicheraufwand der Matrizen Q und R liegt zusammen geringf¨ ugig u ¨ ber dem 1,5fachen der Matrix A . Dabei stellt Q nicht notwendigerweise eine orthogonale Matrix dar, so daß sich mit QT auch nur eine Approximation an Q−1 ergibt.
214
5.7
5 Pr¨akonditionierer
Die unvollst¨ andige Frobenius-Inverse
Mit der unvollst¨ andigen Frobenius-Inversen werden wir innerhalb dieses Abschnitts eine Pr¨ akonditionierungsmatrix vorstellen, die bei vorgegebenem Muster eine Optimalit¨at hinsichtlich der Frobenius-Norm aufweist. Wir werden hierbei stets als Muster die Besetzungsstruktur der Matrix A betrachten. Es existieren jedoch auch Strategien zur adaptiven Wahl des Musters [10]. Definition 5.16 Ein Muster M heißt regul¨ ar im Rn×n , wenn PM := P ∈ Rn×n | P ist regul¨ar und MP = M = ∅ gilt. Vorausgesetzt, daß zu gegebenem regul¨ aren Muster M das folgende Minimum existiert, dann heißt 2 PR M ∈ arg min AP − I F P ∈PM
unvollst¨ andige Frobenius-Inverse (Frobenius-Rechtsinverse) der Matrix A zum Muster M. Wie das folgende Lemma belegt, l¨ aßt sich die unvollst¨andige Frobenius-Inverse spaltenweise bestimmen. Da jede Spalte von P R angig von den anderen berechnet M unabh¨ werden kann, eignet sich die Konstruktion sehr gut zur parallelen Implementierung, siehe zum Beispiel [33]. Lemma 5.17 Sei M ein regul¨ares Muster im Rn×n und VMS (j) := {v ∈ Rn | vi = 0 f¨ ur i ∈ / MS (j)} , andige Frobenius-Inverse zum dann ist P R M = (p1 , . . . ,pn ) genau dann eine unvollst¨ Muster M , wenn jeder Spaltenvektor pj der Bedingung pj ∈ arg
min
p∈VMS (j) \{0}
Ap − ej 22
(5.7.1)
gen¨ ugt, wobei ej den j -ten Einheitsvektor im Rn repr¨asentiert. Beweis: n 2 Die Behauptung folgt unmittelbar aus AP R
Apj − ej 22 . M − I F = j=1
Zur Berechnung der unvollst¨ andigen Frobenius-Inversen muß mit Lemma 5.17 f¨ ur jeden Spaltenvektor pj ein restringiertes Minimierungsproblem (5.7.1) gel¨ost werden. Mit dem anschließenden Satz werden wir hierzu ein ¨aquivalentes lineares Ausgleichsproblem herleiten. ur j = 1, . . . ,n . Desweiteren Satz 5.18 Seien4 A ∈ Rn×n5 regul¨ar und mj = |MA S (j)| f¨ j A j ur j = 1, . . . ,n sei die Matrix Z j ∈ Rmj ×n durch gelte MS (j) = i1 , . . . ,imj und f¨ ur m = 1, . . . ,mj und = 1, . . . ,n (zj )m := δ,ijm f¨
5.7 Die unvollst¨ andige Frobenius-Inverse
215
unter Verwendung des Kronecker-Symbols 0, i = j δi,j = 1, i = j gegeben. Dann ist P R MA = (p1 , . . . ,pn ) genau dann eine Frobenius-Inverse (Frobeniusur jeden Spaltenvektor pj der Rechtsinverse) der Matrix A zum Muster MA , wenn f¨ j = Z j pj die Bedingung zugeh¨orige projizierte Vektor p j ∈ arg p
min
p∈Rmj \{0}
j p − ej 2
AZ 2
(5.7.2)
erf¨ ullt. Außerdem existiert h¨ochstens eine Frobenius-Inverse der Matrix A zum Muster MA . Beweis: Die Matrix Z j ∈ Rmj ×n stellt einen Isomorphismus zwischen Rmj \{0} und VMA \ {0} S (j) T mj ×mj ur alle p ∈ VMA \ {0} und Z Z = I ∈ R . dar. Zudem gilt Z Tj Z j p = p f¨ j j S (j) Somit folgt Zj
arg
min
p∈VMA (j) \{0}
= Z j Z Tj
Ap − ej 22
arg
S
= arg und T Z j arg
min
p∈Rmj \{0}
AZ Tj p
−
min
p∈Rmj \{0}
AZ Tj p − ej 22
AZ Tj p − ej 22
ej 22
min
p∈Rmj \{0}
=
Z Tj Z j
arg
min
p∈VMA (j) \{0}
AZ Tj Z j p
−
ej 22
S
= arg
min
p∈VMA (j) \{0}
Ap − ej 22 ,
S
wodurch Z j und Z Tj Isomorphismen auf den in (5.7.1) und (5.7.2) aufgef¨ uhrten Mengen darstellen und hiermit der erste Teil der Behauptung folgt. Wir kommen nun zur Eindeutigkeit der Frobenius-Inversen. Die Matrix Aj := AZ Tj ∈ angigen Spalten ai , i ∈ MA Rn×mj besteht aus den mj linear unabh¨ S (j) der Matrix A . Somit existiert mit Satz 3.13 eine Zerlegung der Matrix Aj in der Form R Aj = Q 0 mit einer orthogonalen Matrix Q ∈ Rn×n und einer regul¨aren rechten oberen Dreiecksmatrix R ∈ Rmj ×mj . Mit f j1 fj = = QT ej f j2 erhalten wir
AZ Tj p
−
ej 22
T
= Q (Aj p −
ej ) 22
2 R f j1 . p− = 0 f j2 2
216
5 Pr¨akonditionierer
Aufgrund der geforderten Existenz des Minimums Unter Ber¨ ucksichtigung von
min AP − I 2F gilt f j1 = 0 .
P ∈PM
AZ Tj p − ej 22 = Rp − f j1 22 + f j2 22 erhalten wir die eindeutig bestimmte j -te Spalte der Frobenius-Inversen durch 2
Rp − f
pj = Z Tj arg min = Z Tj R−1 f j1 = 0. j1 2 m p∈R
j \{0}
Somit l¨ aßt sich die Frobenius-Inverse auf der Basis der im Abschnitt 3.3 beschriebenen Verfahren zur QR-Zerlegung bestimmen, wobei nat¨ urlich auch weitere Algorithmen (zum Beispiel die Householder-Transformation) genutzt werden k¨onnen. Die Forderung nach der Existenz des Minimums innerhalb der Definition 5.16 ist wesentlich, da die Menge PM hinsichtlich der Norm nicht abgeschlossen ist. Betrachten wir das Beispiel A = (e3 ,e1 ,e2 ) ∈ R3×3 , so folgt MA ur S (1) = 3 und wir erhalten f¨ T p ∈ VMA \ {0} = {(0,0,λ) |λ ∈ R \ {0}} die Gleichung (1) S ⎛ ⎞ ⎛ ⎞2 0 1 2 2 ⎝ ⎝ ⎠ 0 ⎠ −
Ap − e1 2 = λ =1+λ . 0 0 2 Somit existiert
min
p∈VMA (1) \{0}
Ap − e1 22 nicht, und wir erhalten lediglich
S
arg
inf
p∈VMA (1) \{0}
Ap − e1 22 = 0 ∈ VMA \ {0}. S (1)
S
5.8
Das pr¨ akonditionierte CG-Verfahren
Die Nutzung der vorgestellten Pr¨ akonditionierer werden wir in diesem Abschnitt am Beispiel des CG-Verfahrens studieren. Sei mit A ∈ Rn×n eine symmetrische und positiv definite Matrix des Gleichungssystems Ax = b
(5.8.1)
gegeben, so transformieren wir das System (5.8.1) unter Verwendung einer regul¨aren Matrix P L in die ¨ aquivalente Form AP xP = bP
(5.8.2)
P mit AP = P L AP TL , xP = P −T L x und b = P L b . Die Matrix P L kann hierbei durch die unvollst¨ andige Cholesky-Zerlegung oder eine symmetrische Splitting-Methode (zum Beispiel das Jacobi-Verfahren oder das symmetrische Gauß-Seidel-Verfahren) festgelegt werden, wobei das Jacobi-Verfahren ausschließlich bei Matrizen mit unterschiedlichen Diagonalelementen zu einer Ver¨ anderung der Konditionszahl f¨ uhrt und somit im Fall der zweidimensionalen Poisson-Gleichung keinen Einfluß auf die Konditionszahl besitzt.
5.8 Das pr¨ akonditionierte CG-Verfahren
217
Kennzeichnen wir, wie bereits oben angedeutet, alle pr¨akonditionierten Gr¨oßen mit dem aßt sich das pr¨ akonditionierte CG-Verfahren (PCG) in der Form des Superskript P , so l¨ urspr¨ unglichen Verfahrens der konjugierten Gradienten durch Einf¨ ugen des Superskriptes schreiben, wobei eine abschließende Ermittlung der N¨aherungsl¨osung xm+1 = P TL xP m+1 erg¨ anzt werden muß. Wir werden nun eine spezielle Darstellung des PCG-Verfahrens herleiten, die in den urspr¨ unglichen Variablen formuliert ist. Eine formale Nutzung der urspr¨ unglichen Ver¨anderlichen liefert unter Verwendung der Definitionen P ˆ m := P −1 ˆ m := P TL pP p m und v L vm
das pr¨ akonditionierte CG-Verfahren in der vorl¨ aufigen Form: Vorl¨ aufiges PCG-Verfahren — n W¨ ahle P −T L x0 ∈ R
P L r0 := P L b − P L AP TL P −T L x0
(5.8.3)
T T ˆ 0 := P L r 0 , αP P −T 0 := r 0 P L P L r 0 L p
F¨ ur m = 0, . . . ,n − 1 N
Z Z αP m = 0 Y Z Z
ˆ m := P L AP TL P L pm = P L Aˆ P Lv pm λP m :=
(5.8.4) STOP
αP αP m m = ˆ m ,P L pm )2 (P L v (ˆ v m ,ˆ pm )2
−T −T −T P P ˆ m (5.8.5) P −T L xm+1 := P L xm + λm P L pm = P L xm + λm P L p
ˆm P L rm+1 := P L r m − λP mP Lv
(5.8.6)
T T αP m+1 := r m+1 P L P L r m+1
αP P L pm+1 := P L r m+1 + m+1 P L pm αP m
ˆ m+1 =P −T L p
(5.8.7)
ˆm =P −T L p
Da P TL ∈ Rn×n regul¨ ar und x0 ∈ Rn beliebig w¨ahlbar ist, kann die im Algorithmus n durch die Wahl von x0 ∈ Rn ersetzt werden. auftretende Festlegung P −T L x0 ∈ R Linksseitige Multiplikation der Gleichungen (5.8.3), (5.8.4) und (5.8.6) mit P −1 L und der Gleichungen (5.8.5) und (5.8.7) mit P TL liefert bei Verwendung von P = P TL P L das pr¨ akonditionierte CG-Verfahren:
218
5 Pr¨akonditionierer
Algorithmus PCG-Verfahren — W¨ ahle x0 ∈ Rn . r 0 := b − Ax0 ˆ 0 := P r0 , αP p0 )2 p 0 := (r 0 ,ˆ F¨ ur m = 0, . . . ,n − 1 N
Z αP Z m = 0 Y Z Z ˆ m := Aˆ v pm , λm :=
αP m (ˆ v m ,ˆ pm )2
STOP
ˆm xm+1 := xm + λP mp ˆm r m+1 := rm − λP mv z m+1 := P r m+1 , αP m+1 := (r m+1 ,z m+1 )2 ˆ m+1 := z m+1 + p
αP m+1 ˆm p αP m
Die Kennzeichnungen P und ˆ verdeutlichen den verbleibenden Unterschied zum urspr¨ unglichen CG-Verfahren. Auch das PCG-Verfahren wird in der Regel als iterative Methode genutzt. Im CG-Algorithmus erm¨ oglicht die skalare Gr¨oße αm eine direkte √ Kontrolle des Residuums, wodurch ein Abbruchkriterium in der Form αm ≤ ε anstelle αm = 0 verwendet werden kann. Eine analoge Vorgehensweise zur Kontrolle des Residu2 ums ist im PCG-Verfahren nicht m¨ oglich, da αP m = P L r m 2 keine direkte Evaluation des Residuums liefert. Daher sollte in diesem Fall stets rm 2 ≤ ε als Abbruchbedingung implementiert werden. Beispiel 5.19 Wir nutzen das bereits im Beispiel 4.64 verwendete und aus der Diskretisierung der zweidimensionalen Poisson-Gleichung resultierende Gleichungssystem zum Vergleich des CG-Verfahrens mit dem PCG-Algorithmus. Es handelt sich wiederum um ein Gleichungssystem mit 40.000 Unbekannten. Zur Pr¨akonditionierung wird hierbei das symmetrische Gauß-Seidel-Verfahren mit −1
P = P SGS = (D + R)
D (D + L)
−1
verwendet. Die in der folgenden Tabelle pr¨ asentierten Ergebnisse zeigen die zu erwartende Beschleunigung des CG-Verfahrens.
5.9 Das pr¨ akonditionierte BiCGSTAB-Verfahren
Iterationen 0 50 100 150 200 250 300 336
5.9
219
CG-Verfahren PCG-Verfahren Residuenverlauf 140.348 140.348 491.151 8.58174 150.025 0.0105147 1.83245 4.23371e-05 0.148948 5.42568e-08 0.00307128 1.69676e-11 2.40822e-05 6.69697e-15 5.07545e-07 9.04322e-17
Das pr¨ akonditionierte BiCGSTAB-Verfahren
In diesem Abschnitt werden wir einige Aspekte der Pr¨akonditionierung am Beispiel des BiCGSTAB-Verfahrens studieren. Im Prinzip kann man aus einem beliebigen Iterationsverfahren zur L¨ osung von Ax = b eine pr¨ akonditionierte Version erhalten, indem die Methode auf die Gleichung (5.0.1) angewendet wird. Im Algorithmus wird dann die Matrix A durch das Produkt P L AP R und der Vektor b durch P L b ersetzt und nach Abbruch der Iteration die N¨ aherungsl¨ osung xm zum Ausgangsproblem gem¨aß (5.0.2) aus der Approximation xP durch xm = P R xP m m gewonnen. Innerhalb des Iterationsverfahrens ergeben sich daher, verglichen zum Basisalgorithmus, unterschiedliche Werte, die wir mit dem Superskript P kennzeichnen. Es ist nat¨ urlich w¨ unschenswert, daß bei vorgegebenem Startvektor x0 und festgelegter Genauigkeit ε > 0 nach Abbruch des Basisverfahrens und der pr¨ akonditionierten Variante stets N¨aherungsl¨osungen xm vorliegen, die der Bedingung b − Axm ≤ ε gen¨ ugen. Betrachtet man das im obigen Sinne durch akonditionierte Verfahren, so wird der AlgorithVerwendung von P L AP R und P L b pr¨ P mus stets auf der Grundlage der Norm des Residuenvektors r P m = P L b − P L AP R xm P terminiert, wodurch sich f¨ ur xm = P R xm das Residuum P L (b − Axm ) ergibt. Folglich liegt bei Nutzung einer Linkspr¨ akonditionierung innerhalb des Verfahrens keine Kontrolle des relevanten Residuums vor. Deshalb kann auch bei Terminierung des Verfahrens keine direkte Aussage u ute der Approximation getroffen werden. Eine ¨ ber die G¨ assiger Rechtspr¨ akonditionierung ergibt hingegen rP m = r m , so daß zudem ein zuverl¨ Vergleich von Rechts- und Linkspr¨ akonditionierern in dieser Form nicht m¨oglich ist. In [49] wird eine spezielle Formulierung eines pr¨akonditionierten BiCGSTAB-Verfahrens vorgestellt, die eine Kontrolle des relevanten Residuums auch im Fall einer linksseitigen Pr¨akonditionierung erm¨ oglicht. Diese Variante werden wir im folgenden beschreiben. Die Vorgehensweise ist hierbei allgemeing¨ ultig und kann daher analog auf weitere Verfahren angewendet werden. Grundlegend f¨ ur die Herleitung ist die Tatsache, daß die expliziunden nicht empfehlenswert ist. Zum te Berechnung der Matrix P L AP R aus zwei Gr¨ einen sind die Pr¨ akonditionierer oftmals nur implizit gegeben (zum Beispiel die ILU und IQR), und zum anderen stellt P L AP R eventuell eine vollbesetzte Matrix dar, obwohl A schwachbesetzt ist. Die Matrix-Vektor-Multiplikationen werden daher sukzessive durchgef¨ uhrt, und die Berechnung v P = P L AP R pP kann ohne zus¨ atzlichen Rechenaufwand in zwei Schritten gem¨aß
220
5 Pr¨akonditionierer v vP
= AP R pP = P Lv
(5.9.1)
ausgef¨ uhrt werden. Eine rechtsseitige Pr¨ akonditionierung weist keinen Einfluß auf die Kontrolle des Residu¨ ums auf, sodaß wir uns bei den weiteren Betrachtungen im Sinne der Ubersichtlichkeit auf den interessanten Fall einer linksseitigen Pr¨akonditionierung beschr¨anken und anschließend die rechtsseitige Pr¨ akonditionierung einbeziehen werden. Mit dem Startvektor x0 ergeben sich die Residuenvektoren r 0 = b − Ax0 und r P 0 = P P P P L (b − Ax0 ) = P L r0 . Wegen pP = r k¨ o nnen die Vektoren r , r und p j 0 0 j j im j + 1 -ten Iterationsschritt als bekannt vorausgesetzt werden. Das Einf¨ ugen der Gr¨oße v j = ApP j liefert
(5.9.2)
vP j = P L vj .
Somit ergibt sich mit
sj = rj − αP j vj
die Gleichung
(5.9.3)
P P P sP j = r j − αj v j = P L sj ,
und es folgen durch
tj = AsP j
(5.9.4)
die Zusammenh¨ ange P P P P P tP j = P L tj und r j+1 = sj − ωj tj = P L sj − ωj tj . Wegen der Regularit¨ at der Matrix P L ergibt sich aus r P j+1 = P L r j+1 direkt rj+1 = sj − ωjP tj . Durch die Einf¨ uhrung der Hilfsvektoren v j , sj und tj gem¨aß (5.9.2), (5.9.3) und (5.9.4) sind wir in der Lage das Residuum rj anstelle rP atzlichen Rechenaufwand j ohne zus¨ zu kontrollieren. Somit ergibt sich der pr¨ akonditionierte BiCGSTAB-Algorithmus in der im folgenden Diagramm darstellten Form. Aufgrund der Darstellung xj+1
P P P P P = P R xP j+1 = P R xj + αj P R pj + ωj P R sj P P = xj + P R αj pj + ωjP sP j
(5.9.5)
kann die Gleichung (5.9.6) durch (5.9.5) ersetzt werden, wodurch die Gleichung (5.9.7) entf¨ allt, und der Algorithmus direkt in der gesuchten N¨aherungsl¨osung xj formuliert wird. W¨ ahrend die Kontrolle des Residuums rj keinen zus¨atzlichen Rechenaufwand verursacht, ben¨ otigt die Nutzung der Gleichung (5.9.5) pro Iteration eine Matrix-VektorMultiplikation mit P R , die in der im Diagramm dargestellten Form nur einmal außerhalb der Iteration durchgef¨ uhrt werden muß.
5.10 Vergleich der Pr¨ akonditionierer
221
Das pr¨ akonditionierte BiCGSTAB-Verfahren — W¨ ahle x0 ∈ Rn und ε > 0 P r0 = p0 := b − Ax0 , r P 0 = p0 := P L r 0
P P ρP 0 := r 0 ,r 0 2 , j := 0 Solange rj 2 > ε P v j := A P R pP j , v j := P L v j
ρP j P , sj := rj − αP αP := j j v j , sj := P L sj P vP j , r0 2 P tj := A P R sP j , tj := P L tj
ωjP
P tP j ,sj 2 := P P tj ,tj 2
P P P P P xP j+1 := xj + αj pj + ωj sj
(5.9.6)
P P P rj+1 := sj − ωjP tj , r P j+1 := sj − ωj tj P P αP j ρj+1 P P ρP j+1 := r j+1 ,r 0 2 , βj := P ω j ρP j
P P P P P pP j+1 := r j+1 + βj pj − ωj v j , j := j + 1 xj := P R xP j
5.10
(5.9.7)
Vergleich der Pr¨ akonditionierer
Zur Analyse der Pr¨ akonditionierungstechniken betrachten wir wiederum das Modellproblem der Konvektions-Diffusions-Gleichung mit N 2 = 10.000 Punkten. Die Bilder 5.1 bis 5.5 zeigen die bereits im Abschnitt 4.3.2.10 diskutierten Konvergenzverl¨aufe der einzelnen Projektionsverfahren f¨ ur einen Diffusionsparameter ε = 0.1 . Die zweite Kurve zeigt jeweils die durch eine Rechtspr¨ akonditionierung mittels einer unvollst¨andigen LUZerlegung erzielte Beschleunigung des Grundalgorithmus. Hierbei wurde die ben¨otigte
222
5 Pr¨akonditionierer
Iterationszahl auf ca. 30% des jeweiligen Basisverfahrens reduziert. Obwohl die Verwendung einer unvollst¨ andigen LU-Zerlegung neben ihrer Berechnung stets zu einer Verdoppelung der Matrix-Vektor-Multiplikationen f¨ uhrt, ergibt sich insgesamt bei allen Gleichungssysteml¨ osern eine Rechenzeitersparnis verglichen mit dem nicht pr¨akonditionierten Verfahren. In der Arbeit [48] wird ein Rechenzeitvergleich unterschiedlich pr¨akonditionierter KrylovUnterraum-Verfahren bei der Simulation reibungsfreier und reibungsbehafteter Str¨omungsfelder pr¨ asentiert. Bei der betrachteten großen Bandbreite verschiedenster Problemstellungen zeigte sich dabei das BiCGSTAB-Verfahren in Kombination mit einer unvollst¨ andigen LU-Zerlegung als sehr effizient, wobei die Nutzung der Pr¨akonditionierung zu einer immensen Beschleunigung des Gesamtverfahrens f¨ uhrte. Die Abbildungen 5.6 bis 5.10 korrespondieren mit der im Abschnitt 5.9 vorgestellten pr¨ akonditionierten Variante des BiCGSTAB-Verfahrens, wodurch ein Vergleich von linksund rechtsseitiger Pr¨ akonditionierung erm¨ oglicht wird. Im Unterschied zu den vorangegangenen Abbildungen wurde die Konvektions-Diffusions-Gleichung mit einem Diffusionsparameter ε = 0.01 genutzt, wodurch der unsymmetrische Anteil der Matrix (1.0.9) einen gr¨ oßeren Einfluß verglichen zu ε = 0.1 besitzt. Zur Unterscheidung der Pr¨akonditionierer f¨ uhren wir die in der Tabelle 5.2 aufgelisteten Abk¨ urzungen ein. Abk¨ urzung Pr¨ akonditionierer ILU
Unvollst¨ andige LU-Zerlegung
Jacobi
Jacobi-Pr¨ akonditionierer
GS
Gauß-Seidel-Pr¨ akonditionierer
SGS
Symm. Gauß-Seidel-Pr¨ akonditionierer
POLY(3)
Polynomialer Pr¨ akonditionierer gem¨aß (5.2.5) mit m = 3
Z1
Zeilenskalierung gem¨ aß Betragssummennorm
Z2
Zeilenskalierung gem¨ aß euklidischer Norm
S1
Spaltenskalierung gem¨ aß Betragssummennorm
S2
Spaltenskalierung gem¨ aß euklidischer Norm
Tabelle 5.2
Pr¨ akonditionierer und deren Abk¨ urzung
Zudem wird durch den Zusatz L beziehungsweise R die Verwendung des jeweiligen Pr¨ akonditionierers in einer links- respektive rechtsseitigen Formulierung gekennzeichnet. Die Pr¨ akonditionierer lassen sich aus dem Gesichtspunkt der Effizienz in drei Gruppen unterteilen. Zun¨ achst fassen wir hierzu die in der Abbildung 5.6 aufgef¨ uhrte unvollst¨andige LU-Zerlegung und den ebenfalls im Bild 5.6 enthaltenen symmetrischen Gauß-SeidelPr¨akonditionierer in der ersten Gruppe zusammen. Die zweite Gruppe beinhaltet alle in den Abbildungen 5.7, 5.9 und 5.10 dargestellten Pr¨akonditionierer. Bezogen auf die Algorithmen der ersten Gruppe f¨ uhren diese Methoden auf etwa die dreifache Anzahl an Iterationen. Die letzte Gruppe der f¨ ur diesen Testfall ineffizienten Verfahren beinhaltet bei den untersuchten Techniken den in Abbildung 5.8 aufgef¨ uhrten polynomialen Pr¨akonditionierer. Diese Methode ergab eine deutlich h¨ohere Iterationszahl und ben¨otigt in der
5.10 Vergleich der Pr¨ akonditionierer
223
genutzten Form ( m = 3 ) bezogen auf den Basisalgorithmus viermal so viele MatrixVektor-Multiplikationen. Desweiteren lassen sich die unvollst¨andige QR-Zerlegung und die unvollst¨ andige Frobenius-Inverse in diese Gruppe einordnen. Beide Pr¨akonditionierer erwiesen sich bereits bei ihrer Berechnung als unakzeptabel aufwendig und wurden daher in den Abbildungen nicht ber¨ ucksichtigt. Eine Rechenzeitersparnis bei der Berechnung der Frobenius-Inversen kann allerdings durch die gute Parallelisierbarkeit dieser Methode erzielt werden. Beim Vergleich der links- und rechtsseitigen Pr¨ akonditionierung ergaben sich keine gravierenden Unterschiede, wobei zumeist bei der rechtsseitigen Pr¨akonditionierung eine geringf¨ ugig kleinere Iterationszahl vorlag. Abschließend k¨ onnen wir feststellen, daß sich eine rechtsseitige Pr¨akonditionierung auf der Basis einer unvollst¨ andigen LU-Zerlegung beziehungsweise des symmetrischen GaußSeidel-Verfahrens als eine sehr effiziente Vorgehensweise herausgestellt hat. Diese Ergebnisse decken sich hervorragend mit der in [49] pr¨asentierten Studie unterschiedlicher Pr¨ akonditionierer im Kontext der Euler-Gleichungen. Der zum symmetrischen GaußSeidel-Verfahren assoziierte Pr¨ akonditionierer ben¨otigt im Gegensatz zur unvollst¨andigen LU-Zerlegung keinen Speicherplatz und ist zudem direkt durch die Matrix des Gleichungssystems gegeben, wodurch die Berechnung des Pr¨akonditionierers entf¨allt. Im Sinne eines m¨ oglichst geringen Speicherplatzbedarfs stellt folglich das symmetrische GaußSeidel-Verfahren eine effiziente Alternative zur bew¨ahrten unvollst¨andigen LU-Zerlegung dar. 4
4
CGS CGS(ILU)
0
0
−2
−2
−4 −6
−4 −6
−8
−8
−10
−10
−12
−12
−14
0
50
100
150
200
250
BiCGSTAB BiCGSTAB(ILU)
2
log10||rj||2
log10||rj||2
2
300
−14
350
0
50
100
Iterationen (j)
Bild 5.1 Konvergenzverlauf des CGSVerfahrens
250
300
350
des
4
TFQMR TFQMR(ILU)
2 0
0
−2
−2
−4 −6
−4 −6
−8
−8
−10
−10
−12
−12 0
50
100
150
200
250
300
350
Iterationen (j)
Bild 5.3 Konvergenzverlauf TFQMR-Verfahrens
QMRCGSTAB QMRCGSTAB(ILU)
2
log10||rj||2
log10||rj||2
200
Bild 5.2 Konvergenzverlauf BiCGSTAB-Verfahrens
4
−14
150
Iterationen (j)
−14
0
50
100
150
200
250
300
350
Iterationen (j)
des
Bild 5.4 Konvergenzverlauf QMRCGSTAB-Verfahrens
des
224
5 Pr¨akonditionierer
0 4
GMRES GMRES(ILU)
2
ILU(L) ILU(R) SGS(L) SGS(R)
−2
0
log10||rj||2
log10||rj||2
−2 −4 −6
−4
−6
−8 −10
−8
−12 −14
0
100
200
300
400
500
600
700
800
−10
900
0
20
40
Bild 5.5 Konvergenzverlauf des GMRESVerfahrens
0
Jacobi(L) Jacobi(R) GS(L) GS(R)
POLY(L) POLY(R)
−2
−4
log10||rj||2
log10||rj||2
−2
−6
−8
−4
−6
−8
0
50
100
150
200
250
−10
300
0
50
100
Iterationen (j)
200
250
300
350
400
450
500
Bild 5.8 Konvergenzver¨ aufe des pr¨ akonditionierten BiCGSTAB-Verfahrens
0
0
Z1(L) Z1(R) S1(L) S1(R)
−2
Z2(L) Z2(R) S2(L) S2(R)
−2
−4
log10||rj||2
log10||rj||2
150
Iterationen (j)
Bild 5.7 Konvergenzverl¨ aufe des pr¨ akonditionierten BiCGSTAB-Verfahrens
−6
−8
−10
80
Bild 5.6 Konvergenzverl¨ aufe des pr¨ akonditionierten BiCGSTAB-Verfahrens
0
−10
60
Iterationen (j)
Iterationen (j)
−4
−6
−8
0
50
100
150
200
250
300
Iterationen (j)
Bild 5.9 Konvergenzverl¨ aufe des pr¨ akonditionierten BiCGSTAB-Verfahrens
−10
0
50
100
150
200
250
300
Iterationen (j)
Bild 5.10 Konvergenzverl¨ aufe des pr¨ akonditionierten BiCGSTAB-Verfahrens
¨ 5.11 Ubungsaufgaben
5.11
225
¨ Ubungsaufgaben
Aufgabe 1: ar und A ∈ Rn×n symmetrisch und positiv Zeigen Sie: Sei P L = P TR ∈ Rn×n regul¨ definit, dann ist auch die Matrix AP := P L A P R symmetrisch und positiv definit. Aufgabe 2: Berechnen Sie eine unvollst¨ andige LU-Zerlegung ⎛ 3 13 1 ⎜ 0 1 0 ⎜ A = ⎜ ⎜ 0 0 1 ⎝ 1 0 1 1 4 0
der Matrix ⎞ 0 0 0 2 ⎟ ⎟ 1 0 ⎟ ⎟ 3 1 ⎠ 1 4
und vergleichen Sie diese mit einer vollst¨ andigen LU-Zerlegung, das heisst der LRZerlegung. Aufgabe 3: Bestimmen Sie die Pr¨ akonditionierer P Jac , ⎛ 10 A = ⎝ 4 8
P GS und P SGS zur Matrix ⎞ 7 1 6 2 ⎠ 5 12
und ermitteln Sie die Konditionszahlen cond∞ (A), cond∞ (P Jac A), cond∞ (P GS A) sowie cond∞ (P SGS A). Aufgabe 4: Zeigen Sie, dass f¨ ur eine symmetrische, positiv definite Matrix A ∈ Rn×n die beidseitige Pr¨ akonditionierung AP = P L AP R mit
P L = P TR = (D + L)−1 D 1/2
exisitiert. Berechnen Sie AP f¨ ur ⎛
⎞ 10 4 1 A = ⎝ 4 12 2 ⎠ 1 2 6 und vergleichen Sie die Konditionszahlen cond∞ (A) und cond∞ (AP ) .
226
A
Implementierungen in MATLAB
Innerhalb dieses Anhangs werden m¨ ogliche Implementierungen der h¨aufig verwendeten Verfahren in MATLAB [1] vorgestellt. Die Algorithmen wurden von C. V¨omel entwickelt und sind u ¨ ber http://www.vieweg.de/tu/8y offentlich zug¨ anglich. ¨ Mit Ausnahme des Arnoldi-Algorithmus k¨ onnen alle aufgef¨ uhrten Verfahren zur L¨osung des Problems Ax = b mit A ∈ Rn×n , b ∈ Rn unter Verwendung der Notationen x x x x
= = = =
Name(A,b); Name(A,b,tol); Name(A,b,tol,maxit); Name(A,b,tol,maxit,x0);
aufgerufen werden, wobei Name jeweils durch die gew¨ unschte Verfahrensbezeichnung ersetzt werden muß. Es gelten hierbei f¨ ur die obtionalen Angaben die in der folgenden Tabelle angegebenen Einstellungen. Eingangsvariable tol maxint x0
Beschreibung Genauigkeitsvorgabe (Toleranz) Maximale Anzahl an Iterationen Startvektor
Vorgabe 10−6 min{n,30} Nullvektor
¨ Bei jeder dieser Methoden wird eine Uberpr¨ ufung der Eingangsparameter und der Vorlage einer trivialen L¨ osung mittels der Programme Argumente.m respektive Trivial.m durchgef¨ uhrt.
Programm SteilsterAbstieg.m: Verfahren des steilsten Abstiegs function x = SteilsterAbstieg(A,b,tol,maxit,x0) % % CHECK THE INPUT ARGUMENTS Argumente % CHECK FOR TRIVIAL SOLUTION Trivial % MAIN ALGORITHM
227 % tolb = tol * normb; r = b - A * x; % iterate for i = 1:maxit normr = norm(r); if (normr