This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
ci > 0 mit ci||x|| <||x|U
e'W < ^1
(4_4)
^llM^e^lU
< Cl
4.2 Gesamtschrittverfahren
139
< l(p(M)+£)'=||e°i < ^^{p(M)+e)'\\e°\ Dies impliziert
(S)"'^W")-) (I) Fiir k -^ oo liefert dies a < p{M) + £. Da e > 0 beliebig gewahlt war, folgt hieraus a < p{M) und damit die behauptete Gleichheit. •
4.2 Gesamtschrittverfahren Dieser Abschnitt beschaftigt sich mit einem speziellen Verfahren aus der allgemeinen Klasse (4.2) und untersucht einige hinreichende Kriterien flir die Konvergenz dieses speziellen Verfahrens. Zur Herleitung des Verfahrens betrachten wir zunachst ein lineares Gleichungssystem in drei Variablen: aiixi + ai2X2 + ai2>X2, = h, a2iXi
+ a22X2 + a23Xs = b2,
^sia^i + as2X2 + assxs = 63. Sind nun alle Diagonalelemente an (z = 1,2,3) von Null verschieden, so lasst sich die i-te Gleichung nach Xi auflosen: xi = {h - ai2X2 -
ai3X3)/aii,
X2 = (&2 - a2ia:i - a23Xs)/a22, X3 = {h - 0,31X1 - 032X2)/ass. Liegt jetzt ein allgemeines hneares Gleichungssystem Ax = b
(4.5)
mit A G M"^^ und 6 G M" vor und sind auch hier alle Diagonalelemente a^^ (z = 1 , . . . , n) von Null verschieden, so konnen wir die i-te Gleichung wieder nach Xi auflosen und erhalten n
Xi = Ibi — 2_^ OijXj j /an i=i
fur z = 1 , . . . , n.
140
4 Splitting-Methoden
Dies ist eine Fixpunktformulierung des linearen Gleichungssystems (4.5). Die zugehorige Fixpunktiteration ,k+
n
^ = {hi-^^aijX^A/au
fur 2 == 1 , . . . ,n,
(4.6)
/c = 0,1,
zur Losung von (4,5) wird als Gesamtschritt- oder Jacobi-Verfahren bezeichnet. Das Gesamtschrittverfahren lasst sich auch in der allgemeinen Form (4.2) eines Iterationsverfahrens schreiben. Dazu benutzt man die Standardzerlegung A=D-L-R
(4.7)
der Matrix A mit D := diag(aii,
o\
/ 0 L:-
(4.8)
(^nn)')
^21
(4.9)
/0ai2
(4,10)
R:.
Vo
0
(Man beachte die Minuszeichen in den Definitionen von L und R.) Hiermit lautet das Gesamtschrittverfahren (4.6) in Matrix-Vektor-Notation offenbar wie folgt: Dies entspricht der Wahl B := D in der allgemeinen Vorschrift (4.2). Die Iterationsmatrix des Gesamtschritt- bzw. Jacobi-Verfahrens ist daher gegeben durch
Mj = I-B-^A
= I-D-^A
= I-D-\D-L-R)
=D-^{L
+ R).
(4.12)
Der Buchstabe J soil hierbei natiirlich an den Namen Jacobi erinnern. Wir fiihren zunachst einige Klassen von Matrizen ein, ftir die wir anschliefiend die Konvergenz des Gesamtschrittverfahrens beweisen werden. Definition 4.8. Eine Matrix A G W^^^ heifit zerlegbar oder reduzibel, wenn es Mengen J , J" C { 1 , . . . , n } giht mit den Eigenschaften
X^%^ J ^ 0 , J n j ^ = 0, J U j ^ = { l , . . . , n }
4.2 Gesamtschrittverfahren
141
und Gij = 0
Vz € X, Vj G J.
Anderenfalls heifit A unzerlegbar oder irreduzibel. Man beachte, dass die Frage, ob eine Matrix reduzibel oder irreduzibel ist, lediglich von der Besetztheitsstruktur der Matrix abhangt, nicht jedoch von der GroBe der jeweiligen Eintrage. Ist A E R^^^ beispielsweise eine irreduzible Matrix und D G R'^^'^ eine regulare Diagonalmatrix, so ist auch DA irreduzibel, da diese Matrix dieselbe Besetztheitsstruktur wie A aufweist. Ferner lassen sich die Diagonaleintrage einer Matrix A G R"^^ beliebig abandern, ohne damit die Eigenschaft der Reduzibilitat oder Irreduzibilitat von A zu andern, denn die definierende Eigenschaft aij = 0 ftir alle i G J und alle j e J ist unabhangig von den Diagonalelementen. Die Losung eines linearen Gleichungssystems Ax = b mit einer zerlegbaren Matrix A eM.'^^'^ reduziert sich auf die Losung von zwei (oder mehr) linearen Gleichungssystemen kleinerer Dimension. Um dies einzusehen, benutzen wir die Notation aus der Definition 4.8 und schreiben das lineare Gleichungssystem Ax = b zunachst komponentenweise als n
y cbijXj = bi Vi = 1 , . . . , n. Anschliefiend gruppieren wir die Gleichungen in solche, die zur Indexmenge X bzw. zur Indexmenge J gehoren: y
Clij Xj — 0^,
Z kz -L •)
n
3=1
Zerlegen wir die einzelnen Summen fiir j = 1 , . . . , n noch in solche iiber j G J und j £ J, so ergibt sich (4.13) j€T
jej
^aijXj jex
4- ^ aijXj = bi, jeJ
ie J.
(4.14)
GemaiS Definition einer zerlegbaren Matrix ist aber aij = 0 fiir alle i G X und alle j G J. Deshalb reduziert sich das System (4.13) auf ^ttijXj 3&T
= bi,
iel.
142
4 Splitting-Methoden
Dies ist ein lineares System mit |X| Gleichimgen, aus dem sich die ebenfalls | J | Unbekannten Xj {j £ X) berechnen lassen. Nach Auflosung dieses Gleichungssystems kann mafr-die danii bekannten Grofien Xj (j € X) in (4.14) einsetzen und erhalt auf diese Weise
Dies ist ein lineares Gleichungssystem mit \J\ Gleichungen zur Ermittlung der restlichen Variablen Xj {j e J). Aus diesem Grunde kann man gewissermaBen o.B.d.A. davon ausgehen, dass eine Matrix irreduzibel ist, da man anderenfalls das lineare Gleichungssystem Ax — 6 in zwei oder mehrere kleinere Systeme zerlegen konnte. Beispiel 4.9. (a) Die Matrix
ist reduzibel. Um dies einzusehen, braucht man lediglich X := {1,2} und J := {3} zu setzen. (b) Die bei der Diskretisierung der eindimensionalen Poisson-Gleichung auftretende Tridiagonalmatrix T/v aus (1.8) ist irreduzibel. Gleiches gilt fiir die Matrizen H^ und CN, die sich aus der Diskretisierung der eindimensionalen Helmholtz- bzw. Konvektions-Diffusions-Gleichung ergaben. Genauer kann man zeigen, dass eine Tridiagonalmatrix genau dann irreduzibel ist, wenn alle ihre Nebendiagonalelemente von Null verschieden sind, vergleiche Aufgabe 4.2. (c) Die bei der Diskretisierung der zweidimensionalen Poisson-Gleichung auftretende Matrix TJVXAT aus (1.13) ist ebenfalls irreduzibel, siehe Aufgabe 4.3. Ebenso sind auch die Matrizen HNXN und C^XN (Diskretisierungen der zweidimensionalen Helmholtz- und Konvektions-DiffusionsGleichung) irreduzibel, da sie die gleiche Besetztheitsstruktur wie TNXN besitzen. Wir fiihren als Nachstes einige weitere Klassen von Matrizen ein, die fiir die Konvergenz des Gesamtschrittverfahrens sowie einiger weiterer Methoden von groBer Bedeutung sind. Definition 4.10. Eine Matrix A G W'''^ heifit (a) diagonaldominant, wenn >Y,\aij\ gilt;
Vi=:l,.
4.2 Gesamtschrittverfahren
143
(b) strikt diagonaldominant^ wenn n
\aii\ > ^\aij\
Vi=- l , . . . , n
i=i
gilt; (c) irreduzibel diagonaldominant^ wenn A irreduzibel und diagonaldominant ist sowie die strikte Ungleichung \ai^An\ no ,«o
>
Y^ Wio,:, i=i
fu7' mindestens einen Index IQ G { 1 , . . . ,n} gilt. Die bei der Diskretisierung der ein- bzw. zweidimensionalen Poisson-Gleichung auftretenden Matrizen TN bzw. Tjsr^N aus (1.8) bzw. (1.13) sind zwar beide diagonaldominant, jedoch nicht strikt diagonaldominant. Wegen Beispiel 4.9 (b) und (c) handelt es sich in beiden Fallen jedoch um irreduzibel diagonaldominante Matrizen. Wir zeigen jetzt, dass das Gesamtschrittverfahren ftir strikt diagonaldominante Matrizen konvergiert. Satz 4.11. (Starkes Zeilensummenkriterium) Das Gesamtschrittverfahren (4.6) ist konvergent fiir jede strikt diagonaldominante Matrix A eW'''^, Beweis. Aus der strikten Diagonaldominanz von A folgt zunachst an ^ 0 fiir alle i = 1 , . . . , n, so dass das Gesamtschrittverfahren insbesondere durchfiihrbar ist. Wegen (4.12) ist unter der Voraussetzung des Satzes ferner IIMJIIOO = 11/ - i^-'^lloo =
max
- ^ V
z=l,...,n \aii\
|a,,| < 1. ^
Die Behauptung folgt daher unmittelbar aus dem KoroUar 4.6.
•
In vielen Fallen ist die strikte Diagonaldominanz einer Matrix A eine zu starke Voraussetzung, wahrend man haufig nachweisen kann, dass eine Matrix irreduzibel diagonaldominant ist, vergleiche hierzu nochmals die Bemerkungen im Anschluss an die Definition 4.10. Aus diesem Grunde woUen wir auch noch ein Konvergenzresultat fiir irreduzibel diagonaldominante Matrizen beweisen. Als Vorbereitung hierftir benotigen wir noch das folgende Ergebnis. Lemma 4.12. Jede irreduzibel diagonaldominante Matrix A G M^^^ ist regular.
144
4 Splitting-Methoden
Beweis. Angenommen, es gibt einen Vektor x ^ 0 mit Ax = 0. Betrachte dann die Indexmengen J := {i I \xi\ = ||a:||oo} und J := {i | \xi\ < ||x||oo}Offenbar gilt dann IU J = {1,... ,n},IH J = 0 und J 7^ 0. Aufierdem ist auch jy 7^ 0, denn anderenfalls ware \xi\ — \x\^ fiir alle i = 1 , . . . ,n, was wegen Ax = 0 und daher n
\aii\\xi\ < Y^\aij\\xj\
V2 = l , . . . , n
j=i
n
^^=^ \aii\ <^Y^\aij\
Vz = l , . . . , n
einen Widerspruch zu der Voraussetzung ergabe, dass die umgekehrte Ungleichung fur mindestens einen Index io G { 1 , . . . , n} strikt erfiillt ist. Folglich ist Da A irreduzibel ist, existieren somit Indizes i* G X und j * G J mit ^i*,j* 7^ 0- Mit [Ax]i^ = 0 folgt daraus dann n
jVi* 7^0 fiir j = j *
I
I
^-^/^^ <1 fiir i=ji*
n
j^i^
im Widerspruch zur vorausgesetzten Diagonaldominanz der Matrix A.
D
Wir kommen jetzt zu dem angekiindigten Konvergenzsatz fiir irreduzibel diagonaldoroinante Matrizen. Satz 4.13. (Schwaches Zeilensummenkriterium) Das Gesamtschrittverfahren (4.6) ist konvergent fiir jede irreduzibel diagonaldominante Matrix A G R^^^. Beweis. Zunachst gilt an ^ 0 fiir alle i = 1 , . . . ,n, denn anderenfalls waren aufgrund der vorausgesetzten Diagonaldominanz von A alle Eintrage in einer Zeile gleich Null im Widerspruch zur Regularitat von A nach Lemma 4.12. Daher ist das Gesamtschrittverfahren fiir irreduzibel diagonaldominante Matrizen zumindest wohldefiniert. Zum Nachweis der Konvergenz des Gesamtschrittverfahrens haben wir wegen Satz 4.5 lediglich |A| < 1 fiir alle Eigenwerte A der Iterationsmatrix Mj = D~^{L + R) zu zeigen. Zu diesem Zweck beweisen wir, dass die Matrix Mj — XI fiir jede (komplexe) Zahl A mit |A| > 1 irreduzibel diagonaldominant und wegen Lemma 4.12 daher insbesondere regular ist. Da Mj — XI aber fiir jeden Eigenwert A von Mj singular sein muss, impliziert dies p{Mj) < 1.
4.3 Einzelschrittverfahren
145
Sei nun A G C mit |A| > 1 beliebig gegeben. Da die Matrix A nach Voraussetzung irreduzibel ist, gilt dies aufgrund der Bemerkungen im Anschluss an die Definition 4.8 auch fiir die Matrizen L + R,Mj = D~^{L -f R) und B := Mj - XL Fiir B = Mj - \I ist ferner
E l ^ l - E | —I < 1 < |A| = \bii\ V2 = l,...,n wegen der Diagonaldominanz von A, wobei in (*) fiir mindestens einen Index io £ { 1 , . . . , n } die strikte Ungleichung erftillt ist (dabei haben wir benutzt, dass B aufierhalb der Diagonalen mit Mj libereinstimmt und auf der Diagonalen lauter —A stehen hat). Folglich ist B = Mj — XI irreduzibel diagonaldominant, was den Beweis vervollstandigt. D Als numerisches Beispiel betrachten wir abschliefiend das lineare Gleichungssystem Ax = b mit den Daten -0.2-0.1
0.6 -0.1 I -0.1
und 6 = I 40 I .
(4.15)
0.9
Die Matrix A ist offenbar strikt diagonaldominant, so dass das Gesamtschrittverfahren aufgrund des Satzes 4.11 konvergieren wird. Wahlen wir x° := (0,0,0)^ als Startvektor und benutzen wir das relative Residuum
1^^ ^ < e \\b- Ax^W
mit 6 = 10-^
als Abbruchkriterium, so erhalten wir die in der Tabelle 4.1 angegebenen Resultate. Die erste Spalte in Tabelle 4.1 gibt dabei die Iterationszahl k an, die zweite Spalte den Wert des zugehorigen relativen Residuums in dieser Iteration, und die Spalten 3-5 beinhalten die Komponenten a:f,0:2,3:3 des Iterationsvektors x^. Das Verfahren bricht also nach 15 Iterationen mit der gewiinschten Genauigkeit ab.
4.3 Einzelschrittverfahren Wir betrachten in diesem Abschnitt einen weiteren Spezialfall aus der allgemeinen Klasse (4.2) von Iterationsverfahren zur Losung eines linearen Gleichungssystems Ax = b (4.16) mit A e W''''
und b € R"".
146
4 Splitting-Methoden A; rel. Residuum
^
^
"^
0000000000 0.0000000000 0.0000000000 0.0000000000 3880295007 28.5714285714 66.6666666667 0.0000000000 1425432570 47.6190476190 76.1904761905 10.5820105820 0576317622 51.8518518519 84.3033509700 13.7566137566 0220899275 54.6233308138 86.2433862434 15.1283558691 0088647650 55.3735897651 87.3958362495 15.6518574508 0034454659 55.7776471357 87.7331728302 15.8632695572 0013761800 55.9042307454 87.9030939714 15.9456466629 0005388115 55.9645478008 87.9590180256 15.9785916352 0002144616 55.9852325266 87.9846145395 15.9915073140 0000843138 55.9943909133 87.9936620612 15.9966496740 0000334794 55.9977105423 87.9975719168 15.9986725527 0000131935 55.9991166266 87.9990156062 15.9994758288 0000052308 55.9996438630 87.9996181803 15.9997924703 0000020642 55.9998612616 87.9998466994 15.9999180048 0000008176 55.9999444862 87.9999400880 15.9999675512
Tabelle 4.1. Numerisches Verhalten des Gesamtschrittverfahrens
Dazu erinnern wir zunachst an die Vorschrift x''+' ^ V^~Y1
^i:f^j) /^^*
ftir 2 = 1,..., n,
A; = 0,1,.
(4.17)
J9^i
des Gesamtschrittverfahrens, vergleiche (4.6). Bei der Bestimmung von x^'^^ greift man ledighch auf die vorhergehende Iterierte x^ zuriick. Andererseits kennt man bei der Bestimmung der i-ten Komponente x^^^ bereits die Komponenten x j " ^ ^ , . . . , x^^} der neuen Iterierten x^^^. Daher liegt es nahe, diese neuen und vermeintlich besseren Informationen in die Vorschrift (4.17) eink+l zuarbeiten und die Elemente X j , . . . ,xf_i durch xj"^^, X, zu ersetzen. Damit ergibt sich die Iterationsvorschrift i-i X
k+l
= i ^ i - ^ O'ijX^^^ -
^
aijXjj/au
fur i = 1 , . . . , n,
A: = 0 , 1 , . . .
(4.18) zur Losung des linearen Gleichungssystems (4.16), die als Einzelschritt- oder Gaufi-Seidel-Verfahren bezeichnet wird. Wir woUen als Nachstes einsehen, dass auch das Einzelschrittverfahren als Spezialfall der allgemeinen Iteration (4.2) aufgefasst werden kann. Zu diesem Zweck multiplizieren wir die i-te Gleichung in (4.18) mit an und bringen alle Terme, in denen Komponenten der {k + l)-ten Iterierten x^^^ auftreten, auf eine Seite. Dann ergibt sich die zu (4.18) aquivalente Gleichung
4.3 Einzelschrittverfahren i y ^ aijXj'^^
=bi-
n ^
GijXj
147
Vi = 1 , . . . , n .
Benutzen wir wieder die Standardzerlegung der Matrix A aus (4.7)-(4.10), so lasst sich dies in Matrix-Vektor-Notation als {D - L)x^^^ =b + Rx^ schreiben. Also ist das Einzelschrittverfahren (4.18) aquivalent zu a^fc+i = {D- L)-^Rx^
+ (D - L)-^h,
A; = 0 , 1 , . . .
(4.19)
Die Iterationsmatrix des GauB-Seidel-Verfahrens ist also durch (4.20)
MGS :-=(D-L)-^R
gegeben. Dies entspricht der Wahl B := D — L in der allgemeinen Vorschrift (4.2). Wir wollen nun zeigen, dass auch das Einzelschrittverfahren fiir strikt und irreduzibel diagonaldominante Matrizen konvergiert. Wir beginnen dazu mit dem Result at fiir strikt diagonaldominante Matrizen. Satz 4.14. Das Einzelschrittverfahren (4.18) ist konvergent fiir jede strikt diagonaldominante Matrix A £ W^^^. Genauer gilt in diesem Fall die Abschdtzung WMasWoo < \\Mj\\^ < 1. Beweis. Die Aussage ||Mj||oo < 1 wurde bereits im Beweis des Satzes 4.11 hergeleitet. Daher mtissen wir nur die Ungleichung ||MGS||OO < \\^j\\ oo verifizieren. GemaB Definition gilt zunachst ||MG5||OO
= max ||MG5a:||oolklloo=l
Sei daher x G W^ mit ||x||oo = 1 beliebig gegeben. Aus der Definition von MGS (vergleiche (4.18)) folgt fiir y := MQS^ dann
^ I i-i n \ 2/i = — ~ X^ ^i^Vj - X ] ^^^^^
Vi = 1,..., n.
Wir zeigen jetzt, dass \yi\ < K fiir alle i = 1 , . . . , n gilt, wobei wir K := ||Mj||oo fiir die Iterationsmatrix Mj des Gesamtschrittverfahrens gesetzt haben. Wegen Satz 4.11 folgt dann \\MGSX\\OO
= Iblloo
148
4 Splitting-Methoden
und daher ||MG5||OO < 1- Zum Nachweis von \yi\ < Fiir i = 1 ist
K,
gehen wir induktiv vor.
Gilt bereits \yj\ < K fiir die Komponenten j = 1 , . . . , i — 1, so folgt ^
/i—l
\yi\ < T—-r
n
^\aij\
• \yj\ + J2
l^^^'l ' I^J
\
<\\x\
^ ^ E M + E i«*^< IIMJIIOO
Also ist Halloo < '^ und somit
||MG5||OO
< /^? was zu zeigen war.
d
Der Satz 4.14 deutet an, dass das Gaufi-Seidel-Verfahren im Allgemeinen schneller konvergieren wird als das Jacobi-Verfahren, wenngleich die Ungleichung IIMG^IIOO < 11-^j I loo keine Garantie hierftir liefert. Wir kommen hierauf im nachsten Abschnitt noch einmal zuriick, vergleiche auch die Aufgabe 4.8. Wir beweisen als Nachstes die Konvergenz des Einzelschrittverfahrens fiir irreduzibel diagonaldominante Matrizen. Satz 4.15. Das Einzelschrittverfahren (4.18) ist konvergent fiir jede irreduzibel diagonaldominante Matrix A G M^^^. Beweis. Der Beweis erfolgt weitgehend analog zu dem des entsprechenden Satzes 4.13 fiir das Gesamtschrittverfahren: Zunachst schlieBt man wie dort, dass an ^ 0 fiir alle i = l , . . . , n gilt, so dass das Einzelschrittverfahren zumindest wohldefiniert ist. Zum Nachweis der Konvergenz haben wir wegen Satz 4.5 wieder |A| < 1 fiir jeden Eigenwert A der Iterationsmatrix MQS ZU zeigen. Dazu beweisen wir, dass die Matrix MQS — A/ fiir jede (komplexe) Zahl A mit |A| > 1 regular ist. Wegen MGS
-XI
= {D-
L)-^R
-XI
= {D-
L ) - I [R
- {XD - XL)]
4.3 Einzelschrittverfahren
149
ist dies aquivalent zu der Regularitat der Matrix R — XD + XL. Wie wir gleich sehen werden, ist die letztgenannte Matrix sogar irreduzibel diagonaldominant, so dass die B e h a u p t u n g d a n n aus dem L e m m a 4.12 folgt. Sei nun A G C mit |A| > 1 beliebig gegeben. D a die Matrix A nach Voraussetzung irreduzibel ist, gilt dies auch fiir die M a t r i x B := R — XD + XL, d a diese offenbar dieselbe Besetztheitsstruktur wie die Matrix A besitzt. Fiir B = R - XD + XList ferner (*) <^l|A| \ai J2 \^'j\ = Yl l^«^^l+ E l^^^l ^ 1^1 E l^^ 3=1
J=i+1
\bi
yi = i.
n
j^i
aufgrund der vorausgesetzten Diagonaldominanz von A, wobei in (*) fiir mindestens einen Index ZQ G { 1 , . . . , n } die strikte Ungleichung erfiillt ist. Somit ist JB = jR — XD + XL irreduzibel diagonaldominant, was den Beweis vervoUstandigt. • Als numerisches Beispiel betrachten wir wieder das lineare Gleichungssystem Ax = b mit den D a t e n aus (4.15). Startvektor und Abbruchkriterium werden wie a m E n d e des vorigen Abschnitts gewahlt. Die Tabelle 4.2 enthalt die zugehorigen Resultate, die mit dem Einzelschrittverfahren erzielt wurden, wobei die erste Spalte in der Tabelle 4.2 wieder den Iterationsindex k enthalt, die zweite Spalte das zugehorige relative Residuum angibt u n d die Spalten 3-5 die drei Komponenten des Iterationsvektors x^ beinhalten. A; rel. Residuum 1.0000000000 0.3676848975 0.0525013577 0.0090231873 0.0014951596 0.0002494694 0.0000415695 0.0000069285 0.0000011547 0.0000001925
^ 0.0000000000 28.5714285714 52.0030234316 55.3156006671 55.8865123833 55.9810670182 55.9968450865 55.9994741626 55.9999123610 55.9999853935
^ 0.0000000000 76.1904761905 85.9410430839 87.6597199726 87.9431952507 87.9905354437 87.9984224818 87.9997370832 87.9999561804 87.9999926967
^3
0.0000000000 11.6402116402 15.3271185017 15.8861467377 15.9810786260 15.9968447180 15.9994741743 15.9999123606 15.9999853935 15.9999975656
T a b e l l e 4.2. Numerisches Verhalten des Einzelschrittverfahrens
Das Einzelschrittverfahren bricht also nach 9 Iterationen mit der gewiinscht e n Genauigkeit a b (wobei das Abbruchkriterium bereits nach 8 Iterationen fast erfiillt ist) und benotigt daher deutlich weniger Iterationen (beinahe nur halb so viele) wie das Gesamtschrittverfahren, vergleiche Tabelle 4.1. Eine theoretische Rechtfertigung dieser Beobachtung geben wir im Anschluss an den Satz 4.21.
150
4 Splitting-Methoden
4.4 SOR-Verfahren Wir betrachten weiterhin ein lineares Gleichungssystem Ax — b mit einer Matrix A G R^^^ und einer rechten Seite 6 € M^, wobei auch in diesem Abschnitt stets davon ausgegangen wird, dass alle Diagonalelemente an von Null verschieden sind. Das hier zu beschreibende SOR-Verfahren ist eine Modifikation des Einzelschrittverfahrens aus dem vorigen Abschnitt. Bezeichnet x^ eine Naherung fiir eine Losung x* des linear en Gleichungssystems, so wird die nachste Iterierte x^'^^ beim SOR-Verfahren (SOR steht hierbei als Abklirzung fiir successive overrelaxation) komponentenweise mittels der Vorschrift x'r^':=xt + o:{xt-x'l)
(i = l,...,n)
(4.21)
bestimmt. Dabei bezeichnet x^ die sich aus dem Einzelschrittverfahren ergebende Naherung i-i
x^^
"" r^^ ~ Xl ^ij^)'^^ ~ 5Z ^^^'4 I /^'' fiir i = 1,..., n,
(4.22)
vergleiche (4.18). Man bezeichnet cj G M hierbei als Relaxationsparameter und spricht im Fall a; < 1 von Unterrelaxation (engl.: underrelaxation) sowie im Fall UJ > 1 von Uberrelaxation (engl.:overrelaxation). Speziell fiir a; = 1 reduziert sich das SOR-Verfahren offenbar auf das Einzelschrittverfahren. Fiir beliebige a; G M dagegen lasst sich das SOR-Verfahren komponentenweise wie folgt formulieren: ^k+i
'^
. u
u;
= (1- u;)x^ + — p^^ ~ X^ aijX^'^^ - ^
GijXj j
fiir z = 1 , . . . , n.
(4.23) Dies ergibt sich unmittelbar durch Einsetzen des Ausdrucks (4.22) in die Vorschrift (4.21). Schreiben wir die Vorschrift (4.23) in der Form
(
i-l
bi -^aijX^-^^
n
\
~ Y2 ^iJ^j I + (1 - (^)0'ii^i
und bezeichnen wir mit A = D — L — R wieder die Standardzerlegung (4.7)(4.10) der Matrix A, so ist (4.23) offenbar aquivalent zu Dx^+^ =oj{b + Lx^'^^ + Rx^) -f (1 - u;)Dx^. Bringt man die Terme mit x^'^^ auf die linke Seite, so ergibt sich hieraus
4.4 SOR-Verfahren
151
(D - a;L)x^+i =cu{b + Rx^) + (1 - oo)Dx^ = ((1 - UJ)D + UJR)X^ + tub. Daher lasst sich das SOR-Verfahren (4.23) in Matrix-Vektor-Notation in der Gestalt x^+i = {D -
UJL)~^[{1
- Lo)D -^ ujR]x^ + Lo{D - Loiy^h,
A;-0,1,...,
schreiben. Die Iterationsmatrix des SOR-Verfahrens ist also gegeben durch MSOR{OO) := {D - UJL)-^ [(1 - UJ)D -h UJR] ,
was der Wahl von B:=-D-L u in dem Ansatz (4.2) entspricht. Wir woUen zunachst untersuchen, unter welchen Voraussetzungen das SOR-Verfahren konvergiert. Eine notwendige Bedingung beziiglich der Wahl des Relaxationsparameters a; e M ergibt sich aus dem nachstehenden Resultat. Satz 4.16. (Satz von Kahan) Fur beliebige Matrizen A G M.'^^'^ mit an ^ 0 fiir alle i = 1 , . . . , n gilt P{MSOR{CO))
> k - 1|
filr alle cj G M. Beweis. Seien A i , . . . , An die (eventuell komplexen) Eigenwerte von Aus dem Determinanten-Multiplikationssatz folgt dann Y[\i
MSOR{<^)-
= dei{MsoR{oj)) = det((D - a;L)"^)det((l - uj)D + UJR) = det{D-^)det{{l
- uj)D)
= det(J9-i)det(Z))det((l -
u)l)
da D — cuL eine untere Dreiecksmatrix mit D als Diagonale ist und entsprechend {1—U;)D-\-UJR eine obere Dreiecksmatrix ist mit {l—uj)D als Diagonale. Hieraus ergibt sich P{MSOR{^))
= . max
\\i\
> |1 -
a;|,
«=l,...,n
was zu zeigen war.
D
152
4 Splitting-Methoden
Aufgrund des Satzes 4.16 von Kahan ist das SOR-Verfahren also hochstens fiir u £ (0,2) konvergent, vergleiche hierzu den allgemeinen Konvergenzsatz 4.5. Im Falle einer symmetrischen und positiv definiten Matrix konvergiert das SOR-Verfahren tatsachlich ftir alle diese Werte von oj. Um dies einzusehen, formulieren wir noch ein einfaches Hilfsresultat. Lemma 4.17. Sei A € R^^^ eine symmetrische und positiv definite Matrix. Dann gilt z^Az > 0 fiir alle z € C^ mit z ^Q. Beweis. Nach Voraussetzung gilt x'^Ax > 0 fur alle x G M^ mit x ^ 0. Sei nun z e C^ mit z ^ 0 und etwa z = x -\- iy mit gewissen Vektoren x, y G R'^. Dann folgt z"Az = (x + iy)"A{x
+ iy)
= (x — iy) A[x -\- iy) = x'^Ax 4- y^Ay >0, da wegen 2; 7^ 0 mindestens einer der Vektoren x, y von Null verschieden ist. • Im Falle einer symmetrischen und positiv definiten Matrix lasst sich die Konvergenz des SOR-Verfahrens durch das nachstehende Resultat charakterisieren. Satz 4.18. (Satz von Ostrowski und Reich) Sei A G R'^^^ symmetrisch und positiv definit. Dann konvergiert das SORVerfahren genau dann, wenn UJ G (0,2) gilt. Beweis. Wir erinnern zunachst daran, dass an -^ 0 fiir alle z = 1 , . . . ,n gilt, da A nach Voraussetzung positiv definit ist. Somit ist das SOR-Verfahren zumindest wohldefiniert. Bezuglich der Konvergenz folgt aus dem Satz 4.16 von Kahan sofort, dass notwendigerweise a; G (0,2) gelten muss. Sei nun uj G (0,2) fest gewahlt. Aufgrund der Symmetrie von ^ ist i? = L^ in der Standardzerlegung A = D — L — R von A, vergleiche (4.7)-(4.10). Wir zeigen nun, dass mit den Matrizen
B:=-D-L UJ
und C — B-A
= B-D-VL-^L^
= -D-D^-L''= UJ
^—^D + L^ UJ
die folgenden Aussagen gelten: (i) Die Matrix B + B'^ — A ist symmetrisch und positiv definit.
4.4 SOR-Verfahren (ii) Die Matrix Q := A - {B~'^CYA{B~^C) definit. (iii) Es ist p{B-^C) < 1.
153
ist symmetrisch und positiv
Zunachst zu (i): Mit A ist auch die Diagonalmatrix D positiv definit. Wegen a; E (0,2) ist ferner (2 — a;)/ct; > 0 und daher B-^-B'^ -A
= B^ + C=-D-L^-h
^—^D
UJ
symmetrisch und positiv definit. Zum Nachweis von (ii): Wegen B'^C Q = A-{I-
B-'^AfA{l
= AB-^A
4-
=
{B-'^AYA
+ L^ -
UJ
^—-^D LJ
= B-^{B - A) = I - B'^A -
gilt
B'^A) {B-^AyA{B-^A)
{B-^Ay{B-^B'^-A){B-^A).
so dass Q wegen Teil (i) und der Regularitat der Matrizen A und B ebenfalls symmetrisch und positiv definit ist. Zum Beweis von (iii): Sei A ein (mogUcherweise komplexer) Eigenwert von B~^C mit zugehdrigem (moghcherweise ebenfalls komplexen) Eigenvektor V 7^ 0. Wegen (ii) und Lemma 4.17 gilt dann (man beachte hierbei, dass B~^C eine reelle Matrix ist) v"Av
= v"Qv
+ v"
{B-^CYA{B-^C)V
>V"{B-^C)"A{B-^C)V
=
{Xv)"A{Xv)
=
\X\\"Av,
woraus sich wegen v"Av > 0 (ebenfalls nach Lemma 4.17) sofort |A| < 1 ergibt. Daher ist p{B-'^C) < 1. Wegen
= UJ{D-UL)-'(^-^^D
+
R)
= {D- LoL)~^ ((1 - Lo)D + ujR) =
ist dann auch P{MSOR{^)) daher aus dem Satz 4.5.
MSOR((^)
< 1 nach Teil (iii). Die Behauptung ergibt sich D
Speziell flir a; = 1 erhalt man aus dem obigen Satz die Konvergenz des Einzelschrittverfahrens ftir symmetrische und positiv definite Matrizen.
154
4 Splitting-Methoden
Mit dem Nachweis der Konvergenz des SOR-Verfahrens woUen wir uns hier jedoch nicht zufrieden geben. Vielmehr soil untersucht werden, wie der zusatzlich eingeftihrte Parameter uj gewahlt werden kann, so dass die Konvergenz moglichst schnell ist. Dazu hat man LO derart zu bestimmen, dass der Spektralradius P(MSOR{^)) moglichst klein wird. Die in diesem Sinne optimale Wahl von uj lasst sich jedoch nur flir gewisse Klassen von Matrizen explizit angeben. Wir beginnen daher mit der nachstehenden Definition. Definition 4.19. Die Matrix A GM.'^^'^ mit der Standardzerlegung A = D — L — R aus (4,7)-(4.10) heijJt konsistent geordnet, wenn die Eigenwerte der Matrix C{a) := -D-^L + aD~^R mitaeC\ {0} a von a unabhdngig sind. Wir geben als Nachstes einige wichtige Beispiele von konsistent geordneten Matrizen an. Beispiel 4.20. (a) Sei A G R^^'^ eine Tridiagonalmatrix von der Form 0\
/I A 72 1 /?3
^ = tridiag(7i,l,A) v-
73
^0
1 ^n In 1 J
In der Standardzerlegung (4.7)-(4.10) ist dann 0
I 0
\
-72 0
D = In, L
\ 0
-7nOy
\^o
• -Pn 0 /
also -D~^L a
+ aD-^R
= tridiag ( \
a
7^, 0, - a f t | J
flir a G C \ {0}.
Mit B{a) := diag(l, a , . . . , a n - l
flir a G C\{0}
folgt hieraus B{a) (-D-^L
-f aD-'^Rj
B{a)-^
= tridiag(-7^, 0, - f t ) = L + R.
4.4 SOR-Verfahren
155
Daher sind ^D~^L-\-aD~^R und L + R fiir alle a G C\{0} ahnliche Matrizen und besitzen daher dieselben (von a unabhangigen) Eigenwerte. Also ist A konsistent geordnet. Insbesondere ist daher auch die bei der eindimensionalen Poisson-Gleichung auftretende Tridiagonalmatrix T^ aus (1.8) konsistent geordnet, vergleiche Aufgabe 4.5. (b) In Verallgemeinerung der Situation aus dem Beispiel (a) sei ^4 G M*^^^ eine Block-Tridiagonalmatrix von der Form / I M2 N2 I Ms A =
0 \
N, Nn I J
\ 0
In der Notation aus der Standardzerlegung (4.7)-(4.10) gilt dann ( D = In, L =
Q\
0 -N2 0
V 0
/O-M2
0
\
0
, R =
Mn
•NnO)
0
/
also / D-^L +
aD-^R
0
-aM2
^No
0
0
ftir
a V
0
\
'••
-aMn
-i^n
0 J
Q:GC\{0}.
Mit der Block-Diagonalmatrix // al
ftir a G C \ {0}
B{a) := \
a^-^IJ
folgt hieraus wiederum / B{a) ( -D-'L
+ aD-'R
0 -M2 -N2 0 -M3
) B{a) - 1
0
\
•N.
\
0
0 -Nn
-Mr 0 /
156
4 Splitting-Methoden
= L-\-R Also sind die Matrizen ^D~^L + aD~^ ftir alle a G C\{0} ahnlich zu der Matrix L-\- R und besitzen daher von dem speziellen a unabhangige Eigenwerte. Somit ist A konsistent geordnet. Insbesondere ist auch die bei der zweidimensionalen Poisson-Gleichung auftretende Block-Tridiagonalmatrix T^xN aus (1.12) konsistent geordnet, vergleiche Aufgabe 4.5. Fiir die Klasse der konsistent geordneten Matrizen lasst sich der folgende Zusammenhang zwischen den Eigenwerten von Mj und den Eigenwerten von MSOR{^)
beweisen.
Satz 4.21. Seien A G JR^^^ mit an ^ 0 fur alle i — l , . . . , n konsistent geordnet, oo ^ 0 und Mj die Rerationsmatrix des Gesamtschrittverfahrens. Dann gelten die folgenden Aussagen: (a) Mit fi ist auch —JJ, ein Eigenwert von Mj, die Eigenwerte von Mj treten also in ±-Paaren auf. (h) IstX = 0 ein Eigenwert von MSOR{'^), so istuj — 1 und daher MsoR{<^) = MQS, wobei MQS die Rerationsmatrix des Einzelschrittverfahrens bezeichnet. (c) Ist Xy^ 0 ein Eigenwert von MSOR{^) und genilgt /i der Gleichung A + cj - 1 = VXu)^,
(4.24)
so ist fi ein Eigenwert von Mj. (d) Ist umgekehrt /j ein Eigenwert von Mj und geniigt A der Gleichung (4.24), so ist A ein (eventuell komplexer) Eigenwert von MSOR{^)Beweis. Im gesamten Beweis sei wieder A = D — L — R die Standardzerlegung von A gemafi (4.7)-(4.10). (a) Da A nach Voraussetzung konsistent geordnet ist, sind die Eigenwerte der Matrix
C(a) := -D-^L + aD~^R = D'^ (-L + aR) a \a / unabhangig von a ^ 0. Insbesondere stimmen die Eigenwerte von
C{l)==D-^L-^R)=Mj und C ( - l ) = - D - i {L-\-R) = -MJ (vergleiche (4.12)) iiberein, woraus die Behauptung (a) folgt. (b) Aus der Definition von MSOR{^)
folgt
4.4 SOR-Verfahren
157
det(M50HH-AJ) = dei({D
- UJL)-^ ((1 - uo)D + ujR) - \ l \
= d e t ( p - (jL)-i)det('(l - uo)D -^ujR-
(4 25)
\{D - LOL)\
Da D — UJL eine untere Dreiecksmatrix mit an ^ 0 auf der Diagonalen ist, gilt det((D — a;L)~^) ^ 0. Deshalb ergibt sich aus (4.25) und der Voraussetzung, dass A = 0 ein Eigenwert von MSOR{^') ist, unmittelbar det((l-a;)L> + a;i?) = 0 . Aber {1—UJ)D+UJR ist eine obere Dreiecksmatrix mit den Elementen {l—(jj)aii auf der Diagonalen, was wegen an ^ 0 fiir alle i = 1 , . . . , n sofort a; = 1 impliziert. Wegen MSOR{^) = MQS folgt die Behauptung. (c), (d) Fiir A ^ 0 folgt aus der Beziehung (4.25) zunachst det{MsoRi(^) - A / ) = det{{D - cc;L)-^)det((l - cv - X)D + ujR + = (cc;v^)''det((D - u)L)-^)dQt(^~'^~^D ^ cjvA
XLOL)
+ -\.R + VXL) vA ^
- (a;V^)''det((D - a;L)-^)det(i^)detf ^ ~ "^ ~ ^ 7 + -^D-^R
+
^f\D-^L)
Wegen det((Z) — C J L ) " ^ ) 7^ 0 und det(D) 7^ 0 ist A 7^ 0 daher genau dann ein Eigenwert von MSOR{^)^ wenn l-o;-A ujyX
ein Eigenwert von der Matrix -\=:D-^R+V\D-^L VA ist. Da die Matrix A nach Voraussetzung konsistent geordnet ist, stimmen die Eigenwerte der beiden Matrizen -j=D~^R + \/~XD~^L und Mj — D~^L + D~^R aber iiberein. Damit sind auch die Teile (c) und (d) bewiesen. D
Speziell fiir a; = 1 ist MSOR{^) = ^GS gleich der Iterationsmatrix beim Einzelschrittverfahren. Fiir konsistent geordnete Matrizen A folgt aus dem Satz 4.21 fiir diesen Spezialfall dann gerade P{MGS)
=
p{Mj)\
158
4 Splitting-Methoden
(vergleiche Aufgabe 4.8) weshalb das Einzelschrittverfahren im Vergleich zum Gesamtschrittverfahren in der Regel nur etwa die Halfte der Iterationen benotigt, um eine vorgegebene Genauigkeitsschranke zu erreichen. Zum Abschluss dieses Abschnittes zeigen wir jetzt, wie man den Relaxationsparameter uj zu wahlen hat, um einen moglichst kleinen Spektralradius P{MSOR{^)) ZU erhalten. Dabei taucht insbesondere die Voraussetzung auf, dass die Eigenwerte der Iterationsmatrix Mj des Gesamtschrittverfahrens alle reell sind. Dies ist sicherlich dann der Fall, wenn die Matrix A symmetrisch ist, denn dann ist Mj = I — D~^A ahnlich zu der symmetrischen Matrix / — r)~^/^^D~^/^ und besitzt deshalb nur reelle Eigenwerte. Satz 4.22. Sei A G M^^" mit an ^ 0 fiir alle i = 1 , . . . , n konsistent geordnet. Die Eigenwerte von Mj := I — D~^A seien reell mit pj := p{Mj) < 1, wobei wir ohne Einschrankung pj > 0 annehmen wollen. Seize
1 + V1 -
PJ
Dann gelten die folgenden Aussagen: (a) Es ist P{MSOR[UJ))
= {^ {"^^-^ "^ V P J ^ ' - 4(u; - 1)) fiir u e (0, a;*], 1^ a; — 1, fiir u G [a;*, 2).
(b) Es ist P{MSOR{^)) < 1 fUr alle uu G (0,2), d.h., das SOR-Verfahren konvergiert fiir alle diese cu. (c) Es ist uj^ der optimale Relaxationsparameter im Sinne von P{MSOR{(^*))
<
P{MSOR{^))
fiir alle uo € (0,2); fiir uo ^ uj^ gilt hierbei die strikte Ungleichung. (d) Es gilt
1 + >/i - P5 Beweis. Wir beweisen zunachst die Aussagen (b), (c) und (d), da sich diese relativ leicht aus der Aussage (a) ergeben, wahrend der Beweis von Teil (a) etwas langlicher und technischer ist. (b) Wegen a;* G (1,2) gilt fiir cj G [a;*, 2) nach Teil (a) ofFenbar P{MSOR{^)) = a; —1 < 1. Fiir u G (0,a;*] hingegen ist p'jCJ^—4{uj~l) > 0, denn die Abbildung uj t—)• pjo;^ — 4{uj — 1) beschreibt eine nach oben geoffnete Parabel mit zwei reellen NuUstellen, wobei oj^ gerade die kleinere dieser beiden Nullstellen ist. Daher ergibt sich mit Teil (a) wiederum
4.4 SOR-Verfahren
159
2
P{MSOR{UJ))
< 1 ^=^ (u;pj + yp'j^^
- 4(a; - 1)^ < 4
4=^ up J + ^Jp^jLo^ - 4(cc; - 1) < 2 y ' p j ^ ^ _ 4(^ _ 1) < 2 - a;pj pjcj^ - 4{uj - 1) < 4 - 4u;pj -h cj^pj 1 > PJ, und Letzteres gilt nach Voraussetzung. (c) Die stetige Abbildung uj i-> P{MSOR{^)) ist wegen Teil (a) fiir uj G [CJ*, 2) offenbar strikt monoton steigend. Andererseits werden wir gleich sehen, dass diese Abbildung fiir to G (0,a;*] strikt monoton fallend ist, so dass sie notwendigerweise in LO = co^ ihr (eindeutiges) Minimum annimmt. Setze zur Abkiirzung q{cv) :=
P{MSOR{^))'
Wegen Teil (a) gilt ftir den nur noch interessierenden Fall u G (0,cc;*) dann q(uj) = - [upJ H- yjp'^ju'^ - 4(a; - 1)) . Hieraus folgt
Wegen Pjo;^ — 4{uj — 1) > 0 fiir alle u G {(),u^) (wie bereits im Beweis von Teil (b) bemerkt) ist der erste Faktor hierbei positiv. Wir wollen nun zeigen, dass der zweite Faktor negativ ist, was offenbar gleichbedeutend mit pjsjp^ju^
- 4(a; - 1) + a;p5 - 2 < 0
(4.26)
ist. Tatsachlich gilt p2 (p2a;2 _ 4(a; - 1)) = p^J' - 4p2a, + 4^2 < p^o)^ - 4p5a) + 4
=
(4.27)
M-2)'
wegen pj <\. Unter Beriicksichtigung von a;p5 - 2 < a;,p^ - 2 -
7 = = f Pj - 2 < 0 1 + V1 - Pj
folgt durch Wurzelziehen in (4.27) dann die noch zu verifizierende Ungleichung (4.26), denn fiir z := up'^j - 2 < 0 gilt Vz^ = \z\ = -z. Somit ist q^{uj) < 0
160
4 Splitting-Methoden
fiir alle a; G (0,a;*) und die Abbildung q daher tatsachlich (streng) monoton fallend in dem Intervall (0,a;*]. (d) Dieser Teil folgt unmittelbar aus der Definition von a;* sowie der Tatsache, dass P{MSOR{^*)) = CJ* - 1 nach (a) gilt. (a) Unser Ziel ist die Berechnung von P{MSOR{^)) fur alle LO € (0,2). Sei dazu (jj G (0, 2) fest gewahlt. Zur Bestimmung von P{MSOR{'^)) benotigen wir die Eigenwerte der Iterationsmatrix MSOR{^)Wegen Satz 4.21 lassen sich diese Eigenwerte mit Hilfe der Eigenwerte der Iterationsmatrix Mj fiir das Jacobi-Verfahren ausdrticken: Ist // ein Eigenwert von Mj, so ist jede Losung A der Gleichung (4.24) ein Eigenwert von MSOR{<^)- Da es sich bei (4.24) um eine in v := A/A quadratische Gleichung handelt, sind die beiden (von // und CJ abhangigen) Losungen ofFenbar gegeben durch Ai(yu,a;) = - [jux) + V'//2a;2 - 4(a; - 1) j und A2(/x,a;) = - Ipu) - \/p^uP- - 4(a; - 1)) • Wegen Satz 4.21 (a) ist mit p auch —// ein Eigenwert von Mj. Wegen |Ai(/i,a;)| =- |A2(-/i,c^)| gentigt es daher, zur Berechnung von P[MSOR{<^)) das Betrags-Maximum der Eigenwerte Ai(/i,a;) und X2{p,uj) liber alle nichtnegativen Eigenwerte p von MJ ZU betrachten. Zur Bestimmung dieses Maximums untersuchen wir zwei Falle, die vom Vorzeichen des Terms in der Wurzel abhangen: Ist p'^cu^ — 4{cj — 1) > 0, so sind die Eigenwerte Xi{p,uj) und A2(/i,cj) reell mit Xi{p,Lj) ^ - ipu + \/p^^xP- - 4 ( a ; - 1)) >\{p^-
V'/i2a;2-4(a;-l))^
= A2(/i,a;) >0. Ist dagegen p^J^ — 4(a; — 1) < 0 (also a; > 1), so sind \\{p^uj) und X2{p,uj) konjugiert-komplexe Eigenwerte. Aus der Darstellung \z\ = ^/9^t{z)^ -f 3m{z)^ fiir den Betrag einer komplexen Zahl z folgt dann |Ai(/x,a;)| = \X2{p,uj] Andererseits ergibt sich fiir
4.4 SOR-Verfahren
161
z := /io; + \Jp^-uj^ — 4(a; — 1) = jdcu + iY4(a7^^1)^^/At^ nach kurzer Rechnung die Darstellung |Ai(/i,a;)| = |A2(/i,c^)| = a; - 1. In beiden Fallen hat man insbesondere |Ai(/^,a;)| > |A2(M,W)|.
Aus diesem Grunde gentigt es, das Betrags-Maximum von Ai(/x, A) liber alle nichtnegativen Eigenwerte fj, von Mj zu bestimmen. Fiir den gesuchten Spektralradius P{MSOR{^)) gilt also P{MSOR{^))
= max {|Ai(//,a;)| | )Lt nichtnegativer Eigenwert von Mj}. (4.28) Eine einfache Kurvendiskussion (siehe Aufgabe 4.7) zeigt nun, dass | A I ( M I , ^ ) | < |Ai(/i2,cj)|
fiir alle /xi,yLi2 G [0, pj] mit //i < )U2 gilt. Daher nimmt die auf [0, pj] definierte Funktion fi^ |Ai(/i,a;)| ihr Maximum an der Stelle P' = pj an. Da nach Voraussetzung alle Eigenwerte von MJ reell sind und die Eigenwerte von Mj nach Satz 4.21 in der Form von ib-Paaren auftreten, ist pj ein Eigenwert von Mj. Aus diesem Grunde nimmt auch die rechte Seite in (4.28) ihr Maximum an der Stelle p = pj an. Hieraus ergibt sich die Darstellung P{MSOR{U))
= I i ("^^ + VpW-^{--^)y
ftir
ia;-l
PW
> 4(- - 1),
furp^ju^
<4{LJ-1).
Wir zeigen jetzt, dass dies mit der in (a) behaupteten Darstellung fiir den Spektralradius P{MSOR{^)) iibereinstimmt. Dazu haben wir die Aquivalenz ^
4(uj - 1)
2
nachzuweisen, was im Folgenden geschieht: 2
4(a;-l)
o
^^
4
4
PJ
PJ
^
^ < ; | ( I - A / W 5 )
2_ ^ -
.2
Oder
a;>^(^l + y r r ; ^ )
162
4 Splitting-Methoden u <
=
OJ*.
l^y/T^j
wobei die dritte Aquivalenz gilt, da im Fall LJ > -|- ( l + \ / l — P j ) offenbar Lj > 2 gilt, was wegen to € (0,2) nicht sein kann. Damit ist auch die Aussage (a) voUstandig bewiesen. D Der typische Verlauf der Abbildung g : a; — i > p{MsoRi^)) ist in dem Bild 4.1 wiedergegeben: Die Funktion fallt bis zum optimalen Parameter a;* und steigt anschliefiend linear. In den meisten Fallen kennt man den optimalen Relaxationsparameter a;* natiirlich nicht. Wegen lim q\u;) =
oo und
lim ^'(a;) = 1
ist es jedoch ratsam, stets eine Schatzung a; > a;* zu wahlen. In der Praxis wird deshalb cc; > 1 sein, weshalb man von overrelaxation statt underrelaxation spricht.
Abbildung 4.1. Typischer Verlauf der Funktion a; i-> pi^MsoR{<^)) Wir illustrieren das numerische Verhalten des SOR-Verfahrens wieder an dem Beispiel (4.15). Die zu diesem Beispiel zugehorige Iterationsmatrix des Jacobi-Verfahrens
Mj=I-D-'^A besitzt die drei Eigenwerte Ai « 0.3955, A2 « -0.3088, A3 « -0.0867, woraus sich
4.5 Symmetrisches SOR-Verfahren
163
pj ^ 0.3955 und daher als optimaler Relaxationsparameter UJ*
1.0425
=
i+ x/T^
ergibt. Das mit diesem Parameter angewandte SOR-Verfahren liefert die in der Tabelle 4.3 angegebenen Resultate, wobei Startvektor und Abbruchkriterium wieder wie in den beiden vorherigen Abschnitten gewahlt wurden. Die Spalten in der Tabelle 4.3 geben erneut den Iterationsindex, das relative Residuum sowie die drei Komponenten des Iterationsvektors x^ an. rel. Residuum
^
^
1.0000000000 0.0000000000 0.0000000000 0.3669591183 29.7857142857 79.8505357143 0.0243781979 54.1951970540 87.1457269441 0.0028418273 55.7972715508 87.9367136856 0.0001865820 55.9862383889 87.9937923376 0.0000203847 55.9985412939 87.9995299176 0.0000014002 55.9998969739 87.9999550059 0.0000001465 55.9999894860 87.9999965193
^ 0.0000000000 12.6995322917 15.8322602407 15.9763155630 15.9986934811 15.9998321091 15.9999899897 15.9999988044
Tabelle 4.3. Numerisches Verhalten des SOR-Verfahrens Das SOR-Verfahren bricht also nach 7 Iterationen mit der gewtinschten Genauigkeit ab und ist somit um 2 Iterationen besser als das Einzelschrittverfahren. Der Unterschied zum Einzelschrittverfahren ist in diesem Beispiel nicht allzu grofi, da der optimale Relaxationsparameter cj* hier relativ nahe bei 1 liegt und die Wahl uj = 1 beim SOR-Verfahren gerade das Einzelschrittverfahren liefert.
4.5 Symmetrisches SOR—Verfahren Beim SOR-Verfahren (ebenso wie beim Einzelschrittverfahren) hangt die berechnete Vektorfolge von der Reihenfolge der linearen Gleichungen ab. (Dies gilt nicht fiir das Gesamtschrittverfahren!) Das symmetrische SOR-Verfahren, auch SSOR-Verfahren genannt, verwendet in einer Iteration im Prinzip zwei Schritte des normalen SORVerfahrens, wobei die Gleichungen zunachst in der ublichen Reihenfolge (Vorwartsschritt) und anschlieBend in umgekehrter Reihenfolge (Riickwartsschritt) durchlaufen werden. Fasst man einen solchen Doppelschritt als einen Iterationsschritt auf und bezeichnet man bei gegebenem x^ das Ergebnis des Vorwartsschrittes mit x^'^^^^, so lautet die Iterationsvorschrift des SSORVerfahrens wie folgt, vergleiche (4.23):
164
4 Splitting-Methoden >+l/2
= (1 - co)x^ - f-
IE«y^r'^' + E j—1
««^* - ''^ 1
(4.29)
j—i+l
fur 2 = 1,2,... ,n und .A;+l _
a:„
/I
,,x
/c+1/2
^
I
Y^
^ .r.k+1
,\:^ ^
fc+1/2
ftir i = n , n — 1 , . . . , 1 , wobei wir natiirlich wieder voraussetzen, dass die Diagonalelemente an alle von Null verschieden sind. Speziell ftir u; = 1 im obigen SSOR-Verfahren sprechen wir auch vom symmetrischen Gaufi-Seidel-Verfahren, kurz SGS-Verfahren, denn ftir a; = 1 entsprach das SOR-Verfahren gerade dem Gaufi-Seidel-Verfahren. Benutzen wir ftir A erneut die Standardzerlegung A = D — L — R gemafi (4.7)-(4.10), so lassen sich der Vorwarts- und Rtickwartsschritt in MatrixVektor-Notation schreiben als ^k+i/2 _ (J9 _ ^lyi
((1 _ ^)D + u;R)x^ + oj{D - cvLy'^b
und x^+i = (D - LjR)-^ ((1 - Lu)D + u;L)x^+^^^ + LO{D -
coRy^b,
man vergleiche hierzu die entsprechenden Ausftihrungen im Abschnitt 4.4. Zusammengefasst ergibt dies x^+^ =
MSSOR{^)X^
+ ct;(2 -u;){D-
LOR)~^D[D
-
uoiy^h
mit der Iterationsmatrix MSSOR{^)
•= {D-u;Ry\{l-u;)D+LvL){D-ujLy'^
{(l-u;)D+LjR).
(4.31)
Auch das SSOR-Verfahren ist deshalb ein Spezialfall des allgemeinen Ansatzes (4.2) mit der Wahl von B als B — -—^—-{D-LvL)D-\D-LoR)
{u; e (0,2)).
(4.32)
Bevor wir ein Konvergenzresultat ftir das SSOR-Verfahren formulieren konnen, ftihren wir im Raum der symmetrischen (n x n)-Matrizen die Ordnungsrelation Gy H :^=>
G-HyO
:<=^ G — H ist symmetrisch positiv definit ein. Entsprechend schreiben wir G>zH
:^=^G-H>:0 :<^=4> G — H ist symmetrisch positiv semidefinit.
Dann lasst sich das folgende Resultat zeigen.
4.5 Symmetrisches SOR-Verfahren
165
Lemma 4.23. Seien G,H ^ M^^'^ symmetrische Matrizen. Dann gelten die folgenden Aussagen: (a) 1st G y H, so ist auch K'^GK y K'^HK fiir jede reguldre Matrix K. (h) IstGy H yO, so ist auch p{G) > p{H). Beweis. (a) Sei Gy H, also x^(G - H)x > 0 fiir alle a:: € M" \ {0}. Dann gilt auch {KyY{G - H){Ky) > 0 fiir jedes yeW\ {0} aufgrund der Regularitat der Matrix K. Dies impliziert y'^K'^{G-H)Ky > 0 fiir alle ?/ € R^ \ {0}, also K'^GK — K^HK y 0, was zu zeigen war. (b) Sei G y H yO. Dann ist insbesondere piG) = Xm.AG)
und
p{H) = Xm.AH),
da alle Eigenwerte von G und H reell und positiv (bzw. nichtnegativ) sind. Sei nun f G M^ ein zum Eigenwert Xma^iH) zugehoriger Eigenvektor mit ||t;||2 = 1. Dann folgt
x^Gx
Ibll2 = l = Xma.x{G),
wobei die letzte Gleichung aus dem Korollar 1.12 folgt. Insgesamt ergibt sich daher p{G) = Xma^(G) > A„,ax(^) = p(i^). • Mit Hilfe des obigen Lemmas sind wir nun in der Lage, einen Konvergenzsatz fiir das SSOR-Verfahren zu beweisen. Satz 4.24. Seien A G M'^^'^ eine symmetrische und positiv definite Matrix und tu € (0,2) gegeben. Dann gelten die folgenden Aussagen: (a) Alle Eigenwerte von MSSOR{<^) sind reell und nichtnegativ. (h) Es ist P{MSSOR{<^)) < 1? do,s SSOR-Verfahren also konvergent. Beweis. (a) Da A symmetrisch ist, gilt R = L^ m der Standardzerlegung (4.7)-(4.10) von A. Die positive Definitheit von A liefert aufierdem die Existenz der beiden symmetrischen und positiv definiten Quadratwurzeln A^/^ und ^~^/^. Wir schreiben A'•'''MssoR{^)A-^'^' = A'/2 (D _ a;i?)"' ((1 - w)D + wL) {D -UJL)'^ "^
=
>r
^"^
((1 - oj)D + ujR) ^^
A''^''^ '
A^^^MIOR{^)MSOR{UJ)A-'^^ {A'I'MIOR{U^)A-'^^){A'^^MSOR{U^)A-'^').
(4.33)
166
4 Splitting-Methoden
wobei MSOR{'^) die bereits bekannte Iterationsmatrix des SOR-Verfahrens ist und M^Qp{ijo) ftir die Iterationsmatrix des rlickwarts (engl.: backwards) genommenen SOR-Verfahrens steht. Mittels einer einfachen Rechnung verifiziert man nun, dass MSOR{'^)
= I - ^{D
^SOR{^)
= I-OJ{D-
- UJL)~^A
und
LOV)-^A
gelt en. Hieraus folgt wiederum = l-ujA^I''{D-i^UY^A^I'' = {I- a;A'/2(D - ijL)-'A'/y =
(4.34)
{A'^'MsoR{u>)A-^^'r.
Wegen (4.33) und (4.34) gilt daher Ay^MssoR{u^)A-'^^
=
{A'^^MsoRiu^)A-''^Y{A^/^MsoRi^)A-''^).
Die Matrix auf der rechten Seite ist von der Gestalt C^C und daher symmetrisch und positiv semidefinit. Deshalb hat A^^^MSSOR{<^)^~^^'^ und somit auch die hierzu ahnhche Matrix MSSOR{^) lauter reelle und nichtnegative Eigenwerte. (b) Da ahnhche Matrizen dieselben Eigenwerte besitzen, ergibt sich mit den im Teil (a) bereits hergeleiteten Formeln insbesondere P{MSSOR{C^))
=
P{A^^^MSSORHA-^^^)
=
p{{A'/'MsoR{uj)A-'^'y{A'/'MsoR{u^)A-'/'))-
Wir werden nun zeigen, dass P{{A'/'MSOR{^)A-'^T{A'^'MSOR(U>)A-'/^))
< 1
ist. Zu diesem Zweck erinnern wir zunachst daran, dass die SOR-Iterationsmatrix die Gestalt MSOR{^)
= I - B~^A
mit B := -D
-
L
besitzt. Im Beweis des Satzes 4.18 wurde dabei schon gezeigt, dass die Matrix B 4- B'^ — A symmetrisch und positiv definit ist, was wir mittels der oben eingeftihrten Ordnungsrelation auch schreiben konnen als B + B'^ - Ay
0 <=^ B + B'^ >- A.
Unter Verwendung des Lenunas 4.23 (a) ergibt sich daher
4.5 Symmetrisches SOR-Verfahren
167
{A'I^MSOR{^)A-''^Y{A''^MSOR{^)A-''^)
= (/ - A'l^B-^A''^) {I - ^1/25-1^1/2) = / - A^'^{B-' + S-»)^'/2 + A i / 2 s - x ^ s - i ^ i / 2 = / - (B-iAi/2)''( B + B^) ( 5 - ^ 1 / 2 ) + ( B - M I / 2 ) ' ' A ( B - I ^ I / 2 )
+
{B~'A''^YA{B-'A'/^)
= 1. Wegen Lemma 4.23 (b) impliziert dies aber
p{{A'/^MsoR{u>)A-'/YiA'^^MsoRHA-'/')) was zu zeigen war.
< p{I) = 1, •
Im ersten Moment erscheint die Implementation des SSOR-Verfahrens in etwa doppelt so teuer zu sein wie die des SOR-Verfahrens, da in jeder Iteration ja gewissermafien ein Doppelschritt (Vorwarts- und Rtickwartsschritt) des SOR-Verfahrens angewendet wird. Ein gezielter Blick auf die Iterationsvorschriften (4.29) und (4.30) zeigt jedoch, dass dies nicht der Fall ist (vergleiche Niethammer [45, 46]): Die im Vorwartsschritt (4.29) zu berechnende Grofie i-l
22 f^ij^j
f^r i = 1 , . . . , n
j=i
taucht in dieser Form auch im Rtickwartsschritt (4.30) wieder auf und braucht daher dort nicht noch einmal berechnet zu werden. Ebenso konnen die im Rtickwartsschritt (4.30) auftretenden Terme n
2_] CLijXj^
fiir z = n, rz — 1 , . . . , 1
in der nachsten Iteration beim Vorwartsschritt wieder benutzt werden, so dass eine geschickte Implementation des SSOR-Verfahrens vom Aufwand her mit dem des SOR-Verfahrens in etwa vergleichbar ist. Zur Illustration ftir das numerische Verhalten des SSOR-Verfahrens benutzen wir auch hier das Beispiel (4.15), wobei Startvektor und Abbruchkriterium wieder wie frtiher gewahlt werden. Der Parameter oj wird wie beim SOR-Verfahren als UJ — 1.0425 gewahlt. Es sei allerdings betont, dass dies im AUgemeinen nicht der optimale Parameter fiir das SSOR-Verfahren ist. Die hiermit erzielten Ergebnisse sind in der Tabelle 4.4 angegeben, deren Spalten wieder den Iterationsindex A:, das relative Residuum ||6 - 74x^'||/||6 — Ax^W sowie die drei Komponenten x\^X2^x\ des Iterationsvektors x^ enthalten.
168
4 Splitting-Methoden rel. Residuum
Xi
^
1.0000000000 0.0000000000 0.0000000000 0.1202820798 53.7332959231 78.5696535733 0.0152875853 55.7116195902 86.8268474207 0.0019402099 55.9634076365 87.8516886135 0.0002460948 55.9953588439 87.9812004074 0.0000312112 55.9994113853 87.9976159754 0.0000039583 55.9999253498 87.9996976543 0.0000005020 55.9999905326 87.9999616556
^ 0.0000000000 12.1598021693 15.4726413054 15.9322855034 15.9913950158 15.9989083322 15.9998615438 15.9999824404
Tabelle 4.4. Numerisches Verhalten des SSOR-Verfahrens
Das SSOR-Verfahren bricht ebenfalls nach 7 Iterationen ab und stellt von daher nicht unbedingt eine Verbesserung gegeniiber dem eigentlichen SORVerfahren dar, zumal das relative Residuum nach diesen 7 Iterationen sogar etwas grofier ist als das entsprechende Residuum beim SOR-Verfahren. Die tatsachliche Bedeutung des SSOR-Verfahrens liegt allerdings auch vielmehr darin begriindet, dass die zugehorige Iterationsmatrix wegen Satz 4.24 lauter reelle Eigenwerte besitzt und sich somit fiir die in Kiirze zu beschreibende polynomiale Konvergenzbeschleunigung eignet.
4.6 TschebyschefF—Polynome Wir betrachten in diesem Abschnitt die so genannten Tschebyscheff-Polynome (erster Art) und beweisen einige ihrer wichtigsten Eigenschaften. Diese werden in dem nachfolgenden Abschnitt dann dazu benutzt, um die Konvergenz gewisser Splitting-Verfahren zu beschleunigen. Definition 4.25. Die durch Tn{x) := cos (n • arccos(a;)),
n = 0,1, 2 , . . .
(4.35)
definierte Funktion T^ : [—1,1] —^ M heifit n-tes Tschebyscheff-Polynom . Zunachst einmal ist liberhaupt nicht klar, dass es sich bei den Abbildungen T^ tatsachlich um Poly nome handelt. Das nachste Result at rechtfertigt jedoch diesen Sprachgebrauch und gibt eine Reihe von weiteren Eigenschaften der Tschebyscheff-Polynome an. Satz 4.26. Die gemdfi (4.35) definierten Funktionen Tn haben die folgenden Eigenschaften: (a) Es gilt die
Drei-Term-Rekursion Tn+i{x) = 2xTn{x) - Tn-i{x)
fiim
=
1,2,...,
4.6 Tschebyscheff-Polynome
169
wobei To, Ti durch To{x) = l
und
Ti{x) = x
gegeben sind. (h) Tn ist ein Polynom vom Grad n. (c) TH+I besitzt die n + 1 Nullstellen Xi := cos f ^——TT j ,
2 = 0, l , . . . , n .
(4.36)
(d) Tn^i besitzt die Darstellung n
Tn^i{x) = 2''J\{x-Xi)
/ ^ r n = 0,1,2,...,
i=0
wobei die Xi gemdfi (4.36) gegeben sind, (e) Es ist maxa;e[-i,+i] |2^n+i(^)| = 1 f^it
fur die ExtremweHe
^' •= ^°^ (;rri)
('•'')
/itr z = 0 , 1 , . . . ,n + 1. Beweis. (a) Ftir n = 0 gilt nach Definition 4.25 ^0(3^) = cos(0 • arccos(x)) = cos(O) = 1 ftir alle x G [—1,1]. Entsprechend ergibt sich im Fall n = 1 auch Ti{x) = cos(l • arccos(a:)) = x fur alle x £ [—1,1]. Die Anfangswerte fiir die Drei-Term-Rekursion sind also schon mal richtig. Zum Nachweis der eigentlichen Rekursionsformel benutzen wir die beiden Additionstheoreme cos(2;i + Z2) = cos(2:i) 008(2:2) — sin(2;i) sin(2;2)
(4.38)
sin — - — sin — - — = 7; ( cos Z2 — cos zi).
(4.39)
und
Nach dem ersten Additionstheorem (4.38) erhalten wir mit zi := narccosx und Z2 := arccos x aus (4.35) zunachst Tn+i{x) = cos(narccosx) • x — sin(narccosar) • sin(arccosx)
170
4 Splitting-Methoden = xTn{x) — sm(narccosx) • sin(arccosx).
Den zweiten Summanden formen wir nun unter Verwendung des Additionstheorems (4.39) um, indem wir dort zi := {n + l)arccosrr und Z2 := (n — 1) arccosx setzen. Wir erhalten dann sin(n arccos x) • sin(arccos x) = -{cos((n =
— 1) arccosx) — cos((n + 1) arccosx)) ^{Tn-l{x)~Tr,+l{x)).
Zusammen folgt somit Tn+i{x) = xTn{x) — (Tn-i(x) — T„+i(a:))/2, woraus sich die Behauptung (a) ergibt. (b) Dies folgt unmittelbar aus dem gerade bewiesenen Teil (a). (c) Ftir Xi gemafi (4.36) ergibt sich mit (4.35) sofort
Tn+i{xi)=cos({n-^l)^^-7rj
=cosf-^y-7rj =0
fur alle i = 0 , 1 , . . . ,n. (d) Nach Teil (b) ist Tn+i ein Polynom vom Grad n + 1, das wegen Teil (c) die n -f 1 Nullstellen Xi aus (4.36) besitzt. Also hat T„+i eine Darstellung der Form Tn+l{x)
= an+l(x
- Xo){x
- Xi) • - • {x -
Xn)
mit einer gewissen Konstanten an+i € E, die ofFenbar der Hochstkoeffizient des Polynoms Tn+i ist. Aus Teil (a) ergibt sich aber sofort, dass an+i = 2'^ der Hochstkoeffizient von Tn+i ist, womit auch (d) bewiesen ist. (e) Aus der Definition (4.35) folgt unmittelbar |T^4.i(a:)| < 1 fur alle x G [—1,1]. Andererseits liefert (4.35) ftir die in (4.37) genannten Werte Xi Tn+iixi) = COS \(n + 1) arccos (cos ( *•
))] = cos(i7r) = (—1)^
^n 4 - 1
fur alle i = 0 , 1 , . . . , n -i-1. Insbesondere folgt hieraus max^g[_i^i] |Tn-|-i(a:)| = 1, womit alles bewiesen ist. D Unter Verwendung der Rekursionsformel aus dem Satz 4.26 lassen sich die Tschebyscheff-Polynome sogar fiir alle x € IR definieren. Mitt els dieser Rekursionsformel ergeben sich nach kurzer Rechnung beispielsweise
4.6 TschebyschefF-Polynome To{x) Ti(x) T2{x) Tsix) T4(x) Tr,{x)
= = = = = =
171
1, x, 2x^ - 1, 4x^ - 3x, 8 x ^ - 8 x ^ + 1, 16a:^ - 20x^-h 5rr
als die ersten Tschebyscheff-Polynome bis hin zum Grad fiinf. Die Funktionen T2,T3,T4 und Ts sind in der Abbildung 4.2 wiedergegeben.
-1
-0.8
-0.6
-0.4
0
-0.2
02
0.4
0
Abbildung 4.2. Graphen der Tschebyscheff-Polynome T2,T3,T4 und T5 Der folgende Satz besagt nun, dass das mitt els der Nullstellen der Tschebyscheff-Polynome definierte Knotenpolynom ein gewisses Minimierungsproblem auf dem Intervall [—1,1] lost. Satz 4.27. Seien XQ,XI,. Tn+i aus (4.36) sowie
.. ^Xn die Nullstellen des
(jj
{x) := Yl{x - Xi) i=0
das hiermit definierte Knotenpolynom. Dann gilt max |a;(rr)| > a;€[-l,l]
max |a7(x)| a:e[-l,l]
Tschebyscheff-Polynoms
172
4 Splitting-Methoden
fiir jedes
Knotenpolynom
ix):=ll{x-^,: das auf einer beliebigen Wahl der Knoten ^i mit — 1 < ^o < ^i < • • • < Cn ^ 1 basiert. Beweis. Angenommen, es gibt eine bessere Wahl von Knoten ^i mit — 1 < $0 < ^1 < • • • < ^n < 1, so dass max \uj{x)\ < max |a;(x)| a;€[—1,1]
(4.40)
a;e[-l,l]
fiir das zugehorige Knotenpolynom uj(x) := Yii=o(^~~^i) &^^- Wegen (4.40) ist das DifFerenzpolynomp := uj—U dann nicht das NuUpolynom sowie hochstens vom Grade n, da sich die jeweils fuhrenden Terme x^"*"^ von u und uJ gerade ausloschen. Wegen Satz 4.26 (d) stimmt das Polynom uJ bis auf einen konstanten Faktor mit dem Tschebyscheff-Polynom T^+i iiberein und besitzt daher insbesondere auch die in (4.37) genannten Extremwerte x^, z = 0 , 1 , . . . , n + 1 . Sind nun Xi,Xi+i zwei aufeinanderfolgende Extremwerte, so gilt wegen Satz 4.26 (e) und \iJ{xi)\ = \uJ{xi+i)\ =
naax |a;(a:)|.
cce[-i,i]
Wegen (4.40) haben p{xi) und p{xi^i) dann verschiedene Vorzeichen. Nach dem Zwischenwertsatz besitzt p dann mindestens eine NuUstelle in dem Interval] {xi,Xi+i). Da dies ftir jedes Interval! (xi^Xi+i) (i == 0 , 1 , . . . ,n) gilt, hat p mindestens n+ 1 Nullstellen. Da p aber nur ein Polynom vom Hochstgrad n ist, steht dies im Widerspruch zu p ^ 0. • Fiihren wir in dem Vektorraum C([—1,+1]) der auf dem Interval! [—1,-1-1] stetigen Funktionen die Norm 11/11 :=
max
|/(x)|
( / e C([-l,+lJ))
ein, so besagt der Satz 4.27 gerade, dass ||aJ|| < ||a;|| fiir alle Knotenpolynome u gilt.
4.7 Polynomiale Konvergenzbeschleunigung Nach unserem Ausflug in die Theorie der Tschebyscheff-Polynome kehren wir jetzt wieder zuriick zu dem linear en Gleichungssystem Ax = b mit einer
4.7 Polynomiale Konvergenzbeschleunigung
173
zumindest regularen Matrix A G M"^'^ und b e W^. Die exakte Losung ist dann durch X* =A-^b gegeben. Ferner sei eine Folge {x^} durch ein allgemeines Iterationsverfahren der Gestalt a^'^+i := Mx^ + c (vergleiche (4.3)) mit Iterationsmatrix M € R'^^'' und Startvektor x^ G R"^ erzeugt. In diesem Abschnitt beschaftigen wir uns nun mit der Frage, wie man aus der Folge {x^} eine zweite Folge {y^} konstruieren kann, die moglichst schneller gegen die Losung x* konvergiert als die Folge {x^} selbst. Dazu machen wir den Ansatz k
y^ = Y.akix\
(4.41)
d.h., y^ ergibt sich im A;-ten Iterationsschritt als Linearkombination der bereits berechneten Vektoren ^. Die Frage ist nun, wie man die Koeffizienten aki zu wahlen hat, um eine moglichst gut konvergente Folge {y^} zu erhalten. Aufierdem sollte der Aufwand zur Berechnung der y^ moglichst gering sein, insbesondere mochte man nicht wirklich alle Vektoren dazu abspeichern miissen. Zunachst stellen wir fest, dass die Koeffizienten aki der Bedingung
X;«fc^ = l
(4-42)
i=0
gentigen soUten, denn sind ^ zufallig schon gleich der Losung x*, dann soil auch das gemafi (4.41) berechnete y^ gleich x* sein, was gerade die Forderung (4.42) ergibt. Bezeichnen wir mit e^ := x^ - x*
bzw.
d^ := y^ - x*
den Fehler der Grundfolge {x^} bzw. der modifizierten Folge {y^}, so gilt bekanntlich (vergleiche (4.4)) und daher unter Beriicksichtigung von e^ = dP (wegen x^
i=o
k
k
i=0
i=0
i=o
(443)
174
4 Splitting-Methoden
mit dem Matrix-Polynom k
i=Q
Da die KoefRzienten aki so bestimmt werden sollen, dass der Fehler d^ moglichst klein wird, kommt man auf die Idee, den Spektralradius von dem Matrix-Polynom Pk{M) zu minimieren. Letzterer ist zwar im Allgemeinen nicht bekannt, haufig lasst sich jedoch eine geeignete Abschatzung angeben, mit der hier weitergerechnet werden soil. Zu diesem Zweck nehmen wir an, dass die Iterationsmatrix M nur reelle Eigenwerte hat. Ferner gehen wir davon aus, dass wir Schatzungen a und 6 fiir den kleinsten und grofiten Eigenwert von M haben, so dass a
mit a
max |Qfc(A)| A€o-(M) '
'
liber alle Polynome Qfc vom Hochstgrad k mit (wegen (4.42)) losen, betrachten wir stattdessen das einfachere Problem
QA;(1)
= 1 zu
minimiere max |Qfc(A)| Ae[a,6]'
^
"
iiber alle Polynome Qk vom Hochstgrad k mit QkiX) — 1. Ftir dieses Ersatzproblem ist die Losung bekannt und durch ein geeignet transformiertes und normiertes Tschebyscheff-Polynom gegeben. Satz 4.28. Stien a, 6 € R mil a
. ^, ,
2t-b-a
Dann gilt
filr alle Polynome Qk vom Hochstgrad k mit Qfc(l) = 1Beweis. Die Behauptung ist eine unmittelbare Konsequenz des Satzes 4.27. (Beachte hierbei, dass durch die Abbildung F das Intervall [a, b] bijektiv auf das Intervall [—1,4-1] abgebildet wird. Ferner dient der Nenner Tfc(F(l)) lediglich ftir die Normierung Pfc(l) = l.) •
4.7 Polynomiale Konvergenzbeschleunigung
175
Die gesuchten KoefRzienten aki sind also gerade die Koeffizienten des Polynoms Pk aus dem Satz 4.28. Wir woUen uns jetzt iiberlegen, wie man die Rekursionsvorschrift ro(^) = l, Ti{t) = t, Tk^i{t) = 2tTk{t)-Tk-i{t)
furA; = l , 2 , . . .
der Tschebyscheff-Polynome Tk ausnutzen kann, um daraus eine einfache Rechenvorschrift fiir die Bestimmung der Vektoren y^ zu erhalten. Insbesondere woUen wir die Grundfolge {x^} gar nicht explizit berechnen und schon gar nicht alle Vektoren 00 ^ 00 • • • • • 00 '^ abspeichern miissen, da dies den Rechenund Speicheraufwand erheblich vergroBern wiirde. Sei ^, , 2t-b-a ^(^) =
0h — na
wie im Satz 4.28 definiert und daher F(M) =
~ — = M b— a b—a
1. b— a
(4.44)
Dann gilt wegen (4.43) d'=+i=Pfc+i(M)d'' n+iiF{i))
= [(2F{M)Tk(F{M))
- rfc_i(F(M)))/T,+i(F(l)))d»
wobei die letzte Gleichung aus der Relation folgt. Unter Verwendung von df' — y'' — x* ergibt sich hieraus die Darstellung
-'^^^>n+,{F(l)f +x
r,+,(F(l))^
2^Wr.+i(F(l))^
(4.45)
+r,+i(i=^(l))^'
die zwar bereits eine Art Rekursionsvorschrift ftir die Berechnung von y^'^^ ist, aber leider noch von der unbekannten Losung x* abhangt. Die Terme mit X* lassen sich jedoch eliminieren, denn aus Tk+i(F{l)) + n-iiF(l))
=
2F{l)n{F(l))
176
4 Splitting-Methoden
und X* = Mx* + c ^^=> {I - M)x* = c sowie der Definition der Abbildung F folgt
( / - M ) r,(F(i)) 6-a rfc+i(F(l)) 4 Tfc(F(l)) _ b-aTk+i(F{l)) Aus (4.45) ergibt sich daher die Rekursionsformel ^
'''^'''>n^,{F(i)f
n+,{F{i)f
+6-«r,+,(F(i))'=^^-^^^
fiir A; = 1,2, — Setzen wir zur Abkiirzung nocli 2F(l)r,_i(F(l))
'"^ •=
n(F(l))
^'-''^
und substituieren geeignet in (4.46) (unter Verwendung von (4.44) und der Rekursionsformel flir die Tschebyscheff-Polynome), so folgt
^*^'-F(i)^-(^^-^0^^-^(^-^-)^^-^-^ F{l){b-a
c
und daher 3^*^' = j ^ f r ^ ( 2 M / + 2 c - (6 + a ) / ) + (l - p , + i ) / - i aufgrund der Definition von F ( l ) . Setzen wir
7 := ^4^-
(4-48)
so folgt hieraus / + ! = pfc+i (7(M3/* + c) + (1 - 7 ) / ) + (1 flir A: = 1,2, sion:
Pk+i)y''-'
Dabei geniigen auch die pk aus (4.47) einer einfachen Rekur-
4.7 Polynomiale Konvergenzbeschleunigung Pk+l = -
i
,
177
k=l,2,...
Dies ergibt sich unmittelbar aus der Drei-Term-Rekursion der TschebyschefFPolynome, wonach 1
4F(1)2
jpf^Pk
4F(1)^ - Pk 4F(1)' 4i?(l)2 _
2F{i)n-iiF{i)) TkiFil))
4F{lfTk{F{l)) 4F{iyTk{F{l)) - 2F(l)Tfc_i(F(l)) 2F{l)Tk{F{l)) 2Fil)n{F{l))-Tk-i{Fil)) 2F{l)Tk{F{l)) Tk+i(F{l)) Pk+i gilt. Um die obigen Rekursionen ftir y^^^ und p^+i anwenden zu konnen, haben wir schiiefilich nur noch die Startwerte y^,y^ und pi zu bestimmen. Aus der Definition (4.47) folgt sofort 2F{l)To{F{l)) Ti{F(l))
^'
2F(1)1 F(l)
, ^-
Zur Bestimmung von y^ und 2/^ beachten wir zunachst, dass die Polynome PQ und Pi aus dem Satz 4.28 gegeben sind durch
und ^,,
ri(F(t))
2
-6-a
Aus dem Ansatz (4.41) und der Definition von 7 in (4.48) ergibt sich daher y^ = aoox^ — x^ beliebig, y^ = aiox^ + aux^ = aiox^ + a n {Mx^ + c) = 7(Mt/0-fc) + ( l - 7 ) y ^ Zusammenfassend ergeben die obigen Betrachtungen nun das folgende Verfahren, das als Tschebyscheff-Beschleunigung eines Splitting-Verfahrens bezeichnet wird. Dazu wird davon ausgegangen, dass x^'^^ = Mx^ + c die Grundform
178
4 Splitting-Methoden
eines Iterationsverfahrens darstellt, bei welcher alle Eigenwerte von M reell sind. Ferner benotigt man Schatzungen a, h ftir den kleinsten und grofiten Eigenwert Amin und A^ax von M derart, dass moglichst a < Amin < A^ax
1
^
2/*+' = Pfc+1 (7(Mj/* + c) + (1 - 7)2/*) + (1 - P f c + i ) / - ' fur k = 1,2,..., bis ein geeignetes Abbruchkriterium erflillt ist. Die hierbei wesentliche Voraussetzung, dass die Eigenwerte der Iterationsmatrix M aus dem zu Grunde liegenden Splitting-Verfahren alle reell und dem Bet rage nach moglichst kleiner als Eins sind, ist aufgrund des Satzes 4.24 insbesondere fur das SSOR-Verfahren erflillt, sofern die Matrix A selbst symmetrisch und positiv definit ist. Wenden wir die hier beschriebene Konvergenzbeschleunigung auf eben dieses SSOR-Verfahren an und benutzen wir wieder das schon bekannte Beispiel (4.15) mit dem (fiir das SSOR-Verfahren nicht unbedingt optimalen) Parameter Lj — 1.0425, so ergeben sich die Resultate in der Tabelle 4.5, wobei wir a = 0 und 6 = 0.1268 als Intervallgrenzen gewahlt haben, denn die Eigenwerte der Matrix Mssoni'^) sind in diesem Beispiel gegeben durch Ai « 0.0,
A2 ^ 0.0207,
A3 « 0.1268,
wie man mitt els einer einfachen Rechnung leicht bestatigt. Das Verfahren benotigt mit diesen Werten lediglich 5 Iterationen und liefert damit nochmals eine nicht unwesentliche Verbesserung gegentiber dem SOR-Verfahren bzw. dem SSOR-Verfahren, wobei als Abbruchkriterium wiederum der Test \\h-Ay'>\ gewahlt wurde.
4.8 Vergleich der Verfahren In diesem Abschnitt wollen wir die bisher hergeleiteten Verfahren am Beispiel der diskretisierten Poisson-Gleichung aus dem Abschnitt 1.7 miteinander vergleichen. Zunachst sei dazu A — TN die bei der Diskretisierung der eindimensionalen Poisson-Gleichung entstehende Matrix. Wir betrachten also das hneare Gleichungssystem
4.8 Vergleich der Verfahren k rel. Residuum
"o 1.0000000000 1 0.0901438882 2 0.0021547178 3 0.0001017965 4 0.0000027897 5 0.0000001156
x\ X'2 0.0000000000 0.0000000000 57.3705914191 83.8881631148 55.8703053651 87.8237619187 56.0016185753 87.9940650367 55.9998499349 87.9998213091 56.0000018370 87.9999933961
4
179
1
0.0000000000 12.9829192497 15.9170734934 15.9986293026 15.9998611232 15.9999979690
Tabelle 4.5. Numerisches Verhalten des SSOR-Verfahrens mit TschebyscheffBeschleunigung
TNV
= h^f
mit
1 A^+l und der Matrix TN aus (1.8). Als rechte Seite / wahlen wir hier einfach den Vektor
/:=(!,...,If. Die Tabelle 4.6 enthalt die Ergebnisse fiir die verschiedenen Verfahren und fur unterschiedliche Dimensionen n = AT, wenn man als St art vektor
x»:=(0,...,Or wahlt und die Iteration abbricht, sobald die Bedingung ||6-Aa;0||
<e
mit s = 10~^ erfiillt ist. Beim SOR-Verfahren wurde dabei der optimale Parameter cj* im Sinne des Satzes 4.22 gewahlt, wozu man natlirlich den Spektralradius pj der Jacobi-Iterationsmatrix Mj kennen mtisste. Dieser ist allerdings in der Tat bekannt, denn aufgrund des Satzes 1.27 sind die Eigenwerte der symmetrischen und positiv definiten Matrix T/v gegeben durch Xk = 2(l-cos(A;/i7r)),
k=l,...,N.
Daher sind die Eigenwerte der Iterationsmatrix Mj = I — D~^TN des JacobiVerfahrens wegen D = diag(2,..., 2) =21 offenbar gegeben durch \k[Mj)
1 = 1 - ^2(1 - cos{kh'K)) = cos(A;/i7r), fc = 1,..
N.
Deshalb ist PJ = p{Mj)
= Amax(Mj) = COs(/l7r).
Fiir das SSOR-Verfahren ist der optimale Parameter im AUgemeinen nicht bekannt. Aus diesem Grunde haben wir auch fur das SSOR-Verfahren den
180
4 Splitting-Methoden
optimalen Parameter a;* aus dem SOR-Verfahren gewahlt. Gleiches gilt fiir das mit der TschebyschefF-Beschleunigung versehene SSOR-Verfahren (kurz: T-SSOR). Fur das letztgenannte Verfahren haben wir auBerdem die Intervallgrenzen TT a = 0 und 6 = 1 — 2N gewahlt. Die untere Schranke wird hierbei durch den Satz 4.24 motiviert, die obere Schranke allenfalls durch die relativ guten numerischen Resultate. 4
n=^N
Jacobi Gau6-Seidel SOR SSOR T-SSOR
8 16
'66 222 34 112 14 26 20 38 11 16
32
64
800 3025 11741 402 1514 5872 50 97 192 74 148 297 23 34 48^
Tabelle 4.6. Numerisches Verhalten am Beispiel der eindimensionalen diskretisierten Poisson-Gleichung
Die Tabelle 4.6 zeigt, dass alle betrachteten Verfahren zumindest konvergieren, was aufgrund der Symmetrie und positiven Definitheit der Matrix T/v von der Theorie her auch abgesichert ist. Allerdings ist die jeweils benotigte Anzahl an Iterationen sehr unterschiedlich. Sowohl das Jacobi- als auch das Gaufi-Seidel-Verfahren brauchen insgesamt sehr viele Iterationen, wobei das Jacobi-Verfahren sogar in etwa die doppelte Anzahl benotigt wie das Gaui^ Seidel-Verfahren. Das (optimale) SOR-Verfahren ist beiden Verfahren weit iiberlegen. Die Iterationszahl beim SSOR-Verfahren hingegen liegt um etwa die Halfte hoher als beim SOR-Verfahren. Allerdings sei hier ausdrticklich darauf hingewiesen, dass wir ftir das SOR-Verfahren den optimalen Parameter haben wahlen konnen, wahrend dies fiir das SSOR-Verfahren nicht der Fall ist. Da dieser optimale Parameter im AUgemeinen nicht bekannt ist und das SSOR-Verfahren meist weniger anfallig auf die Wahl des Parameters co reagiert als das SOR-Verfahren, hat man den Vergleich hier mit Vorsicht zu geniefien. Die mit Abstand besten Resultate werden allerdings mit dem Tschebyscheff-beschleunigten SSOR-Verfahren erzielt. Wir kommen jetzt zur Betrachtung der Matrix A = T^xN^ die bei der Diskretisierung der zweidimensionalen Poisson-Gleichung auftritt. Wir interessieren uns also fiir das numerische Verhalten unserer Verfahren fur das lineare Gleichungssystem TNXNV
mit
TN xN €
=
/l^/
[n:=N'^) gemafi (1.13), h:=
1 AT+l
4.8 Vergleich der Verfahren
181
und der rechten Seite /:=(1,...,1)''GR".
Startvektor und Abbruchkriterium seien dabei wie eben gewahlt. Die zugehorigen numerischen Resultate fiir das SOR-Verfahren, das SSORVerfahren und das mit der Tschebyscheff-Beschleunigung versehene SSORVerfahren sind in der Tabelle 4.7 angegeben. Die Iterationszahlen fiir das Jacobi- und das Gaufi-Seidel-Verfahren werden gar nicht erst aufgelistet. Sie sind deutlich schlechter als fiir die tibrigen Methoden. An dieser Stelle muss natiirhch wieder etwas iiber die Wahl der entsprechenden Parameter gesagt werden. Fiir das SOR-Verfahren wurde wieder der optimale Parameter a;* gemaC Satz 4.22 gewahlt, da sich der Spektralradius pj der Jacobi-Iterationsmatrix auch fiir die Matrix A = T^xN explizit angeben lasst. Aufgrund des Satzes 1.29 sind die Eigenwerte von T^^N namlich gegeben durch
Die Eigenwerte der Iterationsmatrix Mj == I — D'^T^XN Verfahrens lauten wegen D = diag(4,..., 4) —41 daher Kj{Mj)
= 1 - \K,
des Jacobi-
== 1 - ( ^ s i n ^ ( ^ ^ ^ i ^ ) + sin2(
2(Ar + i)
fiir i,j — 1 , . . . , AT. Dieser Ausdruck wird offenbar fiir z = j = 1 am grofiten, woraus sich /?7r pj - A„,ax(Mj) = 1 - 2sin2(—) ergibt. Wegen der fiir alle x G M giiltigen Beziehung 1 - cos{x) = 2sin^(|) erhalt man dann wieder pj — cos (/iTr) und damit letztlich einen analogen Ausdruck wie im Falle der Matrix T/vDer optimale Parameter uo beim SSOR-Verfahren hingegen ist nicht bekannt, wir wahlen daher auch beim SSOR-Verfahren wieder den optimalen Parameter a;* aus dem SOR-Verfahren. Fiir das mit der Tschebyscheff-Beschleunigung versehene SSOR-Verfahren haben wir ebenfalls die Grofie a; = CJ* aus dem SOR-Verfahren genommen. Kritisch ist hier allerdings auch noch die Wahl der Intervalls [a, 6]. Fiir a kdnnen wir aufgrund des Satzes 4.24 wieder getrost den NuUpunkt wahlen. Fiir h haben wir hingegen einfach ^ = 1 — 2?7 gesetzt, was erneut nur durch die relativ guten numerischen Resultate zu rechtfertigen ist. Die Tabelle 4.7 zeigt qualitativ ein ahnliches Verhalten wie die Tabelle 4.6: Das (optimale) SOR-Verfahren ist dem (allerdings nicht optimalen) SSORVerfahren iiberlegen, wenngleich der Unterschied hier deutlich geringer ist als beispielsweise noch in der Tabelle 4.6. Hingegen werden die deutlich besten
182
4 Splitting-Methoden \n = N'^ 4 16 64 2561 y 14 26 ~50l SSOR 8 16 30 57 T-SSOR 6 11 16 24
Tabelle 4.7. Numerisches Verhalten von SOR-, SSOR- und T-SSOR-Verfahren fiir die zweidimensionale diskretisierte Poisson-Gleichung
Resultate wiederum mit dem TschebyschefF-beschleunigten SSOR-Verfahren erzielt. Im folgenden Kapitel werden wir mit dem CG-Verfahren allerdings eine weitere Methode zur Losung von symmetrischen und positiv definiten Gleichungssystemen einfiihren, die selbst dem Tschebyscheff-beschleunigten SSOR-Verfahren oft liberlegen ist und dabei keinerlei Informationen uber irgendwelche Eigenwerte bendtigt.
Aufgaben Aufgabe 4 . 1 . (Konvergenz bei regularem Splitting) Seien A G W""^ eine gegebene Matrix mit A"^ > 0 und A = B + (A- B) ein so genanntes reguldres Splitting von A^ d.h., B ist hierbei eine regulare Matrix mit B'^ > 0 und B -A>0. Dann ist p{I - B'^A) < 1. Aufgabe 4.2. Zeigen Sie, dass eine Tridiagonalmatrix genau dann irreduzibel ist, wenn alle Nebendiagonalelemente von Null verschieden sind. Aufgabe 4.3. Zeigen Sie, dass die Matrix TpjxN aus (1.13) (Diskretisierung der zweidimensionalen Poisson-Gleichung) irreduzibel ist. Aufgabe 4.4. Sei TjsjxN wieder die Matrix aus (1.13). Zeigen Sie, dass die Inverse T^x^v nichtnegativ ist. Hinweis: Es geniigt zu zeigen, dass T^^NX = b fiir alle 6 > 0 eine nichtnegative Losung besitzt, was beispielsweise konstruktiv durch Anwendung des JacobiVerfahrens geschehen kann. Aufgabe 4.5. Begriinden Sie ausflihrlich, warum die Matrizen Tjv und T^xN konsistent geordnet sind. Aufgabe 4.6. (Richardson-Verfahren) Betrachte das so genannte Richardson-Verfahren ^k+i _ ^j _ ^^^^fc _,_ ^^^
/c = 0 , 1 , . . . ,
mit a; G M und x^ € R" beliebig. Dies entspricht einer allgemeinen SphttingMethode mit B := —I und der Iterationsmatrix
AUFGABEN MR{U))
183
:= I - (JUA.
Sei nun A symmetrisch und positiv definit mit Amin und Amax als kleinstem und grofitem Eigenwert. Zeigen Sie: (a) Es ist P[MR{CJ)) = max {|1 - u^AmaxI, |1 - ^Aminl} Va; G R. (b) Das Richardson-Verfahren konvergiert genau dann, wenn u G (O, 2/Amax) ist. (c) Der Wert LO
fur alle /ii,/i2 G [0,pj] mit pi < //2 gilt. Aufgabe 4.8. Verifizieren Sie die Gtiltigkeit von p{Mas) den Voraussetzungen des Satzes 4.21.
= p{Mj)^
unter
Aufgabe 4.9. (Uzawa-Verfahren) Betrachte das lineare Gleichungssystem
mit A e R''^'^ symmetrisch positiv definit, B e W^^"^ mit Rang(B) =- m sowie b G W^^c G W^. Ein solches Gleichungssystem tritt beispielsweise als Optimalitatsbedingung bei der Losung von quadratischen Optimierungsproblemen der Form minimiere -x^Ax
— b'^x unter der Nebenbedingung
B^x = c
auf. Zeigen Sie: (a) Die Koeffizientenmatrix in (4.49) ist regular. (b) Die Matrix S := B'^A~^B ist symmetrisch positiv definit. (c) Das so genannte Uzawa-Verfahren Wahle (x^, y^) G E^ x M"^ und uj^^. FOR A; = 0 , 1 , . . . ^fc+i :^A-^{b-By^)yk+i :=yk^^(^B^xk+i _^y^ END konvergiert genau dann gegen eine Losung des linearen Gleichungssystems (4.49), wenn a; G (0,2/An,ax(*S)) gilt.
184
4 Splitting-Methoden
(d) Der optimale Relaxationsparameter lautet cj* := j
(S)+\ • (S) •
Aufgabe 4.10. Sei Tn das n-te TschebyschefF-Polynom. Zeigen Sie: (a) Fur n G N gerade ist Tn eine gerade Funktion, also T^(x) = Tn{—x) ftir alle X £R. (b) Ftir n G N ungerade ist Tn eine ungerade Funktion, also —Tn{x) = Tn{—x) flir alle a: G R. Aufgabe 4.11. Seien n G N fest gewahlt und Tn das n-te TschebyscheffPolynom. Dann gilt fiir alle Polynome p vom Hochstgrad n und alle a: G M mit \x\ > 1 die Ungleichung \P{X)\ <
\\p\UTn{x)\,
wobei wir zur Abkiirzung ||^||oo •= Kiax^€[-i,i] b('^)l gesetzt haben. Aufgabe 4.12. Die durch
[/„W := 2^^i«?±il^^:H£^, sin(arccosa:)
n = 0,l,2,...
definierte Abbildung Un - [—1,4-1] —^ M heiCt n-tes zweiter Art. Zeigen Sie:
Tschebyscheff-Polynom
(a) Es gilt die Drei-Term-Rekursion Un+i{x) = 2xUn{x) -Un-i{x),
n = 1,2,...
mit Uo{x) = 1 und Ui{x) = 2x. (b) Un ist ein Polynom vom Grad n. (c) Un hat die n reellen NuUstellen Xi : = c o s ( — — - ) , \ n + 1/
2 = l,...,n.
(d) Un besitzt die Darstellung n
Un(x) = 2"Ylix-Xi), i=l
wobei die Xi die NuUstellen aus dem Teil (c) bezeichnen. Hinweis zu (a): Man verwende die fiir n =^ 1,2,... giiltige Formel sin ((n + l)z) = 2sin(n2:) cos(2;) — sin ((n — l)z).
AUFGABEN
185
Aufgabe 4.13. Sei A € M'^^^ eine Blockmatrix der Gestalt An
'-' AiN ''
ANN
so dass die Diagonalblocke An € R'^^^'^^ (rnit X^^^i rii = n) alle regular sind. Wie konnten dann entsprechende Block-Varianten des Gesamtschritt- und Einzelschrittverfahrens aussehen? Aufgabe 4.14. Implementieren Sie sowohl das Jacobi- als auch das GaufiSeidel-Verfahren. Testen Sie beide Verfahren an geeigneten Beispielen und verifizieren Sie insbesondere die hiermit in diesem Kapitel dargestellten Result ate. Aufgabe 4.15. Implementieren Sie das SOR-, das SSOR- und das mit den Tschebyscheff-Polynomen beschleunigte SSOR-Verfahren. Testen Sie alle drei Verfahren an verschiedenen Beispielen und verifizieren Sie die in diesem Kapitel vorgestellten Ergebnisse.
C G—Ver fahr e n
Dieses Kapitel beschaftigt sich ausschliefilich mit dem so genannten C G Verfahren (CG = Conjugate Gradients) zur Losung von linearen Gleichungssystemen mit einer symmetrischen und positiv definiten KoefRzientenmatrix. Das CG-Verfahren ist heute wohl die wichtigste Methode zur Losung solcher Gleichungssysteme und dient gleichzeitig als Ausgangspunkt oder zumindest Motivation zur Konstruktion der in den nachsten beiden Kapiteln zu beschreibenden Krylov-Raum-Methoden ftir lineare Gleichungssysteme mit nicht notwendig symmetrischer oder positiv definiter Matrix. Im Abschnitt 5.1 beginnen wir zunachst mit einer klassischen Herleitung des CG-Verfahrens, die letztlich auf Ideen aus der Optimierung basiert. Der Abschnitt 5.2 beschaftigt sich dann mit einigen Charakterisierungen der durch das CG-Verfahren erzeugten Iterierten. Eine Konvergenzanalyse folgt im Abschnitt 5.3 und dient anschhefiend als Motivation zur Behandlung des prakonditionierten CG-Verfahrens im Abschnitt 5.4. Dieses prakonditionierte CG-Verfahren beruht letztlich auf der Verwendung eines geeigneten Vorkonditionierers, so dass wir in den Abschnitt en 5.5 und 5.6 einige mogliche Prakonditionierer vorstellen. Im Abschnitt 5.7 wird dann gezeigt, wie sich das CG-Verfahren zur Losung von beliebigen linearen Gleichungssystemen (nicht notwendig symmetrisch oder positiv definit) verwenden lasst, wenngleich wir hierfur spater noch andere Methoden kennen lernen werden, die den hier beschriebenen Verfahren im AUgemeinen liberlegen sind.
5.1 Herleitung des CG—Verfahrens Das von Hestenes und Stiefel [35] stammende CG-Verfahren dient zur Losung von linearen Gleichungssystemen mit einer symmetrischen und positiv definiten Matrix. Prinzipiell handelt es sich hierbei um ein direktes Verfahren, da es theoretisch nach endlich vielen Schritten (namlich n) die exakte Losung des linearen Gleichungssystems findet. In der Praxis wird das CG-Verfahren aber vor allem ftir Probleme von groBer Dimension benutzt, so dass man eigentlich
188
5 CG-Verfahren
gar nicht n Schritte ausftihren mochte. Tatsachlich findet das CG-Verfahren oft schon nach sehr viel weniger Schritten eine brauchbare Naherung an die exakte Losung, so dass das CG-Verfahren iibhcherweise als eine iterative Methode angesehen wird. Dieser Abschnitt beschreibt nun einen klassischen Zugang zu diesem CGVerfahren. Dazu benotigen wir das folgende Result at. Lemma 5.1. Seien A G R^^'^ symmetrisch und positiv definit sowie b eW^ beliebig gegeben. Dann ist x* genau dann eine Losung des linearen Gleichungssystems Ax = b, wenn x* die Funktion f(x) := -x'^Ax - b'^x minimiert. Beweis. Der Beweis ergibt sich unmittelbar aus den bekannten notwendigen und hinreichenden Optimalitatskriterien ftir das Vorliegen eines Minimums einer zweimal stetig differenzierbaren Funktion, vergleiche etwa [24]. Der Vollstandigkeit halber geben wir an dieser Stelle einen hiervon unabhangigen Beweis an. Da A positiv definit ist, existiert die inverse Matrix A~^ und ist ebenfalls positiv definit. Wir definieren nun eine zweite Funktion g{x) := f{x) + ^ 6 ^ - 1 6 und bemerken, dass sich g von / lediglich um einen konstanten Term unterscheidet. Aus diesem Grunde ist x* genau dann ein Minimum von / , wenn X* die Funktion g minimiert. Nun zeigt eine elementare Rechnung allerdings, dass sich g auch schreiben lasst als
g{x)^^{Ax-brA-HAx-b). Die positive Definitheit von A~^ impliziert daher, dass x* genau dann ein Minimum von g (und somit von / ) ist, wenn Ax* = b gilt. Damit ist bereits alles bewiesen. • Die Herleitung des CG-Verfahrens erfolgt nun durch Minimierung der quadratischen Funktion / aus dem Lemma 5.1. Dies geschieht mitt els eines Verfahrens, das im Prinzip in dem folgenden Result at angegeben wird. Lemma 5.2. Seien f{x) := ^x'^Ax — b'^x mit A G M^^'^ symmetrisch und positiv definit und b eW^ sowie x^ G M^. Seien weiter dP^d^,... ,d^~^ G M^ vom Nullvektor verschiedene Vektoren mit {dYAd^=0
furalleiJ
= 0,..,,n-l,iy^j.
(5.1)
5.1 Herleitung des CG-Verfahrens
189
Dann liefert das Verfahren der sukzessiven eindimensionalen Minimierung Idngs der Richtungen d^,d^,... ,d'^~^, d.h., die Berechnung der Folge {x^} aus ^k+i
._ ^k ^ ^^^k
(52)
mit tk aus f{x^ + tkd^) = min f{x^ + td^),
(5.3)
A: = 0, l , . . . , n — 1; nach (spdtestens) n Schritten mit x^ das Minimum x* von f. Weiter gelten fiir A; = 0, l , . . . , n — 1 mit g^ :— Ax^ — b: ig^Yd^
'" = -jdFrAdF
^^-^^
und (^gk+^Ydi =Q,
j = 0,l,...,k.
(5.5)
Beweis. Schreiben wir (p{t) := f{x^ + td^), so haben wir zur Bestimmung von tk wegen (5.3) die Funktion (p zu minimieren. Aus der (notwendigen und hinreichenden) Bedingung ^'{tk) = 0 ergibt sich unmittelbar die Darstellung (5.4) ftir die Schrittweite tk (man beachte, dass hierbei (d^yAd^ > 0 gilt aufgrund der positiven Definitheit von A). Aus x^+^ = x^ + tkd^ folgt daher {g^+^fd^
=
{Ax^+^-byd^
= {Ax^-b + tkAd^yd^ = {g^Yd^-^tk{d^YAd^
(^•^)
^'^^ 0
(A; = 0 , . . . ,n — 1). Unter Verwendung der wegen (5.1) fiir i ^ j geltenden Gleichungen
{g"^^ - gTd^ = {^x'+^ - AxYd^ = tiidYAd^
=o
erhalt man mit (5.6) ftir j = 0,... ,k: k
{g'+'rd^ = W^'Yd^ + Y. (^'^' - 9Td^ = 0, i==j+l
also die Behauptung (5.5). Da die Vektoren d^,..., d'^~^ wegen (5.1) bezuglich des Skalarprodukts {U,V)A
:=U'^AV
(5.7)
paarweise orthogonal und somit linear unabhangig sind, folgt aus (5.5) sofort p^ =r 0, so dass x'^ wegen Lemma 5.1 eine Minimum der quadratischen Funktion / ist. •
190
5 CG-Verfahren
Vektoren dP,... ,d'^~^ mit der Eigenschaft (5.1), die also beziiglich des Skalarprodukts (5.7) paarweise orthogonal sind, werden als A-konjugiert oder als A-orthogonal bezeichnet. Um sich A-konjugierte Vektoren dP^.-.^dP'^^ zu verschafFen, kann man das Gram-Schmidtsche Orthogonalisierungsverfahren beziiglich des Skalarprodukts (5.7) auf eine beliebige Basis des W^ anwenden. Wir wollen jedoch d^,..., d^~^ nicht vorab berechnen, um dann anschliefiend das Verfahren aus Lemma 5.2 zu starten, sondern d^,(i^,... soUen im Laufe dieses Verfahrens sukzessive erzeugt werden. Dabei woUen wir es so einrichten, dass der jeweils neu berechnete Vektor d^ eine Abstiegsrichtung fiir / in x^ ist, also Vf{x^Yd^ < 0 gilt. Wir starten deshalb mit d» := - V / ( x » ) =
-g\
Nun gehen wir davon aus, dass bereits £ + 1 Vektoren
flir 2, j = 0 , . . . , £ mit i ^ j
(5.8)
vorliegen (i e { 0 , . . . , n — 2}). Nach dem Beweis von Lemma 5.2 gelten dann (5.4) und (5.5) flir A; = 0 , . . . ,^. Weiter wird angenommen, dass g^'^^ ^ 0 gilt (wegen g^'^^ = Vf{x^^^) bedeutet dies, dass der Punkt x^+^ noch nicht das gesuchte Minimum ist). Nach der Idee des Gram-Schmidtschen Orthogonalisierungsverfahrens, bezogen auf das Skalarprodukt (5.7), machen wir ftir d^^^ den Ansatz
d'+^:=-9'^' + J2p!d\
(5.9)
Die Verwendung von p^"*"^ in diesem Ansatz ist sinnvoll, da dieser Vektor wegen (5.5) und g^'^^ ^ 0 nicht in dem von d^,... ,d^ aufgespannten Raum liegt. Die Forderung
(d'+'rAd^ = o, j = o,...,e, ist, wie man unter Verwendung von (5.8) sofort verifiziert, genau dann erftillt, wenn ^ i -
{diYAdi
^^•^^'
gewahlt wird (j = 0 , . . . ,£). Mit diesen KoefRzienten /3j gibt (5.9) die Berechnungsvorschrift fiir den neuen Vektor d^'^^. Um einzusehen, worin der Vorteil der beschriebenen Konstruktion Hegt, schliefien wir noch zwei Uberlegungen an. Multipliziert man (5.9) von Hnks mit {g^'^^Y^ so erhalt man mit (5.5):
wobei wir hier und im Folgenden von der euklidischen Norm || • || = || • II2 Gebrauch machen. Wie angekiindigt, ist d^+^ also (wegen g^'^^ = V/(x^+^))
5.1 Herleitung des CG-Verfahrens
191
eine Abstiegsrichtung flir / in x^"*"^, und wegen (5.4) ist ti+i > 0. Hat man in den vorhergehenden Schritten d^ entsprechend konstruiert wie jetzt d^^^, so hat man ( / ^ d * = - i i / f < 0 , k = o,i,...,e+i, (5.11) sowie tfc > 0, /c = 0 , 1 , . . . , ^ + 1. Wir leiten nun eine weitere Orthogonalitatseigenschaft her (zu den bereits bekannten Orthogonalitatseigenschaften (5.5) und (5.8)): Flir j = 0 , . . . ,£ ist (man beachte die fur j anstelle von i-\-l angeschriebenen Gleichungen (5.9))
i=0
woraus man wegen (5.5) erhalt: (/+')V=0,
j = 0,l,...,£.
(5.12)
Hiermit kann man nun den entscheidenden Vorteil der obigen Konstruktion einsehen: Flir die rechte Seite von (5.10) gilt wegen g^~^^ —g^ — Ax^^^ — Ax^ = tjAd^ und tj > 0 flir j = 0 , 1 , . . . ,^:
{g'^'rAd^ =
^{g'+'ng^^'-g^);
aus (5.12) folgt somit /3j=0,
j =
Q,l,...,e-l,
und daher mit (5.4), (5.10), (5.11) und (5.12):
Die Berechnungsvorschrift (5.9) ftir den neuen Vektor 0?^+^ hat sich also reduziert auf Es sei noch angemerkt, dass die Vektoren g^ — Ax^ — b wegen gk+i _ /
=: ^^fe+i _ Ax^ = tkAd^
von Schritt zu Schritt aufdatiert werden konnen, ohne dass eine zweite MatrixVektor-Multiplikation ausgefiihrt werden muss (das Matrix-Vektor-Produkt Ad^ ist ja schon aus der Berechnung der Schrittweite tk bekannt). Schliefilich kann man pro Iteration noch eine Skalarproduktauswertung sparen, wenn man (5.4) mit (5.11) umformt zu
Insgesamt haben wir damit das folgende Verfahren vorliegen.
192
5 CG-Verfahren
Algorithmus 5.3. (CG-Verfahren) Wahlex^ eR"". Seize g^ := Ax^ - b und dP := -g^. FOR A;-= 0 , 1 , 2 , . . .
^k+i :=x^ + tkd^; gk+^:=g^ + tkAd^-
END Haufig wird das CG-Verfahren nicht mit Hilfe des Gradienten p^ = Ax^ — b formuliert, sondern unter Verwendung des Residuenvektors r^ := b — Ax^. Wegen r^ = —g^ ergeben sich allerdings keine grofie Anderungen in den Vorschriften das Algorithmus 5.3. Wir fassen unsere bisherigen Betrachtungen in dem folgenden Konvergenzsatz ftir das CG-Verfahren aus dem Algorithmus 5.3 zusammen. Satz 5.4. Seien f{x) :— ^x'^Ax — b'^x mit A G W^^'^ symmetrisch und positiv definit und 6 G R^. Dann liefert der Algorithmus 5.3 nach hochstens n Schritten das Minimum x* von f. 1st m £ { 0 , . . . , n} die kleinste Zahl mit ^m ~ X*^ so gelten folgende Konjugiertheits-, Orthogonalitdts- und Abstiegseigenschaften: {d^YAd^ = 0 ,
A;=l,...,m, i = 0,...,A:-l,
(/)V=0,
/c = l , . . . , m ,
{g^Yd^ = 0^
k = l,...,m,
{g''Yd' = -\\g'f.
i-0,...,/c-l, i = 0,...,A;-l,
^ = 0,...,m.
Beweis. 1st p"^ = 0 ftir ein m < n, so bricht der Algorithmus mit x"^ = x* ab. Anderenfalls sind, wie bei der Herleitung des Verfahrens bewiesen wurde, die von 0 verschiedenen Vektoren d^,... ,d^~^ paarweise ^-konjugiert, so dass aus Lemma 5.2 unmittelbar x" = x* folgt. Die Giiltigkeit der tibrigen Behauptungen ergibt sich ebenfalls aus der obigen Herleitung bzw. aus dem Beweis von Lemma 5.2 (man vergleiche insbesondere (5.12), (5.5) und (5.11)). D
Der Hauptaufwand beim Algorithmus 5.3 besteht in der Berechnung des Matrix-Vektor-Produktes Ad^. Da dieses gleich zweimal benotigt wird, soUte man es in einem Vektor z^ := Ad^ gesondert abspeichern. Auch die Berechnung der Grofie Wg^W^ kann im A;-ten Iterationsschritt entfallen, da sie bereits aus der vorhergehenden Iteration bei der Bestimmung von Pk-i bekannt ist. Insgesamt ergibt sich daher die folgende Aufwandsberechnung pro Iteration beim CG-Verfahren:
5.1 Herleitung des CG-Verfahrens
193
1 Level 2-Operation und 5 Level 1-Operationen, wobei wir als eine Level 1-Operation einen Rechenvorgang mit 0{n) und als Level 2-Operation einen Rechenvorgang mit 0{n'^) Flops bezeichnen. Die Level 2-Operation tritt ftir die Matrix-Vektor-Multiplikation z^ := Ad^ auf, und die 5 Level 1-Operationen verteilen sich wie folgt: 2 Skalarprodukte (fiir {d^)^z'' und (p^+^)^p^+^) und 3 saxpy's (ftir x^+^,^^+^ und d^+^), wobei man unter einer saxpy-Operation die Berechnung eines Ausdrucks der Gestalt ax + y im x.yeR'^^aeR versteht (saxpy = scalar alpha times x plus y). Ansonsten lassen sich die Vektoren x, g und d im Algorithmus 5.3 oifenbar iiberschreiben. Zusammen mit z := Ad braucht man zur Durchflihrung des CG-Verfahrens neben der Matrix A also nur vier Vektoren abzuspeichern. Ferner muss die Matrix A im Allgemeinen nicht als zweidimensionales Feld verfugbar sein, denn benotigt wird lediglich eine Berechnungsvorschrift ftir die Abbildung d »-» Ad. Diese Eigenschaft lasst das CG-Verfahren bei grofien und dtinn besetzten Matrizen als besonders geeignet erscheinen. Wir testen das CG-Verfahren zunachst an dem einfachen Beispiel aus (4.15). Die mit dem Algorithmus 5.3 erzielten Ergebnisse finden sich in der Tabelle 5.1, wobei als Startvektor ftir alle Rechnungen mit dem CG-Verfahren in diesem Abschnitt wieder x»:=(0,...,0)" gewahlt wurde. Ebenso ist auch das Abbruchkriterium wieder durch das relative Residuum
\\b-Ax^\\ \\b-Ax^\
<£
10-
gegeben. Die Tabelle 5.1 bestatigt unser theoretisches Resultat, wonach das CG-Verfahren ftir das dreidimensionale Beispiel aus (4.15) nach spatestens drei Iterationen mit der exakten Losung des Problems abbrechen soil. k rel. Residuum 0 1 2 3
x'^ X2 1.0000000000 0.0000000000 0.0000000000 0.3395760729 43.4782608696 86.9565217391 0.0204352151 55.1755175518 88.3888388839 0.0000000000 56.0000000000 88.0000000000
x's 0.0000000000 0.0000000000 16.4716471647 16.00000000001
Tabelle 5.1. Numerisches Verhalten des CG-Verfahrens fiir das Beispiel aus (4.15)
194
5 CG-Verfahren
Die Tabellen 5.2 und 5.3 geben die jeweils benotigten Iterationszahlen an, die das CG-Verfahren zur Losung der ein- und zweidimensionalen diskretisierten Poisson-Gleichung braucht, wobei wieder unterschiedliche Dimensionen betrachtet werden. Offenbar sind die hier mit dem CG-Verfahren erzielten Ergebnisse deutlich besser als bei alien vorher betrachtet en Splitting-Verfahren. In der Tat ist das CG-Verfahren in der Klasse der iterativen Methoden heute das Verfahren zur Losung linearer Gleichungssysteme mit symmetrischen und positiv definiten Matrizen. Man beachte hierbei, dass das CG-Verfahren auch ohne irgendwelche Vorinformationen auskommt, d.h., man hat keinen Parameter optimal zu wahlen und benotigt auch keine Kenntnisse iiber den Spektralradius oder die Eigenwerte der Matrix A oder einer hiermit im Zusammenhang stehenden Matrix. AUerdings wird das Verfahren in der Praxis oft vorkonditioniert, wobei hier die vorher besprochenen Splitting-Methoden zumindest eine gewisse Rolle spielen. Wir werden hierauf im Abschnitt 5.5 zuriickkonmien. n = N 4 8 16 32 64 128 #it. 2 4 8 16 32 64 Tabelle 5.2. Numerisches Verhalten des CG-Verfahrens fiir die eindimensionale diskretisierte Poisson-Gleichung
n = N'^4 16 64 256 1024 #it. 1 3 10 25 51 Tabelle 5.3. Numerisches Verhalten des CG-Verfahrens fiir die zweidimensionale diskretisierte Poisson-Gleichung
Die Abbildung 5.1 enthalt den Verlauf der relativen Residuen fiir das Beispiel der zweidimensionalen Poisson-Gleichung mit N = 32 (also n — 1024). Der in der Abbildung 5.1 zu beobachtende nichtmonotone Verlauf hangt damit zusammen, dass das Residuum hier in der euklidischen Norm gemessen wird, wahrend das im nachsten Abschnitt zu beweisende Lemma 5.7 einen monoton fallenden Verlauf lediglich in der Norm || • ||^-i/2 garantiert (zur Definition dieser Norm vergleiche das Lemma 1.17). Die Abbildung 5.2 schlieBlich enthalt die vom CG-Verfahren fiir das zweidimensionale Poisson-Problem erzeugten Naherungsldsungen nach k = S,k = 16, A; = 24 und A; = 51 Iterationen. Man beachte hierbei den nur noch geringen Unterschied der Losungen nach k = 24 und A: = 51 Iterationsschritten. Bemerkung 5.5. Das hier vorgestellte CG-Verfahren wird manchmal auch als lineares CG-Verfahren bezeichnet, da es sich um ein CG-Verfahren zur
5.2 Charakterisierungen des CG-Verfahrens
195
Abbildung 5.1. Verlauf des relativen Residuums beim CG-Verfahren Losung eines linearen Problemes (namlich des linearen Gleichungssystems Ax — h) handelt. Im Gegensatz hierzu werden die nichtlinearen CG-Verfahren in der unrestringierten Optimierung benutzt, um Minimierungsprobleme von hoher Dimension zu losen, vergleiche [24].
5.2 Charakterisierungen des CG-Verfahrens Wir untersuchen in diesem Abschnitt wieder das CG-Verfahren zur Losung eines linearen Gleichungssystems Ax = b mit einer symmetrischen und positiv definiten Matrix A G M"^^. Dazu verwenden wir wieder die Notation aus dem vorigen Abschnitt, insbesondere ist also
Ax^ - b r^=
und
b-Ax^ (= - / ;
Ferner bezeichnen wir mit )Ck :-/Cfe(r^^) - s p a n { r ^ ^ r O , . . . , A ^ - V } den von dem Anfangsresiduum r^ und der Matrix A aufgespannten A;-ten Krylov-Raum. Diverse Eigenschaften dieses Krylov-Raumes werden im Abschnitt 6.1 naher untersucht und in den Kapiteln 6 und 7 noch von grofiter Bedeutung werden. An dieser Stelle benutzen wir das Symbol JCk einfach als bequeme Kurzschreibweise. Das Ziel dieses Abschnittes besteht darin, die durch das CG-Verfahren aus dem Algorithmus 5.3 erzeugten Iterierten x^ auf unterschiedliche Weise zu charakterisieren. Es wird sich dabei herausstellen, dass diese Iterierten eine
196
5 CG-Verfahren
0.1-,
0.05
0
0
0
0
0
0
O.U
0.05
0.05
0
0
Abbildung 5.2. Durch das CG-Verfahren erzeugte Naherungslosungen nach k 8,16,24 und 51 Iterationen Reihe von sehr wiinschenswerten Eigenschaften besitzen, die sich spater zum Teil verallgemeinern lassen, um damit weitere Verfahren zur Losung von nicht notwendig symmetrischen oder positiv definiten Matrizen herzuleiten. Als Hilfsmittel benotigen wir zunachst das folgende Result at, welches einige Darstellungen des Krylov-Raumes JC^ angibt, wobei der hier auftretende Vektor d^ nattirlich die Suchrichtung aus dem CG-Verfahren ist. Lemma 5.6. Bricht das CG-Verfahren aus dem Algorithmus 5.3 nicht vorzeitig ah, so gelten die Identitdten span{d^,d^,.,.,
d^~^} = spanig^, g^ = spanlr ^,r\...,r^-^} = span{r^,Ar^,. ^fc-l^O}
(5.15)
fiir A; = 0,1, Beweis. Die erste Gleichheit ergibt sich unmittelbar aus der Tatsache, dass sich die Vektoren d* gerade durch Gram-Schmidt-Orthogonalisierung aus den Gradient en p* ergeben haben, so dass sie denselben Raum aufspannen. Die
5.2 Charakterisierungen des CG-Verfahrens
197
zweite Gleichheit folgt sofort aus r* = —^% und die letzte Gleichung ist lediglich die Definition des Krylov-Raumes JCk- Damit bleibt nur noch die Identitat s p a n { r ^ r ^ . . . , r ^ - i } = s p a n j r ^ ^ r ^ . . . , A^-V^} zu verifizieren, was durch Induktion nach k geschehen kann und dem Leser als Aufgabe 5.2 uberlassen bleibt. D Aufgrund der Definition des CG-Verfahrens ist fc-i
x^
= a:0 + 5]M', z=0
so dass wir aus dem Lemma 5.6 die Beziehung x^ ex^ + s p a n { d ^ d \ . . . , d ! " - ^ ] = x ^ - ^ 1 C k erhalten. Die A;-te Iterierte x^ des CG-Verfahrens ist also stets ein Element des affinen Raumes x^ + /Cfc. Tatsachhch handelt es sich bei x^ sogar um das (eindeutig bestimmte) Minimum der Funktion f{x) — \x'^Ax — h^x auf diesem Raum. Die A-Konjugiertheit der Vektoren d^^d},... ,d^~^ und die sich hieraus ergebende Identitat
implizieren namlich k-l
f{x'
k-1
+ J^ aid') = J2 {^a^idT^d' i=0
+ ai{Ax^ - 6)^d^) + /(x^;
i=0 k-l
i=0 fc-1
ftir behebige KoefRzienten a^ G M. Die Summe auf der rechten Seite wird dabei genau dann minimal, wenn jeder Summand minimal ist, was offenbar genau fiir a^ = ti mit ti aus dem CG-Verfahren der Fall ist. Die k-te Iterierte des CG-Verfahrens ist somit gerade die Losung des Minimierungsproblems minimiere f{x)
u.d.N.
x £ x^ -\- /Cfc-
Hierfiir gilt nun die nachstehende Charakterisierung.
198
5 CG-Verfahren
Lemma 5.7. Seien A G W^^^ symmetrisch und positiv definit sowie b e W^ gegeben und x* := A~^b die Losung des linearen Gleichungssystems Ax = b. Dann sind die folgenden Aussagen dquivalent: (a) x^ minimiert f auf x^ + /C^. (b) x^ minimiert den Fehler ||a: — a:*||^i/2 auf x^ + JCk(c) x^ minimiert das Residuum \\b — Ax\\j^-i/2 auf x^ + KkBeweis. (a) 4=^ (b): Die Identitaten ll^-^1l^i/2 = ( ^ - a : T ^ { a ; - a : * ) = x'^Ax - 2x^Ax* + {x*YAx* = x^Ax - 2b^x + b^x* implizieren die behauptete Aquivalenz, denn 6^x* ist lediglich eine Konstante, und Multiplikation der Zielfunktion mit dem Faktor 1/2 andert die Losung eines Minimierungsproblems offenbar nicht. (b) 4=> (c): Aus den Gleichungen \\x-x^\\.,.^\\A^I\x-x*)f = (x - x^^YAA-^A{x - {A(x - x*)yA-^ = {Ax -by = =
A-^{Ax
- x"") {A{x - a:*)) -b)
\\A-^l\b-Ax)f \\b-Axf^.,,.
ergibt sich unmittelbar die Behauptung.
•
Das Lemma 5.7 gibt also verschiedene Minimalitatseigenschaften der C G Iterierten x^ an. Da jede der drei Aussagen des Lemmas 5.7 aufierdem die CG-Iterierte x^ charakterisiert, kann jede dieser Aussagen auch als Definition des CG-Verfahrens genommen werden (unabhangig von unserer speziellen Herleitung des CG-Verfahrens). Die Aussage (a) lasst sich hierbei auf Matrizen A, die nicht mehr symmetrisch positiv definit sind, leider nicht weiter anwenden, da die zugehorige Zielfunktion f{x) = ^x'^Ax — b'^x dann nach unten unbeschrankt sein wird. Die Aussage (b) hat den prinzipiellen Nachteil, dass sie von der L5sung x* abhangt. Die Aussage (c) hingegen lasst sich auf beliebige regulare Matrizen A ubertragen, wenn man statt der Norm || • IU-1/2 (die Quadratwurzel von A~^ wird dann im Allgemeinen nicht mehr existieren) eine andere Norm wahlt. Dies wird uns spater auf die Klasse der allgemeinen MinimumResiduen-Verfahren fiihren (vergleiche den Abschnitt 6.1), zu der neben dem CG-Verfahren auch die GMRES- und MINRES-Methoden gehoren.
5.3 Konvergenzanalyse des CG-Verfahrens
199
Bemerkung 5.8. Im Hinblick auf das Lemma 5.7 ist es nahe liegend, auch fiir lineare Gleichungssysteme Ax = b mit einer symmetrisch positiv definiten Matrix A ein Verfahren zu konstruieren, das im k-ten Schritt das Residuum II6 — Ax\\2 (in der euklidischen Norm!) auf dem Raum x^ + Kk minimiert. Diese Idee ftihrt auf das so genannte CR-Verfahren (CR = Conjugate Residuals), das wir in der Aufgabe 5.4 naher untersuchen werden. Das CR-Verfahren hat ahnhche Konvergenzeigenschaften wie das CG-Verfahren, bendtigt jedoch einen weiteren Vektor als Speicherplatz sowie einen etwas grofieren Rechenaufwand pro Iteration, weshalb man das CG-Verfahren dem CR-Verfahren meist vorzieht.
5.3 Konvergenzanalyse des CG—Verfahrens Wir betrachten in diesem Abschnitt weiterhin das CG-Verfahren. Aufgrund unserer friiheren Untersuchungen wissen wir bereits, dass das CG-Verfahren zur Losung eines Unearen Gleichungssystems Ax = b mit einer symmetrischen und positiv definiten Matrix A G W^^^ (zumindest theoretisch) nach spatestens n Schritten die exakte Losung x* gefunden hat. Hier wollen wir uns etwas detaiUierter mit den Konvergenzeigenschaften des CG-Verfahrens auseinandersetzen. Die Betrachtungen in diesem Abschnitt dienen insbesondere zur Motivation des anschhefiend einzufiihrenden PCG-Verfahrens (prakonditioniertes CG-Verfahren). Bevor wir jedoch zum CG-Verfahren selbst gelangen, erinnern wir zunachst daran, dass das n-te Tschebyscheff-Polynom fiir jxj < 1 definiert war durch Tn{x) = cos(n • arccosx).
(5.16)
Eine im Folgenden wichtig werdende Eigenschaft von Tn ist in dem nachsten Result at angegeben. Lemma 5.9. Das n-te Tschebyscheff-Polynom
besitzt die Darstellung
fiir alle x ^M. mit |x| > 1. Beweis. Aufgrund der Formeln von Moivre gelten cosnO -\- isinnO = {cos0 -hisinO)
und
cos nO — i sin nO = [ cos ^ — z sin O) fiir alle ^ G R. Addition beider Gleichungen liefert cosnO = - [(cos^ + isin^)'^ + (cos^ — isinOy
200
5 CG-Verfahren
ftir alle 0 EM.. Speziell fiir 0 = arccosx mit |a;| < 1 ergibt sich wegen sin^ =b\/l — cos^^ unter Verwendung von (5.16) dann Tn{x) = - [x -h 2v 1 — x^)^ 4- (x — i\/l
— x^)^
Da Tn aber ein Polynom vom Grad n ist und es sich bei der rechten Seite offenbar ebenfalls um ein Polynom vom Grad n handelt (man wende beispielsweise den binomischen Satz an) sowie diese beiden Polyome ftir |x| < 1 iibereinstimmen, gilt die obige Gleichung sogar fiir alle x G M. Speziell ftir |x| > 1 folgt mit iy/l — x^ — V x ^ - l dann die Behauptung (bei der es sich tibrigens um eine rein reelle Darstellung handelt). • Insbesondere werden wir gleich das folgende KoroUar aus dem Lemma 5.9 benotigen. KoroUar 5.10. Das n-te Tschebyscheff-Polynom
geniigt der Ungleichung
^ U - i / l - 22VLv /^^ - i ; fiir alle K,> I. Beweis. Man verifiziert sofort, dass ftir x := d= Vx2 - 1 =
{K,+ 1)/{K,
— 1) > 1 gilt
v^±l V^=Fl'
Aus dem Lemma 5.9 ergibt sich daher
, /K4-i\ _ 1 r/v^+iv /v^-iv
^ 1 ^^/^+l^" 2
\^/K-l
also gerade die Behauptung.
D
Nach diesen Vorbereitungen kommen wir nun zu dem Hauptresultat dieses Abschnittes. Satz 5.11. Seien A eM.'^^'^ symmetrisch und positiv definit, b G M^ beliebig, X* die eindeutig bestimmte Losung des linearen Gleichungssystems Ax = b und {x^} die durch das CG-Verfahren aus dem Algorithmus 5.3 erzeugte Folge. Dann gilt k
-a^*IUv2 < 2 h ^ - ^
Wx'^-x^Urf.
fiir k =
0,1,2,...,
wobei K, := cond2{A) = Aniax(^)/Amin(^) die (Spektral-) Konditionszahl von A bezeichnet.
5.3 Konvergenzanalyse des CG-Verfahrens
201
Beweis. Wir schreiben zur Abklirzung e^ := x^ - X* ftir den Fehlervektor im A:-ten Iterationsschritt. Aus
r^ = b-Ax^
= A{x* - x^) = -Ae^
folgt dann A^r^ = —A^'^^e^ fiir alle j € N. Also kann jedes Element z G Kk := JCk{r^,A) geschrieben werden als k
z = Y,a,A^e' i=i ftir gewisse Koeffizienten aj G M. Mit Lemma 5.7 folgt daher l|e^lUv2 =
min
||x-x*|Ui/2
= min \\x^ — x* + z\\j^i/2 z^Kk = min ||e° + Q;iAe°H-...4-Q;fc^^e°||^i/2 pe/7fc,p(o)=i wenn wir mit 77^ die Menge aller Polynome vom Hochstgrad k bezeichnen. Aufgrund des Spektralsatzes 1.8 lassen sich zu den Eigenwerten A^ der symmetrischen (und positiv definiten) Matrix A zugehorige Eigenvektoren v* derart finden, dass {t?^, v^,... ^v"^} eine Orthonormalbasis des W^ ist. Daher besitzt der Fehlervektor e^ eine Darstellung der Gestalt
e° = X:7y i=l mit gewissen 7^ € M, und es folgt
||e»||i.,. = \\AheY2 = (e^.^e") = {Y^liV^j^l.Xivi) i—1 j=l
=
j^l^K i=l
Da die Eigenwerte von p{A) gerade durch p{Xi) gegeben sind, folgt analog
i=l Zusammen ergibt sich ||e'=|U,/. =
min psnfc,p(o)=i
\\piA)e^^u.
202
5 CG-Verfahren / n
=
\ 1/2
min Yp(Xif-ffXi pen,MO)=i {^^"^^ '^ ^' 7
<
min
max
\p{Xj)\\y^jfXi
pGi7fc,p(0)=lj \ 6 =^ ±
/
p6i7fe,p(0) = l A€[Amin,Amax]
Um diese Ungleichungskette weiter abzuschatzen, wahlen wir als spezielles Polynom n{F{0))
' '
A„ax-A max ''^min
wobei wir hier o.B.d.A. davon ausgehen, dass Amax > Amin gilt. Aufgrund des Satzes 4.26 ist nun AGiAminjAmaxJ
O^Gt—1, + lJ
Hingegen ergibt sich aus dem Korollar 5.10 + A,
K^
1
l/V^+l\fc
wobei wir ftir die erste Gleichheit auch noch die Aufgabe 4.10 beriicksichtigt haben. Insgesamt folgt daher k
||e^|U./2 < ^ ^ max A€[Amin,AmaxJ
also gerade die Behauptung.
b,{A)| • ||e«|U./. < 2 ( ^ § - 1 V V " ^ "• ^
D
Der Satz 5.11 macht deutlich, dass sich der Fehler x^ — x* (gemessen in der II • 11 yi 1/2-Norm) im AUgemeinen umso schneller verkleinern wird, je kleiner der Faktor {y/R — l)/{y/R + 1) ist. Man wird also eine gute Konvergenz des CG-Verfahrens erwarten konnen, wenn die Konditionszahl AV > 1 moglich klein ist, die Eigenwerte Amin u^d A^ax von A also nicht allzu weit auseinander liegen. Genau dieser Wunsch wird uns im nachsten Abschnitt auf das prakonditionierte CG-Verfahren ftihren. Wir geben an dieser Stelle noch ein weiteres Konvergenzresultat fiir das CG-Verfahren an, welches im Prinzip unmittelbar aus dem Beweis des Satzes 5.11 folgt, aber durchaus von eigenstandigem Interesse ist. Satz 5.12. Besitzt die symmetrische und positiv definite Matrix A G M'^^^ insgesamt m < n verschiedene Eigenwerte, so bricht das Verfahren nach spdtestens m Schritten mit der Losung des linearen Gleichungssystems Ax — b ab.
5.4 Das prakonditionierte CG-Verfahren Beweis. chung
203
In dem Beweis des Satzes 5.11 haben wir gezeigt, dass die Unglei-
min pen,
max \p{\j)\ (
^^ifK
fiir den Fehler e^ := x^ — x* im A;-ten Iterationsschritt erftillt ist. Besitzt A nun die verschiedenen Eigenwerte A i , . . . , A^ und definieren wir hiermit das spezielle Polynom
PmW--=aYl{X-Xi) 2=1
(mit einer Konstanten a derart, dass Pm(0) = 1 gilt), so ergibt sich durch Verwendung dieses Polynoms in der obigen Ungleichung sofort ||e"^||^i/2 = 0. Also ist x ^ = a:*. D Insbesondere liefert der Satz 5.12 noch einmal die schon bekannte Tatsache, dass das CG-Verfahren (in exakter Arithmetik) nach spatestens n Iterationen abbricht.
5.4 Das prakonditionierte CG—Verfahren Wir betrachten wieder ein lineares Gleichungssystem Ax = b mit einer symmetrischen und positiv definiten Matrix A £ R'^^'^. Das CG-Verfahren zur Losung dieses Problems lautete wie folgt, vergleiche den Algorithmus 5.3 (wobei wir hier r^ := b — Ax^ = —g^ schreiben): Wahle x*^ G M^. Setze r^ := 6 - Ax^ und d^ := r^. FOR A; = 0 , 1 , 2 . . . j.k+1 . ^ ^k 4.Q,^c?'^5 ^fc+l . _ ^k _ Q^^^fc.
^k+i
.^^k+i^p^^k.
END Die Konvergenzanalyse im vorigen Abschnitt verdeutlichte hierbei, dass das CG-Verfahren vermutlich umso schneller konvergiert, je kleiner die Konditionszahl der Matrix A ist. Aus diesem Grunde ist es naheliegend, das gegebene lineare Gleichungssystem Ax = b umzuschreiben in der Gestalt C'^Ax
= C-^b
(5.17)
204
5 CG-Verfahren
mit einer regularen Matrix C G M*^^^, die tunlichst so gewahlt sein sollte, dass die Konditionszahl der neuen KoefRzientenmatrix C~^A kleiner ist als jene von A selbst. Allerdings ist die Matrix C^^Aiin Algemeinen nicht mehr symmetrisch (geschweige denn positiv definit), so dass wir das CG-Verfahren auf das lineare Gleichungssystem (5.17) auch gar nicht anwenden konnen (oder zumindest nicht soUten). Stattdessen benutzen wir die Umformuherung C-^AC-^C'^x = C-^b von Ax = 6, was mit den Notationen A:=C-^AC-^,x
— C^x und
b:=C-^b
(5.18)
auch als ix - 6
(5.19)
geschrieben werden kann. Man beachte dabei, dass die KoefRzientenmatrix A = C~^AC~'^ jetzt wieder symmetrisch und positiv definit ist. Das auf (5.19) angewandte CG-Verfahren lautet wie folgt: Wahle x^ eW. Setze fO := 6 - Ax^ und d^ : = FOR A; = 0 , 1 , 2 . . .
fO
END Benutzen wir die Zusammenhange (5.18) (woraus insbesondere f^ = C~^r^ folgt) und setzen noch
d^ := C-^S" so ergibt sich durch formales Ersetzen der geschlangelten Ausdrticke innerhalb der A;-Schleife (^fc)T^fc
(C^d^yAiC^d^)
|i^fc+l||2
Pk = -J-fTp- =
(C-V^)^(C-ir^)
(r^)^(C-^C-V^)
{d^YAd^
{d^YAd^
/^k-\-l\T(C-T(J-ly.k+l\
(r^)^(C-^C-irfc)
'
5.4 Das prakonditionierte CG-Verfahren
205
Multipliziert man die Aufdatierungsvorschriften fiir die x- und d-Variablen von links mit C~^ und die Vorschrift fiir r von links mit C, so erhalten wir die nachstehende Variante des CG-Verfahrens: Wahle x^ G r . Setze r^ — b- Ax^ und d^ :=
C-^C~^r^.
FOR A; = 0 , 1 , 2 . . . . _ (r^)^(C-^C-V^).
^k+i
^j.k_
aj^Ad^;
^k+1 ^ ^-TQ-l^k+1
_^
p^^k.
END Setzen wir noch P := CC^, so erhalten wir schliefilich das nachstehende Verfahren. Algorithmus 5.13. (Prdkonditioniertes CG-Verfahren) Wdhle x^ G M^ und P eW^^^ symmetrisch positiv definit. Setze r^ := b — Ax^ und bestimme d^ aus Pd = r^. Setze z^ :== d^. FOR/c = 0 , 1 , 2 . . . ^k+i _ ^k _|_ akd^; j.k+1 . _ ^k _ c^j^Ad^^
Bestimme z^'^^ aus Pz = r^+^, ^k+i
.^^k+i^0^^k.
END In der Formulierung des Algorithmus 5.13 wird die ursprtinglich aufgetretene Matrix C gar nicht mehr benotigt, sondern nur P = CC^. Die Matrix P wird als Prdkonditionierer bezeichnet. Mit diesem Prakonditionierer P muss pro Iteration ein lineares Gleichungssystem gelost werden, was gegentiber dem normalen CG-Verfahren aus dem Algorithmus 5.3 der einzige Zusatzaufwand ist. Vom praktischen Gesichtspunkt aus gesehen sollte ein mit der Matrix P versehenes Gleichungssystem also leicht losbar sein. Vom theoretischen Standpunkt aus sollte P hingegen so gewahlt werden, dass die Konditionszahl von A — C~^AC~'^ moglichst klein ist. Die optimale Wahl hierfiir ist C := A^/^, denn dann ist A = A~^^'^AA~'^^^ = I die Identitat. Diese Wahl von C hefert allerdings den Prakonditionierer P = A. Das mit P zu losende Gleichungssystem ist also wieder das Ausgangssystem und von daher nicht wirklich eine Hilfe.
206
5 CG-Verfahren
Bei der Wahl von P wird man daher einen Mittelweg einschlagen zwischen den beiden Forderungen, dass P einerseits eine gute Approximation an die Matrix A darstellen sollte und andererseits ein mit P gebildetes lineares Gleichungssystem relativ leicht losbar sein miisste. Wegen P = CC^ hat man P notwendig als symmetrisch und positiv definit zu wahlen. Einige Moglichkeiten zur Wahl von P ergeben sich beispielsweise aus den beiden nachfolgenden Abschnitten.
5.5 Splitting-basierte Prakonditionierer Im Kapitel 4 haben wir uns ausfiihrHch mit der Klasse der Splitting-Methoden als Losungsverfahren ftir ein lineares Gleichungssystem Ax = b beschaftigt. In diesem Abschnitt befassen wir uns nun mit der Frage, wie diese SplittingMethoden benutzt werden konnen, um damit geeignete Prakonditionierer fiir das CG-Verfahren (sowie die spater zu besprechenden Krylov-RaumMethoden) zu bekommen. Ansonsten sei an dieser Stelle zunachst darauf hingewiesen, dass der (in welchem Sinne auch immer) beste Prakonditionierer sehr oft problemabhangig ist. Anders ausgedrtickt: Will man ein spezielles lineares Gleichungssysteme losen, so wird man oft auch einen speziellen Prakonditionierer finden, der fiir dieses Gleichungssystem besonders geeignet ist und oft bessere Resultate liefern wird als die hier gleich vorzustellenden Prakonditionierer, die von der moglicherweise sehr individuellen Struktur eines einzelnen Gleichungssystems im Prinzip keinen Gebrauch machen. Zur Konstruktion einiger allgemeiner Prakonditionierer erinnern wir noch einmal an die Herleitung der Splitting-Verfahren im Abschnitt 4.1: Das lineare Gleichungssystem Ax — b wurde nach Einfiihrung einer geeigneten regularen Matrix B eW^^^ umformuHert als Bx-{-{A-
B)x = b.
Durch Multiplikation mit B~^ von Hnks ergibt sich
x={I-B-^A)x
+ B-^b,
was die Basis der zugehdrigen Fixpunktiteration ^k+i _ (J _ B-ij^^^k
^ ^-1^^
A; = 0 , 1 , 2 , . . .
ist. Die Konvergenz dieses Verfahrens hing dabei entscheidend von den Eigenschaften der zugehorigen Iterationsmatrix M := I — B~^A ab, vergleiche Satz 4.7. Wegen Satz 4.5 war p{M) < 1 eine notwendige und hinreichende Konvergenzbedingung, wobei eine umso schnellere Konvergenz zu erwarten ist, je kleiner der Spektralradius p{M) ausfallt. Dies wiederum lasst sich auch so interpretieren, dass B~^ bei den Splitting-Methoden eine moglichst gute
5.5 Splitting-basierte Prakonditionierer
207
Approximation an die Matrix A darstellen soil. Aus diesem Grund liegt es nahe, die Matrix B als Prakonditionierer beim CG-Verfahren zu wahlen. Aus den im Kapitel 4 beschriebenen Splitting-Verfahren erhalten wir daher die nachstehende Auswahl an Prakonditionierern, wobei A — D — L — R wieder die Standardzerlegung von A gemafi (4.7)-(4.10) bezeichnet: Jacobi: Gaufi-Seidel:
B = D^ B = D - L,
SOR:
B=-D-L,
SGS:
B={D-
L)D-\D
SSOR:
B = —^—-{D
- R), - uL)D-^D
- toR).
SGS steht hierbei als Abkiirzung ftir das symmetrische Gaufi-Seidel-Verfahren. 1st die Matrix A hierbei symmetrisch und damit R = L^ in der Standardzerlegung, so sind auch die zugehorigen Matrizen B aus dem Jacobi-, dem SGSund dem SSOR-Verfahren symmetrisch. Ftir positiv definites A sind diese Matrizen sogar positiv definit (oder zumindest semidefinit, vergleiche den Satz 4.24) und somit als Prakonditionierer ftir das CG-Verfahren geeignet. Hingegen konnen die Matrizen aus dem Gaufi-Seidel- und SOR-Verfahren spater auch als Prakonditionierer bei unsymmetrischen Gleichungssystemen genommen werden. Wahlt man also P := B mit einer der oben genannten Matrizen B als Prakonditionierer fur die Matrix A, so hat man bei dem prakonditionierten CG-Verfahren oder auch bei einer der spater zu beschreibenden prakonditionierten Krylov-Raum-Methoden im AUgemeinen ein lineares Gleichungssystem der Gestalt Pz = r 4=^ Bz = r zu losen. Fiir die obigen B-Matrizen ist dies sehr einfach, da man hierzu lediglich lineare Gleichungssysteme von Diagonal- bzw. Dreiecksgestalt zu losen hat, siehe auch Eisenstat [18] oder Bank und Douglas [4] ftir einige spezielle Techniken. Die Bestimmung einer Losung von Bz = r lasst sich auch etwas anders interpretieren und ftihrt uns gleich auf ganz natlirliche Weise zu einer Reihe von weiteren Prakonditionierern: Statt Bz = r zu losen, konnen wir alternativ auch einen Schritt der zugehorigen Splitting-Methode ^i+i _ (7 _ B-^A)z'
+ B-^r,
i = 0,1,...,
(5.20)
mit dem Startwert z^ := 0 ausfuhren. Dies wiederum motiviert, als innere Iteration beim prakonditionierten CG-Verfahren (oder einer der noch vorzustellenden Krylov-Raum-Methoden) gleich mehrere Schritte dieser Art auszuftihren. Wie dies jeweils zu implementieren ist, wissen wir bereits aus unseren Ausfiihrungen im Kapitel 4.
208
5 CG-Verfahren
Formal lasst sich die Durchflihrung von beispielsweise i Schritten der inneren Iteration (5.20) mit dem Startwert z^ := 0 auch schreiben als
= = -
=
(/ {I(/ (/ -
B-^A)[{I - B-^A)z^-^ + B-^r] + B'^r B-^Afz^-^ + (/ - B-^A)B-^r + B ' V B-^Af[{I - B-^A)z^-'^ + B-^r] + (7 - B-^A)B-^r + B'^r B-^Afz^-'^ + (/ - B-^AfB-^r + (/ - B-^A)B-'^r + B"V
J2{I-B-^AyB-'^r.
Also ist z := z^^^ Losung des linearen Gleichungssystems Pz = r mit dem Prakonditionierer
P :- [ J2{I - B-^AYB-^ I
.
(5.21)
Es sei hier allerdings nochmals betont, dass man zur Durchflihrung dieser Prakonditionierungstechnik diese Matrix P im Allgemeinen nicht explizit bilden wird, sondern zumeist die Formulierung (5.20) als Splitting-Verfahren benutzt. Fiir theoretische Betrachtungen ist die Formulierung mittels des Prakonditionierers (5.21) allerdings manchmal von Vorteil, vergleiche etwa die Ausfuhrungen in Adams [2]. Benutzt man das prakonditionierte CG-Verfahren aus dem Algorithmus 5.13 wieder zur Losung der diskretisierten zweidimensionalen PoissonGleichung mit denselben Daten wie im Abschnitt 5.1 und verwendet hierbei den einfachen SGS-Prakonditionierer, so benotigt man lediglich 28 Iterationen zur Losung des Problems (im Gegensatz zu den 51 Iterationen beim nicht vorkonditionierten CG-Verfahren). Der Verlauf des relativen Residuums findet sich in der Abbildung 5.3. In dem Buch [44] von Meister findet der interessierte Leser iibrigens noch einige weitere relativ einfache Prakonditionierer, auf die wir an dieser Stelle nicht weiter eingehen wollen. Stattdessen beschreiben wir in unserem nachsten Abschnitt einen etwas komplexeren Vorkonditionierer, der gerade im Zusammenhang mit dem CG-Verfahren gerne genommen wird.
5.6 Unvollstandige Cholesky-Zerlegung Wir betrachten wieder eine symmetrische und positiv definite Matrix A e ]^nxn yj^^ suchen in diesem Abschnitt einen weiteren geeigneten Prakonditio-
5.6 Unvollstandige Cholesky-Zerlegung
209
Abbildung 5.3. Verlauf des relativen Residuums beim prakonditionierten CGVerfahren nierer fiir das PCG-Verfahren aus dem Algorithmus 5.13. Dieser neue Prakonditionierer basiert dabei auf der Idee der Cholesky-Zerlegung
von A. Die exakte Durchfiihrung dieser Cholesky-Zerlegung ist in diesem Fall meist recht unpraktisch, da die Matrix A jetzt im Allgemeinen schwach besetzt ist, die untere Dreiecksmatrix L aus der Cholesky-Faktorisierung iiblicherweise jedoch wesentlich mehr von Null verschiedene Elemente enthalt. Zwar iibertragt sich eine moglicherweise vorhandene Bandstruktur von A auf die Matrix L, allerdings werden innerhalb dieses Bandes stehende NuUelemente von A dann oft zu nichttrivialen Eintragen in L. Dass dies zu einem nicht unerheblichen fill-in ftihren kann, zeigt das Beispiel (1.13) der aus der zweidimensionalen diskretisierten Poisson-Gleichung entstehenden Matrix T^XNDie Abbildung 5.4 enthalt die Besetztheitsstruktur der urspriinglichen Matrix TNXN fur AT = 16 (also n — N^ = 256) auf der linken Seite, wahrend das rechte Bild die Besetztheitsstruktur des zugehdrigen Cholesky-Faktors L angibt. Die (gesamte) Matrix A enthalt 1216 von Null verschiedene Elemente, der Faktor L alleine kommt dagegen auf 4111 nichttriviale Eintrage! Die Idee der unvoUstandigen Cholesky-Zerlegung besteht darin, fiir den Faktor L nur an gewissen Stellen von Null verschiedene Eintrage zuzulassen, etwa an den Positionen, an denen auch die Matrix A (bzw. ihr unteres Dreieck) nichttriviale Elemente stehen hat. Auf diese Weise lasst sich die GroBe des fillins kontrollieren, allerdings erhalt man auf diese Weise nicht mehr die exakte Cholesky-Zerlegung, denn der Fehler E := A — LL^ wird im Allgemeinen nicht mehr die Nullmatrix sein. Als Prakonditionierer fiir das CG-Verfahren kann P := LL^ aber immer noch eine sehr gute Wahl sein.
5 CG-Verfahren
210
200
200
250
250 0
50
100 150 nz=1216
200
50
250
Abbildung 5.4. Besetztheitsstruktur von TNXN Faktor (rechts)
100 150 n2 = 4111
200
250
(links) und seinem Cholesky-
Zur genaueren Beschreibung der unvollstandigen Cholesky-Zerlegung fiihren wir noch einige Notationen ein. Mit B(A):={(i,i)|ay^O} bezelclmen wir die Besetztheitsstruktur der Matrix A. Setzen wir noch m{i) := imn{j 11 < J < i, aij ^ 0}
fur i = 1 , . . . , n,
so dass ai^^(^i^ den ersten von Null verschiedenen Eintrag in der i-ten Zeile von A angibt, so heifit £{A) := {(ij)
I m{i)
<j
die Einhullende von A (bzw. die untere Einhiillende von A, da hier aus Symmetriegrtinden nur das untere Dreieck von A betrachtet wird). Ftir eine Matrix A der Gestalt /* * 0 0 0 0 \ 5fC *
A^
*
0
*
*
0**000 0 00* * * 0 * 0* * *
yo * 0 * * *y ist die Belegungsstruktur der Einhiillenden beispielsweise gegeben durch
e{A)^
/* \ ** 0** 000* 0 **** \ 0*****/
5.7 CGNE und CGNR fiir regulare Systeme
211
Bei exakter Durchfiihrung der Cholesky-Zerlegung von A gilt dann offenbar lij = 0 fiir alle Elemente des Faktors L mit (i,j) ^ ^{A), vergleiche Aufgabe 5.9. Fiir die unvollstandige Cholesky-Zerlegung (engl.: incomplete Cholesky decomposition, kurz: IC) wahlen wir jetzt eine Teilmenge M. C S{A), die mindestens alle diagonalen Indexpaare ( 1 , 1 ) , . . . , (n,n) enthalt (liblicherweise sogar alle Elemente aus B{A)), und setzt alle Elemente kj mit {i,j) ^ M einfach gleich Null. Formal sieht dies dann wie folgt aus. Algorithmus 5.14. (Unvollstandige Cholesky-Zerlegung) Wdhle M C S{A) mit (i, i) G M. fiir alle i = 1 , . . . , n. FOR j == 1 : n
i..-(a..-y^-^
f. V^'-
''33
''3mJ
\^33
Z^m=l
'
FOR i = (j + 1) : n IF {i,3)^M Lij := \^ij — 2^^^i IjmHmJ fljj', ELSE lij : = U/
END END END Speziell fiir die Wahl von M — S{A) stimmt der Algorithmus 5.14 mit dem eigentlichen Cholesky-Verfahren iiberein. Wahlt man dagegen das andere Extrem M. = ^i^)^ so spricht man aus nahe liegenden Griinden vom no-fill Prinzip bzw. zero fill-in Prinzip. Man beachte iibrigens, dass man bei der Berechnung der Elemente Ijj bzw. lij natiirlich nur iiber die Terme zu summieren braucht, fiir die (j,m) G M bzw. {j,m), {i,m) e M gilt! Ein zu der unvoUstandigen Cholesky-Zerlegung verwandtes Verfahren ist die unvollstandige LR-Zerlegung, die im Abschnitt 6.6 naher untersucht wird. In den zugehorigen Aufgaben wird dann insbesondere auch etwas iiber die Existenz solcher unvoUstandigen Zerlegungen ausgesagt. Beispielsweise ist der Algorithmus 5.14 nicht notwendig wohldefiniert, da die Diagonalelemente Ijj durchaus Null sein konnen. Ferner sei an dieser Stelle erwahnt, dass es in der Literatur durchaus einige Varianten zu der unvoUstandigen Cholesky-Zerlegung aus dem Algorithmus 5.14 gibt. Stellvertretend sei der Leser hierzu auf die beiden Arbeiten [29] von Gustafsson sowie [41] von Lin und More verwiesen.
5.7 CGNE und CGNR fiir regulare Systeme Wir beschaftigen uns in diesem Abschnitt mit der Losung eines linearen Gleichungssystems Ax = b mit einer lediglich regularen Matrix yl € R^^", die im Allgemeinen also weder symmetrisch noch positiv definit sein wird. Das Ziel
212
5 CG-Verfahren
ist die Herleitung zweier auf dem CG-Verfahren basierender Methoden zur Losung eines solchen Gleichungssystems. Die erste Methode benutzt die einfache Beobachtung, dass ein Vektor x* offenbar genau dann eine Losung des linearen Gleichungssystems Ax == 6 ist, wenn x* die zugehorigen Normalgleichungen A^Ax = A^h
(5.22)
lost. Letztere besitzen aber eine symmetrische und positiv definite Koeffizientenmatrix A'^A. Aus diesem Grund lasst sich das CG-Verfahren auf das System (5.22) anwenden. Bezeichnen wir das zu einer Iterierten x^ zugehorige Residuum mit z^ := A'^b - A'^Ax^ = A'^{b — Ax^), so lauten die Vorschriften aus dem A:-ten Iterationsschritt des CG-Verfahrens flir das lineare Gleichungssystem (5.22) wie folgt:
U^IP Oik '• =
{d^yA^Ad^' x^-^' := x^ + akd^
A
Wz^P
^fc+1 ._^k+l
^p^^k^
Bezeichnen wir das ursprtingliche Residuum wieder mit r^ := b — Ax^ und speichern das Matrix-Vektor-Produkt Ad^ gesondert in einem Vektor w^ ab, so erhalten wir das nachstehende Verfahren zur L5sung von Ax — b mit Hilfe der Umformulierung (5.22). A l g o r i t h m u s 5.15. (CGNR-Verfahren) Wahle x^ € M^. Seize r^ :=b- Ax^, z^ := A^r^ und d^ := z^. FOR A; = 0 , 1 , 2 , . . .
w
k
= Ad^;
^fc+1 . _ ^k _|_ f^f^f^k. j.k+1
. _ j.k _
Q^j^yjk.
Pfc — ll^fcp , ^k+1 .^ ^k+1 j^ p^^k .
END Offenbar lasst sich der Algorithmus 5.15 so implementieren, dass die hierin vorkommenden Vektoren w, x, r, z und d in jeder Iteration tiberschrieben werden. Ansonsten benotigt das CGNR-Verfahren pro Iteration
5.7 CGNE und CGNR fiir regulare Systeme
213
2 Level 2-Operationen und 5 Level 1-Operationen. Die beiden Level 2-Operationen treten ftir die Matrix-Vektor-Multiplikationen Ad^ und A^r'^'^^ auf, wobei hier ausdriicklich darauf hingewiesen sei, dass wir sowohl eine Matrix-Vektor-Multiplikation mit A als auch eine mit der transponierten Matrix A'^ benotigen. Hierftir sollte jeweils eine geeignete Prozedur vorhanden sein. Die 5 Level 1-Operationen setzen sich zusammen aus 2 Skalarprodukten (fiir | | ^ ^ f und H^^+^f) sowie 3 saxpy's (fiir x^+^,r^+^ und c?^"*"^). Damit bleibt nur noch zu klaren, wie es zu dem Namen CGNR-Verfahren kommt. Da der Algorithmus 5.15 aquivalent zu dem auf das SyvStem (5.22) angewandten CG-Verfahren ist, ergibt sich aus dem Lemma 5.7, dass die A;-te Iterierte das Funktional \\^~
^*\\{A'rAy/2
auf dem Krylov-Raum x^ + JCkiA'^r^, A'^A) = x^ + spanjA^r^, {A'^A)A^r\
...,
{A^A)^-^A'^r^}
- xn = \\A{x - x^g
= \\b - Ax\\l
minimiert. Wegen 11^ - ^*ll(A-^)V. = (x- xTA-A{x
bedeutet dies, dass x^ das Residuum auf dem affinen Raum x^+JCkiA^r^'.A^A) minimiert. Das CGNR-Verfahren ist somit ein auf die Normalgleichungen angewandtes CG-Verfahren, welches das Residuum in einem gewissen Raum minimiert (CGNR = Conjugate Gradients for Normal Residual). Eine ahnliche Idee stammt von Craig [16] und fiihrt uns auf das so genannte CGNE-Verfahren (CGNE = Conjugate Gradients for Normal Error). Statt das gegebene Gleichungssystem Ax = 6 in der Gestalt (5.22) zu schreiben, benutzt Craig die Umformulierung AA'^y = 6,
x = A'y.
(5.23)
Auch hier ist die Koeffizientenmatrix AA^ wieder symmetrisch und positiv definit. Die direkte Anwendung des CG-Verfahrens auf das System (5.23) liefert im A:-ten Iterationsschritt die folgenden Aufdatierungsvorschriften, wobei wir die Iterierten aus nahe liegenden Grtinden jetzt mit y^ bezeichnen, wahrend die Suchrichtungen voriibergehend q^ heifien: |^fc||2 «fc : =
{q^YAA'^q^
/ + ! :=y^ + akq^,
214
5 CG-Verfahren
Hierbei bezeichnet r^ = b — AA^y^ nattirlich das Residuum fiir das System (5.23). Wegen h - AA^y^ = 6 - Ax^ ftir x^ := A^y^ stimmt dieses Residuum allerdings mit dem eigentlichen Residuum ftir das lineare Gleicliungssystem Ax = b iiberein. Setzen wir noch d^ :— A'^q^, so folgt d^+^ = A^q^^^ = .4^r^+i -h PkA^q^ = A'^r^+^ + pkdK Damit lasst sich das auf die Umformulierung (5.23) angewandte CG-Verfahren wie folgt formulieren. A l g o r i t h m u s 5.16. (CGNE-Verfahren) Wahlex^ eR"". Seize r^ :=b- Ax^ und d^ := A^'r^, FORk = 0,1, 2 , . . . o^k
^k+i j,k+l
•'=• l l d ^ l P ^
:=x^-^ •=r^
- ctkd^;
akAd^;
-
0k-- = ^k+1 := A'^r' '=+^+Ad^• '
J
END
Bei geeigneter Implementation des Algorithmus 5.16 lassen sich die Vektoren x^r und d ofFensichtlich iiberschreiben. Vom Aufwand her ist das CGNEVerfahren dem CGNR-Verfahren vergleichbar, denn es benotigt ebenfalls 2 Level 2-Operationen und 5 Level 1-Operationen pro Iteration. Die beiden Level 2-Operationen entfallen auf die zwei MatrixVektor-Produkte Ad^ und A^r^"*"^, wahrend sich die Level 1-Operationen zusammensetzen aus 2 Skalarprodukten (fiir ||(i^P und ||r^+^|p) sowie 3 Saxpy's (ftir ar^+i,r^+i und d^+^j. Zur Erlauterung der Namensgebung erinnern wir daran, dass es sich bei dem CGNE-Verfahren gerade um das auf die Gleichungen (5.23) angewandte CGVerfahren handelt. Wegen Lemma 5.7 minimiert die Iterierte y^ daher das Funktional \y-y
WiAA-T)^ / 2
5.7 CGNE und CGNR fiir regulare Systeme
215
auf dem Krylov-Raum A^y^+A^JCkir^^AA^)
= A^y^-^sp^n{A^r^,A^{AA^y,...
,A^{AA'^)^-'^r^}.
Wegen \\y - y%AAT)y^
= (y- vT^A-iy
- y*) = \\A-{y - y')\\l = \\x - x'\\l
bedeutet dies gerade, dass es sich bei x^ um das Minimum des Fehlers (error) x-x* auf dem afRnen Raum A^y^ + A^Kk{r^, AA^) handelt. Abschiefiend testen wir sowohl das CGNR- als auch das CGNE-Verfahren am Beispiel des linearen Gleichungssystems CNXN'V = h?f^ wobei CNXN diejenige Matrix ist, die sich mit dem Vektor 0 — cos —, sm — V
4
4^
durch Diskretisierung aus der zweidimensionalen Konvektions-DifFusionsGleichung ergibt, vergleiche den Abschnitt 1.9. Als rechte Seite und Startvektor wahlen wir einfach
/:=(!,...,l)^
x'>:={0,...,Oy,
und als Dimension nehmen wir N = 32 (also n = N^ — 1024). Als Abbruchkriterium wird in beiden Fallen das relative Residuum <e
mit 6 := 10~^
IIT^II ~
genommen. Das CGNR-Verfahren benotigt dann 516 Iterationen bis zur ErfuUung dieses Abbruchkriteriums, wahrend das CGNR-Verfahren 521 Iterationen braucht. Die zugehorigen Verlaufe der relativen Residuen finden sich in den Abbildungen 5.5 und 5.6. Beide Verfahren sind also in etwa vergleichbar, wobei der Residuenverlauf fiir das CGNR-Verfahren wesentlich glatter ist als fiir das CGNE-Verfahren. Dies liegt natlirlich daran, dass das CGNRVerfahren das Residuum liber einen gewissen Raum minimiert, das CGNEVerfahren dagegen einen gewissen Fehler, der durch den zugehorigen Residuenverlauf aber nicht wiedergegeben wird. In den beiden nachfolgenden Kapiteln werden wir allerdings noch Verfahren zur Losung von linearen Gleichungssystemen mit einer lediglich regularen KoefRzientenmatrix konstruieren, die zur Losung des obigen Beispieles im Allgemeinen erheblich weniger Iterationen brauchen und auch vom gesamten Rechenaufwand her deutlich besser sind. Das Problem beim CGNR- bzw. CGNE-Verfahren liegt darin, dass beispielsweise die KoefRzientenmatrix A'^A aufgrund des Satzes 1.23 eine wesentlich schlechtere Kondition hat als die ursprtingliche Matrix A. Im Hinblick auf den Satz 5.11 hat dies wiederum einen sehr negativen Einfluss auf das Konvergenzverhalten des CGNR-Verfahrens (= CG-Verfahren fiir Normalgleichungen).
216
5 CG-Verfahren
Abbildung 5.5. Verlauf des relativen Residuums beim CGNR-Verfahren
Abbildung 5.6. Verlauf des relativen Residuums beim CGNE-Verfahren Aus diesem Grunde sind das CGNR- und das CGNE-Verfahren heute nicht die bevorzugten Methoden zur Losung von unsymmetrischen Gleichungssystemen. Trotzdem mogen beide Verfahren zur Losung spezieller Gleichungssysteme sehr wohl geeignet sein und konnen den gleich vorzustellenden Verfahren dann durchaus uberlegen sein, vergleiche hierzu auch die Aufgaben 5.10 und 6.4. Bemerkung 5.17. Eng verwand mit dem CGNR-Verfahren ist das so genannte LSQR-Verfahren. Dabei handelt es sich um ein iteratives Verfahren zur Losung von linearen Ausgleichsproblemen, das theoretisch Equivalent zum auf die Normalgleichungen angewandten CG-Verfahren (und damit zum
AUFGABEN
217
CGNR-Verfahren) ist. Fiir weitere Einzelheiten sei der Leser auf die Originalarbeit [48] von Paige und Saunders oder auf das Buch [5] von Bjork verwiesen.
Auf gab en Aufgabe 5.1. Seien A G M^^^ symmetrisch und positiv definit, 6 e M^ beliebig und / : R^ —> M gegeben durch /(x) := -x^Ax
- h^x.
Zeigen Sie unter Verwendung der iiblichen notwendigen und hinreichenden Optimalitatskriterien fiir das Vorliegen eines Minimums, dass x* € W^ genau dann die Funktion / minimiert, wenn x* eine Losung des linearen Gleichungssystems Ax = 6 ist. Aufgabe 5.2. Betrachte das CG-Verfahren aus dem Algorithmus 5.3 zur Losung eines linearen Gleichungssystems Ax = b mit einer symmetrisch positiv definiten Matrix A ^M.'^^'^. Zeigen Sie, dass dann die Gleichheiten span{c^^ . . . , d^-^} = span{p^ . . . , / " ^ } ==span{r^,...,r^"^} -span{r^Ar^...,A^-VO}
fiir A; = 1,2,... erfuUt sind, sofern das CG-Verfahren noch nicht in der Losung X* von Ax = b angelangt ist. Aufgabe 5.3. (Modifikation von Lemma 5.2) Betrachte das Problem minimiere -||6 — ^a:||2, das sich unter Verwendung der Funktion f(x) := ^x'^A^Ax
- b^Ax
ftir regulares ^ e M"^^^ Equivalent schreiben lasst als minimiere / ( x ) . Seien 6 G M"^ und x^ € W^ beliebig gegeben. Seien weiter d^, von Null verschiedene Vektoren mit (d'YA^Ad?
= 0 Vi,i = 0 , 1 , . . . ,n - l , i ^ J.
jn—1
218
5 CG-Verfahren
Dann liefert das Verfahren der sukzessiven eindimensionalen Minimierung langs der Richtungen dP,d},... ,d'^~^, d.h., die Berechnung der Folge {x^} aus ^k+i
^k _^ ^^^k
_
mit f{x^ + tkd^) = m m / ( x ^ + td^),
A; - 0 , 1 , . . . ,n - 1,
nach spat est ens n Schritten das Minimum x* von / . Weiter gelten ftir k = 0 , 1 , . . . , n — 1 mit r^ := b- Ax^\ {r^YAd^
{Ad^YAd^ und (r^+^)Md^-0
Vj=0,l,...,fc.
Aufgabe 5.4. (CR-Verfahren) Unter Verwendung der Aufgabe 5.3 konstruiere man in Analogie zur Herleitung des CG-Verfahrens im Abschnitt 5.1 die so genannte CR-Methode (CR = Conjugate Residuals) zur Losung eines linearen Gleichungssystems Ax — b mit A G W^^'^ symmetrisch positiv definit. Am Ende der Herleitung sollte dabei folgendes Verfahren herauskommen: Wahle a:^ G M^. Setze rO := 6 - Ax^ und d^ := r^. FOR A; = 0 , 1 , 2 , . . .
^fc+i
:=r^-tkAd^;
^k+i
.^^k+i_^p^^k.
END (beachte, dass hier nur ein Matrix-Vektor-Produkt Ar'^ berechnet werden muss, denn Ad^ lasst sich dann mittels der Formel Ad^'^^ = Ar^'^^ + f3kAd^ aufdatieren). Man verifiziere fiir obiges Verfahren insbesondere die Giiltigkeit von {rYAr^ = 0 Vi = 0 , l , . . . , A ; - l , weshalb man von konjugierten Residuen spricht. Aufgabe 5.5. Sei A G W^^"^ symmetrisch positiv definit derart, dass alle Diagonalelemente gleich sind. Dann stimmen die durch das CG-Verfahren aus dem Algorithmus 5.3 und die durch das PCG-Verfahren aus dem Algorithmus 5.13 erzeugten Iterierten tiberein, sofern man beim PCG-Verfahren den Jacobi-Prakonditionierer wahlt und fur beide Verfahren denselben Startvektor nimmt.
AUFGABEN
219
Aufgabe 5.6. (Kantorovich-Ungleichung) Sei ^ G R'^^'^ symmetrisch positiv definit mit kleinstem Eigenwert Amin und grofitem Eigenwert Amax- Dann gilt {x'^Ax){x'^A~
X)
(Amin + Amax)
fur alle rr € M^ mit a: ^ 0. Hinweis: Siehe zum Beispiel Lemma 8.5 in [24]. Aufgabe 5.7. (Verfahren des steilsten Abstiegs) Zur Losung von Ax = b mit A G W^^'^ symmetrisch positiv definit minimieren wir die Funktion f(x) := -x'^Ax - h^x durch Anwendung des Verfahrens vom steilsten Abstieg: x^+i-x^-tfc/,
A: = 0 , 1 , . . . ,
mit /
:= Ax^ - 6,
Zeigen Sie, dass dieses Verfahren bei beliebigem Startvektor x^ G M" gegen die eindeutig bestimmte Losung x* von Ax = b konvergiert und dass die Ungleichung
/(x^+i) - f(xn < (^^"7^'")' (fix") - f{xn) erfiillt ist, wobei Amax und Amin natiirlich den grofiten und kleinsten Eigenwert von A bezeichnen. Hinweis: Wende die Aufgabe 5.6 geeignet an, siehe beispielsweise auch Satz 8.6 in [24]. Aufgabe 5.8. Betrachte das Verfahren des steilsten Abstiegs aus der Aufgabe 5.7 zur Losung des linearen Gleichungssystems Ax = b mit einer symmetrisch positiv definit en Matrix A G M"^^. Zeigen Sie, dass dann die Ungleichung k
x*\\2
H ^ ) "^°-^*i [
T^ I
\\X"-X\\2
ftir alle Iterierten x^ erfiillt ist, wobei x* die Losung des Gleichungssy stems Ax = b sei und K := Amax(^)/Amin(^) die (Spektral-) Kondition von A bezeichne. Hinweis: Aufgabe 5.7.
220
5 CG-Verfahren
Aufgabe 5.9. (Einhiillende des Cholesky-Faktors) Sei A G W^^'^ symmetrisch positiv definit mit der Cholesky-Zerlegung A — LL'^. Dann ist S{A) = S{L)^ d.h., die Einhiillende des Cholesky-Faktors L stimmt mit der (unteren) Einhtillenden der Matrix A liberein. Aufgabe 5.10. Sei ^ = a Q mit a ^ 0 und Q € W""^ orthogonal. Zeigen Sie, dass sowohl das CGNR- als auch das CGNE-Verfahren nach nur einer Iteration die Losung des zugehorigen linearen Gleichungssystems Ax = b findet, wobei der Startvektor x^ beliebig gewahlt werden kann. Aufgabe 5.11. Implementieren Sie das CG-Verfahren aus dem Algorithmus 5.3 und testen Sie es an geeigneten Beispielen. Was passiert bei der Anwendung des CG-Verfahrens auf ein symmetrisches (nicht notwendig positiv definites) Gleichungssystem? Aufgabe 5.12. Implementieren Sie das PCG-Verfahren aus dem Algorithmus 5.13. Benutzen Sie hierzu (a) den Prakonditionierer aus dem SGS-Verfahren (symmetrisches GaufiSeidel-Verfahren); (b) den Prakonditionierer aus der unvollstandigen Cholesky-Zerlegung (beispielsweise mit Ai = B{A)). Testen Sie diese Verfahren an geeigneten Beispielen und vergleichen Sie das Verhalten mit dem CG-Verfahren (ohne Prakonditionierung). Aufgabe 5.13. Implementieren Sie die beiden Verfahren CGNR und CGNE aus den Algorithmen 5.15 und 5.16. Testen Sie beide Verfahren insbesondere am Beispiel der zweidimensionalen diskretisierten Konvektions-DiflFusionsGleichung.
GMRES und verwandte Verfahren
Dieses Kapitel beschaftigt sich mit dem so genannten GMRES-Verfahren und einigen Varianten zur Losung von linearen Gleichungssystemen mit einer nur noch regularen Koeffizientenmatrix. Fiir solche Gleichungssysteme nimmt das GMRES-Verfahren eine exponierte Stellung ein. Zum einen ist es stets wohldefiniert (im Gegensatz beispielsweise zu den noch zu besprechenden Verfahren im Kapitel 7), zum anderen findet es die exakte Losung theoretisch nach endhch vielen (hochstens n) Schritten. Insofern handelt es sich bei dem GMRES-Verfahren um ein direktes Verfahren, das allerdings (wie bereits das CG-Verfahren) iibhcherweise als ein iteratives Verfahren betrachtet wird, da gute Naherungen an die exakte Losung oft schon nach sehr viel weniger als n Schritten erreicht werden. Der groi3e Nachteil des GMRES-Verfahrens besteht in dem viel zu hohen Rechenaufwand und insbesondere Speicherplatzbedarf, weshalb wir uns in diesem und dem folgenden Kapitel noch ausgiebig mit geeigneten Varianten des GMRES-Verfahrens beschaftigen werden. Inhaltlich beginnt das Kapitel mit dem Abschnitt 6.1, der sich mit einigen Eigenschaften der Krylov-Raume auseinandersetzt. Diese Krylov-Raume werden von nun an eine grofie Bedeutung erlangen. Der Abschnitt 6.2 ftihrt dann das eigentliche GMRES-Verfahren ein. Eine erste Variante dieses Verfahrens ist die GMRES(m)-Methode aus dem Abschnitt 6.3, bei der es sich im Prinzip um das GMRES-Verfahren handelt, das allerdings nach jeweils m Iterationen neu gestartet wird, um den Rechen- und Speicherplatzaufwand des eigentlichen GMRES-Verfahrens in Grenzen halten zu konnen. Eine zweite Variante des GMRES-Verfahrens ist die im Abschnitt 6.4 besprochene MINRES-Methode zur Losung eines linearen Gleichungssystemes mit einer symmetrischen (aber nicht notwendig positiv definiten) Koeffizientenmatrix. Auf das Problem der Prakonditionierung der hier beschriebenen Methoden gehen wir im Abschnitt 6.5 ein, und ein geeigneter Prakonditionierer wird mit der unvollstandigen LR-Zerlegung im Abschnitt 6.6 besprochen.
222
6 GMRES und verwandte Verfahren
6.1 Krylov—Raume Als Vorbereitung zu den Verfahren in diesem und dem nachfolgenden Kapitel beschaftigen wir uns in diesem Abschnitt etwas ausflihrlicher mit dem KrylovRaum, der bereits im Zusammenhang mit dem CG-Verfahren im Abschnitt 5.2 auftrat. Dieser Krylov-Raum wird bei der Konstruktion aller noch zu beschreibenden Verfahren benutzt werden. Zunachst erinnern wir noch einmal an seine Definition: Der k-te KrylovRaum zu einer gegebenen Matrix A G W^^^ und einem Vektor b G W^ ist gegeben durch K:k{b,A):=spe.n{b,Ab,A%,...,A^-^b}. Da /Cfc(6, A) von k Vektoren aufgespannt wird, ist die Dimension dieses Raumes hochstens gleich k. Der Fall dim[JCk{b, A)) < k wird in dem folgenden Resultat betrachtet. Satz 6.1. Seien A G R"'^'^ eine reguldre Matrix, b e W^ sowie x* := A~^b die exakte Losung des linearen Gleichungssystems Ax — b. Dann sind die folgenden Aussagen dquivalent: (a) Die Vektoren 6, Ab^..., A^b sind linear abhdngig. (b) Es ist ICkib.A) = /Cfc+i(6,v4). (c) Es gilt AKk{b^A) C Kk{b^A), d.h., JCk{b,A) ist ein A-invarianter raum. (d) Es istx* € lCk{b,A).
Unter-
Beweis. (a) ==> (b): Nach Voraussetzung existiert ein 0 < i < k, so dass A^b linear abhangig von 6, ^ 6 , . . . , A^-^b ist, also A^b = ^ f z ^ jiA'b fiir gewisse Koeffizienten 7i G M gilt. Multiplikation von links mit A^~^ liefert £-1
A^b = Y^'yiA^-^+'b e JCkib.A). Folglich ist /Cfc+i(6, A) C /Cfc(6, A) und daher naturhch )Ck+i{b, A) = )Ck{b, A). (b) ==^ (c): Offenbar ist AKk{b,A) = ^ s p a n { 6 , ^ 6 , . . = span{A6, A^b,...,
.,A^-^b} A^b}
Cspan{b,Ab,A%...,A^b}
= JCk+iib.A).
Mit (b) folgt daher die Behauptung (c). (c) ==> (d): Betrachte die durch T{x) := Ax definierte Abbildung T : JCk{b,A) -^ W. Nach Voraussetzung (c) ist T{x) = Ax e AK:k{b,A) C
6.1 Krylov-Raume
223
JCk{b,A) fiir alle x € JCk{b,A). Daher ist T : }Ck{b,A) -^ KLkih.A) eine Abbildung des Krylov-Raumes /Cfc(6, A) in sich. Die lineare Abbildung T : Kk{b,A) -^ }Ck{b,A) ist aufierdem injektiv, denn aus T(x) = T{y) fiir x,y e JCk{b, A) folgt A{x — y) — 0 und daher x = y aufgrund der Regularitat der Matrix A. Als injektive lineare Abbildung auf dem endlich-dimensionalen Vektorraum JCk{b,A) ist T dann bereits bijektiv, vergleiche hierzu die Dimensionsformel aus dem Satz 1.3. Da wir trivialerweise 6 G Kk{b,A) haben, existiert deshalb genau ein x € JCk{b,A) mit Ax = T{x) = b. Die Regularitat von A impliziert dann x = A~^b = x* und daher x* G JCk{b, A). (d) •=> (a): Nach Voraussetzung (d) gilt x* G spd,n{b,Ab,...,A^~^b]. Also ist b = Ax* G spa.n{Ab, A^b,..., A^b}. Folglich sind die Vektoren 6, Ab, A'^b,..., A^b linear abhangig. D Wir woUen jetzt noch andeuten, wie die Krylov-Raume zur Losung eines linearen Gleichungssystems Ax = b eingesetzt werden konnen. Dabei geben wir hier zunachst nur die grobe Idee an, wahrend die Details den folgenden Abschnitten uberlassen bleiben. Prinzipiell beschreiben wir zwei Ansatze zur Losung eines linearen Gleichungssystems mittels der Krylov-Raume: Zum einen ist dies die Klasse der Minimum-Residuen-Verfahren, und zum anderen ist das die Klasse der Galerkin-Verfahren. Wir beginnen zunachst mit den Minimum-Residuen-Verfahren. Dazu bezeichne || • || weiterhin stets die euklidische Vektornorm im R'^. Ferner sei B G M^^"^ eine regulare Matrix, deren genaue Wahl an dieser Stelle nicht weiter spezifiziert werden soil. GemaB Lemma 1.17 wird durch ||a:||B := ||Bx||
fiir a: G R^
dann eine Vektornorm im M" definiert. Die Losung des linearen Gleichungssystems Ax = b ist hiermit offenbar aquivalent zur Minimierung des Residuums minimiere -||6 - Aa;|||,
a; G R"".
Ersetzt man dieses n-dimensionale Problem im k-ten Iterationsschritt durch das nur noch /c-dimensionale Problem minimiere -||6 —^a:||^,
x e x^ +
Kk{r^,A),
wobei x^ G R^ ein beiiebiger Startvektor ist,
das zugehorige Anfangsresiduum bezeichnet und Kk{T\A)
:= s p a n { r ^ ^ r ^ . . . , ^ ^ - V « }
gilt, so gelangt man zu der folgenden Klasse von Verfahren.
224
6 GMRES und verwandte Verfahren
Algorithmus 6.2. (Allgemeines Minimum-Residuum-Verfahren) Wdhle x^ eW,B e W''' regular, und seize r^ :=b- Ax^. FOR A; = 1 , 2 , . . .
Bestimme x^ G W^ als Losung von minimiere -\\b — Ax\\%
fur a; € x^ 4- /Cfc(r°, A).
(6.1)
END Der Algorithmus 6.2 besitzt in der Wahl der regularen Matrix B nattirlich gewisse Freiheiten, auf die wir noch zuriickkommen werden. Weiterhin wird zu klaren sein, wie man die hier auftretenden /c-dimensionalen Teilprobleme (6.1) moglichst geschickt l5sen kann. Ansonsten lasst sich fur die obige Klasse von Verfahren bereits ein allgemeiner Konvergenzsatz beweisen. Zu diesem Zweck notieren wir zunachst ein Hilfsresultat, welches man als unmittelbare Konsequenz des Satzes 6.1 erhalt. Lemma 6.3. Seien A^W^^"^ eine regulare Matrix und b GW^ gegeben. Seien fernerKk '•= lCk{r^^A) fiirr^ := b—Ax^ und ein heliebiges x^ G W^. IstkGN der kleinste Index mit JCQ ^ JCi ^ •' • ^ JCk = JCk+i
(hierbei ist JCQ :~ {0}),
so liegt die Losung x* des linearen Gleichungssystems Ax = b bereits in dem affinen Raum x° 4- /CA; • Beweis. Wegen Satz 6.1 und der Voraussetzung Kk = ^k+i gehort der Losungsvektor y* des linearen Gleichungssystems Ay = r^ zum Krylov-Raum /Cfc. Wegen r^ = b — Ax^ ist dies aquivalent zu A{x^ + y) — b. Also ist X* := x^ -^ y* die Losung von Ax = b, und wegen y* € JCk folgt hieraus X* Gx^ + Kk• Da nach spatestens n Schritten Kn = JCn+i gelt en muss (denn im W^ kann es keine n + 1 linear unabhangigen Vektoren geben), erhalten wir den folgenden Satz als direkte Folgerung des Lemmas 6.3. Satz 6.4. Sei A € W^^'^ eine regulare Matrix. Dann findet der Algorithmus 6.2 nach spatestens n Schritten die Losung x* des linearen Gleichungssystems Ax = b. Der Satz 6.4 garantiert insbesondere, dass der Algorithmus 6.2 nach endlich vielen Schritten abbricht. Die Zahl n dient hierbei als obere Schranke und ist ftir viele praktische Probleme zu pessimistisch, zumal die iterativen Verfahren gerade bei linearen Gleichungssystemen von sehr hoher Dimension (also fxir sehr groBes n) eingesetzt werden. Tatsachlich werden die in den folgenden Abschnitten zu besprechenden Verfahren oft schon nach sehr viel weniger
6.1 Krylov-Raume
225
Iterationen eine recht brauchbare Naherung fiir die gesuchte Losung x* des linearen Gleichungssystems Ax = b finden. Neben dem allgemeinen Minimum-Residuum-Verfahren aus dem Algorithmus 6.2 gibt es noch eine weitere wichtige Klasse von Verfahren zur Losung eines linearen Gleichungssystems Ax = 6, namlich die so genannten GalerkinVerfahren, manchmal auch Projektionsmethoden genannt. Diese bestimmen die k-te Iterierte ebenfalls aus dem Raum x^ -f /Cfc(r^,A), wobei x^ G R^ wieder ein beliebiger Startvektor ist und r^ := b — Ax^ das zugehorige Anfangsresiduum bezeichnet. AUerdings wird die k-te Iterierte x^ jetzt nicht mehr als das Minimum des Residuums b — Ax (bzgl. einer geeigneten Norm) berechnet, sondern dieses Residuum soil nun orthogonal zu einem Raum C^ mit dim(£fc) = k sein. Ein Galerkin-Verfahren ist also bestimmt durch die beiden Forderungen x^ ex^-h JCkir^, A)
und
6 - Ax^ ± A -
Speziell fiir C^ = K,k spricht man von einem Ritz-Galerkinoder BubnovGalerkin-Verfahren, ftir Ck 7^ JCk hingegen von einem Petrov-GalerkinVerfahren, Formal sieht ein Galerkin-Verfahren also wie folgt aus. Algorithmus 6.5. (Allgemeines Galerkin-Verfahren) Wdhle x^ € W, und seize r^ := b - Ax^. FOR A; = 1 , 2 , . . .
Bestimme x^ G W^ mit x ^ G x ° + /Cfc(r^,A)
und
b - Ax^ L Ck
(6.2)
fiir einen Vektorraum Ck mit dim{Ck) = k. END Der Algorithmus 6.5 bricht ebenfalls nach spatestens n Schritten mit der Losung des linearen Gleichungssystems Ax = 6 ab, denn der NuUvektor ist offenbar der einzige Vektor, der zu einem n-dimensionalen Vektorraum Cn orthogonal ist. Auf die Frage, wie sich ein x^ mit den Eigenschaften (6.2) berechnen lasst (und ob ein solches x^ liberhaupt existiert) werden wir erst spater eingehen, d.h., wir kiimmern uns an dieser Stelle nicht welter um die Realisierung des Algorithmus 6.5. Stattdessen zeigen wir in unserem folgenden Beispiel, dass das bereits bekannte CG-Verfahren sowohl zur Klasse der allgemeinen Minimum-ResiduenVerfahren als auch zur Klasse der Galerkin-Verfahren geh5rt. Beispiel 6.6. (a) Wegen Lemma 5.7 ist die Iterierte x^ des CG-Verfahrens eine Losung des Optimierungsproblems minimiere ||6 — Aa:||^-i/2
fiir x ^ x^ -\- Kk{r^, A).
Also ist das CG-Verfahren ein Spezialfall des allgemeinen Minimum-ResiduenVerfahrens aus dem Algorithmus 6.2 mit der Matrix B := A~^^^.
226
6 GMRES und verwandte Verfahren
(b) Wegen r^ = —g^ beim CG-Verfahren gilt aufgrund des Satzes 5.4 die Orthogonalitatsrelation (r^d^'^O
Vj-0,1,...,A;-L
Nach Lemma 5.6 ist aber /C^ = span{d°,d^,...,d^~^}, woraus sich b-Ax^
= r^± Kk
ergibt. Das CG-Verfahren ist demzufolge auch ein Ritz-Galerkin-Verfahren.
6.2 G M R E S fiir regulare Systeme Seien A € E^^"' und b £ W^ gegeben. Gesucht ist eine Losung des hnearen Gleichungssystems Ax = 6, (6.3) wobei wir aufier der Regularitat keine weiteren Voraussetzungen an die Matrix A stellen woUen; insbesondere braucht A weder symmetrisch noch positiv definit zu sein. Das GMRES-Verfahren (GMRES^^Generahzed Minimal RESidual) von Saad und Schultz [54] gehort dabei in die allgemeine Klasse von Verfahren aus dem Algorithmus 6.2, wobei wir hier mangels besserer Ideen einfach B := I setzen. Die Grundversion des GMRES-Verfahrens lautet damit wie folgt: Wahle x^ G M^ und setze r^ := b - Ax^. FOR A: = 1,2,... Bestimme x^ G R^ als Losung von minimiere ^\\b — AxW^ ftir x G x° + /CfcEND Hierbei bezeichnet Kk :-/Cfc(rO,A) : - s p a n { r ^ A r ^ A V , . . . , ^ ' ^ - V } natiirhch wieder den zur Matrix A und zum Anfangsresiduum r^ zugehorigen A:-ten Krylov-Raum. Damit ist das GMRES-Verfahren im Prinzip vollstandig beschrieben. Praktisch stellt sich jedoch die Prage, wie man das in jeder Iteration auftretende Optimierungsproblem m5glichst einfach losen kann. Wir werden uns im Folgenden mit dieser Frage naher auseinandersetzen. Zunachst einmal wird es sich als hilfreich erweisen, eine Orthonormalbasis des Krylov-Raums )Ck zu konstruieren. Dies kann etwa durch Anwendung des Gram-Schmidt-Verfahrens geschehen. Die genaue Vorgehensweise ist dabei wie folgt: Sind {t;^,..., v-^} bereits Orthonormalbasen der Krylov-Raume fCj
6.2 GMRES fiir regulare Systeme
227
fiir j < k^ so spannen die Vektoren {v^,... ,v^,Av^} offenbar den KrylovRaum K.j+1 auf. Wenden wir nun das Gram-Schmidt-Verfahren aus dem Algorithmus 3.8 an, um den neuen Vektor Av^ gegenliber den schon vorher berechneten Vektoren v^,... ^v^ zu orthonormalisieren, so ergibt sich gerade das nachstehende Verfahren, vergleiche Aufgabe 6.1. Algorithmus 6.7. (Amoldi-Verfahren) Wahle xO G M". Seize r^ :=b- Ax^, v^ := ^^. FORj = l:k w^ := Av^; FOR i = l\ 3 hij := (vTiAv^); w^ := w^ — hijv"^; END hj+ij := \\wm; END Numerisch ist es naturhch wieder besser, wenn man das modifizierte GramSchmidt-Verfahren aus den Algorithmus 3.10 zur Orthonormahsierung des neuen Vektors Av^ anwendet. Dies ergibt das folgende Verfahren, welches aufgrund unserer Ausftihrungen im Abschnitt 3.3 mathematisch voUig Equivalent zum Algorithmus 6.7 ist. Algorithmus 6.8. (Modifiziertes Wahle x^ eW. Seize r^ — h~ Ax^, v^ := ^^. FQRj = l:k w^ := Av^; FOR i = l:j hij := {v'^yw^; w^ := w^ — hijv'^; END hj+ij := \\w^ vJ+^ := w^/hj+i. END
Amoldi-Verfahren)
Die Erorterungen aus dem Abschnitt 3.3 zeigen, dass die beiden ArnoldiVerfahren eine Orthonormalbasis von Kk konstruieren, sofern die Vektoren r^^Ar^,... ,A^~^r^ linear unabhangig sind. Sollte dies nicht der Fall sein, so wissen wir aufgrund des Lemmas 6.3, dass wir bereits eine Losung des linearen Gleichungssystems Ax = b gefunden haben, was spatestens nach n Schritten der Fall sein wird. Insbesondere sind die Arnoldi-Verfahren daher wohldefiniert, da stets hj^ij ^ 0 gilt, sofern man noch keine Losung des zu Grunde liegenden linearen Gleichungssystems gefunden hat. Zusammenfassend haben wir also das folgende Resultat.
228
6 GMRES und verwandte Verfahren
Lemma 6.9. Sind die den Raum JCk erzeugenden Vektoren r°, Ar^^..., A^~^r^ linear unahhangig, so bilden die durch den Arnoldi-Algorithmus 6.7 bzw. den hierzu dquivalenten modifizierten Arnoldi-Algorithmus 6.8 konstruierten Vektoren v^,... ,v^ eine Orthonormalbasis von KkWahrend wir fiir numerische Zwecke meist auf das modifizierte ArnoldiVerfahren aus dem Algorithmus 6.8 zuriickgreifen werden, benutzen wir fiir unsere nachfolgenden theoretischen Betrachtungen den eigentlichen ArnoldiAlgorithmus 6.7. Wir gehen dabei davon aus, dass der Arnoldi-Algorithmus nicht vorzeitig abbricht, also stets hj+ij ^ 0 fur alle betrachteten j gilt (sonst, wie gesagt, sind wir schon fertig). Weiterhin bezeichnen wir ftir unsere nachstehenden Untersuchungen mit Vk eW^^^ die durch Vk := \v'
v^ \
VI
(6.4)
1/
definierte Matrix, wobei die v^ natlirlich die im Arnoldi-Verfahren 6.7 berechneten Vektoren seien. AuBerdem woUen wir an dieser Stelle explizit festhaiten, dass die Definition des Vektors w^ im Arnoldi-Verfahren 6.7 offenbar die Gleichheit j
w^ =Av^ -J2^ij'^'
(6.5)
impliziert, die in den nachstehenden Untersuchungen einige Male benutzt wird. L e m m a 6.10. Die durch Hk := Vf^AVk G M^^^
{6.6)
definierte Matrix ist eine obere Hessenberg-Matrix mit Eintrdgen (Tj \ \^k)ij
^ ( hij fiiri < j + 1, | o fiiri > i + 1,
wobei die hij die im Arnoldi-Verfahren
6.7 berechneten Elemente sind.
Beweis. Die Elemente von H^ mogen voriibergehend mit hij bezeichnet werden. Dann folgt aus der Definition (6.6) von Hk und den Vorschriften im Algorithmus 6.7 unmittelbar hij = {v'^)'^Av^ = hij fiir alle i < j , womit die Aussage des Lemmas zumindest schon mal fiir das obere Dreieck von Hk nachgewiesen ist. Wir betrachten jetzt die unterhalb der Diagonalen stehenden Eintrage von Hk- Fiir j = 1,2,... und ^ = 1,2,... ergibt aus (6.6) und dem Algorithmus 6.7 weiterhin
6.2 GMRES fiir regulare Systeme
229
i=l 3
V + ' ) V + ^ / l y ( ^ ^ +' ) V T
{
hj+ij fur / = 1, 0 ' fur / > 1
aufgrund der Orthogonalitat der Vektoren f^,^;^,... ,z;^ aus dem ArnoldiVerfahren 6.7, vergleiche Lemma 6.9. • Eine kompakte Schreibweise des Arnoldi-Verfahrens 6.7 wird durch das folgende Resultat geliefert. L e m m a 6.11. Die durch
definierte Matrix (mit Hk aus (6.6)) genugt der Gleichung AVk = Vk^{Hk
(6.8)
(mit Vk bzw. Vfc+i gemdfi (6.4)/ Beweis. Die Behauptung folgt sofort aus den Vorschriften des Algorithmus 6.7, wonach J
fiir alle j = 1 , . . . , /c gilt.
3
J'+I
•
Wir kehren nun wieder zu dem vom GMRES-Verfaliren zu losenden Optimierungsproblem m i n | | 6 - ^ a r | | mit a: G x° +/C^ (6.9) zurtick und gehen davon aus, dass die Losung x* des linearen Gleichungssystems Ax = h un k-ten Iterationsschritt noch nicht gefunden wurde. Da die Spalten der Matrix V^ aus (6.4) aufgrund des Lemmas 6.9 dann eine Orthormalbasis des Krylov-Raumes Kk bilden, lasst sich jeder Vektor x ^ x^ -{- Kk schreiben in der Gestalt
230
6 GMRES und verwandte Verfahren a; = a;° + Vky
fur ein y €
Mit ei : = ( 1 , 0 , . . . , 0 ) ^ e « ' ' + ' und Lemma 6.11 folgt daher \\h-Ax\\
= 6 - A ( a ; 0 + 14y)||
r° - AV^yW ||r»||t;i - AHt/ll ||rO||«' -
(6.10)
Ffc+i:fffcy||
llrOllej-iJfcj/ll, wobei die letzte Gleichung aus Vj^^V^+i = I folgt und Hk natiirlich die Matrix aus dem L e m m a 6.11 bezeichnet. Also konnen wir das Optimierungsproblem (6.9) ersetzen durch das Ausgleichsproblem mmpei-HkyW. 2/^ R ^ (6.11) mit 13 := \\r^\\- D a m i t ist die Grundversion des GMRES-Verfahrens aquivalent zu der folgenden Vorgehensweise: W a h l e x^ G W und setze r^ := b - Ax^, f3 := ||r^||. FORA; = 1 , 2 , . . . _ Berechne die Matrix H^ aus (6.7). Bestimme eine Losung y^ des Ausgleichsproblems (6.11). Setze x^ : = x^ + Vky^. END Nach L e m m a 6.10 ergibt sich die hierbei zu berechnende Matrix Hk unmittelbar durch Anwendung des Arnoldi-Verfahrens 6.7. Benutzen wir stattdessen das hierzu aquivalente modifizierte Arnoldi-Verfahren, so erhalten wir die folgende Spezifizierung des gerade beschriebenen Verfahrens. Wahle x^ e W und setze r^ FOR A; = 1 , 2 , . . . w^ := Av'^; FORi = l:k hik ••= [v'^w^]
h-Ax^,[5:=\\r^\
rVP-
END
^fc+i,fc — Ik^ll; vk+^ := w^/hk+i,k', Bestimme eine Losung y^ des Ausgleichsproblems (6.11). Setze x^ : = x^ + Vky^. END D a m i t bleibt noch zu untersuchen, wie m a n das Ausgleichsproblem (6.11) losen kann. I m Prinzip ist dies mit jedem der Verfahren aus dem Kapitel 3
6.2 GMRES fiir regulare Systeme
231
moglich. Aufgrund der oberen Hessenberg-Gestalt von Hk liefern die GivensRotationen allerdings die efRzienteste Moglichkeit. Aus der Gestalt
* * Hk =
* */
Vo
folgt namlich, dass sich die Matrix Hk durch Anwendung von insgesamt k Givens-Rotationen (?2i,<^32, • • • ,<^fc+i,fc ^ E(^+I)><(^+I) auf obere Dreiecksgestalt transformieren lasst:
/* * * • "*\ ** • *• •
Gk+i,k
Gz2G2iHk
•
*
=
Rk
Rk 0
(6.12)
* 0/
V
mit einer oberen Dreiecksmatrix i?fc € R^^^. Hat man diese Berechnungen in der Iteration A; durchgefiihrt, so stellt sich die Situation im nachsten Iterationsschritt /c+1 sogar noch einfacher dar, denn die Matrix Hk-\-\ unterscheidet sich von Hk im Prinzip nur dadurch, dass eine neue Spalte am Ende hinzugefiigt wird:
l*\
/
^ j^(fc+2)x(fc+l)
Hk
Hk+i
\0
*/
Um diese Matrix auf obere Dreiecksgestalt zu bringen, hat man wieder nur die untere Nebendiagonale zu ehminieren. Fiir den ^^-Block haben wir dies aber schon im vorherigen Schritt k get an, so dass die dort berechneten GivensRotationen G21, • • •, Gk-i-i,k (formal jetzt als Matrizen im R(^+2)x(fc+2) g^ufgg. fasst) nur noch auf die letzte Spalte von Hk+i angewendet werden miissen. Ferner benotigt man in der Iteration k + 1 dann natiirhch noch eine neue Givens-Rotation Gk+2,k+i, um schliefilich auch das in der letzten Zeile von Hk+i stehende Element zu eliminieren. Wendet man diese Givens-Rotationen auch auf die jeweilige rechte Seite des Ausgleichsproblems an, so lasst sich dieses durch einfache Riickwartssubstitution losen.
232
6 GMRES und verwandte Verfahren Mit (6.10) erhalten wir auf diese Weise dann ||6 - Ax\\ = ||/?ei - HkvW = 11^*^ -
Rkvl
wenn z^ den sich durch Anwendung der Givens-Rotationen G 2 1 , . . . , Gk+i,k auf Pei ergebenden Vektor bezeichnet, der sich per Definition dann rekursiv durch z^ = Gk+i,k ( Q fortschreiben lasst. Partitionieren wir diesen Vektor in der Form zk _ I Z \
^^k+1^
(k
SO folgt mit der Notation aus (6.12) unmittelbar
||6 - Ax'f
= \\z' - R.y'f
= ||.'= - R,y''f
+ \(,f = | a p ,
denn y^ ergibt sich gerade durch Riickwartssubstitution als Losung des Unearen Gleichungssystems RkV = z^. Also lasst sich das Residuum ||6 — Ax^\\ im A;-ten Iterationsschritt durch die Grdfie \Ck\ angeben, die auch ohne Kenntnis von x^ vorliegt. Insbesondere braucht das Ausgleichsproblem (6.11) erst dann gelost zu werden, wenn diese Grofie hinreichend klein ist. Daher muss auch der eigentlich interessierende Vektor x^ := x^ -\- Vky^ nicht in jeder Iteration berechnet werden, womit man immerhin eine ganze Reihe von Flops einsparen kann. Uberschreiben wir den Vektor 2^ in jeder Iteration (wobei dieser pro Iteration um eine Komponente grofier wird) und speichern die jeweiligen GivensRotationen Gk-\ri,k in den sie definierenden Grofien Ck und Sk ab, so ergibt sich aus den obigen tJberlegungen zusammenfassend jetzt die endgiiltige Fassung des GMRES-Verfahrens. Algorithmus 6.12. (GMRES-Verfahren) Wdhle Startvektor x^ G M^ und Abbruchparameter e >Q. Setzer^ :=b-Ax^,l3:= \\r^lv^ := r^/(5 und zi := p. FOR A; = 1,2,... _ % M o d i f i z i e r t e r Arnoldi-Algorithmus zur Berechnung von Hk • Av^
FORi = 1 :k hik
:=w^ hk+i,k
'•=
-
hikv\
Ik'll;
v^+i := w^/hk+i,k; % Anwendung von Givens-Rotationen auf (6.11) % Wende alte Givens-Rotationen auf k-X.Q Spalte von Hk
an
6.2 GMRES fiir regulare Systeme
233
FOR 2 = 1 : (/c - 1)
( ^ik \ ._ f ^i ^i\ 1 \hi+i^kj
'
\-Si
hik
CiJ \yhi-^i,k
END % Bestimme n e u e G i v e n s - R o t . z u r IE l i m i n a t i o n von Hk{k + l,k) T '-= \hkk\ H- |^fc+i,fc|;
i':=r' Ck '=
y/ikkk/r)^ hkkl^;
+
{hk+i,k/r]
Sk '•= hk+i,k/i^;
% Anwendung der neuen Givens-Rotation auf Hk hkk '•= ^;
hk+i,k '= 0; % Anwendung d e r n e u e n G i v e n s - R o t a t i o n auf r e c h t e S e i t e z^ ^k+l '= —Sk^k', Zk := CkZk;
% Abbruchkriterium END 7P R i i c k w a r t s s u b s t i t u t i o n z u r Berechnung von y^ Vk ••=
Zk/hkk;
FORz = ( A ; - l ) : - 1 : 1 Vi = \Zi — Z-^j—ij^i
hijyjj/flu;
END 7o Berechnung d e r N a h e r u n g s l o s u n g x^ : = x^ + VkV^
x^ := x^ + J2^^i 2/^^^* Der Algorithmus 6.12 kann in der obigen Form sofort implementiert werden. Als Abbruchkriterium haben wir (wie schon friiher) das relative Residuum als Genauigkeit genommen, alternativ konnte m a n auch die Abfrage \zk+i\ < s wahlen, die den absoluten Fehler im aktuellen Residuum misst. Die i m obigen Algorithmus benutzte Vorschrift hk-\.i,k '-= 0 kann im Prinzip auch entfallen, d a das untere Dreieck der transformierten Matrix Hk letztlich nicht mehr von Interesse ist. Als Testbeispiel betrachten wir jetzt die zweidimensionale diskretisierte Konvektions-Diffusions-Gleichung C^XN'^
— h"^ f aus d e m A b s c h n i t t 1.9 m i t
AT = 32 (also n = N'^ = 1.024), d e m Vektor b = I cos —, sm —) ^ 4 4^ sowie der rechten Seite Als St art vektor x^ dient wieder der Null vektor, u n d der Abbruchparameter e wurde auch hier als 10~^ gewahlt. D a s GMRES-Verfahren benotigt dann 80 Iterationen zur Losung dieses Problems. Der zugehorige Verlauf des relativen Residuums ist in der Abbildung 6.1 angegeben.
234
6 GMRES und verwandte Verfahren
Abbildung 6.1. Verlauf des relativen Residuums beim GMRES-Verfahren Wir beschliefien diesen Abschnitt mit einigen Bemerkungen. Bemerkung 6.13. (a) Bei der Konstruktion einer Orthonormalbasis des Krylov-Raumes KLk benutzen wir hier das Arnoldi-Verfahren. Von Walker [65] stammt ein Vorschlag, bei dem man alternativ Householder-Transformationen benutzen kann. Dieser Zugang ist zwar etwas aufwendiger im Hinblick auf die ben5tigten Flops, gilt in der Praxis aber als numerisch stabiler und wird deshalb manchmal bevorzugt. Wir gehen auf diese Variante von GMRES auch im Rahmen der Aufgabe 6.7 ein. (b) Aus dem Arnoldi-Verfahren erhalten wir eine Matrix Vk — (f ^ , . . . , v^) G ]^nxfc^ deren Spaltenvektoren eine Basis des Krylov-Raumes Kk bilden. Macht man nun einen Ritz-Galerkin-Ansatz
x^ £x^ + Kk und
h-Ax^l.
Kk
und schreibt x^ = x^ -\- Vky^ mit einem y^ G M^, so lasst sich dies aquivalent schreiben als
0 = V^{b - Ax'') = V^ir'' - AVuv'') = V\\e^ - V^AVkv" = ||r»||ei - ^ f c / . Hieraus erhalt man y^ als Losung eines linearen Gleichungssystems und damit schliefilich auch x^. Diese Vorgehensweise wird als FOM-Verfahren bezeichnet (FOM = Full Orthogonalization Method). Fiir weitere Details verweisen wir hierzu auf [53, 44, 62].
6.3 GMRES(m) fiir regulare Systeme
235
6.3 GMRES(m) fiir regulare Systeme Aufgrund der Herleitung ist klar, dass durch das GMRES-Verfahren nach spatestens n Schritten die exakte Losung des linearen Gleichungssystems Ax = b gefunden wird. Fiir grofies n bedeutet dies aber einen viel zu grofien Aufwand, da beispielsweise die Matrix Vk explizit abgespeichert werden muss. Da es sich hierbei im AUgemeinen um eine vollbesetzte Matrix handelt (selbst bei schwach besetztem A), ist dies fiir groBere Werte von k viel zu teuer. Um diesen Nachteil zu vermeiden, ersetzt man das GMRES-Verfahren durch ein so genanntes GMRES-Verfahren mit Restarts, auch GMRES(m)Verfahren genannt. Dabei ist m eine vorgegebene natiirhche Zahl, die die maximal erlaubte Anzahl an Spalten in der Matrix Vk begrenzt. Sobald also /c = m ist, berechnet man die zugehorige aktuelle Iterierte x^ analog zum Vorgehen beim GMRES-Verfahren aus dem Algorithmus 6.12. Gentigt dieses x^ noch nicht der vorgegebenen Genauigkeit, so startet man das GMRESVerfahren erneut, allerdings mit dem aktuellen Punkt x'^ als Startvektor. Gibt man sich noch eine maximale Zahl von Restarts vor, so erhalt man auf diese Weise das nachstehende Verfahren. (Man beachte hierbei, dass das ursprtingliche Anfangsresiduum gesondert abgespeichert werden muss, da x^ etc. mit jedem Restart liberschrieben werden.) A l g o r i t h m u s 6.14. (GMRES(m)-Verfahren) Wdhle Startvektor x^ £W^,€ > 0,m e N und restartma.x ^ N. Seize restart := 0. WHILE restart < restartmax Setzer^ :=b-Ax^,(3:= \\r^lv^ :=r^/0 und zi : - / 3 . IF restart—0
A := P; END FOR k = l:m _ 7o Modif i z i e r t e r Arnoldi-Alg. zur Berechnung von Hk w^ := Av^; FOR i = 1 : /c
hik := {vY'W^; w^ := w^ - hikV^; END
hk+i,k '= Ik^ll; v^+^ := w^/hk+i,k; 7o Anwendung von Givens-Rotationen auf (6.11) % Wende a l t e Givens-Rot. auf k-te Spalte von Hk an FOR i = 1 : (A; - 1) \hi+i,kj
'
\-Si
Ci J \hi+i^k
END
% Neue Givens-Rot at ion zur Elimination von
_
Hk{k-\-l,k)
236
6 GMRES und verwandte Verfahren T := \hkk\ + \hk+i,k\; ly :=T- y/{hkklry 4- {hk+i,klrY; Ck • = hkk/i^; Sk '•= hk+i,k/jy;
% Anwendung der neuen Givens-Rotation auf Hk hkk
'•=
hk+i,k
^; '•= 0 ;
7o Anwendung der neuen Givens-Rot. auf r e c h t e S e i t e z^ ^fc+i • = Zk :=
-skZk;
CkZk;
% Abbruchkriterium
IF\zk+i\/P<e:STOP END % Riickwartssubstitution zur Berechnung von y^ Vk •= Zk/hkk; FOR i = (A; - 1) : - 1 : 1
Vi == {zi - E j = i + i hijyj)/hii; END % Berechnung der Naherungslosung x^ := x^ + Vky^ % Uberprufung auf R e s t a r t IF \zk+i\/Po>e x^ := x^; restart := restart + 1; END END Unter Verwendung des GMRES(m)-Verfahrens kann man zwar den maximal bendtigten Speicherplatz kontr oilier en, allerdings besitzt dieses Verfahren im AUgemeinen nicht mehr die Eigenschaft des eigentlichen GMRES-Verfahrens, nach spatestens n Schritten mit einer L5sung abzubrechen. Es ist noch nicht einmal garantiert, dass die durch das GMRES(m)-Verfahren erzeugte Folge gegen die Losung x* des linearen Gleichungssystems Ax = b konvergiert. Ftir den Spezialfall einer positiv definiten (nicht notwendig symmetrischen) Matrix geben wir allerdings ein Konvergenzresultat an. Zu diesem Zweck beginnen wir zunachst mit einem Resultat fur das GMRES-Verfahren. Lemma 6.15. Seien A eW^^'^ eine positiv definite (nicht notwendig symmetrische) Matrix und x^ die durch das GMRES- Verfahren aus dem Algorithmus 6.12 erzeugte Iterierte. Dann ist 1/2
•*' 4 ' - ^)
llr»l
mit den Residuen r^ — h-Ax^.
r^
:=h-Ax^
6.3 GMRES(m) fiir regulare Systeme sowie den vom Iterationsindex k unabhdngigen A^ := ^min{-^{A + A"^)),
237
Konstanten a := \\A\\2.
Beweis. Wegen r^ G ]Ck{r^^A) ist x^ 4- ar^ € a:° + Kkir^, A)
Wa € M.
Da x^ gemafi Definition des GMRES-Verfahrens gerade das Residuum auf dem Raum x^ + K,k{r^^ A) (in der euklidischen Norm) minimiert, folgt somit
^Wr^'-aArY = llr^f - 2 a ( r V A r ^ - h a^llArOf fiir alle a G R. Speziell fiir ""''-
Pr0||2
erhalt man daher
prO|| ^,,^0|,2/, V
;
, ( r ° ) M r ^ 2 ^ M l ^2• V ||r0||2 ; V \\Ar^ ) ) >)U
>l/cr
wegen {r^'YAr'' = (rYiliA + A^)y ^""V"'' //||rOf und
,, ...
Hieraus folgt die Behauptung.
\\Ax\\ ^ \\Ar^ D
Unter Verwendung des Lemmas 6.15 konnen wir jetzt auch einen Konvergenzsatz fiir das GMRES(m)-Verfahren beweisen. Satz 6.16. Sei A € E"^^ positiv definit (nicht notwendig symmetrisch). Dann konvergiert das GMRES(m)-Verfahren fiir jedes m > 1.
238
6 GMRES und verwandte Verfahren
Beweis. Aufgrund des Lemmas 6.15 gilt zunachst < 11-^1
iIrO'
mit gewissen Konstanten /j, und a. Nach m Schritten wird das GMRES(m)Verfahren dann neu gestartet mit dem Anfangsresiduum r^. Daher ergibt sich aus dem Lemmia 6.15 auch 2 \ 1/2
|^2m,|< f l - ^ ]
\\r^
So fortfahrend, erhalt man die Gliltigkeit der Ungleichungen
fiir j = 1,2, — Hieraus folgt
Wegen 1 ergibt sich die Beiiauptung.
2)
^"0
fur j ^^ oo D
In der Praxis wird das GMRES(m)-Verfahren dem eigentlichen GMRESVerfahren meist vorgezogen, da Rechenaufwand und Speicherplatz-Bedarf beim GMRES-Verfahren einfach zu groB sind. Wir testen das GMRES(m)Verfahren mit m = 20 ebenfalls an dem Beispiel der zweidimensionalen diskretisierten Konvektions-Diffusions-Gleichung CNXN'^ = h"^/ mit AT = 32 (also n = N"^ = 1.024) sowie 6= (cos-,sin-)^
und
/ := ( l , . . . , l)"".
Als Startvektor x^ dient wieder der Nullvektor, und der Abbruchparameter s wurde erneut als 10~^ gewahlt. Das GMRES(m)-Verfahren benotigt insgesamt 178 Iterationen, wobei die einzelnen Iterationen (ftir k > 20) natiirlich wesenthch giinstiger sind als beim GMRES-Verfahren. Der Verlauf des relativen Residuums fiir das GMRES (77i)-Verfahren befindet sich in der Abbildung 6.2. Bemerkung 6.17. (a) Einige der Hinweise aus der Bemerkung 6.13 gelten natiirlich auch fur das GMRES(m)-Verfahren. So kann man den Arnoldi-Teil
6.4 MINRES fiir symmetrische Systeme
239
Abbildung 6.2. Verlauf des relativen Residuums beim GMRES(772)-Verfahren beispielsweise wieder durch geeignete Householder-Transformationen ersetzen. (b) Das GMRES(??i)-Verfahren kontrolliert den Rechenaufwand und Speicherplatzbedarf von GMRES, indem nach jeweils m Schritten ein v5lliger Neustart durchgefiihrt wird. Alternativ kann man im Arnoldi-Verfahren auch nur auf die letzten m Vektoren v^^v^~^, • - •, v^~'^^^ zuriickgreifen, womit man ebenfalls den Rechen- und Speicheraufwand beschranken kann. Ftir weitere Einzelheiten zu dieser Modifikation sei auf [53] verwiesen. (c) Eine Reihe von weiteren Varianten des GMRES-Verfahrens werden beispielsweise in den beiden Biichern [53] von Saad und [62] von van der Vorst besprochen.
6.4 MINRES fiir symmetrische Systeme Betrachte wieder das lineare Gleichungssystem Ax = h mit 6 G M^ und einer regularen Matrix A G R^^*^, die jetzt zusatzlich als symmetrisch vorausgesetzt wird. Die Vorgehensweise zur Herleitung des MINRES-Verfahrens (MINRES=MINimal RESidual) von Paige und Saunders [47] kann zunachst analog zum GMRES-Verfahren erfolgen. Dazu wahlt man wieder B = I m dem Algorithmus 6.2, womit sich die folgenden Vorschriften als Grundversion des MINRES-Verfahrens ergeben:
240
6 GMRES und verwandte Verfahren Wahle x^ G W und setze r^ •=h- Ax^. FOR A;= 1,2,... Bestimme x^ G W^ als Losung von minimiere ^\\b — AxW^ fiir x G x^ + JCkEND
Man beachte hierbei, dass diese Gr und version des MINRES-Verfahrens voUig ubereinstimmt mit derjenigen des GMRES-Verfahrens. Unterschiede treten erst bei der Losung des Minimierungsproblems auf. Aufgrund der jetzt vorliegenden Symmetrie der Matrix A ergeben sich beim MINRES-Verfahren dabei erhebliche Vereinfachungen gegentiber dem GMRES-Verfahren, die das MINRES-Verfahren wesenthch kostengiinstiger machen als das GMRESVerfahren zur Losung unsymmetrischer Gleichungssysteme. Zwecks Berechnung von x^ bestimmen wir zunachst wieder eine Orthonormalbasis des Krylov-Raumes JCk := /Cfc(r^ A) := s p a n j r ^ A r ^ . . . , ^ ^ " ^ 0 } . Dazu kann erneut der Arnoldi-Algorithmus 6.7 (bzw. seine Variante aus dem Algorithmus 6.8) benutzt werden. Wegen der Symmetrie von A folgt mit den in (6.6) definierten Matrizen Hk dann Hk = V^AVk = V^A'Vk = {V^AVkY
= HI.
Die obere Hessenberg-Matrix Hk aus dem Lemma 6.10 ist also symmetrisch und somit notwendigerweise von Tridiagonalgestalt. Betrachten wir hier aus numerischen Grunden nur den modifizierten Arnoldi-Algorithmus 6.8, so reduziert sich die innere Schleife aufgrund der obigen Beobachtung auf die Vorschriften
= w^ —
hj-ijv^~^. hjjV^.
Andererseits impliziert die Symmetrie von Hk auch
wobei die zweite Gleichung aus den Vorschriften des modifizierten ArnoldiVerfahrens 6.8 folgt. Mit der Notation aj := hjj
und f3j := hjj.i
( = hj.ij
= \\w^~'^\\)
ergibt sich aus dem modifizierten Arnoldi-Verfahren 6.8 der nachstehende Algorithmus zur Bestimmung einer Orthonormalbasis des Krylov-Raums Kk im Falle einer symmetrischen Matrix, der in der Literatur iiblicherweise als Lanczos-Verfahren bezeichnet wird.
6.4 MINRES fiir symmetrische Systeme
Algorithmus 6.18. (Lanczos-Verfahren) Wahlex^ eW". Seize r^ :=b- Ax^.v^ := 0,v^ : - r^/\\r^lPi
241
:= 0.
FOR j = 1 : A;
w^ :— Av^ - 0jV^~'^] w^ := w^ — ajV^;
END Passen wir noch die Bezeichnungen aus dem letzten Abschnitt an und schreiben / a i /32 0 \ /?2 <^2 "••
Tk := Hk
>kxk
• • • •••
A
\0
PkCXkJ
I Oil 02
0
\ G M^^+i) xfc
Tk := Hk
(6.13)
Pk Oik
\ 0
Pk+i I
sowie Vk — I y^ . . . v^ I ^ TtD'^xfc
SO gilt aufgrund des Lemmas 6.11 die Beziehung (6.14) Da die Spalten von 14 wieder eine Orthonormalbasis des Krylov-Raumes Kk bilden, lasst sich jeder Vektor x ^ x^ ^- Kk schreiben als x = x^ -\- Vky fiir ein y G M^. Mit ei := ( 1 , 0 , . . . , 0)^ € R^+^ und (6.14) folgt dann (analog zur Vorgehensweise in (6.10)) \\b-Ax\\
= \\b~A(x'> + Vky)\\ = \\r° - AVkvW = \\\\r^\\v^ - AVky)\\ = =
\\\\r°\\v'-Vk+iT,y\\ \\V,+,{\\r°\\e,-T,y)\\
= \\\\r°\\e,-nyl
242
6 GMRES und verwandte Verfahren
wobei die letzte Gleichheit wieder aus der Orthogonalitat V^^^Vfc+i = / folgt. Also konnen wir die Losung des in der Grundversion des MINRESVerfahrens auftretenden Ausgleichsproblems wieder ersetzen durch das Miniroierungsproblem min||Coei-Tfcyll, yG (6.15) mit Co .— ll-.>0| . Damit ist die Grundversion des MINRES-Verfahrens aquivalent zu der folgenden Vorgehensweise: Wahle a;0 G M^.
Setzer^ — b-Ax^Xo'=^
||r°||.
FOR A; = 1,2,... Berechne die Matrix T^ aus (6.13). Bestimme eine Losung y^ des Ausgleichsproblems (6.15). Setze x^ := x^ -^Vky^. END Die Elemente der Matrix Tk lassen sich aber mit dem Lanczos-Verfahren aus dem Algorithmus 6.18 berechnen, so dass sich das obige Verfahren wie folgt spezifizieren lasst: Wahle rr^ G M^. Setze r^ :=b- Ax^, Co := \\r^lv^
:= 0, v^ := r^/Co und pi := 0.
FOR A: = 1 , 2 , . . .
w
k
Av'' - PkV k-1
Bestimme eine Losung y^ des Ausgleichsproblems (6.15). Setze x^ := x^ -\-Vky^. END
Soweit ist die Vorgehensweise im Prinzip analog zu jener beim GMRESVerfahren. Da Tk als Matrix von der Form
/* *
0\
e M^^^^^)^^
Tfc =
* \0 aber eine einfachere Gestalt hat als die entsprechende Matrix Hk beim GMRES-Verfahren, ergibt sich hier eine wesentlich kostenglinstigere Methode zur Losung des Ausgleichsproblems (6.15). Im Prinzip hat man wieder
6.4 MINRES fiir symmetrische Systeme
243
k Givens-Rotationen ^ 2 1 , 0 3 2 , . . . , GA;+I,A; anzuwenden, um die untere Nebendiagonale von T^ zu eliminieren. Dies erzeugt im oberen Dreieck allerdings eine weitere Nebendiagonale, so dass sich nach erfolgter Anwendung der Givens-Rotationen eine Matrix der folgenden Gestalt ergibt:
* * *
^fe+i,fe • • • Gz2G2iTk —
-:i?fc
Rk 0
(6.16)
*
\o
0/
mit einer oberen Dreiecksmatrix Rk ^ M^^^, bei der allerdings nur drei Diagonalen besetzt sind. Hat man diese Berechnungen in der Iteration k durchgeflihrt, so stellt sich die Situation im nachsten Iterationsschritt k-\-l erneut einfacher dar, denn die Matrix Tk+i unterscheidet sich von der Matrix T^ im Prinzip wieder nur dadurch, dass eine neue Spalte am Ende hinzugefiigt wird: 0
/
Tk-\rl
=
Tk
\
0 A+1 "fc+i
\ 0 - 0 A+2/ Um diese Matrix auf obere Dreiecksgestalt zu bringen, hat man wieder nur die untere Nebendiagonale zu eliminieren. Ftir den T^-Block haben wir dies aber schon im vorherigen Schritt k get an, so dass die dort berechneten GivensRotationen G 2 1 , . . . , Gk-\-i,k nur noch auf die ersten k+l Elemente der letzten Spalte von Tk^i angewendet werden mtissen. Im Gegensatz zur Vorgehensweise beim GMRES-Verfahren stehen in dieser letzten Spalte aber fast nur Nullen, so dass die Anwendung der meisten dieser Givens-Rotationen auf diese letzte Spalte gar nichts bewirkt. Tatsachlich sorgen nur die Givens-Rotationen Gk,k~i und Gk+i,k fiir Veranderungen in der letzten Spalte von T^+i- Alle anderen zuvor berechneten Givens-Rotationen, also G21,... ,(^fc-1,^-2, benotigt man im Folgenden nicht mehr. Insbesondere brauchen diese GivensRotationen (oder die sie definierenden Elemente) auch nicht abgespeichert zu werden. Nattirlich hat man in der Iteration A; -f 1 dann noch eine neue GivensRotation Gk+2,k+i zu berechnen, um damit das Element Pk+2 in dem unteren Eck von Tk+i zu eliminieren. Insgesamt braucht man in einer Iteration des MINRES-Verfahrens daher nur 3 Givens-Rotationen an Stelle der k Givens-Rotationen im k-ten Iterationsschritt des GMRES-Verfahrens. Damit haben wir zwar eine effiziente
244
6 GMRES und verwandte Verfahren
Methode zur Bestimmung einer Losung y^ des Ausgleichsproblems (6.15) gefunden, fiir die Berechnung des eigentlich interessierenden Vektors x^ liber die Formel x ^ ^ x O + Vfc/ (6.17) verwendet man allerdings alle Spaltenvektoren der Matrix V/^, was fiir symmetrische Matrizen A einen viel zu grofien Speicherplatz-Aufwand darstellt. Tatsachlich ist es moglich, den Vektor x^ mittels einer kurzen Rekursion aus bereits bekannten Daten herzuleiten. Zu diesem Zweck erinnern wir daran, dass sich y^ in der obigen Notation als Losung des Ausgleichsproblems min||Coei-rfct/||,
y € E^
ergab, das mit Hilfe geeigneter Givens-Rotationen aquivalent formuliert wurde als rmn\\z^ -'Rky\\. Hierbei ist Rk natlirlich die Matrix aus (6.16) und z ^ = : (^^\
GM^+1
(6.18)
der sich entsprechend aus Coei durch sukzessive Multiplikation mit den Givens-Rotationen ^21, (^32, • • •, Cfc+i.fc ergebende Vektor. Mit (6.16)-(6.18) folgt daher
b-Ax'^f
= ||Coei-T;fe2/'=|f
= ||j*-l,/f
Hi(<:)-(t)/i = ||.'=-i?,/|f + |a|'
= lal', denn y^ ergibt sich gerade durch Riickwartssubstitution aus dem linearen Gleichungssystem RkV = z^. Insbesondere gibt die Grofie
also der Betrag der letzten Komponente des Vektors J^, gerade das aktuelle Residuum an. Dies ist konsistent mit der Definition von Co = Ik^llFiir spatere Zwecke vermerken wir an dieser Stelle auch noch, dass sich der Vektor # G M^+i per Definition rekursiv aus ^'= = Gfc+i,,(^^g"')GK'=+i ergibt. Ist hierbei Gk-^\^k = Gk+i,k{ck^Sk) und schreiben wir
(6.19)
6.4 MINRES fiir symmetrische Systeme
245
"yk J in Analogic zu (6.18), so folgt aus der Beziehung (6.19) unmittelbar
\ = Z = Gk+l,k (
^'^
n
) "^ Gk+l,k
^ ^ ^
Ck-l
\
=
0 J
CkCk-l
\-SkCk-i
denn die Givens-Rotation Gk+i,k{ck, Sk) wirkt nur auf die letzten zwei Komponenten von 2^, andert also nur die letzte Komponente von z^. Also ist (6.20) Wir setzen zur Abklirzung jetzt Pk •= VUR;^
^=^
PkRk = Vk
und bezeichnen die Spalten von Pk mit p^,p^ ., .p^:
Pk=
I P^ p"
Ferner ist Rk von der speziellen Gestalt (rii
0
ri2 r i 3 r22 ^23 r24
\
Rk = rk-i,k-i
V0
rk-2,k fk-i,k rk,k I
vergleiche (6.16). M a n beachte hierbei, dass zunachst sowohl die Spalten p^ von Pk als auch die Elemente rij von Rk vom Index k abhangen. Die Konstruktion von Rk impliziert allerdings, dass die ftihrende (A:—1) x (A;—l)-Blockmatrix von Rk gerade Rk-\ ist, so dass die Elemente der Matrix Rk letztlich doch unabhangig vom Index k sind. Hieraus folgt d a n n wiederum, dass auch die Spalten der Matrix Pk nicht von k abhangen, denn aus PkRk ~ Vfc ergibt sich, dass die Spalten von Pk nichts anderes als eine Linearkombination der Spalten von Vk sind. Wegen
T4 = I v^ v^ '•' v^
6 GMRES und verwandte Verfahren
246
und der speziellen Gestalt von Rk ergibt sich aus PkRk Beziehung
+ + +
risP^ r24P^
r22P r2zP^
— ^k namlich die
= v^ + rssP^ = v^ + r44p^ = v"^
r34P^
k-2 + rk-i,kP^ ^ + VkkP^ = v^ rk-2,kP Fiir rkk 7^ 0 liefert dies die Rekursionsvorschrift
/
k-2
= {v^ -
rk-2,kP
(6.21:
')/rkk.
rk-i,kP
Wegen (6.20) folgt aufierdem
= a:« +
VkR^^z^
= x^ + PkZ^ ^k-i
=
x'+[Pk-i\p']
= X^ + = X^
CkCk-l
Pk-lZ^-^+CkCk-lP^ ^+CfcCfc-l/.
Dies ist die gewiinschte Aufdatierungsformel fiir den Iterationsvektor x^, die ohne Abspeicherung aller Vektoren v^,... ,v^ auskommt, d a p^ wegen (6.21) ebenfalls einer kurzen Rekursion geniigt. Ferner muss m a n y^ bei dieser Vorgehensweise gar nicht berechnen, d a die eigentlich interessierende GroBe x^ explizit vorliegt. Aus diesem Grunde braucht auch die obere Dreiecksmatrix Rk nicht weiter abgespeichert zu werden, sondern lediglich die drei von Null verschiedenen Eintrage rk-2,k,i^k-i,k und rkk aus der letzten Spalte, die wir im Folgenden einfach mit pi, p2 und ps bezeichnen. AuBerdem ist es nicht notig, die Elemente Ck und Sk aller Givens-Rotationen Gk+i,k zu speichern, da pro Iteration lediglich drei solcher Matrizen benotigt werden. Aus diesem Grunde benutzen wir hierftir die Bezeichnungen COM, ^OH? C, S und Cnew? ^new Unter Verwendung dieser Notation liefert die Anwendung der beiden alten Givens-Rotationen Gk-i,k-2 und Gkk-i auf die letzte Spalte der Matrix Tk beispielsweise /
0 0 0
\
( 'Gk-i,k-:
^
\
0
/
0
•Gfc,fc-i 1
0
Sold A Cold A Oik
\ pk+1 J
V
\
1 Sold A c • Cold ' Pk + s-ak -s • Cold • A + c • afc A+i /
(
^ 0
~'
Pi P2 P3
\Pk+l/
\
6.4 MINRES fiir symmetrische Systeme
247
Dabei entspricht ps noch nicht der finalen GroBe p3, denn ps wird ja noch durch die anschliefiende neue Givens-Rotation Gk+i,k zur Elimination von Pk+i verandert. Dies geschieht durch Verwendung der Vorschriften T '•= IPSI + | A + i | , v
:=r./{
P3/r)' + (A+i/r)',
Cnew •'= P s / ^ ,
5new •= A + l / ^ , mit deren Hilfe sich
/
/o\
0 \ 0
•G/c-(-i,fc
Pi P2 P3
/o\
0 Pi P2
0 =:
Pi P2 P3
Gl
\Pk+lJ ergibt. Schreiben wir schliefilich p^^^,p,p^^^ an Stelle von p^^p'^'^^p^'^ und verfahren ahnlich bei einigen anderen Grofien, so erhalten wir durch Zusammenfassung der obigen Ausfiihrungen die nachstehende Reahsierung des MINRES-Verfahrens. Algorithmus 6.19. (MINRES-Verfahren) Wdhle Startvektor x^ € W^ und Abbruchparameter e > 0. Seize k := 0,rO := b - Ax^,Co := \\r%C := Co^v := 0,v^^^ := ryCo^Pnew := 0. OCTZC
C . — i , 5 . — U , Cji^yj
. — 1 , S'jfi^yj
.— U.
Seize p := 0,p^^^ := 0 und x := x^. FOR A: = 1,2,... _ % Lanczos-Algorithmus zur Berechniing von Tk P -^^ Pnewi yOld . _ y^^ ^new
new new
(^•.
.__ — ^ ,^,new. . ^ j^y _ i^yold. .old
= ll^ne^ll; — ^
/ h'new}
% Wende alte Givens-Rotationen auf letzte Spalte von Tk an (^old - ^ C? ^old '^^ -^j <^ '^^ (^new) ^ -^^
pi = Sold- 0; P2 = c • Cold ' P + s • a; P3 = C' a- s ' Cold ' l3;
^newj
248
6 GMRES und verwandte Verfahren % Neue Givens-Rotation zur Elimination von Tk{k -\- l,k) r := IPSI + IPnewl; Cnew '= P s / ^ / ^new '^^ Pnew/^?
P3 := ^; % Aufdatierung von Pk
7o Berechnnng der neuen Iterierten x^ X '.=• X ~\- Cfiew
' {, ' P
}
% Abbruchkriterium
IF |C|/Co < e: STOP END Numerisch mag es sinnvoll sein, die Anweisung new
erst in der nachfolgenden Iteration durchzuftihren, da der Vektor v^^"^ (im Gegensatz zu der skalaren Grofie /3new) auch erst dort benotigt wird und die Division durch /?new kurz vor Abbruch des Verfahrens kritisch sein kann. Das MINRES-Verfahren benotigt zur Durchfiihrung neben dem Bedarf zur Ausflihrung des Matrix-Vektor-Produktes Av einen Speicherplatz von im Wesentlichen 7 Vektoren, namhch fur v'^^^,v,v^^'^,p^^^,p,p^^'^ und x. Das Matrix-Vektor-Produkt Av wird nur einmal gebraucht und kann daher auf dem Platz von v^^^ zwischengespeichert werden. Als wesentlicher Rechenaufwand ergeben sich ftir den Algorithmus 6.19 1 Level 2-Operation und 7 Level 1-Operationen. Die Level 2-Operation ist hierbei gerade das Matrix-Vektor-Produkt Av, und die 7 Level 1-Operationen setzen sich zusammen aus 2 Skalarprodukten (zur Berechnung von a und /?new) sowie 5 saxpy's (ftir x.v''^'^ und p"^^), wobei die Berechnung der Vektoren v^^'^ und p^^"^ jeweils zwei saxpy's benotigt. Testen wir das MINRES-Verfahren aus dem Algorithmus 6.19 an dem Beispiel der zweidimensionalen diskretisierten Helmholtz-Gleichung HNXNV
=
h^f
aus dem Abschnitt 1.8 mit A = 3.0,iV - 32 (also HNXN ^ IRi024xi024)^ ^^^ rechten Seite / := ( 1 , . . . , 1 ) ^ , dem Startvektor x^ := (0, . . . , 0 ) ^ und dem
6.4 MINRES fiir symmetrische Systeme
249
Parameter s = 10~^, so bricht das Verfahren nach 190 Iterationen mit der gewtinschten Genauigkeit ab. Der zugehorige Verlauf der relativen Residuen ist in der Abbildung 6.3 wiedergegeben.
0
20
40
100
120
140
160
180
200
Abbildung 6.3. Verlauf des relativen Residuums beim MINRES-Verfahren Ubrigens wird dieses Beispiel auch mit dem CG-Verfahren innerhalb von 199 Iterationen gelost. Der Verlauf der zugehorigen relativen Residuen ist allerdings wesentlich starker oszillierend als beim MINRES-Verfahren, vergleiche die zugehorige Abbildung 6.4. Tatsachlich lassen sich symmetrische (nicht notwendig positiv definite) Gleichungssysteme oft auch mit dem CGVerfahren losen, allerdings ist der Residuenverlauf dann stets erheblichen Schwankungen ausgesetzt, die letztlich dadurch entstehen, dass die KoefRzientenmatrix negative Eigenwerte besitzt. Bemerkung 6.20. (a) Von Paige und Saunders [47] stammt noch eine zweite Methode zur Losung von linearen Gleichungssystemen mit einer symmetrischen Matrix, das sie als SYMMLQ bezeichnen. Dabei handelt es sich um ein Ritz-Galerkin-Verfahren. SYMMLQ bestimmt die Iterierte x^ also aus den Bedingungen x^ ex^ + Kk und h - Ax'^ X K,kBenutzen wir die Bezeichnungen aus diesem Abschnitt und schreiben x^ = x^ + VkU^ mit einem y^ € M^, so sind diese Bedingungen Equivalent zu 0 = V^{b - Ax") = F,^(r» - AVkv'') = \\r°\\er - V^AV^ = ||r°|lei - TuyK Da Tk tridiagonal ist, kann man y^ hieraus sehr leicht berechnen. Mit einem ahnlichen Trick wie beim MINRES-Verfahren erhalt man hieraus sogar direkt
250
6 GMRES und verwandte Verfahren
20
40
60
80
00
120
1-!
Abbildung 6.4. Verlauf des relativen Residuums beim CG-Verfahren eine Aufdatierungsvorschrift ftir die Iterierten x^, vergleiche [47]. (b) Der hier benutzte Zugang zur Herleitung des MINRES-Verfahrens kann auch zur Konstruktion des CG-Verfahrens benutzt werden. Weitere Einzelheiten hierzu findet man beispielsweise in dem Buch [17] von Demmel.
6.5 Prakonditionierte Verfahren Will man die Effizienz und Robustheit eines iterativen Verfahrens zur Losung eines linearen Gleichungssystems Ax = b
(6.22)
mit A G M^^" regular und 6 € M^ verbessern, so wendet man die iterativen Methoden liblicherweise auf ein prakonditioniertes System an, welches die gleiche Losung wie das Ausgangssystem (6.22) besitzt. Sind PL^PR ^ W^'^^ etwa zwei regulare Matrizen, so ist (6.22) beispielsweise aquivalent zu jedem der folgenden Systeme:
PZ^Ax
PZH (Links-Prakonditionierung),
(6.23)
APj^^y = b, x = P^^y (Rechts-Prakonditionierung), (6.24) P]^ ^AP^^y = Pj^^b, X = Pj^^y (zweiseitige Prakonditionierung).(6.25) Prakonditionierte Verfahren entstehen im Prinzip dadurch, dass man das jeweils gewiinschte Verfahren auf das entsprechend prakonditionierte Gleichungssystem anwendet. Ahnlich wie beim CG-Verfahren soUte die hierbei auftretende Koeffizientenmatrix P£^A,AP^^ bzw. P£^AP^^ dabei zum
6.5 Prakonditionierte Verfahren
251
einen moglichst nahe an der Identitat In liegen, und zum anderen mtissen zusatzlich auftretende lineare Gleichungssysteme mit den KoefRzientenmatrizen PL oder PR leicht losbar sein. In diesem Abschnitt gehen wir auf die explizite Wahl von PL und PR nicht weiter ein und verweisen hierfiir auf den kommenden Abschnitt Q.Q oder den schon im Zusammenhang mit dem CG-Verfahren behandelten Splittingbasierten Prakonditioniern aus dem Abschnitt 5.5. Stattdessen liberlegen wir uns hier, wie sich die in diesem Kapitel besprochenen GMRES-, GMRES(m)und MINRES-Verfahren auf ein prakonditioniertes Gleichungssystem tibertragen lassen. Dazu untersuchen wir zunachst das GMRES-Verfahren, wobei entsprechende tJberlegungen natiirhch auch ftir das GMRES(m)-Verfahren gelten. Da das GMRES-Verfahren prinzipiell auf behebige regulare Matrizen anwendbar ist, konnen wir dieses Verfahren auf jedes der vorkonditionierten Gleichungssysteme (6.23), (6.24) oder (6.25) anwenden. Benutzen wir das GMRES-Verfahren beispielsweise fiir das hnks-prakonditionierte System (6.23), so ergibt eine direkte Ubertragung aus dem Algorithmus 6.12 das nachstehende Verfahren, wobei wir h i e r g ^ : - P £ - ^ ( 6 - A x ^ ) fiir das Residuum des prakonditionierten Systems schreiben. Algorithmus 6.21. (Links-prakonditioniertes GMRES-Verfahren) Wdhle Startvektor x^ GW^^PL G M ^ ^ ^ regular und Abbruchparameter e >0. Bestimme q^ aus PLQ^ = b — Ax^, und seize (5 :— ||g'^||,t;^ := (f IP und zi : - /?. FOR/c= 1,2,... _ % M o d i f i z i e r t e r Arnoldi-Algorithmus zur Berechnung von Hk Bestimme w^ aus PLUJ^ = Av^; FORi = l:k hik := {v'yw^; END
hk+i,k '= Ik^ll; t;fc+i :=
w^/hk+i,k;
% Anwendung von Givens-Rotationen auf (6.11) % Wende a l t e Givens-Rotationen auf A:-te Spalte von Hk an FOR i - 1 : (A: - 1)
^ik \ .^ ( ^i ^i\ ( ^ik V hi+i,kj ' \-Si CiJ yhi^i^kj ' END
_
% Bestimme neue Givens-Rot. zur Elimination von T '•= l^fcfcl + \hk+i,k\; iy:=T- yJ{hkk/rY + (hk+i^k/r)^; Ck '-= hkk/^; Sk := hk+i,k/^;
_
% Anwendung der neuen Givens-Rot a t ion auf Hk
Hk{k-\-l^k)
252
6 GMRES und verwandte Verfahren hkk '•= ^; hk+i,k '•= 0; % Anwendung der neuen Givens-Rotation auf rechte Seite z'^ Zk+i '= —Sk^k; Zk := CkZk;
% Abbruchkriterium
IF |zfc+i|//?<e;STOP END % Riickwartssubstitution zur Berechnung von y^ Vk '•=
zk/hkk;
FOR z - (/c - 1) : - 1 : 1
Vi = i^i - E j = i + i Kjyj)/hii; END % Berechnung der Naherungslosung x^ := x^ H- Vky^
x^ := xO + E t l Vi^'< Ebenso elementar ist die Ubertragung des GMRES-Verfahrens auf das rechtsbzw. zweiseitig prakonditionierte System (6.24) bzw. (6.25). Die Abbruchkriterien der drei prakonditionierten GMRES-Verfahren sind allerdings nicht direkt vergleichbar. Das ursprtingliche GMRES-Verfahren beispielsweise benutzt das relative Residuum |tJi < e
mit r^:=b-
Ax\
das hnks-prakonditionierte GMRES-Verfahren hingegen testet die Ungleichung
und das rechts-prakonditionierte GMRES-Verfahren iiberpruft die Bedingung
lb'" Ib^l
<e
mitp"
:=h-
AP^'y".
Mit x^ := P^^y^ ist die letztgenannte Ungleichung Equivalent zum Abbruchkriterium beim eigentlichen GMRES-Verfahren, wahrend der Test beim linksprakonditionierten GMRES-Verfahren von dem des urspriinglichen GMRESVerfahrens verschieden ist. Wir werden auf diese Problematik in Form der Aufgabe 7.9 noch einmal zurtickkommen. Hier dagegen wenden wir uns nun dem prakonditionierten MINRESVerfahren zu. Das MINRES-Verfahren ist per Konstruktion nur auf symmetrische Gleichungssysteme anwendbar. Da die Symmetrie von A durch Linksoder Rechts-Multiplikation mit einer regularen Matrix im Allgemeinen aber zerstort wird, kommen die prakonditionierten Systeme (6.23) und (6.24) schon mal nicht in Frage. Stattdessen wenden wir das MINRES-Verfahren auf das beidseitig prakonditionierte System
6.5 Prakonditionierte Verfahren C-^AC-'^C'^x
= Q-^h
253 (6.26)
mit einer regularen Matrix C an. Dies entspricht dem linearen Gleichungssystem (6.25) mit PL := C und PR := C. Die Vorgehensweise beim MINRESVerfahren ist dabei ahnlich zu der des prakonditionierten CG-Verfahrens, wobei wie dort die Matrix C nicht explizit vorliegt, sondern im Allgemeinen nur die Matrix P := CC^. Insbesondere kommen fiir das MINRES-Verfahren daher nur symmetrische und positiv definite Prakonditionierer P in Frage. Zur Herleitung des prakonditionierten MINRES-Verfahrens haben wir vor allem das Lanczos-Verfahren aus dem Algorithmus 6.18 geeignet anzupassen. Hierzu schreiben wir das lineare Gleichungssystem (6.26) in der Form Ax = b
(6.27)
mit A : - C-'^AC-'^,x
= C^x.h — C-^h.
Wenden wir das Lanczos-Verfahren auf das System (6.27) an und versehen alle hierbei entstehenden Grofien mit dem ~-Symbol, so ergeben sich die folgenden Vorschriften: Wahle x^ eW. Setze f^ :=h- Ax^.v^ := 0,v^ := fV||fO||,^i := 0. FOR j = 1 : A; w^ :=•-Av^ - PjV^-^; OLj
:=
{w^yv^;
w^ :=• w^ 0j+i yj+l
— djV^;
:=|R||;
:= w-'/^j+i;
END Setzen wii w^ := Cw^, v^ := Cv\
z^ := P ^v^, y^ := P ^w^, aj :— a^, Pj := Pj,
so lassen sich die obigen Aufdatierungen schreiben als w^ = Cw^ = CAv^ -
pjCv^-^
= CC-^AC-^C-^v^
-
= AP-^v^
= Az^ -
- pjV^-^
0jCC-\^-^ pjV^-^,
- {w^)''C-'^C-^v^ = {w^yp-^v^ = {w^Yz^, w^ = Cw^ = Cw^ — ajCv^ = w^ — ajv\
254
6 GMRES und verwandte Verfahren
i;^'+l == CT^ + l = Cw^/f3j+i
=
W^/Pj+1,
Aus dem Algorithmus 6.19 erhalt m a n somit das nachstehende v o r k o n d i t i o nierte MINRES-Verfahren. A l g o r i t h m u s 6 . 2 2 . (Prdkonditioniertes MINRES-Verfahren) Wdhle Startvektor x^ G I R ^ , P € R ^ ^ ^ symmetrisch positiv definit und Abbruchparameter s >0. Seize k := 0,r^ := b — Ax^, und bestimme z aus Pz = r ° . Seize Co : = I k ^ l U := Co,z:= z/Co,v •= 0,t;"^^ := rVCo,/?ne.. : - 0. Seize p := 0,p^^^ := 0 und x := x^. FOR/c = 1,2,... _ % Lanczos-Algorithmus zur Berechnung von T^ new; ^new
_
^^ _
^ n e « ; . ^ ^new
Bestimme Pnew := U
p^old. _
^^.
z aus Pz Viv^'^^yz;
.— U
I Pnew}
Z '^^ Z/ h^newj
7o Wende alte Givens-Rotationen auf letzte Spalte von Tk ^old
''^^ ^1 Sold '^^ ^5 C 1 = Cfxew-) ^ '-^^
^newj
p\ '•= Sold' 0; P2 '•= C' Cold • 0 + s - a; Pz := C' a - s • Cold • P,' _ % Neue G i v e n s - R o t a t i o n z u r E l i m i n a t i o n von Tk{k -\- l,k) r := \ps\ + \(3new\; ^ := T • V ( P 3 / T ) 2 +
(p^^JrY;
Cnew '•— P s / ^ ; P3 '=
i^;
% A u f d a t i e r u n g von Pk pOld :=,p^p
:=p"-e^;
% Berechnung der neuen Iterierten x^ X '.= X -J- Cnew " S ' P
% Abbruchkriterium I F |C|/Co < e: STOP
/
an
6.6 Unvollstandige LR-Zerlegung
255
END Der Algorithmus 6.22 unterscheidet sich vom eigentlichen MINRES-Verfahren im Wesentlichen nur darin, dass in jeder Iteration jetzt zusatzlich ein lineares Gleichungssystem mit dem Prakonditionierer P als Koeffizientenmatrix zu losen ist. Abschliefiend noch ein paar Worte zu einigen numerischen Resultaten der hier vorgestellten prakonditionierten Verfahren. Wendet man beispielsweise das prakonditionierte GMRES-Verfahren mit dem Gaufi-Seidel-Vorkonditionierer P^ :— D — L (vergleiche Abschnitt 5.5) auf die KonvektionsDiffusions-Gleichung an, so benotigt das Verfahren ledighch 67 Iterationen gegeniiber den 80 Iterationen beim nicht vorkonditionierten GMRES-Verfahren. Benutzt man denselben Prakonditionierer bei GMRES(m) mit ?72 = 20, so werden nur 100 Iterationen statt der urspriinghchen 178 Iterationen benotigt. Wenden wir das prakonditionierte MINRES-Verfahren mit dem SGSPrakonditionierer (vergleiche wieder den Abschnitt 5.5) auf die zweidimensionale diskretisierte Poisson-Gleichung an, so werden jetzt 26 Iterationen gebraucht, wahrend das eigenthche MINRES-Verfahren hierftir immerhin noch 50 Iterationen benotigt. Man erkennt hier an, dass bereits sehr einfache Prakonditionierer die Iterationszahlen zum Teil drastisch verringern konnen.
6.6 Unvollstandige LR—Zerlegung Wir betrachten wieder ein hneares Gleichungssystem Ax = b mit einer regularen Matrix A G R'^^'^ und einer behebigen rechten Seite b G W^. Wie im vorigen Abschnitt erwahnt, ist dieses Gleichungssystem aquivalent zu dem prakonditionierten System PE'AP^'y = Pi:'b, x = P^'y
(6.28)
mit regularen Matrizen PL-,PR G M*^^^. In diesem Abschnitt beschreiben wir nun eine weitere Moglichkeit fiir die Wahl von geeigneten Matrizen PL und P R . Diese basiert auf der so genannten unvollstdndigen LR-Zerlegung (engl.: incomplete LU decomposition, kurz: ILU) von A. Hierbei bestimmt man eine normierte untere Dreiecksmatrix L G M^^^ und eine obere Dreiecksmatrix i? G R^^^, die beide nur schwach besetzt sein sollen, so dass A^LR
(6.29)
gilt. Man bestimmt also keine exakte LR-Zerlegung von A, da dies unter Umstanden zu einem erheblichen fill-in fiihren kann, vergleiche die entsprechenden Ausfuhrungen im Abschnitt 5.6 zur unvoUstandigen CholeskyZerlegung.
256
6 GMRES und verwandte Verfahren
Hat man eine Zerlegung der Gestalt (6.29) gefunden, so lasst sich diese prinzipiell auf drei verschiedene Weisen fiir das prakonditionierte System (6.28) anwenden: Die Wahl von PL:=LR,
PR-IU
liefert ein links-prakonditioniertes System, die Wahl von
PL-=In.
PR:=LR
ein rechts-prakonditioniertes System, und die Wahl von PL:=L,
PR:=R
ergibt ein zweiseitig vorkonditioniertes Gleichungssystem. Zur Bestimmung einer unvoUstandigen LR-Zerlegung gehen wir ahnlich vor wie bei der unvoUstandigen Cholesky-Zerlegung im Abschnitt 5.6. Dazu bezeichnet B{A) := {{i,j)\ciij ^ 0} wieder die Besetztheitsstruktur von A. Ferner sei M C {(i, j ) | i , j = 1 , . . . ,n} auch hier ein vorgegebenes Belegungsmuster, das iiblicherweise die Menge B{A) umfasst. Die Menge M. soil angeben, an welchen Stellen die Faktoren L und R der Zerlegung (6.29) von Null verschiedene Eintrage haben dtirfen. Eine unmittelbare Ubertragung des Algorithmus 2.18 liefert dann folgendes Verfahren. A l g o r i t h m u s 6.23. (Unvollstdndige LR-Zerlegung) Wdhle M C {(i^j)\i^j = 1 , . . . , n } mit (^,i) ^ Ai fiir alle i = 1,...,n. FOR /c = 1 : (n - 1) FOR i = (A; + 1 ) : n IF (i, k)eM O'ik '•—
O'ik/O'kk',
FOR j = (A; 4-1) : n IF {hJ)^M Ciij ."= Gij — CLik ' O^kjy
END END END END END In der vorliegenden Form iiberschreibt der Algorithmus 6.23 die Matrix A mit den (unvoUstandigen) Faktoren L (ohne die Diagonale) und R. Die Dreiecksmatrizen L und R ergeben sich daher aus den Vorschriften Hj
fiir i> j mit (i, j ) G M, fiir i > j mit (z, j ) ^ M,
AUFGABEN
257
und ( aij ftir i < j mit {i^j) G M, r^j := lo fiir i < j mit {ij) ^ M, 0 fur i > j Die Existenz einer unvollstandigen LR-Zerlegung von A und damit die Durchfiihrbarkeit des Algorithmus 6.23 ist nattirlich nicht gewahrleistet, schon gar nicht ftir ein beliebiges Belegungsmuster Ai. Selbst fiir die Wahl M. = {{hj)\hj — I7 • • • j^}? bei der die unvoUstandige LR-Zerlegung mit der eigentlichen LR-Zerlegung aus dem Algorithmus 2.18 libereinstimmt, ist die Wohldefiniertheit des Algorithmus 6.23 keineswegs gesichert, da bekanntlich nicht jede Matrix eine LR-Zerlegung besitzt, vergleiche den Satz 2.14. Fiir die Klasse der so genannten M-Matrizen haben Meijerink und van der Vorst [43] allerdings zeigen konnen, dass die unvoUstandige LR-Zerlegung bei beliebig gegebenem Belegungsmuster M C {{i,j)\i,j = l , . . . , n } stets durchftihrbar ist. Wir gehen auf dieses Ergebnis auch in den Aufgaben 6.86.10 ein. Eine Verallgemeinerung dieses Resultates findet sich bei Manteuffel [42]. Ansonsten gibt es in der Literatur diverse Varianten der hier vorgestellten unvollstandigen LR-Zerlegung, siehe [53].
Aufgaben Aufgabe 6.1. Verifizieren Sie explizit, dass die durch das Arnoldi-Verfahren aus dem Algorithmus 6.7 erzeugten Vektoren v^,.,. ,v^ eine Orthonormalbasis des Krylov-Raumes JCk bilden. Aufgabe 6.2. Zeigen Sie, dass das allgemeine Minimum-Residuum-Verfahren aus dem Algorithmus 6.2 stets wohldefiniert ist. Aufgabe 6.3. Seien A G R'^^'^ eine gegebene Matrix sowie K, und C zwei Unterraume des M"^. Zeigen Sie, dass die Matrix B := W^AV dann ftir alle Matrizen V und W, deren Spalten eine Basis von /C bzw. W bilden, regular ist, sofern eine der beiden folgenden Bedingungen erftillt ist: (a) A ist symmetrisch und positiv definit und C = JC. (b) A ist regular und C = AK. Aufgabe 6.4. Betrachten Sie das lineare Gleichungssystem Ax = b mit /Ol
0\
0 '•.
A:=
Vi
/1\ 0 und
1 0/
b :=
\v
und der Losung x* := ( 0 , 1 , 0 , . . . , O) £W^. Untersuchen Sie, wie viele Iterationen
258
6 GMRES und verwandte Verfahren
(a) das GMRES-Verfahren, (b) das CGNR-Verfahren, (c) das CGNE-Verfahren zur Losung dieses Gleichungssystems benotigen, wenn man jeweils x^ := 0 als Startvektor wahlt. Aufgabe 6.5. Sei A £ W^^'^ trix X E R^^'^ Spektralsatzes sierbar). Dann
(Konvergenz von GMRES fiir diagonalisierbare Matrizen) diagonalisierbar , also A = XDX~^ mit einer regularen Maund einer Diagonalmatrix D — diag(Ai,..., An) (aufgrund des 1.8 sind dann insbesondere symmetrische Matrizen diagonaligilt
\\r%
m^xM\)\\\A\ AGo-(A)
ftir jedes Polynom p vom Hochstgrad k mit p(0) == 1, wobei wir das GMRESVerfahren auf das Gleichungssystem Ax = b mit einem beliebigem Startvektor x^ anwenden und K2{X) die Spektral-Kondition der Matrix X bezeichnet. Aufgabe 6.6. Betrachte ein lineares Gleichungssystem Ax = b mit einer diagonalisierbaren Matrix A G R^^'^, welche die k verschiedenen Eigenwerte A i , . . . , Afc besitze. Dann bricht das auf dieses Gleichungssystem angewandte GMRES-Verfahren nach spatestens k Iterationen mit der exakten L5sung von Ax = b ab. Hinweis: Wahle ein geeignetes Polynom in Aufgabe 6.5. Aufgabe 6.7. Seien A e R'''''' und v G R'' \ {0} gegeben. Betrachte das folgende Householder-Arnoldi-Verfahren (siehe Walker [65]): Setze z^^"^ := v. FOR j = l:(k + l) _ Bestimme Householder-Matrix F , G R ( ^ - J + I ) X ( ^ - J + I ) mit Xj) Jj) AJh'' und setze
A«-l) := Hjz(i'>; ^0+1) — HjHj-i END Zeigen Sie der Reihe nach: (a) Es ist
• • • HiAq'-^^ falls j < k;
AUFGABEN
259
(b) Die Vektoren q^^\q^^\ . . . , q^^^ sind zueinander orthogonal. (c) Es gilt (6.30) wobei hij := hf^ die z-te Komponente des Vektors h^^^ bezeichnet. (d) Die Vektoren q^^\q^'^\ . . . .q^^"^ bilden ein Orthonormalbasis des KrylovRaums ]Ck{v,A), sofern h^l^ ^ 0 ist. Bemerkung: Mit nxk
H : = ( g W g(2)...gW)e
(,(1) g(2) . . . qW q (fc+i)) (hij)
i
,
^
)nx(A;+l)
^^(k+l)xk
lasst sich (6.30) offenbar schreiben als AVk = Vk+iHk^ woraus man wie im Abschnitt 6.2 eine Art GMRES-Verfahren unter Verwendung von HouseholderSpiegelungen herleiten kann. Man beachte hierbei, dass Hk wieder die Gestalt einer oberen Hessenberg-Matrix hat! Aufgabe 6.8. Sei A e W^^^ eine M-Matrix, Eigenschaften:
d.h., A habe die folgenden
- A ist regular, - CLij < 0 ftir alle i, j = 1 , . . . , n mit i ^ j , -A-^ >0. Dann ist an > 0 fur alle 2 = 1,..., n. Aufgabe 6.9. Sei A G R'''''' eine M-Matrix (vergleiche Aufgabe 6.8), so dass wegen Aufgabe 6.8 insbesondere an y^ 0 gilt und ein Schritt der Gau&Elimination ohne Pivotisierung damit durchftihrbar ist. Mit / 0 \ ^21
/i:=
und
Li := I — liei
an Xa-niJ liefere der erste Schritt der Gaufi-Elimination die Matrix A^"^^ := LiA. Zeigen Sie: (a) A^^^ ist ebenfalls eine M-Matrix. (b) Die (n — 1) X (n — 1)-Matrix, die man aus A^'^^ durch Streichen der ersten Zeile und Spalte erhalt, ist auch eine M-Matrix.
260
6 GMRES und verwandte Verfahren
Aufgabe 6.10. (Durchfiihrbarkeit der unvoUstandigen LR-Zerlegung) Seien A G M^^^ eine M-Matrix und A1 C {(i, j ) | i, j = 1 , . . . , n } ein beliebig vorgegebenes Belegungsmuster, das zumindest alle Diagonalelemente (i, i) fiir i = 1,2,..., n enthalte. Dann ist der Algorithmus 6.23 durchftihrbar. Hinweis: Aufgabe 6.9 Aufgabe 6.11. Implementieren Sie das GMRES-Verfahren und testen Sie es insbesondere am Beispiel der Konvektions-Diffusions-Gleichung. Schreiben Sie auch ein Programm fiir das GMRES(m)-Verfahren und testen Sie dieses an denselben Beispielen wie das GMRES-Verfahren, und zwar unter Verwendung von verschiedenen Wert en von m G N. Aufgabe 6.12. Implementieren Sie das MINRES-Verfahren und testen Sie es insbesonderen am Beispiel der Helmholtz-Gleichung. Vergleichen Sie die numerischen Resultate auch mit dem auf dieselben Beispiele angewandten CG-Verfahren. Aufgabe 6.13. Implementieren Sie ein prakonditioniertes GMRES-Verfahren unter Verwendung der unvoUstandigen LR-Zerlegung als Vorkonditionierer (etwa mit dem Belegungsmuster M. = B{A)). Testen Sie das Verfahren insbesondere an der Konvektions-Diffusions-Gleichung. Wie verhalt sich das Verfahren im Vergleich zum eigentlichen GMRES-Verfahren?
Weitere Krylov—Raum—Methoden
In diesem Kapitel stellen wir eine ganze Reihe von weiteren Verfahren zur Losung eines linearen Gleichungssystems mit einer lediglich regularen Matrix vor. Im Gegensatz zum GMRES-Verfahren benutzen alle diese Verfahren ledighch kurze Rekursionen und besitzen daher in jeder Iteration einen deutlich geringeren Rechenaufwand und benotigen wesentlich weniger Speicherplatz als das GMRES-Verfahren. AUerdings haben alle hier zu beschreibenden Verfahren den Nachteil, dass sie nicht notwendig wohldefiniert sind. Bei alien Verfahren kann es unter ungiinstigen Umstanden zu einem breakdown kommen. Trotzdem liefern die Verfahren aus diesem Kapitel in der Praxis meist recht gute Resultate und werden gerne genommen. Im Abschnitt 7.1 beschreiben wir zunachst das QMR-Verfahren, welches in jedem Iterationsschritt nur eine Art Quasi-Minimierung des Residuums durchfiihrt und auf diese Weise erheblich kostengunstiger ist als das GMRES-Verfahren. Danach beschreiben wir im Abschnitt 7.2 das BiCGVerfahren. Dieses gehort in die Klasse der Galerkin-Verfahren und gilt nicht als libermafiig gut. Es ist allerdings die Basis der in den Abschnitten 7.3 und 7.4 zu beschreibenden CGS- und BiCGSTAB-Verfahren, die beide gewisse Nachteile des BiCG-Verfahrens auszumerzen versuchen. Der Abschnitt 7.5 beschaftigt sich dann mit dem TFQMR-Verfahren, welches das CGSVerfahren mit einer Quasi-Minimierung des Residuums koppelt.
7.1 QMR-Verfahren Wir betrachten ein lineares Gleichungssystem Ax = b mit einer regularen Matrix A G W^^^ und einer gegebenen rechten Seite 6 e M'^. An die Matrix A sollen dabei keine weiteren Voraussetzungen gestellt werden. Sie wird also im Allgemeinen weder symmetrisch noch positiv definit sein. Das in diesem Abschnitt zu beschreibende QMR-Verfahren (QMR=QuasiMinimal Residual) von Freund und Nachtigal [23] kann als eine Variante des
262
7 Weitere Krylov-Raum-Methoden
GMRES-Verfahrens aufgefasst werden, wobei die Iterierte x^ jetzt im Allgemeinen nicht mehr als Losung des Minimierungsproblems min-||6-Arrip
mit xe x^ + JCk{A,r^)
gegeben ist, sondern lediglich eine Art Quasi-Minimum dieses Optimierungsproblems darstellt. Um dies genauer beschreiben zu konnen, benotigen wir zunachst den so genannten Bi-Lanczos-Algorithmus als Verallgemeinerung des Lanczos-Verfahrens. Dazu sei daran erinnert, dass das Lanczos-Verfahren im Falle einer symmetrischen Matrix sukzessive eine Orthonormalbasis der Krylov-Raume /CA::=/Cfc(r^A):=span{r^ArO,...,^^-VO},
A: = 1 , 2 . . . ,
berechnet, und zwar mit Hilfe von kurzen Rekursionen. Eine Verallgemeinerung des Lanczos-Verfahrens auf nicht-symmetrische Matrizen A ist durch das Arnoldi-Verfahren aus dem Algorithmus 6.7 gegeben. Auch dieser berechnet sukzessive eine Orthonormalbasis der Krylov-Raume /C^. Allerdings ist das Arnoldi-Verfahren sehr rechenaufwendig und benotigt sehr viel Speicherplatz, da die auftretenden Rekursionen alle vorherigen Informationen benotigen. Eine zweite Verallgemeinerung des Lanczos-Verfahrens auf den Fall einer nicht symmetrischen Matrix ist der Bi-Lanczos-Algorithmus (auch Bi-Orthogonalisierungsverfahren von Lanczos genannt), den wir gleich angeben und der wieder auf der Verwendung von kurzen Rekursionen basiert, allerdings im AUgemeinen auch keine Orthonormalbasis von JCk erzeugt, aber inuner noch linear unabhangige Vektoren, die obendrein eine gewisse Orthogonalitatseigenschaft besitzen, wie wir im Anschluss an die Formulierung des Verfahrens noch zeigen werden. Dabei werden wir hier und im Folgenden haufig von der Schreibweise (x, y) := x'^y fur x,y eW^ ftir das euklidische Skalarprodukt Gebrauch machen. Algorithmus 7.1. (Bi-Lanczos~Verfahren) Wdhle x^ e W und seize r^ := b - Ax^. Wahle fO G M^ mit {r^,r^) ^^ 0, z.B. r^ := r^. Seize (3i :=0,5i := 0,v^ := 0,w^ := 0,v^ := r^/\\r^lw^ F0Ri = l , 2 , . . . aj := (Av^^w^); -0^+1 : = Av^ - ajV^ - ^jV^~^\
:=
r^/{r^,v^).
7.1 QMR-Verfahren
263
END Die Koeffizienten j3j+i und (5^-|_i sind hierbei stets so gewahlt, dass
und damit {v^+\w^+^) = l
(7.1)
in alien Iterationen gilt, vergleiche hierzu auch den Satz 7.2 weiter unten. Um diese Normierung zu erreichen, gibt es natiirlich auch andere Wahlmoglichkeiten ftir l3j+i und Sj+i, vergleiche Aufgabe 7.2. Wir betrachten im Folgenden aber nur die im Algorithmus 7.1 explizit angegebenen Formeln. Ansonsten ist das Bi-Lanczos-Verfahren ofFenbar durchfiihrbar, solange ^j+i 7^ 0 gilt (was wiederum f3j+i ^ 0 impliziert). Ist hingegen 6j+i = 0 fur ein gewisses j , so muss das Verfahren vorzeitig abgebrochen werden. Ein solcher Abbruch tritt ein, wenn einer der nachstehenden Falle vorliegt: - Es ist v^'^^ = 0. In diesem Fall folgt wie im Abschnitt 6.1, dass die L5sung des linearen Gleichungssystems Ax = b bereits im aktuellen Krylov-Raum hegt. - Es ist w^^^ = 0. Dies erlaubt eine analoge Interpretation ftir ein lineares Gleichungssystem mit der KoefRzientenmatrix ^ ^ , was allerdings nichts iiber das hier eigentlich interessierende Gleichungssystem Ax = b aussagt. - Es sind zwar v^'^^ ^ 0 und w^'^^ ^ 0, aber das Skalarprodukt ist gleich Null. Man spricht hier von einem serious breakdown. Die oben beschriebenen Situationen, die zu einem vorzeitigen Abbruch des Bi-Lanczos-Verfahrens fiihren, lassen sich zum Teil durch Verwendung von so genannten Look-Ahead Lanczos-Methoden vermeiden, worauf wir hier allerdings nicht weiter eingehen wollen und den interessierten Leser stattdessen nur auf die entsprechende Literatur wie etwa [9, 50, 8] verweisen. Wir zeigen als Nachstes, dass der Algorithmus 7.1 so genannte bi-orthonormale Basen des Krylov-Raumes /Cfc -/Cfc(rO, A) := spanjrO, ArO,..., A^-VO} und des transponierten
Krylov-Raumes
Kl := Kl{r\ A) := span{f°, A'f^
...,
{A^)''-'f'>}
erzeugt. Satz 7.2. Bricht das Bi-Lanczos-Verfahren aus dem Algorithmus 7.1 nicht vorzeitig ab, so stellen {f ^ , . . . , v^} und {w^,..., w^} fiir jedes k = 1,2,... Basen von Kk und JCJ, dar. Ferner sind diese Vektoren bi-orthonormal, d.h., es gilt {v\w^)=5ij \/iJ = l,...,k. (7.2)
264
7 Weitere Krylov-Raum-Methoden
Beweis. Da die Vektoren {v^,... ,v^} bzw. {w^,... ,w^} offenbar zu JCk bzw. JC^ gehoren und die Bi-Orthonormalitat (7.2) offensichtlich auch die lineare Unabhangigkeit von {v^,..., v^} bzw. {w^,..., w^} impliziert (vergleiche Aufgabe 7.1), haben wir lediglich die Eigenschaft (7.2) zu verifizieren. Dies erfolgt durch Induktion nach k. Fiir k = 1 folgt per Definition
Die Bedingung (7.2) gelte nun ftir alle i,j = 1 , . . . , A: mit einem k eN. Dann folgt
=(Xk
=1
=0
= 0. Zudem gilt fiir i < k
=0
/?fc fiir z = A; - 1, 0 fiir 2 < A; - 1. Hieraus ergibt sich fiir i < k die Gleichung
Ok+1
_r/?fc, i = f c - l , ~\0,
i
=0
_ f l , i=fc-l, ~\0,
i
-0. Analog erhalt man (w^'^^^v'^) = 0 fiir alle i < k. SchlieBlich ist {v^'^^,w^^^) = 1 nach (7.1), womit der Satz voUstandig bewiesen ist. • Im gesamten Rest dieses Abschnittes bezeichnen wir mit v^, w^ sowie aj, Pj, 6j die durch den Bi-Lanczos-Algorithmus 7.1 erzeugten Vektoren bzw. Skalare. In weitgehender Analogie zu der Notation aus den vorigen Abschnitten schreiben wir hiermit
7.1 QMR-Verfahren >nxk
T4 := U i •. • ^ M G
Wk— I w^ -'-w^ (Oil 02 (^2 0 : 2
Tk-.-
\ 0
265
)nxk
\ e 0 \
^^kxk^
••
Sk akj
(
\ Tk
Tk.=
G M(^+I)^^,
\0---0(5fe+J und i (z J^(fc+l)xfc^
Tk.=
Vo---oA+iy D a n n gelten die folgenden Beziehungen, die als Verallgemeinerung der entsprechenden Resultate fiir das eigentliche Lanczos-Verfahren (bzw. das A r n o l d i Verfahren, vergleiche Lemma 6.11) angesehen werden konnen. S a t z 7 . 3 . Bricht der Bi-Lanczos-Algorithmus
7.1 nicht vorzeitig ah, so gelten
Tk =
W^AVk,
AVk =
Vk+iTk,
A'-Wk
=
Wk+ifk
fiir alle A; = 1,2, — Beweis. Zunachst folgt sofort {Tk)jj = aj = (w^^Av^). v^'^^ liefert fiir i > j aufierdem die Gleichung
5j+i 0
fiir i = j ^ - 1 , fur i > j + 1.
Analog ergibt sich aus der Definition von w'^'^^ fiir i < j
{w\Av^):={A^w\v^)
Die Definition von
266
7 Weitere Krylov-Raum-Methoden
=
{w'^\v^) (3j 0
+ai{w\v^)+5i{w'-\v^)
fiiri^j-l, flir i < j — 1.
Insgesamt folgt hieraus Tk = Wj^AVk- Die anderen beiden Gleichungen ergeben sich unmittelbar durch spaltenweisen Vergleich der betreffenden Matrizen, wobei wir die j - t e Spalte einer Matrix B mit Bj bezeichnen: Av^ = [AVk\. = [Vk+iTk]. = (3jv^-' + ajv^ + (^,-+i^^'+' und
Dies entspricht aber genau den Vorschriften zur Aufdatierung von v^'^^ und w^^^ im Algorithmus 7.1. • Aufgrund des Satzes 7.3 gelten fiir die vom Bi-Lanczos-Verfahren erzeugten Vektoren die dort genannten Beziehungen. Umgekehrt folgt aus dem Beweis aber relativ leicht, dass man aus der Forderung, dass die drei Gleichungen im Satz 7.3 gelten mogen, direkt die Aufdatierungsvorschriften des Bi-LanczosVerfahrens erhalt. Auf der Basis des Satzes 7.3 leiten wir jetzt das QMR-Verfahren her. Wie beim GMRES-Verfahren wahlt man auch beim QMR-Verfahren die kte Iterierte x^ aus dem Raum a:^ + /Cfc. Da die Vektoren {v^,..., v^} nach Satz 7.2 aber eine Basis von Kk bilden, besitzt jedes solche x^ eine eindeutige Darstellung in der Form ftir ein y^ G R^. Beim GMRES-Verfahren wurde y^ nun so gewahlt, dass das zugehorige Residuum r^ = b — Ax^ minimiert wurde. Dies lasst sich nun wie folgt ausdrticken: r^ = b- Ax^ = b-Ax^AVky^ = r^-AVky^ _ = Vk+i{Coei-T^y^) mit Co •= 11^^ II- Wtinschenswert ist also die Minimierung von lk'll = ll^"fc+i(Coei-T,2/)||,
2/eR*.
Dies ist die Vorgehensweise beim GMRES-Verfahren, wobei dort die entsprechende Matrix V^^.! wegi&el, da ihre Spalten mittels des Arnoldi-Verfahrens
7.1 QMR-Verfahren
267
berechnet wurden und somit orthonormiert waren. Hier dagegen sind die Spalten von V^+i lediglich linear unabhangig. Wegen lk'=|| = ||Vfc+i(Coei - T f c / ) | | < \\Vk+i\\ • llCoei - r , / | | ersetzt man daher das Problem minimiere ||T4+i(Coei
-Tky)\\
durch das Naherungsproblem minimiere ||Coei - Tky)\\
(7.3)
und spricht aus diesem Grunde von einer Quasi-Minimierung des Residuums r^. Ansonsten hat das Teilproblem dieselbe Struktur wie das entsprechende Teilproblem beim MINRES-Verfahren und kann wie dort durch Anwendung von wenigen Givens-Rotationen gelost werden. Wir ersparen uns hier die notigen Wiederholungen und geben gleich das resultierende Verfahren an, welches im Prinzip dadurch entsteht, dass man im Algorithmus 6.19 den Lanczos-Teil durch die entsprechenden Vorschriften aus dem Bi-Lanczos-Verfahren ersetzt. A l g o r i t h m u s 7.4. (QMR-Verfahren) Wdhle Startvektor x^ e W^ und Abbruchparameter s >0. Seize k := 0,rO :=b-Ax^Xo := ||r^lU -= Co,^ := 0,i;^^^ := ryCo.Pnew •= 0, w := 0, w''^'" := i;^^^, S^ew •= 0. 06tZ6
C 1^==^ i j S r^== U^ C^new '*^^ J-? ^new '^^ ^'
Seize p := 0,p^^^ := 0 und x :-- x^. FOR A; == 1,2,... _ 7, Bi-Lanczos-Algorithmus zur Berechnung von Tk P '^^ Pnewj ^ '^^ ^newj yold . ^ y^y . ^ yuew^^old
.^ ^ ^ ^ _
w"^^"^;
a := (Avyw; ^new _
^y_^y_
^new . ^ ^T^ Snew
•=
p^old.
-aw-
5w''^^;
y^Kv^^^y^iy^^^l;
Hnew •— V^ J ^ ^.new — ^.new /£ u .— u I Unew}
I'J new J
% Wende alte Givens-Rotationen auf letzte Spalte von Tfc an ^old '^^ ^5 ^old '^^ ^1 C '^^ ^new) ^ '^^
^newj
Pi '•= Sold • P;
p2''=c- Cold • (3-^ s-a; p^:=C'aS' Cold ' P;
_
% Neue Givens-Rotation zur Elimination von Tk{k -\- l,k) T '= \Ps\ + \^new\;
i^:=T' y^ips/r)^ Cnew '=
Pz/J^;
+ (Snew/r)^;
268
7 Weitere Krylov-Raum-Methoden
p3
•=
^;
7o Aufdatierung von Pk pold .^pp.^pTiew. % Berechming der neuen Iterierten x^ X .^^^ X ~\~ C"fieyj ' \, ' P
}
% Abbruchkriteriiim IF |C|/Co < s: STOP END Der Algorithmus 7.4 benotigt in jedem Iterationsschritt also eine MatrixVektor-Multiplikation mit A sowie eine weitere Matrix-Vektor-Multiplikation mit der transponierten Matrix A'^. Numerisch mag es aufierdem wieder sinnvoU sein, die beiden Vorschriften
erst zu Beginn der nachsten Iteration auszufiihren, da beide GroBen auch erst dort benotigt werden und in der laufenden Iteration die Division durch (^new bzw. Pnew kritisch sein kann. Ansonsten ist das QMR-Verfahren wohldefiniert, solange der Bi-Lanczos-Algorithmus durchfiihrbar ist. Da dies nur fiir <5new ¥" 0 der Fall ist, muss hier ein weiteres Abbruchkriterium berticksichtigt werden. Weiterhin ist anzumerken, dass der beim QMR-Verfahren benutzte Abbruchtest nicht dem tatsachlichen relativen Residuum entspricht, da wir hier nicht mehr den Ausdruck || 14+1(^0^1 -Tky)\\ minimieren, sondern nur das Ersatzproblem ||Coei — Tfcy||. AUerdings gibt es hier einen engen Zusammenhang (dabei benutzen wir eine dem Abschnitt 6.4 entsprechende Notation):
|lr'=l| = ||6-^a:'=|| = |H4+i(Coei-Tfcy*)||
= IIH+i||-|aiHieraus folgt ||rO|r Der Quotient T™- auf der rechten Seite, den wir hier auch als relatives QuasiResiduum bezeichnen, ist gerade das, was wir als Abbruchkriterium im Algorithmus 7.4 verwenden. Dieses unterscheidet sich von dem eigentlich interessierenden relativen Fehler also maximal um den Faktor || Vj^+i II- Nattirlich konnte man auch das tatsachliche relative Residuum abfragen, dazu miisste man in jeder Iteration allerdings noch das zusatzliche Matrix-Vektor-Produkt Ax^
7.2 BiCG-Verfahren
269
berechnen, was man nur ungerne tut, da dies den gesamten Rechenaufwand des QMR-Verfahrens nicht unerheblich erhoht. Das QMR-Verfahren benotigt zur Durchfuhrung neben dem Bedarf ftir die beiden Matrix-Vektor-Produkte einen Speicheraufwand von im Wesentlichen 10 Vektoren ftir v^^^, v, v"^^, ly^^^, -w;, i/;"^^,p^^^,p,p"^^ und x. Die beiden Matrix-Vektor-Produkte Av und A'^w hingegen konnen auf dem Platz von ^new ^j^^ ^new vorubergehend zwischengespeichert werden. Der Rechenaufwand wird dominiert durch 2 Level 2-Operation (fur Av und A'^w) und 9 Level 1-Operationen, wobei die Level 1-Operationen sich zusammensetzen aus 2 Skalarprodukten (ftir a und ^new) sowie 7 S a x p y ' s (ftir ^new ^^^new^^new ^^^
^)
Man beachte hierbei, dass es zur Berechnung von ^;new ,^new ^^^ ^new jg^gjig zweier saxpy's bedarf. Zur Illustration des numerischen Verhaltens des QMR-Verfahrens betrachten wir als Beispiel das lineare Gleichungssystem CNxNV = h'^f
mit der aus der diskretisierten zweidimensionalen Konvektions-DiffusionsGleichung stammenden Matrix CNXN- Wir verwenden wieder die Dimension N = 32, den Vektor b = (cos 7r/4, sin n/4) , die rechte Seite / = ( l , . . . , l) , den Startvektor x^ = (O,..., O) und den Abbruchparameter e = 10"^. Das QMR-Verfahren findet eine Naherungslosung dann nach 79 Iterationen. Der Verlauf des relativen Quasi-Residuums ist in der Abbildung 7.1 zu sehen. Dieselbe Abbildung zeigt auch den Verlauf des eigentlichen relativen Residuums, das man normalerweise nicht mit berechnen wtirde.
7.2 BiCG-Verfahren Wir betrachten in diesem Abschnitt ein lineares Gleichungssystem Ax = b mit einer rechten Seite 6 G E^ und einer Matrix ^4 € IR^^'^, die lediglich als regular vorausgesetzt wird. Das hier vorzustellende BiCG-Verfahren (BiCG=Bi-Conjugate Gradients) geht bereits auf Lanczos [40] zurtick und fand erst wesentlich spater durch eine Arbeit von Fletcher [21] eine groBere Verbreitung. Das BiCG-Verfahren basiert dabei ebenfalls auf der Verwendung des BiLanczos-Algorithmus 7.1. Im Folgenden bezeichnen daher v^,w^,ak,/3k und 5k die durch das Bi-Lanczos-Verfahren erzeugten GroCen. Ferner benutzen wir auch hier die schon im Abschnitt 7.1 eingeftihrten Bezeichnungen
270
7 Weitere Krylov-Raum-Methoden
Abbildung 7.1. Numerisches Verhalten des QMR-Verfahrens: Relatives QuasiResiduum (gestrichelte Linie) und relatives Residuum (durchgezogene Linie)
Vk:=
Wk:=
Tk:=
(7.4)
I v^ '•• V
\ w^
•••w^
\
S2 OC2
V0
e
nxk
kxk
(7.5)
(7.6)
Sk ak/
1st nun x" e K" ein beliebiger Startpunkt, r" := 6 — Ax" das zugehorige Anfangsresiduum, f" € M" ein beliebiger Vektor mit (r",?") 5^ 0 und ICk := JCkir", A) := span{r», Ar",.. .,A''-'r'>}, Kl := ICl{f\A) := span{r», A - f » , . . . , (A-)'=->f«} die entsprechenden Krylov- bzw. transponierten Krylov-Raume, so gelten die Beziehungen JCk = s p a n { ^ ^ . . . , i ; ^ } , KJ, = spQii{w^,..., it;^} und {v\w^) = Sij WiJ = l,..,,k aufgrund des Satzes 7.2, sofern der Algorithmus 7.1 nicht vorzeitig abbricht.
7.2 BiCG-Verfahren
271
Das BiCG-Verfahren gehort zu der allgemeinen Klasse der Petrov-GalerkinVerfahren: Es erzeugt eine Iterierte x^ mit x^ex""-^
Kk
(7.7)
b-Ax^±
JCl
(7.8)
derart, dass gilt. Damit gehort das BiCG-Verfahren zu der Klasse der Petrov-GalerkinVerfahren aus dem Algorithraus 6.5 mit Ck '•= KLJ,. Da KJ, pro Iteration um eine Dimension grofier wird (sofern kein vorzeitiger Abbruch eintritt, vergleiche Lemma 7.6 weiter unten), muss das Verfahren spatestens nach n Schritten mit der Losung des linearen Gleichungssystems Ax — b abbrechen. Wie lasst sich nun ein x^ mit den Eigenschaften (7.7) und (7.8) bestimmen? Aus (7.7) folgt zunachst x^ = x'' + VkV^ fur ein y^ G M.^ mit Vk gemafi (7.4). Die Orthogonalitat (7.8) kann wegen /CJ = spd.n{w^,..., w^} mit Wk aus (7.5) daher geschrieben werden als
"IKI
<==> W^{b- - Ax^) = 0
^=> W^{b- -Ax^'-AVky^) - AFfe/) = 0 <==^
mir'
W^AVkv'
4=>
= W^r"^
Satz 7.3
'ny^ = W^r""
<=^ Tky^ = pei mit P := ||r°|| und ei := ( 1 , 0 , . . . , 0)^ € M^. Die letzte Aquivalenz ergibt sich hierbei aus der Definition von w^ im Bi-Lanczos-Verfahren 7.1. Also lautet die A;-te Iterierte beim BiCG-Verfahren x^ = x''^ Ffc/ = x« +
PVkT-'eu
sofern der Bi-Lanczos-Algorithmus nicht vorzeitig abbricht und die Tridiagonalmatrix Tk auBerdem regular ist. In dieser Form wird man das BiCGVerfahren jedoch nicht implementieren, da man sonst alle Vektoren f ^, v^,... abspeichern mtisste. Es ist jedoch moglich, die Iterierte x^ aus dem obigen Ansatz lediglich unter Verwendung von kurzen Rekursionen herzuleiten. Wir gehen auf die Einzelheiten dieser Herleitung nicht weiter ein. Stattdessen geben wir einfach die iibliche Formulierung des BiCG-Verfahrens in unserem nachsten Algorithmus an und zeigen anschlieCend dann, dass die durch diesen Algorithmus erzeugte Iterierte x^ tatsachlich den beiden Bedingungen (7.7) und (7.8) geniigt, so dass es sich hierbei in der Tat um die BiCG-Iterierte handelt.
272
7 Weitere Krylov-Raum-Methoden
Algorithmus 7.5. (BiCG-Verfahren) Wdhle Startvektor x° G M^ und seize r^ := b Wdhle fO E W mit (r^, r^) ^ 0, z.B. r^ := r^. 56^2:6 p^ := r^ und p^ := r^. FOR A— 0,1 ,2,... O^k ' =: {r^,r^)/{Ap^,p^); ^k+i :=x^ + akP^; j>k+l := r^ akAp^; fk+1 :=r^ - akA'^p^; Pk:= {r^+^f^+l)/(r^r' pk+l :=r^+^+(3kP^; pk+l
Ax^.
:=r^+^+Pkf;
END Der Algorithmus 7.5 lasst sich ofFenbar so implementieren, dass die Vektoren x,r,r,p und p in jedem Schritt tiberschrieben werden konnen. Speichert man die beiden Matrix-Vektor-Produkte Ap und A'^p gesondert ab, ben5tigt man zur Durchftihrung des Algorithmus 7.5 neben geeigneten Routinen zur Durchftihrung dieser Matrix-Vektor-Produkte lediglich 7 Vektoren {A'^p konnte man sogar auf dem frei werdenden Platz von Ap abspeichern). Als Hauptaufwand erhalt man pro Iteration daher 2 Level 2-Operationen und 7 Level 1-Operationen. Die beiden Level 2-Operationen ergeben sich aus den Matrix-Vektor-Produkten Ap und A'^p. Wie beim QMR-Verfahren muss neben einer Routine zur Durchftihrung einer Matrix-Vektor-Multiplikation mit A auch eine solche ftir A'^ zur Verftigung stehen. Die 7 Level 1-Operationen setzen sich wie folgt zusammen: 2 Skalarprodukte (ftir (Ap^,p^) und ^7-^+1^ f^+i^) sowie 5 saxpy's (ftir x''+\r^+^,r^+i,p'^+i undp'^'''^). Der Ausdruck {r^,r^) hingegen ist iiii k > 0 bereits aus der vorigen Iteration bekannt. Wir kommen jetzt zum Nachweis einiger theoretischer Eigenschaften des BiCG-Verfahrens aus dem Algorithmus 7.5. Unser erstes Resultat zeigt dabei, dass die durch den Algorithmus 7.5 erzeugten Residuen r* und r^ biorthogonal sind, wahrend die entsprechenden Paare von Suchrichtungen p'^ und p^ bi-konjugiert sind bzgl. der Matrix A. Diese Eigenschaften haben dem Verfahren letztlich auch ihren Namen gegeben. Lemma 7.6. Bricht der Algorithmus 7,5 nicht vorzeitig ab, so gelten {r\r'^) = 0 filr die 2, j G { 0 , 1 , . . . , / ? + 1} mit i ^ j , {Ap^,p'') = 0 fiir alle 2, j G { 0 , 1 , . . . , /c + 1} mit i 7^ j
7.2 BiCG-Verfahren
273
und alle A: = 0,1, — Beweis. Der Beweis erfolgt durch Induktion nach k. Fiir A^ = 0 ergibt sich aus den Aufdatierungsvorschriften im Algorithmus 7.5 sofort {T\f'')
= ( r ^ r " ) - a o ( V , r ' ' ) = {r\f°)
- .^gl^(V,r''> = 0
wegen fP = f^. Aufierdem folgt hieraus (Av\f)
=
{Ar\f)+po{Ap\f)
= (r',AV>-^(r'-r",/) /ir - 0 \
/ 1
= {r\A
0 -0\
PO / 1
p )
V - r ,r )
= 0. Analog zeigt man (r^,r^) = 0 und (Ap^.p^) = 0, womit der Induktionsanfang schon mal gilt. Die Aussagen mogen nun fiir alle j — 0 , 1 , . . . , A; mit einem gewissen k GN erfiillt sein. Wir verifizieren ihre Giiltigkeit fiir A; + 1. Zunachst gilt fiir alle i
= {r^n-ak{Ap\n
=
-ak(Ap\f-0i.if-')=O
=0
nach Induktionsvoraussetzung. Fiir i = k hingegen ergibt sich aus der Definition von ak unmittelbar ,A;+1 -A;\ _
/^k ^k\ _ ^ , / ^^k
^k\ _
/^k ^k\ _
V
^' /
{Ap^^p^) wegen {Ap\f'')
= {Ap\p>' - pk-if-^)
= (V,P*>
nach Induktionsvoraussetzung. Entsprechend ergibt sich fiir i
{Ar>'+\f)+0k{Ap\f) =0
= =
{Ar^^\f) {r^+\A'^f)
274
7 Weitere Krylov-Raum-Methoden i-^l = {r^^\ r"" — r / OCi
= 0
aufgrund des schon bewiesenen ersten Teils im Induktionsschluss. Ftir i — k folgt ebenfalls
=
{r>'+\A'f)+Pk{Ap\f^)
-k
i.k+1
/rk+l
Oik
fik+l\ OCk
= 0.
Analog verifiziert man die Giiltigkeit von {r^.f^'^^) — 0 und (^p*,^^+^) = 0 fiir alle i = 0,l,...,A;, womit der Induktionsschluss vollbracht ist. • Da bi-orthonormale Vektoren stets linear unabhangig sind, ergibt sich aus dem Lemma 7.6 insbesondere die lineare Unabhangigkeit von r ^ , r ^ , . . . ,r^, so dass der Algorithmus 7.5 nach spatestens n Schritten mit einer Losung des linearen Gleichungssystems endet, sofern das Verfahren nicht vorzeitig abbricht. Im Falle der Durchfiihrbarkeit des Algorithmus 7.5 hefert das Lemma 7.6 aufierdem die lineare Unabhangigkeit der Vektorenp^,p^,... ,p^, denn aus y ^ liV" = 0 fur 7i € i=0
folgt durch Multiplikation mit A von links zunachst k
J^liAf^O. i=0
Nimmt man nun das Skalarprodukt mit p^ fur ein beliebiges j € { 0 , 1 , . . . , A;}, so folgt
0 = J2^i{Ap\p^)=^j{Ap^,p^) i=0
aufgrund des Lemmas 7.6. Nun ist aber {Ap^,p^) ^ 0, da der Algorithmus 7.5 sonst nicht durchfiihrbar ware. Dies impliziert jj — 0 fiir j — 0 , 1 , . . . , A;, so
7.2 BiCG-Verfahren
275
dass die Vektorenp^^p^,... ,p^ (und, analog, auch die Vektoren j5^,p-^,...,p^) tatsachlich linear unabhangig sind. Diese Beobachtung liefert uns insbesondere das nachstehende Resultat. Lemma 7.7. Bricht der Algorithmus 7,5 nicht vorzeitig ah, so gelten span{p^,p^, =
span{r^,Ar^,...,A^-^r^}
und span{p^,p^,...
fiir k == 0 , 1 , 2 , . . . . Beweis. Wir beweisen lediglich die ersten Gleichungen. Der Nachweis der entsprechenden Gleichungen fiir die mit einem Dach versehenen GroBen kann analog erfolgen. Der Beweis geschieht wieder durch Induktion nach k. Fiir A: = 1 ist hierbei nichts zu zeigen. Die Aussagen mogen daher fiir ein A: > 1 gelten. Aus den Aufdatierungsvorschriften im Algorithmus 7.5 ergibt sich daher r" = r"-'-
ak-iAp"-'
6 ICk+i(r'',A)
wegen r^~^^p^~^ G JCk{r^,A) nach Induktionsvoraussetzung und somit Ap"-^ e AKk{r°,A)
CKk+i{r°,A).
Also ist span{rO,r\...,r'=}CX;fe+i(rO,^). Da die Vektoren r^^r^,... ,r^ aber linear unabhangig sind, folgt aus Dimensionsgriinden sogar s p a n { r » , r i , . . . , r * } = ACfc+i(rO,^). Die Aufdatierungsvorschriften im Algorithmus 7.5 lief em aufierdem /=r'=+A_ip'=-»€>Cfc+i(r»,^) wegen p^~^ € /Cfc(r^,^) C }Ck+i{r^,A) nach Induktionsvoraussetzung sowie r^ G JCk+i{r^,A) nach dem gerade schon bewiesenen Teil im Induktionsschluss. Folglich haben wir s p a n { / , p \ . . . , / } C JCk+i{r^,A),
276
7 Weitere Krylov-Raum-Methoden
und wiederum aus Dimensionsgrtinden gilt hier sogar die Gleichheit zwischen den beiden Mengen. D Das vorstehende Lemma erlaubt uns insbesondere, die k-te Iterierte des BiCG-Verfahrens zu charakterisieren. Satz 7.8. Bricht der Algorithmus 7.5 nicht vorzeitig ah, so gelten x^ ex^ + Kkir^^A) fiir die durch das BiCG-Verfahren
und
b - Ax^ ± }Cl{r^,A)
erzeugte Iterierte x'^,A; = 0 , l , 2 ,
Beweis. Wegen Lemma 7.6 gilt (r^,r^>=0
ftiralle
i = 0 , 1 , . . . , A; - 1.
Das Lemma 7.7 impliziert daher
r''XKl{f'',A). Der Nachweis von x^ ^ x^ -\- JCk{r^,A) geschieht durch Induktion nach A:. Ftir /c = 0 ist hierbei nichts zu zeigen, wenn man formal )Co{r^,A) := {0} setzt. Es gelte daher x^ e x^ -\- }Ck{r^, A) fiir ein k>0. Dann folgt
wegen x^ e x^ -\- JCk{r^, A) C x^ -\- K,k+i {r^^ ^ ) nach Induktionsvoraussetzung und p^ £ JCk+i{r^, A) nach Lemma 7.7. D Der Satz 7.8 besagt insbesondere, dass die durch das BiCG-Verfahren konstruierte Iterierte x^ tatsachlich den beiden gewlinschten Bedingungen (7.7) und (7.8) genugt. Im Hinblick auf spatere Verallgemeinerungen des BiCG-Verfahrens formulieren wir an dieser Stelle noch ein weiteres Resultat ftir den Algorithmus 7.5. Dieses wird uns bei der Herleitung des BiCGSTAB-Verfahrens im Abschnitt 7.4 von Nutzen sein. Lemma 7.9. Bricht der Algorithmus 7.5 nicht vorzeitig ah, so gelten {r^,Pj{A^)r^)
=0
und
{Ap\pj(A'')r^)
=0
fiir alle Polynome pj vom Grade j = 0 , 1 , . . . , fc — 1. Beweis. Wegen Satz 7.8 ist
r^ = b-Ax^
±K:i{r^,A).
Gemafi Definition des transponierten Krylov-Raumes bedeutet dies gerade
7.2 BiCG-Verfahren (r^, (Ayr^)
=0
277
fur alle j = 0 , 1 , . . . , A; - 1.
Dies impliziert die erste Behauptung. Zum Nachweis der zweiten Behauptung erinnern wir daran, dass aufgrund des Lemmas 7.6 auch {Ap^.fP) = 0
ftir alle j = 0 , 1 , . . . , A; - 1
gilt. Ferner ist wegen Lemma 7.7, womit auch die zweite Aussage bewiesen ist.
D
Abschliefiend testen wir das numerische Verhalten des BiCG-Verfahrens wieder an dem linearen Gleichungssystem CNXNV
=
h^f,
das sich durch Diskretisierung der zweidimensionalen Konvektions-DiffusionsGleichung ergab. Die Daten sind dabei wie im Abschnitt 6.2 gewahlt. Das BiCG-Verfahren benotigt insgesamt 83 Iterationen, bis das iibliche Abbruchkriterium erfiillt ist. Der zugehorige Verlauf der relativen Residuen ist in der Abbildung 7.2 angegeben. Man beachte hierbei, dass der Verlauf des relativen Residuums in Abbildung 7.2 keineswegs monoton ist und durchaus erhebliche Schwankungen aufweist. Dies liegt daran, dass das BiCG-Verfahren per Konstruktion kein Residuum oder Quasi-Residuum minimiert.
20
30
40
60
70
80
90
Abbildung 7.2. Verlauf des relativen Residuums beim BiCG-Verfahren
278
7 Weitere Krylov-Raum-Methoden
B e m e r k u n g 7.10. Das in diesem Abschnitt vorgestellte BiCG-Verfahren ist in der Praxis nicht besonders beliebt und dient hier insbesondere als Motivation zur Einfiihrung von vermeintlich besseren Methoden in den nachfolgenden Abschnitten. Aber auch das schon bekannte QMR-Verfahren wird dem BiCG-Verfahren im AUgemeinen bevorzugt, obwohl es theoretische Resultate gibt, wonach sich die durch beide Methoden erzeugten Residuen qualitativ nicht wesenthch voneinander unterscheiden, vergleiche etwa das Buch [28] von Greenbaum.
7.3 CGS-Verfahren Wir betrachten in diesem Abschnitt weiterhin ein hneares Gleichungssystem Ax = b mit einer ledighch regularen Matrix A € M^^". Das hier zu beschreibende und auf Sonneveld [57] zurtickgehende CGS-Verfahren (CGS=Conjugate Gradient Squared) ist eine Variante des BiCG-Verfahrens, das die dort auftretende Matrix-Vektor-Multiphkation mit der transponierten Matrix A^ vermeidet und gleichzeitig eine schnellere Konvergenzgeschwindigkeit zu erreichen versucht. Der Trick zur Vermeidung des Matrix-Vektor-Produktes mit der Matrix A'^ besteht dabei darin, bei der Berechnung der skalaren Grofien ak und /3k im BiCG-Algorithmus 7.5 ohne die Vektoren f^ und p^ auszukommen. Auf diese Weise entfalien nicht nur diese beiden Vektoren, sondern auch noch der Zugriff auf die Matrix A'^. Zur Herleitung des CGS-Verfahrens erinnern wir zunachst daran, dass das Residuum r^ = b — Ax^ beim BiCG-Verfahren aufgrund des Lemmas 7.7 in dem Raum }Ck+i{r^,A) liegt. Also existieren KoefRzienten 7i G M mit r'^ = ^ 7 i A V 0 . i=0
Dies lasst sich auch schreiben als
r" = MAy' mit einem Polynom (/>fc vom Grad k. Entsprechend liegt auch der vom BiCGVerfahren 7.5 erzeugte Vektor p^ in dem Raum Kk+i(r^, A), vergleiche wieder Lemma 7.7. Daher existieren auch KoefRzienten Si mit
was sich wiederum schreiben lasst als
p" = nk{Ay
7.3 CGS-Verfahren
279
mit einem geeigneten Polynom TT^ vom Grade k, Aus den Aufdatierungsvorschriften im Algorithmus 7.5 ergibt sich ferner, dass die Vektoren r^ und p^ im Prinzip den gleichen Rekursionen wir r^ und p^ gentigen; man hat lediglich A durch A'^ sowie r^ durch f^ zu ersetzen. Daher gilt auch f^-0fe(^^)rO
^^^
p^ = 7rk{A^)r'^.
Unter Verwendung dieser Notation lassen sich die skalaren Grofien a^ und pk aus dem BiCG-Verfahren schreiben als ""^ ^^
(Ap^p^)
{AwkiAyo, TTkiA^yo)
{r^^r^)
{A7rl{A)r^, fO)
(0fc(^)rO,0fe(.4^)rO)
'''''*
((/>|(A)rO,rO) '
wobei (.,.) natiirlich wieder das eukhdische Skalarprodukt bezeichnet. Auf diese Weise konnen wir bei der Berechnung von a^ und f3k auf die Multiphkation mit A^ verzichten, benotigen hierfur aber geeignete Rekursionsvorschriften ftir die bislang nicht weiter behandelten Grofien
4>l(Ay und
4{Ay.
Zu diesem Zweck bemerken wir zunachst, dass die beiden Aufdatierungsvorschriften ^fc+i ^^k_
^^^pk
^^^
pk+i ^ ^k+i _^ p^pk
aus dem Algorithmus 7.5 in der obigen Notation offenbar wie folgt lauten:
(l>k+i{Ay = M^y - akATTkiAy TTk+iiAy = ^k+i{Ay 4- pk^kiAy.
und
Also genugen die Polynome (pk und TT^ den beiden Rekursionen (pk+i (t) = 4>k {t) - aktTTk (t)
und
TTfc+i (t) = (t)k+i (t) -h PkTTk {t)
mit ^o(^) := 7ro{t) := 1. Quadrieren dieser beiden Gleichungen liefert 4>k+iit) = 4i{t) - 2akt7rk{t)cj>k{t) +
alt^nlit)
und Wiirden die gemischten Terme T^k{t)(t>k{t) und (j)k+i{t)7rk{t) hier nicht auftreten, hat ten wir auf diese Weise bereits die gewlinschten Rekursionsvorschriften flir (j)l und 7r| erhalten. Zur Behandlung der gemischten
(7.9)
280
7 Weitere Krylov-Raum-Methoden
Terme leiten wir auch eine kurze Rekursion ftir den Ausdruck (pk+i{t)'^k{i) her. Wegen (t>k{t)'Kk{t) ^'=^ (Pk{t){Mt)+Pk-ink-i{t))
= cl>l{t)-{-l3k-iMt)^k-i{t)
(7.10)
erhalt man dann sofort eine einfache Aufdatierungsvorschrift fur den gemischten Term (pk(t)'^k{t)' Eine kurze Rekursion fur (t)k+i{^)7rk{t) ergibt sich durch Einsetzen der entsprechenden Rekursionen fur (/)fc+i und TT^ ZU
(t>k{t)7rk{t) -aktirlit)
^^=^
=
ct>l{t) - akt{2T:k{t)(t>k{t) - ockti^li^))
(T.ll)
^'"'^^ 4>l{t) - Oikt{2(t>l{t) + 2^fc_i0fc(t)7rfc_i(t) (pk+iit)7Tk{t) = ^i+i(t) =
(t>kit)+Pk-iMt)'^k-i{t)-akt7rl{t), c^l^,{t) + 2Pkct>k+i{t)iTk{t) +
akt-Klit)),
fiM{t).
(7.12) (7.13)
Schreiben wir zur Abkiirzung
= nUAy, =
= MA)nk{Ay, SO liefern die obigen Formeln „*(^i°>r'= + A _ i , * - i ,
=
r•k _ a,Air"
(7.14)
+ A - i g * - ' + r* + fi.-iq"-' =u^
— r
a^Ap")
7.3 CGS-Verfahren
281
Dabei entspricht die Rekursion r^"*"^ = r^ — akA{u^ + q^) offenbar der Aufdatierungsvorschrift ^k+i
^ ^k j ^ ^^^^k
_^ ^k^
fur die Iterierten selbst. Zusammenfassend ergibt sich somit das nachstehende Verfahren. A l g o r i t h m u s 7.11. (CGS-Verfahren) Wdhle Startvektor x^ G M^ und seize r^ := b - Ax^. Wahle fO G M^ mit (r^,r^) + 0, z.B. r^ := r^. Seize p^ := r^ und u^ := r^. FOR A; = 0 , 1 , 2 , . . . afc:=(r^fO)/{V,r^>; qk ._ yk _
Q^^j^pk.
^fc+i ._ ^k _ (^j^A{u^ + q^);
A:=(r^+^r«)/(r^rO); ^fc+i .^^k+i
^p^qk,
END Das CGS-Verfahren kann offenbar so implementiert werden, dass man die Vektoren g^, x^,r^, u^ und p^ in jeder Iteration liberschreibt. Zusammen mit dem Residuum r^ sowie den gesondert zu speichernden Vektoren u^ + q^ und Matrix-Vektor-Produkten Ap^ sowie 74(ti^ -f ^^) ergibt sich also ein Bedarf von 9 Vektoren, der als wesentlicher Speicheraufwand neben einer Prozedur zur Berechnung der Matrix-Vektor-Produkte mit der Matrix A auftritt. Dies ist zwar etwas teurer als beim BiCG-Verfahren aus dem Algorithmus 7.5, allerdings entfallt der Zugriff auf die transponierte Matrix A^ beim CGSVerfahren voUig. Als wesentlicher Rechenaufwand ergeben sich beim CGS-Verfahren 2 Level 2-Operationen und 9 Level 1-Operationen. Die beiden Level 2-Operationen sind hierbei gegeben durch die beiden MatrixVektor-Produkte, wahrend sich die 9 Level 1-Operationen wie folgt aufteilen: 2 Skalarprodukte (fiir (Ap^^f^) und (r^'^^^r^)) sowie 7 saxpy's (fur q^,u^ + gr^,a;^+i,r^+\iA^+\g^ + 0kP^,p^'^^). Neben dem nicht unwesentlichen Vorteil, dass man nicht mehr auf die Matrix A'^ zurtickgreifen muss, konvergiert das CGS-Verfahren meistens auch deutlich schneller als das BiCG-Verfahren. Dies liegt im Wesentlichen daran, dass das Residuum beim BiCG-Verfahren durch den Ausdruck r^ = (j>k(A)r^ gegeben ist, wahrend dies beim CGS-Verfahren r^ = <^|(yl)r^ lautet. Ist daher der Ausdruck ||)fc(A)r°|| fiir das BiCG-Residuum klein, so kann man erwarten, dass der entsprechende Ausdruck ||(/>|(^)r^|| fiir das CGS-Residuum
282
7 Weitere Krylov-Raum-Methoden
deutlich kleiner ist. Allerdings ist der Ausdruck ||)|(A)r®|| auch entsprechend grofier, wenn ||(/>fc(A)r^|| bereits grofi ist. Hierdurch wird das sowieso schon relativ stark oszillierende Verhalten im Residuenverlauf des BiCG-Verfahrens beim CGS-Verfahren eher noch verstarkt. Obendrein besteht auch beim CGSVerfahren, ahnlich wie beim BiCG-Algorithmus, die Moglichkeit eines vorzeitigen Abbruchs, da gewisse Nenner im Algorithmus 7.11 Null sein konnen, ohne dass eine Losung des zu Grunde liegenden Gleichungssystems Ax = b gefunden wurde. Abschliefiend testen wir auch das CGS-Verfahren an dem schon bekannten Beispiel CNXNV
=
h^f,
das sich aus einer geeigneten Diskretisierung der Konvektions-DiffusionsGleichung ergab. Die genauen Daten sind hierbei wie im Abschnitt 6.2 gewahlt. Das CGS-Verfahren benotigt insgesamt 75 Iterationen, bis das libliche Abbruchkriterium erfiillt ist (beinahe ware es schon nach nur 62 Iterationen erfiillt gewesen). Der zugehorige Verlauf des relativen Residuums befindet sich in der Abbildung 7.3. Ahnlich wie beim BiCG-Verfahren weist dieser Verlauf auch beim CGS-Verfahren einige erhebliche Schwankungen auf. Die Ursache hierfiir hat ten wir etwas weiter oben bereits erlautert.
70
80
Abbildung 7.3. Verlauf des relativen Residuums beim CGS-Verfahren
7.4 BiCGSTAB-Verfahren Wir betrachten auch in diesem Abschnitt ein lineares Gleichungssystem Ax = b mit einer ledighch regularen Matrix A G E^^"^. Das hier vorzustellende BiCGSTAB-Verfahren (BiCGSTAB=BiCG STABihzed) geht auf van
7.4 BiCGSTAB-Verfahren
283
der Vorst [61] zurtick und stellt eine Variante des BiCG-Verfahrens dar, das durch Einflihrung eines zusatzlichen Parameters die teilweise erheblichen Oszillationen im Residuenverlauf des BiCG-Verfahrens zu vermeiden versucht. Zur Herleitung des BiCGSTAB-Verfahrens gehen wir zunachst noch etwas naher auf das BiCG-Verfahren ein. Benutzen wir die Notation aus dem vorigen Abschnitt iiber das CGS-Verfahren, so lieCen sich das k-te Residuum und die k-te Suchrichtung beim BiCG-Verfahren darstellen als
M^y
und
TTkiAy
mit gewissen Polynomen (pk und TT^ vom Grade A:, die den Rekursionen (Pkit) - (t>k-i{t) ~ ak-it7rk-i(t),
(7.15)
7Vk{t) = (pkit) + Pk-i-Kk-iit)
(7.16)
sowie den Anfangswerten (f)o{t) := 7ro(t) := 1 geniigten, vergleiche (7.9). Die skalaren GroBen a^ und fik aus dem BiCG-Verfahren erlaubten hierbei die Darstellungen "*"
(A7rfc(A)rO,7r,(^-)fO)'
^'•">
{
._,„.
Aufgrund des Lemmas 7.9 wissen wir aufierdem, dass {(t)k{Ay,Pj{A'^)f^) (A7Tk{Ay,Pj{A'^)r^)
=0 =0
fiir alle Polynome Pj vom Grad j < k, (7.19) fur alle Polynome pj vom Grad j
gilt. Damit lasst sich nun das folgende Resultat zeigen. Lemma 7.12. Bricht das BiCG-Verfahren nicht vorzeitig ah, so gelten (unter Verwendung der obigen Notation) iMAy^MAnr'} {A7r,{Ay,7rk{A^y) fiir k =
= (-l)^afc-iafc_2...ao(0fc(^)r^(^-)^rO), = (-l)^a,_iafc_2 .. .ao(^7rfc(A)rO, (^-)^fO)
0,1,2,....
Beweis. Unter Benutzung der beiden Rekursionen (7.15) und (7.16) sowie der Orthogonalitatsbeziehung (7.19) ergibt sich
{MAy,MAnf°) ~
.
'
= 0 nach (7.19)
=
(-l)ia;t_i(<^fc(^)r»,A^7rfc_i(A^)f»)
284
7 Weitere Krylov-Raum-Methoden ''=''^-l)iafc_l(<^fc(^)7-°,A>fc_i(^-)f''> '
V
'
= 0 nach (7.19)
< " " (-l)'afc-i
{MAy,A^4>k-2iAnr°} ^ 0 nach (7.19)
So fortfahrend, erhalt man induktiv (M^y,
MAlr')
= {-l)'ak-iak-2
• • • aoiM^^,
(A-)^rO>
und damit gerade die erste Behauptung. Der Nachweis der zweiten Behauptung geschieht analog unter Verwendung von (7.15), (7.16) und (7.20) und soil hier nicht welter ausgefuhrt werden, vergleiche Aufgabe 7.6. • Nach diesen Vorbetrachtungen kommen wir nun zur Herleitung des BiCGSTABVerfahrens. Dieses versucht, das Residuum in der Gestalt r*= =
Xk{A)MA)r'>
zu bestimmen, wobei Xk ein weiteres Polynom ist, welches der einfachen Rekursion Xk(t) := (1 - u;kt)xk-i{t), Xo{t) := 1, (7.21) geniigen soil. Der hier zusatzlich auftretende Parameter Uk wird spater dazu benutzt, um das Residuum \\r''\\ =
UI-o.,A)xk-iiA)MA)r'>\\
ZU minimieren. Entsprechend soil auch das Polynom TT^ mit Xk skaliert werden. Zur Herleitung des BiCGSTAB-Verfahrens benotigen wir also Rekursionsvorschriften fur die Vektoren r" := Xk{A)MA)r°
(7.22)
p" := Xk(A)7:k{A)r'>.
(7.23)
und Aus den Rekursionen fiir Xk, (pk und TT^ folgt zunachst r''
*'='* *'="
Xk{A)MAy {I-u;kA)xk-i(A)MAy
'"'> {I-cokA)xk-i{A)[4>k-i{A)-ak-iAnk-i{A)y (7.221,(7.23) (^ _^^^)(^fc-l _ „ , _ j V - 1 ) (7 - a;fc^)s*=-i
(^-24)
7.4 BiCGSTAB-Verfahren mit
gk-i ._ ^k-i _ Q,^_j^p*-i
285 (7.25)
und
^'=^ XkiA) [MA) + '•'=\''+
0k-ink-i{A)y
Pk-iXk(A)nk-iiAy
^'=^ r" + I3u-i{l -
ojuA)xk-MW-x{A)r'>
womit wir im Prinzip auch schon fertig waren, wenn wir die aus dem BiCGVerfahren stammenden Koeffizienten a^ und f5k mit Hilfe der neuen Vektoren r^ und p^ ausdriicken konnten (abgesehen von der noch fehlenden Angabe zur Wahl des Parameters 0;^). Zu diesem Zweck erweist sich das nachstehende Resultat als niitzlich. L e m m a 7.13. Sofern kein vorzeitiger Abbruch eintritt, gelten mit den obigen Bezeichnungen {r\f'>) = {-ifwk^u-i • ..uj^{<j>k{Ay, (A'fr''), (V,^") = {-l)''oJk^k-i-.-o^i{ATTu{A)r\{A'ff°) furk =
0,1,2,....
Beweis. Der Beweis ist weitgehend analog zu dem des Lemmas 7.12. Zunachst folgt
=
{MAy,xkiAnf')
* ' - ' ' {MAy,Xk-i{Anf°)
-uJk{MAy,A^Xk-i{A-')f'')
V
'
= 0 nach (7.19)
=
{-l)'<^k(MAy,A^xk-i(A'')f'>)
''='> (-l)ia;fc
{MAy,A-^Xk-2{Anr°) '
V
'
= 0 nach (7.19)
=
+{-lf^kOJk-i{4>k{Ay,{An\k-2{Anf'') (-ifu^kU^k-iiMAy, {An\k-2{Anr'}.
So fortfahrend, ergibt sich induktiv gerade die erste Behauptung. Die zweite Behauptung lasst sich unter Verwendung von (7.20) analog verifizieren, siehe Aufgabe 7.6. n
286
7 Weitere Krylov-Raum-Methoden
Aus den vorigen Resultaten erhalten wir jetzt (7.17)
(0fc(A)r^(/>fc(^^)rO) (A7rk{A)r^,7rk{A^)r^)
Oik
Lemma 7.12
((?^fc(A)rO, ( A ^ ) ^ f O )
{A7rk{A)r^,{A^)krO) Lemma 7.13
(r'^,r^)
(Ap^.r^) und
A
(7^8)
(0fc+i(^)rQ,(^fc+i(A")rQ; {0fc(A)rO,(/>fc(A^)f'
Lemma 7.12 _
{(t>k+l{Ay
""' Lemma 7.13
O^k
AA^)^+'r^)
{MA)rMA-)^rO) {r^+^,f^)
also die gewtinschten Aufdatierungsformeln flir die Koeffizienten ak und I3k unter Verwendung der jetzt bekannten Grofien r^ und p^ sowie dem bislang noch nicht weiter spezifizierten Parameter ujk+iWie anfangs erwahnt, dient dieser noch freie Parameter zur Minimierung des Residuums, um auf diese Weise den teils stark oszillierenden Verlauf des BiCG-Residuums zu glatten. Wegen r^ = {I- u;kA)s^~'^ (vergleiche (7.24) mit s^~^ aus (7.25)) wird man LJ — Uk daher so bestimmen, dass die eindimensionale Funktion 'p{u:):=\\\iI-u^A)s''-'f minimiert wird. Aus 0 = cp'icvk) = -{s'^-'yA'^il
-
u;kA)s^-'
ergibt sich sofort {As^-\s^-^) ^k
=
Schreibt man das Residuum unter Verwendung der Definition von 5^ noch in der Form T^ = {I- uJkA)s^-^ = 5^-1 - ujkAs^-'' ^^=^ r^-1 - afe_i V " ' -
^kAs^-\
so sieht man sofort, dass dies der Aufdatierungsvorschrift
entspricht. Zusammenfassend ergibt sich somit der nachstehende Algorithmus.
7.4 BiCGSTAB-Verfahren
287
A l g o r i t h m u s 7.14. (BiCGSTAB-Verfahren) Wahle Startvektor x^ G W und seize r^ := b - Ax^,p^ := r^. Wahle fO mit (r^,r^) + 0, z,B. r^ := r^. FOR A; = 0 , 1 , 2 , . . . gk . _ ^k _
^k+1
Q^^^pk.
. ^ ^k _j_ ^^pk
^k+1 . _ ^A; _
_j_
(jj^^^s^-
^^_^^As^;
END Bei geeigneter Implementation konnen die Vektoren s^^x^^^^r^'^^ und p^^^ offenbar tiberschrieben werden. Zusammen mit dem gesondert abzuspeichernden Vektor r° und den ebenfalls einzeln abzuspeichernden Matrix-VektorProdukten Ap^ und As^ ergibt sich also ein Bedarf von lediglich 7 Vektoren, die neben dem Platzbedarf ftir die Durchftihrung der Matrix-Vektor-Produkte mit A den wesentlichen Speicheraufwand darstellen. Der Rechenaufwand beim BiCGSTAB-Verfahren wird dominiert durch 2 Level 2-Operationen und 10 Level 1-Operationen. Die beiden Level 2-Operationen sind hierbei natiirlich durch die MatrixVektor-Produkte mit A gegeben. Hingegen werden keine Matrix-VektorProdukte mit der transponierten Matrix A^ benotigt. Die 10 Level 1-Operationen wiederum setzen sich zusanunen aus 4 Skalarprodukten (ftir {Ap^.r^), {As^,s^), {As^,As^), 6 saxpy's (fur s^, x^'^^, r'^'^^ und p^^^),
{r^~^^,f^)) und
wobei die Berechnung von x^+^ und p^+^ jeweils zwei saxpy's kostet. Testen wir auch das BiCGSTAB-Verfahren an dem Beispiel CNXNV — h'^f der diskretisierten zweidimensionalen Konvektions-Diffusions-Gleichung und verwenden die schon aus dem Abschnitt 6.2 bekannten Daten zu diesem Problem, so bricht das BiCGSTAB-Verfahren nach 57 Iterationen ab. Der zugehorige Verlauf der relativen Residuen ist in der Abbildung 7.4 wiedergegeben. Diese Abbildung macht deutlich, dass der Residuenverlauf in der Tat deuthch glatter ist als beim BiCG- oder beim CGS-Verfahren, wenngleich es immer noch gewisse Schwankungen gibt, die letztlich darin begriindet sind, dass auch das BiCGSTAB-Verfahren nicht das Residuum minimiert oder auch nur quasi-minimiert. B e m e r k u n g 7.15. Das BiCGSTAB-Verfahren versucht, den Residuenverlauf aus dem BiCG-Verfahren durch eine eindimensionale Minimierung mit-
288
7 Weitere Krylov-Raum-Methoden
Abbildung 7.4. Verlauf des relativen Residuums beim BiCGSTAB-Verfahren tels des Parameters u zu glatten. Eine Variante hiervon ist die BiCGSTAB (£)Methode von Sleijpen und Fokkema [55], der im Prinzip eine £-dimensionale Minimierung zu Grunde liegt. Man vergleiche hierzu auch die Arbeit [56] von Sleijpen, van der Vorst und Fokkema sowie das Buch [62] von van der Vorst.
7.5 TFQMR-Verfahren Wir betrachten in diesem Abschnitt wieder ein lineares Gleichungssystem Ax = b mit einer regularen Matrix A G W^^^. Ziel dieses Abschnittes ist die Herleitung des auf Preund [22] zurlickgehenden TFQMR-Verfahrens (TFQMR=Transpose-Free Quasi-Minimal Residual). Es handelt sich hierbei um eine Variante des (von der transponierten Matrix A"^ freien) CGSVerfahrens, bei dem in Analogie zum QMR-Verfahren durch eine Art QuasiMinimierung des Residuums das teilweise stark oszillierende Verhalten des CGS-Verfahrens vermieden werden soil. Zur Konstruktion des TFQMR-Verfahrens erinnern wir zunachst daran, dass durch das CGS-Verfahren Vektoren q''= ct>k+i{A)7rk{A)r^ und erzeugt werden mit gewissen Polynomen (pk und TT^ vom Grade k, die den Rekursionen (l>k+i{t) = (t>k{t) - akt-Kkit),
^o{t) = 1,
7.5 TFQMR-Verfahren TTk+lit) = 0fc+l (0 + PkT^kit),
289
7ro{t) = 1
geniigen. Folglich ist (pk{i)T^k{'t) ein Polynom vom Grad 2k^ wahrend das Produkt 4>k+i{i)T^k{i) ein Polynom vom Grad 2/c4-1 darstellt. Die Definition von q^ bzw. u^ liefert deshalb s p a n K , ( ? ° , « ' , < ? > , . . . , « * - \ g * - i } = >C2;t(rO,^) bzw. span{w^, ^^, w \ 5 \ . . . , iz^~\ ^ ' ' - \ w^} =/C2fc+i(r°, ^ ) fiir /c — 0,1, 2, — Setzen wir daher
bzw. allgemein fc ._ r w^ falls /c - 2£ + 1 ungerade L. _ i o "^ • " \ g^-i, falls k = 2l gerade tur /c - 1,2,...,
f7 26^ (7.2b)
so ist span{?;\ . ..,v^]
= JCkir^, A)
fiir A; = 1,2,....
Wir fassen diese Beobachtung in dem folgenden Result at zusammen. Lemma 7.16. Bricht das CGS-Verfahren nicht vorzeitig ah, so bilden die in (7.26) definierten Vektoren v^^... ^v^ eine Basis des Krylov-Raumes JCk{r^, A). d.h., es gilt span{v^ ,v^,...,v^} = }Ck{r^, A) fur k=
1,2,..,.
Wir fiihren nun noch weitere Vektoren w^ ein durch ,„k ._ / 0 ? ( ^ ) r ^ falls k = 2i-hl ungerade "" •~\0KA)(/>^_i(A)rO, falls A; = 2£ gerade
., _ i o (r ny^ m r / c - i , ^ . . . {(.Z()
(Man beachte, dass dann ic^^+i = r^Qg insbesondere das CGS-Residuum ist.) Ein fiir die Herleitung des TFQMR-Verfahrens wichtiger Zusammenhang zwischen den Vektoren v^ aus (7.26) und w^ aus (7.27) ist in dem folgenden Resultat angegeben, wobei wir dort von der Funktion [•J : R —> Z, X i-^ lx\ := max{n eZ\n
< x}
Gebrauch machen; es ist also beispielsweise [nj = n fiir alle n G Z und L3/2J = 1. Lemma 7.17. Fiir die in (7.26) und (7.27) eingefiihrten Vektoren v^ undw^ gilt Av'' =
^ 0^lik-l)/2j
fiir k =
1,2,....
(w'' - w^+^)
290
7 Weitere Krylov-Raum-Methoden
Beweis. Sei A: G N beliebig. 1st dann k = 2i-\-1 ungerade und beachtet man tTTiit) = —[Mt) - 4>e+i{t)] Oil)
aufgrund der Rekursionsvorschrift fur das Polynom <^£+i, so folgt Av^ ''i'^ An'
=
AMA)MAy
= ^MMMAy
-
-[
^
{w^-w^+^).
1st dagegen k = 2i gerade, so ergibt sich Av'' ^'^'^ Aq'-' = AMA)^e-i{Ay = MA)A7re^i{Ay =
-^MA)[4>e-i{Ay
-
MAy]
Oii-l
=
^ - [ M A ) 4 > i - x ( A y -
=
^-
{w^-w^+^),
^L(fc-i)/2j
womit die Behauptung auch schon bewiesen ist. Schreiben wir zur Abklirzung Vk:= \ v^.-v'']
E]R^>^^
Wk:= I w^ ...w^ k \\ ^ ^Rmnxk
7.5 TFQMR-Verfahren
291
mit den in (7.26) und (7.27) eingefiihrten Vektoren und definieren noch die Bidiagonalmatrizen \
/ 1 1 1
diagf—,—
Bk-.
v aao n Oi ao
)kxk
«L(fe-i)/2j
\
/ 1 1 1 Bk
1
diag(—,— \an an
•=
1
^{k+1) xk
«L(fc-i)/2J
1 1 \ ly SO lasst sich das Lemma 7.17 in kompakter Form auch schreiben als AVk =
Wk^.Bk.
(7.28)
Nach diesen Vorbereitungen konmien wir zur eigentlichen Herleitung des TFQMR-Verfahrens, die sich zunachst weitgehend an der des QMR-Verfahrens orientiert. Wie alle bisher diskutierten Krylov-Raum-Methoden erzeugt auch das TFQMR-Verfahren Iterierte x^ aus dem affinen Raum x^ + JCk{r^, A) fiir einen Startvektor x^ G E^. Wegen Lemma 7.16 konnen wir jedes x^ e x^ -h JCki'f'^^A) aber wieder schreiben als x^ = x^ + VkV fiir ein y €
(7.29)
Nun soil y (und damit x^ selbst) wieder so bestimmt werden, dass das Residuum II6 — Ax^W hierbei moglichst klein wird. Unter Verwendung von (7.29) und (7.28) lasst sich dieses Residuum schreiben als ||6-^x^||
h-Ax^-AVky\\ AVky\[_ Wk+iBky\\ = \\WM{ei-Bky)\\
(7.30)
mit dem Einheitsvektor ei := ( 1 , 0 , . . . , 0)^ G R^+^ Wegen Ax^\\<\\Wu+^\\^\e^-Bky\ legt dies nahe, die Grofie Ijei -Bfct/ll
(7.31)
zu minimieren. Da die Spalten von Wk+i allerdings nicht normiert sind und die Zahl ||Wfc-(-i|| daher sehr schnell grofi werden kann, wird der Ausdruck
292
7 Weitere Krylov-Raum-Methoden
(7.31) unter Umstanden ein sehr schlechter Ersatz ftir ||r^|| sein. Aus diesem Grund ftihrt man noch eine Skalierungsmatrix Sk+i :-diag(5i,52,...,5fc+i) GlR(^+^)^(^+i)
mit Si := \\w'\\
ein, um hiermit die Spalten von Wk+i zu normieren. Aus (7.30) folgt dann namlich
||r«=|| = 116-^0.'= II = \m+i{ei =
- Bky)\\
\\Wk+iSj;l^Sk+i{ei-Bky)\\
< \m+iS^li\\
•
Wsiei-Sk+iBkvl
und die Minimierung des Ausdrucks \\siei - Sk+iBkvl
y€R\
scheint jetzt ein gutes Ersatzproblem ftir die Minimierung von ||r^|| zu sein, da die Spalten der Matrix Wk+iS^^-^^ wegen Si = \\w^\\ normiert sind, so dass die Norm ||Wfc_|.i5^^j|| nach oben durch \/k 4-1 abgeschatzt werden kann, siehe Aufgabe 7.4. Da man auch hier nicht das exakte Residuum minimiert, spricht man wie beim QMR-Verfahren von einer Quasi-Minimierung. Ftir eine andere Wahl der Skalierungsfaktoren Si sei auf die Arbeit [22] von Freund verwiesen. Setzen wir zur Vereinfachung noch Fk := Sk+iBk^ so haben wir im Folgenden also das Ausgleichsproblem minimiere ||5iei -'Fky\\
ftir y eR^
(7.32)
zu losen. Dies hat aber eine ahnliche Struktur wie das beim QMR- oder auch MINRES-Verfahren auftretende Teilproblem, nur dass die Matrix Fk hier keine Tridiagonalgestalt hat, sondern die noch einfachere Struktur einer unteren Bidiagonalmatrix aufweist. Diese spezielle Struktur konnen wir zur Losung des Teilproblems (7.32) nattirlich wieder ausnutzen. Um auf die tibliche Form des TFQMR-Verfahrens zu kommen, folgen wir allerdings nicht unserem Zugang in den Abschnitten 6.4 und 7.1, sondern leiten zunachst eine Rekursionsformel ftir die Losungen y'^ des Ausgleichsproblems (7.32) her. Zu diesem Zweck schreiben wir noch ( Fk =
Fk
I ^j^(fc+i)xfe
mit Ffc G M^^'^,
\0---0* d.h., Fk bezeichnet den oberen k x A;-Block von Ffc, der offenbar regular ist, solange kein vorzeitiger Abbruch eintritt. Dann gilt das nachstehende Resultat.
7.5 TFQMR-Verfahren
293
Satz 7.18. Seien y^~^ bzw. y^ die Losungen der Ausgleichsprobleme mm||||it;^||ei - Fk-iy\\
bzw.
min ||||w;^||ei - Fky\\
mit zugehorigen Residuen rk-i~\\\\w'\\ei-Fk-iy''-'\\ Dann gelten die
bzw. Tk :=
\\\\w'\\ei-Fky^W
Rekursionsformeln 2/'= = ( l - c | ) ( ^ * ^ ^ " ' ) + 4 a ' = Tk —
und
Tk-\^k\(^k\
of
a
:= ( a o , a o , a i , ...,ai(k-
l)/2J^eM^
h := Ik*+MIM- l 7 \c,\ := i/^/i + el. eweis. Offenbar ist 0
\
11^'11 Jii£!i ao
ao
Fk = __lh£!lL_ "L(fc-2)/2 J
Ilt»"+Ml
A
\
Ik'II «L(fc-i)/2J
"
aL(fc-i)/2J
1 /
Hieraus folgt Fka^ = \\w^\\ei
mit
ei := ( 1 , 0 , . . . ,0)^ G
(7.33)
und damit lti;^+Ml = llllt/;^ | | e i - F f c a ^ | |
mit
ei := ( 1 , 0 , . . . ,0)^ G IR^+^
(7.34)
Da Fk eine untere Bidiagonalmatrix ist, existiert eine orthogonale Matrix Gk e Rik+i)x{k+i) (^ig gi^j^ ^ig produkt von k Givens-Rotationen <^2i, <^32, • • •, Gk+i,k ergibt), so dass GkF}
----{":)
mit oberen Bidiagonalmatrizen iRk ^ E^^+i)^^ bzw. Rk G R^^^ gilt. Fiir die entsprechend transformierte rechte Seite des Ausgleichsproblems (7.32) schreiben wir
294
7 Weitere Krylov-Raum-Methoden z^-5iGfeei-||^i||Gfcei.
(7.35)
Partitionieren wir J^ hierbei in der Form
.* = (:} e und schreiben analog jk-i
^ l^
\
^j^{k-i)+i
Xk-i. so folgt mit Gk+i,k = Gk+i,k{ck,Sk) sofort ,k^
Q-
Z = Gk+i,k\
,^k-i^ (z^-'\ „ 1 = Gk+l,k I C*;-l
I z^-^ = I CkCk-1
und damit
^^^Cla-i)
"^^^ Ck = -SkCk-i.
(T.36)
Ebenso ergibt sich aus GkFk ~ Rk ~ i ^ 1, Gk-iFk-i
= Rk-i = ( p.
und Gk^Gk+i,ki^
^j
sofort
a^'^-°.7-°-...(M) (?)=«•
+i,k .
Gk-iFk ^
(7.37) wobei der genaue Wert einer mit * gekennzeichneten GroBe im Folgenden nicht weiter von Bedeutung ist. Aus (7.37) folgt
(o)=rr-i2mWegen Gf^l^,^{ck,Sk) = Gk+i,ki^k,Sk) = Gk-\.i,k{ck,-Sk) aufgrund der Orthogonalitat der Givens-Rotation Gk-{.i,k — Gk+i,k{ck^Sk) impliziert dies (^"-'^^Rk^Gk-iFk. Damit folgt
(7.38)
7.5 TFQMR-Verfahren k (7.33) ,,
J ,1
295
1
=
{Gk-iFk)-''\\w'\lGk-iei
(7£8)
1 //*,_! 0 \ / 2 * - l \ (7.39)
^'' ^ a-ic-^ «.-^ denn per Definition ist y'^ ^ Losung von Rk-iV = z'^k-i ^. Aus der Bidiagonal gestalt von / o\ Rk-
Rk \
(7.40)
0
erglbt sich dann 2/* = ''•^'
Rl'-z'' R7
^
= (7.40)
V CfeCfc-1
/
i?;
s'' R:'
(7J9)
\CkCk-lJ
(1 - c|)R.
">
( o>^^"'='
Dies beweist im Prinzip die Rekursionsformel ftir y^, wobei wir allerdings noch nachzuweisen haben, dass die aus der Givens-Rotation Gk+i,k stammende Gr56e Ck libereinstimmt mit jener aus der Behauptung des Satzes. Ferner bleibt noch die Rekursionsformel ftir die Residuen r^ zu verifizieren. Offenbar ist Tfc = iCfcl und Tfc-i = |Cfc-i|- Also folgt rk = \Ck\ = Ferner ist
\skCk-i\ =
\sk\n-i-
(7.41)
296
7 Weitere Krylov-Raum-Methoden \w
(7^4)
k+l
||K||ei-F,a^|| \\\w'\\Gkei-GkFka^\
(7^5)
z'-RkaH
(7.39)
(7.42)
=
VCLi {ick-c-,'r + si) \Ck-i\^c
+ci=i 'fc~r^fc 1-cl =
2 + cI^ + 51
la-ii/c-J-l Tk-
=
4
cT^sl
Tk-l\Sk\/\Ckl
Einsetzen von \sk\ = ll^t^^"*"^!! |cfc|/Tfc-i in (7.41) liefert unter Beriicksichtigung der Definition von 6^ unmittelbar Tk = \sk\rk-i = 11^^"^^II |cfc| = Tk-iOk\ckl Aus (7.42) folgt aufierdem noch
||«;^+MP II ij_
n^
^k —
^2
si
1-4
; ^
~ c^ "~
c^
AC
1
j _
1
~ c^
D
und hieraus die behauptete Darstellung fiir CkSetzen wir noch x^ := x"" + Ffca^ so ergibt sich aus dem Satz 7.18 unmittelbar die Rekursionsformel
^clVka^ =. x« + (1 - c|) [Vk-{:v'] (^'~'^ + clVka^ = x« + ( l - 4 ) y f c _ i y ^ - i + c i H a ^ = x« + ( l - c i ) ( : r ^ - i - : r O ) + c l ( x ^ - x O ) = {l-cl)x^-'+clxK Mit
1 Oi[{k~l)/2\
;^A; {x" -X
.A;-l
)
und
(7.43)
T^fc := Cka^^k-\)/2\
7.5 TFQMR-Verfahren
297
liefert dies Der hierbei flir d'^ benotigte Hilfsvektor x^ lasst sich noch eliminieren, denn gemafi Definition gentigt x^ der Rekursion x^ = x^ + Vka'' :\otiik-i)/2\j = x^ + Vk-ia^-^
+
ai^k-i)/2\v^
= x^-^+aL(fc_i)/2j^^, woraus sich mit d^
Def^d'^
^-
(x^-x^-^)
0^l(k-l)/2} 1
'~k-l
, ^
„.fc
^k-2
_
• {x"-^ + ai(^k-i)/2\v^ - x""'^ - Vk-id
jk-r
0^lik-l)/2i =
v^ +
i
(x^-' - x^-2 -
r^k-id^-')
Q^[(fc-1)/2J Def. d'=-^ k , _ _ 1 _ _ / ^ ^k-1 = ^ + [pLUk-2)/2\d Def
•^^-^ ^k _,
C^i^)
Q^L(fc-i)/2J 1 fH^d'-^
-
^ .k-l -r]k-\d
vk-id^-')
^k _j_ ^k-lVk-1 ^fc_i «L(fc-i)/2j
eine von :r^ unabhangige Rekursionsformel fiir d^ ergibt. Wir for men schliefilich noch einige Aufdatierungsformeln aus dem CGSVerfahren geeignet um. Aus der Vorschrift /
=
«^ + A _ i ( g * - > + A _ i / - > )
folgt nach Multiplikation mit der Matrix A von Unks
z' := V
Der Hilfsvektor z^ wird hierbei benotigt, um die skalare Grofie a£ im Algorithmus 7.11 zu definieren. SchUefiMch erhalten wir aus den Aufdatierungen fur die Vektoren q^ und u^ im CGS-Verfahren noch
298
7 Weitere Krylov-Raum-Methoden
und
flir alle £ eN. Beachtet man noch, dass gewisse Grofien nur fiir gerade bzw. ungerade Iterationen berechnet werden miissen (die skalare Grofie a^ beispielsweise andert sich nur fur gerade k) und schreiben Ck statt |cfc|, so gelangen wir insgesamt zu dem nachstehenden Verfahren. Algorithmus 7.19. (TFQMR-Verfahren) Wdhle Startvektor x^ G R" und Abbruchparameter e > 0. Seize k := 0,r^ := b - Ax^,v^ : = rO,i^o := r^zO Av^.d^ := 0,ro : \\r%0o:=0 , Vo := 0. Wahle r^ mit po '= (r^,r^) ^0, z .B. ^ 0 . ^ ^ 0 FOR A: = 0 , 1 ,2 , . . . IF k gerade o^k -^
Qk/{z^,r^);
^fe+i . ^ yk _ Q,j^2^k.
END yjk+i ^k+i
:= w^ — akAv^; ••= v" + (elr,k/ak)d'';
^k+l
:=||"''=+'|IM;
Cfc+1
••= V ^ i + ^ l + i ;
Tk+1
'•=
TkOk+iCk+i;
Vk+1 := clau; ^k+i := x^ + 7]k+id''+^;
IF k ungerade Qk+i Pk-i = yk+l
Qk+i/Qk-i;
-yk+1
END END Bei einer geeigneten Implementation des Algorithmus 7.19 kann m a n die Vektoren v^'^^, w^'^^, d^'^^, x^'^^ und z^'^^ jeweils iiberschreiben. Zusammen mit
dem Vektor r^ und dem Matrix-Vektor-Produkt Av^ ergibt sich daher ein Speicherplatzbedarf von 7 Vektoren. Als wesentlichen Rechenaufwand benotigt man pro Iteration offenbar nur ein Matrix-Vektor-Produkt Av^. Fiir gerade Indizes k kommen dann noch 6 Level 1-Operationen (ftir (z^,r°), v^+^,ti;''+^,(i^+^, ||it;^+^||,a:'^+^) hinzu, wahrend man bei ungeradem Iterationszahlen k insgesamt 8 Level 1Operationen braucht (fiir w^'^^, d^+^, \\w^'^'^ \\, x^"*"^, (w^^^, f^), v^^"^, z^"*"^, wobei zur Berechnung von z'^'^^ zwei saxpy's benotigt werden). Im Mittel fallen
7.5 TFQMR-Verfahren
299
pro Iteration des TFQMR-Verfahrens daher 1 Level 2-Operation und 7 Level 1-Operationen an. Wird der Rechenaufwand hierbei durch die eine Matrix-Vektor-Multiplikation dominiert, so ist das TFQMR-Verfahren pro Iteration daher nur etwa halb so teuer wie alle anderen in diesem Abschnitt beschriebenen KrylovRaum-Methoden, da dort stets zwei Matrix-Vektor-Multiplikationen anfielen. Aus diesem Grunde wird das TFQMR-Verfahren in der Literatur haufig so angegeben, dass je eine gerade und eine ungerade Iteration zu einem Iterationsschritt zusammengefasst werden, vergleiche beispielsweise [22, 44]. Bei der Implementation des Algorithmus 7.19 hat man noch ein geeignetes Abbruchkriterium einzuftigen. Da das eigentliche Residuum r^ = b — Ax^ nicht explizit vorliegt, verwendet man — ahnlich wie beim QMR-Verfahren — stattdessen oft das relative Quasi-Residuum <e ^0
als Abbruchkriterium. Wegen \\r>'\\ =
\\h-Ax^\
1 II l l l U . . l | l „ c "D ..k\ < IIT^ft+iSfc^^ill • IIIKIlei -Sfc+iBfc2/'
= ||W^/b+i5,-^ii|-||lkM|ei-Ffe/| =
\\Wk+rS^l,\\r^
ist
S ^ 11^-^-115 wobei ||Wfc_f.i5'^^j|| < ^/k H- 1 gilt, denn die Matrix W^^iS^^-^ besitzt per Definition von Sk-\-i lauter normierte Spaltenvektoren, vergleiche Aufgabe 7.4. Implementiert man das TFQMR-Verfahren mit dem gerade beschriebenen relativen Quasi-Residuum als Abbruchkriterium und testet es an der schon bekannten Konvektions-Diffusions-Gleichung mit den iiblichen Parametern, so bricht das Verfahren nach 124 Iterationen ab, sofern man hierbei die Iterationszahlung aus dem Algorithmus 7.19 verwendet. Fasst man dagegen zwei aufeinanderfolgende Schritte als eine Iteration auf, so gelangt man auf lediglich 62 Iterationen. Der zugehorige Verlauf der relativen Quasi-Residuen findet sich in der Abbildung 7.5. B e m e r k u n g 7.20. Das TFQMR-Verfahren benutzt gewisse im COS-Verfahren erzeugte Vektoren, um damit eine neue Basis des Krylov-Raumes /Cfe(r°,A) zu bestimmen, die dann mittels einer Quasi-Minimierung zu dem beschriebenen Verfahren fiihrt. Auf analoge Weise leiten Chan et al. [15] das
300
7 Weitere Krylov-Raum-Methoden
Abbildung 7.5. Numerisches Verhalten des TFQMR-Verfahrens (relatives QuasiResiduum) so genannte QMRCGSTAB-Verfahren her, welches nicht auf dem CGS-, sondern auf dem BiCGSTAB-Verfahren beruht, man vergleiche hierzu auch die Beschreibung in dem Buch [44] von Meister. Zum Abschluss geben wir in der Tabelle 7.1 eine kurze Ubersicht beziighch der wesentlichen Rechenoperationen der in diesem Kapitel dargestellten KrylovRaum-Methoden an. Die erste Spalte der Tabelle 7.1 enthalt den Namen des Verfahrens, die zweite Spalte die Anzahl der benotigten Matrix-VektorMultiplikationen mit A, die dritte Spalte dagegen die Anzahl der MatrixVektor-Multiplikationen mit der transponierten Matrix A^, und die letzte Spalte gibt die jeweilige Anzahl an Level 1-Operationen an. Samtliche Angaben sind hier natiirlich pro Iteration zu verstehen. Dabei sei nochmals darauf hingewiesen, dass in anderen Beschreibungen des TFQMR-Verfahrens zwei Iterationen zu einer zusammengefasst werden, so dass die Eintragungen in der Tabelle 7.1 dann gegebenenfalls anzupassen sind. Verfahren QMR BiCG CGS BiCGSTAB TFQMR
Av A^v Level 1 _ _ _ 1 1 7 2 0 9 2 0 10 1 0 7
Tabelle 7.1. Aufwandsvergleich der verschiedenen Krylov-Raum-Methoden
AUFGABEN
301
Aufgaben Aufgabe 7.1. Seien {v^,..., gelte {v\w'):^0
v^} und {w^,...,
w^} bi-orthogonal, d.h., es
V2 = l,...,A:und {v\w^) - 0 \fij
= 1,... ,k,i y^ j .
Zeigen Sie, dass die Vektoren v^,... ,v^ bzw. w^,... ,w^ dann linear unabhangig sind. Aufgabe 7.2. Betrachten Sie die folgende Variante des Bi-Lanczos-Verfahrens aus dem Algorithmus 7.1, bei dem stets ||v^||2 = 1 gilt: Wahle x^ G W und setze r^ := b - Ax^. Wahle rO G R^ mit (r^,f^) ^ 0, z.B. r^ := r^. Setze A :-0,(5i := 0, v^ := 0,i/;'^ := 0,i/^ := rV||rO||,^i;i := F0Rj = l , 2 , . . . Qjj : =
r^/(r^,v^).
(^f^,ii;^);
Sj+i:=\\v^^'\\;
END Zeigen Sie, dass diese Variante ebenfalls die in den Satzen 7.2 und 7.3 genannten Eigenschaften des Bi-Lanczos-Verfahrens besitzt. Aufgabe 7.3. (GCR-Verfahren) Benutzen Sie die Aufgabe 5.2, um das folgende GCR-Verfahren (GCR=Generalized Conjugate Residuals) zur Losung eines linearen Gleichungssystems Ax = b mit einer lediglich regularen Matrix ^ G R*^^^ herzuleiten: Wahle x^ G R^. Setze r^ := b - Ax^ und d^ := r^. FOR A; = 0 , 1 , 2 , . . .
x^+1 := x^ + akd^] ^k+l
. _ ^k _
FORi =
0:k
r, _ ^^•^ •""
END END
(j^j^j^dk. iAr''+'')'^Ad' iAd^)i'Adi
. '
302
7 Weitere Krylov-Raum-Methoden
Bemerkung: Das GCR-Verfahren hat ahnliche Probleme wie das GMRESVerfahren, da Rechenaufwand und Speicherplatzbedarf bei hoheren Iterationszahlen k einfach zu grofi werden. Statt GCR benutzt man dann GCR(m), wo nach jeweils m Schritten ein Restart durchgeftihrt wird. Alternativ kann man die Suchrichtungen d^ nur bezuglich der letzten m Vektoren d^ orthogonalisieren, was das so genannte ORTHOMIN(m)-Verfahren liefert. Eine weitere Variante ist ORTHODIR (bzw. ORTHODIR(m) ), bei der fiir die neue Suchrichtung der Ansatz k ^k+1 . ^ ^ ^ f c + l _ ^ ^ ^ . ^ ^ i
mit geeigneten /3ik gemacht wird. Aufgabe 7.4. Sei y € M^^^ eine Matrix mit den Spaltenvektoren v^,. ,.,v^ G W. Dann gilt
ni2<(EFHi)'^'. Insbesondere ist daher ||V||2 < Vk, sofern die v'^ normiert sind, also ||i;*|| — 1 gilt. Aufgabe 7.5. Betrachten Sie das lineare Gleichungssystem Ax = b. Das GMRES-Verfahren erzeuge eine Folge {x^} mit zugehorigen Residuen VQ := b—AxQ. Das QMR-Verfahren (mit demselben Startvektor) erzeuge eine Folge {XQ}, deren zugehorige (und im QMR-Verfahren nicht explizit berechnete) Residuen mit TQ := b — AXQ bezeichnet werden. Dann gilt
sofern kein vorzeitiger Abbruch eintritt, wobei Vk+i die durch das Bi-LanczosVerfahren berechnete Matrix der Basisvektoren von /Cfc+i(r'^, A) sei. Hinweis: Aufgabe 1.11. Aufgabe 7.6. VervoUstandigen Sie die Beweise der beiden Lemmata 7.12 und 7.13. Aufgabe 7.7. Betrachten Sie das lineare Gleichungssystem Ax = b mit der regularen Matrix
und 6 G M^ beliebig. Zeigen Sie, dass das hierauf angewandte CGS-Verfahren (bei beliebigem Startwert x^ G M^) im ersten Schritt mit einem breakdown abbricht.
AUFGABEN
303
Aufgabe 7.8. Formulieren Sie beispielsweise ftir das BiCGSTAB-Verfahren (oder eine beliebige andere Krylov-Raum-Methode aus diesem Kapitel) eine prakonditionierte Variante zur Losung des linearen Gleichungssystems PLAPRy = PLh,x = PRy. Aufgabe 7.9. Wendet man beispielsweise das BiCGSTAB-Verfahren einerseits auf das lineare Gleichungssystem Ax = 6 an und andererseits auf das links-prakonditionierte System PAx = Pb, so benutzt man iiblicherweise das jeweilige Residuum r^ := b—Ax^ bzw. z^ := P(b—Ax^) als Abbruchkriterium. Diese beiden Abbruchkriterien sind nattirlich nicht direkt vergleichbar. Zwar konnte man in der prakonditionierten Variante in jedem Schritt das ursprtingliche Residuum r^ := b — Ax^ explizit berechnen, doch kostet dies stets eine zusatzliche Matrix-Vektor-Multiplikation. Wie kann man die Gr56e r^ auch im prakonditionierten BiCGSTAB-Verfahren mit nur einer Level 1-Operation erhalten? Aufgabe 7.10. Implementieren Sie mindestens drei der in diesem Kapitel beschriebenen Verfahren und testen Sie diese etwa an dem Beispiel der Konvektions-Diffusions-Gleichung.
8 Mehrgitterverfahren
Dieses Kapitel gibt eine Einfiihrung in das recht umfangreiche Gebiet der Mehrgitterverfahren, die zur Losung von speziellen hnearen Gleichungssystemen verwendet werden, wie sie insbesondere bei der Diskretisierung von Randwertaufgaben bei Differentialgleichungen auftreten. Die hierbei benutzten Ideen werden recht allgemein beschrieben, wahrend die konkrete Umsetzung meist am Beispiel der ein- oder zweidimensionalen Poisson-Gleichung erfolgt. Aus diesem Grunde kehren wir im Abschnitt 8.1 nochmals zu der PoissonGleichung zuriick und erwahnen einige Eigenschaften, die im Zusammenhang mit den Mehrgitterverfahren eine grofie RoUe spielen. Im Abschnitt 8.2 hingegen behandeln wir mit dem so genannten Richardson-Verfahren eine weitere Sphtting-Methode und untersuchen insbesondere dessen Eigenschaften bei der Anwendung auf die diskretisierte Poisson-Gleichung. Der Abschnitt 8.3 beschreibt dann die iibhche Kommunikation zwischen den unterschiedlichen Gittern, wie sie bei den Mehrgitterverfahren auftreten. Das Zweigitterverfahren als einfachstes Mehrgitterverfahren ist der Gegenstand des Abschnittes 8.4. Das eigentliche Mehrgitterverfahren wird dann im Abschnitt 8.5 behandelt. Wir beenden dieses Kapitel mit der Untersuchung des voUstandigen Mehrgitterverfahrens im Abschnitt 8.6. An weiterfiihrender Literatur zum Thema Mehrgitterverfahren verweisen wir den interessierten Leser beispielsweise auf die Biicher [32, 30, 67, 10].
8.1 Nochmals die Poisson-Gleichung Wir betrachten in diesem Abschnitt noch einmal die Poisson-Gleichung aus dem Abschnitt 1.7. Diese wird in dem gesamten Kapitel als Modell-Problem dienen, so dass wir hier noch einige weitere Eigenschaften der Poisson-Gleichung untersuchen woUen. Das Dirichlet-Problem fiir die Poisson-Gleichung in einer Dimension ist gegeben durch
306
8 Mehrgitterverfahren -u''{x) = f{x) w(0) = 0,
fur a l l e g e (0,1), u{l) = 0.
^^'^^
Eine Zahl /Xfc heifit Eigenwert dieses kontinuierlichen Problems, wenn es eine zugehorige nichttriviale Eigenfunktion Uk '- [0,1] -^ E gibt mit der Eigenschaft -u^l{x) = fjikUkix) Uk{0) = 0,
ftir alle x € (0,1),
Uk{l) = 0.
Man bestatigt relativ leicht, dass die Eigenwerte und Eigenfunktionen von (8.1) gegeben sind durch fj^k = /c^TT^
und
Uk{x) =
sm{k7rx).
Die Eigenfunktionen Uk sind fiir /c = 1,2,3,4 in der Abbildung 8.1 wiedergegeben.
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Abbildung 8.1. Einige Eigenfunktionen der eindimensionalen Poisson-Gleichung Diskretisieren wir das Randwertproblem (8.1) wie im Abschnitt 1.7 durch Einftihrung der endlich vielen Punkte Xi := ih,
i = 0 , 1 , . . . , AT + 1,
mit der Schrittweite h := 1/(A' -h 1) fiir ein AT G N, so ergibt sich das lineare Gleichungssystem mit der Tridiagonalmatrix Tjv € K^^^ aus (1.8) sowie einem gewissen Vektor / € M^ als rechte Seite. Wegen Satz 1.27 besitzt die Matrix TN dabei die Eigenwerte
8.1 Nochmals die Poisson-Gleichung klT
Afc
\ (1.14)
( ' - cos ,^ . _ j
307
. 2
= 4 sm
2(Ar+i)
mit den zugehorigen Eigenvektoren
v^ =
/sm{k7rj^)\ sm{kTTj^) (8.2)
\sin(/c7r^)y Mittels der Gitterpunkte Xi — ih = i/{N -^ 1) und der Eigenfunktion Uk von (8.1) lasst sich der Eigenvektor v^ dann auch schreiben als
v^ =
/ sm{k7cxi) \ sm{knx2)
( Uk{xi) \ Uk{X2)
\sm{k7rxN) J
\Uk{XN)J
d.h., der k-te Eigenvektor v^ ist gerade die in den diskreten Punkten Xi ausgewertete Eigenfunktion Uk, vergleiche Abbildung 8.2. Auch bei den Eigenwerten Afc und fik gibt es einen engen Zusammenhang, was wir dem Leser als Aufgabe 8.1 tiberlassen wollen.
0.8
-
0.6
•<
/ •
/
/ /
/ /
0.4
0.2
^
/
y
^^
\
-.// /v
\ \ \ \ \
*
/ / /
\ /
1
\ \
-0.2 -0.4
7
'\
-
\
/ /
\
^ /
^
^_j^
0.2
,
0.3
X
0.4
//
/ ^ -^le-^/
'•
/
>*
y 0.1
0.5
\
\\
4 \ /
-0.8
k=1 k=2 /c=3 k=4
•3
I
-0.6
0
/
/ /
-
-1
/
_^
^,\
0.6
0.7
^ "^
-^IH^-^
0.8
j^
J
0.9
1
Abbildung 8*2. Einige Eigenvektoren der diskretisierten eindimensionalen Poisson-Gleichung {N = 7) Im Hinblick auf die Abbildungen 8.1 und 8.2 ist es nur natiirlich, die Eigenfunktionen Uk bzw. die Eigenvektoren v^ mit k > N/2 als oszillatorisch
308
8 Mehrgitterverfahren
oder hochfrequent zu bezeichnen, wahrend man die Eigenfunktionen Uk bzw. die Eigenvektoren v^ mit k < N/2 als glatt oder niederfrequent bezeichnet. Die Unterscheidung zwischen oszillatorischen und glatten Eigenfunktionen bzw. vektoren wird sich ftir die Entwicklung der Mehrgitterverfahren noch als ganz wesentlich herausstellen. Betrachten wir jetzt die zweidimensionale Poisson-Gleichung d u ~^^^^y)
du ~ ^ ( ^ ' ' ^ ) = /(^'2/) fur alle {x,y) e /?, u{x, y) = 0 ftir alle {x, y) £ dQ
.^ ^.
auf dem Rechteck Q := (0,1) x (0,1), so nennen wir eine Zahl ij,k£ einen Eigenwert von (8.3), wenn es wieder eine nichttriviale Eigenfunktion u^e gibt mit der Eigenschaft —^"T"(^' y^
F T " ( ^ ' ^) "" IJ'keUkiix, y)
ftir alle (x, y) G i?,
Uk£{x,y) = 0 ftir alle {x,y) G 5i7. In Verallgemeinerung zum eindimensionalen Fall ergeben sich die Eigenwerte und -funktionen ftir (8.3) zu MH = k^'^^ + -^^TT^ und UM{X, y) = sin(A;7rx) sm{£ny). Diskretisieren wir die zweidimensionale Poisson-Gleichung wie im Abschnitt 1.7 durch Einftihrung des Gitters Xi := ih, yj := jh
ftir i, j — 0 , 1 , . . . , iV" + 1
ftir ein TV G N und der Schrittweite h := 1/{N -|-1), so ergibt sich das lineare Gleichungssystem
mit der Matrix T^xN ^ K ^ ^^ Satz 1.28 gegeben sind durch
aus (1.13), deren Eigenvektoren v^^ nach
wobei
(
sin(A:7r;^) \
/sin(^7r^
: bzw. v^ = \ : sin(knj^,)J Vsin(^7^^) die schon vorher eingeftihrten Eigenvektoren von T/v sind. Daher sind die Komponenten von v^^ gegeben durch Vij = sin (feTT^ j sin (^TT^ j = sin (kTTXi) sin {inyj),
8.2 Das Richardson-Verfahren
309
d.h., die Eigenvektoren v^^ sind auch im zweidimensionalen Fall gerade durch die in den Gitterpunkten {xi,yj) ausgewerteten Eigenfunktionen u^e des kontinuierlichen Problems gegeben. In Analogic zur Bezeichnungsv/eise im eindimensionalen Fall nennt man die Eigenfunktionen u^^ bzw. die entsprechenden Eigenvektoren v^^ mit der Eigenschaft max{A:,^} > N/2 oszillatorisch oder hochfrequent, wahrend die iibrigen Eigenfunktionen und -vektoren als glatt oder niederfrequent bezeichnet werden.
8.2 Das Richardson-Verfahren Wir kehren in diesem Abschnitt noch einmal zu der Klasse der SplittingVerfahren aus dem Kapitel 4 zuriick (vergleiche insbesondere die Aufgabe 4.6). Gesucht ist also die Losung eines linearen Gleichungssystems Ax — b mit A G M.'^^'^ und b G W^. Das Richardson-Verfahren benutzt hierzu die Iterationsvorschrift ^fc+i _ (J _ ^^^^fc j ^ ^ ^ ^
A: = 0 , 1 , 2 , . . .
mit einem Parameter cc; G R und einem beliebigen Startwert x^ G M^. Dies entspricht einer allgemeinen Splitting-Methode mit B := ^I und der Iterationsmatrix MR{CO) :=I
-UJA,
vergleiche den Abschnitt 4.1. Das Konvergenzverhalten der Richardson-Iteration hangt natiirlich von der Wahl des Parameters a; E IR ab und wird ftir den Fall einer symmetrischen und positiv definiten Matrix A durch das nachstehende Result at geklart. Satz 8.1. Sei A G W^^'^ symmetrisch und positiv definit mit Amin und Xmax als kleinstem bzw. grofitem Eigenwert. Dann gelten die folgenden Aussagen: (a) Es ist P{MR{CO)) = max {|1 — a;Aniax|> |1 — ^'Aminl} fur alle a; G M. (b) Das Richards on-Verfahren konvergiert genau dann, wenn u G (0,2/Amax) gilt. (c) u)^ :— x^^J+x minimiert den Spektralradius P{MR{U))) fiiru; G E. (d)
Es
ist
P(MR(CJ^))
=
Amax^Anjin ^
Beweis. (a) Offenbar ist A genau dann ein Eigenwert von A^ wenn 1 — CJA ein Eigenwert der Iterationsmatrix MR[UJ) = I — uA ist. Hieraus ergibt sich sofort P{MR{UJ))
= max | l - a ; A | = m a x { | l - uj\^^J^,\l - uj\mm\} A€cr(A)
und daher die Aussage (a]
310
8 Mehrgitterverfahren
(b) 1st das Richardson-Verfahren konvergent, so gilt P{MR{LO)) Satz 4.5. Unter Verwendung von Teil (a) folgt einerseits 1 > P{MR{UJ))
> |1 - cjAmaxI > 1 - cc;Aniax
=>
< 1 wegen
cc; > 0
und andererseits 1 > P{MR{LU))
> | 1 - a;Aniax| > C^Amax " 1
=>
O; < 2/Aniax.
Somit gilt LJ e (0,2/Amax)Setzen wir umgekehrt LU € (0, 2/Amax) voraus, so erhalten wir - 1 < 1 - LjAmax < 1 - ^Amin < 1-
Wiederum wegen Teil (a) liefert dies P{MR{UJ))
= m a x { | l - a ; A n i i n | , | l -^Amaxl} < 1-
Wegen Satz 4.5 ist das Richardson-Verfahren daher konvergent. (c) Zum Nachweis dieser Teilaussage werfe man einen Blick auf die Abbildung 8.3, in der sich die Graphen der beiden Punktionen a; t-^ 11 - cjAmin I und
a; H^ 11 - a;AmaxI
(8.4)
befinden, aus der man wegen Teil (a) insbesondere den Verlauf der Funktion to H->
P{MR{UJ))
ablesen kann. Der optimale Wert a;* liegt offenbar gerade im Schnittpunkt der beiden Abbildungen aus (8.4). Ftir uj^ gilt also ^*Ainax — 1 = 1 — u;*Aniin,
woraus man durch Aufl5sen nach a;* unmittelbar die Behauptung (c) erhalt. (d) Unter Verwendung von Teil (c) folgt beispielsweise P{MR{UJ^))
= a;*Ainax - 1 = T
also gerade die Aussage (d).
—r
1= T
—r
,
•
Wir betrachten jetzt das dreidimensionale Beispiel aus (4.15). Man verifiziert hierbei sehr leicht, dass der kleinste und grofite Eigenwert von A gegeben sind durch Amin ~ 0.4041 und A^ax ~ 0.9423. Aus dem Satz 8.1 (c) erhalt man somit a;* « 1.4848. Die Anwendung des Richardson-Verfahrens mit diesem a; = cj* ergibt die in der Tabelle 8.1 angegebenen Resultate, wobei die
8.2 Das Richardson-Verfahren
311
A b b i l d u n g 8.3. Zum Beweis des Satzes 8.1 (c)
klrel. Residuum
^
"^
^
1.0000000000 0.0000000000 0.0000000000 0.0000000000 0.3927810146 29.6960000000 59.3920000000 0.0000000000 0.1558221043 46.1642137600 74.6913792000 13.2277862400 0.0621019577 52.0233902146 83.2153099174 13.4958693745 0.0248018543 54.3638444789 85.9251872610 15.5413114076 0.0099144113 55.3801566081 87.2196176082 15.6032615802 0.0039648766 55.7337469603 87.6718682592 15.9255255410 0.0015858878 55.9019797502 87.8740697941 15.9367929978 0.0006343819 55.9570768674 87.9477654269 15.9880056153 0.0002537727 55.9843969494 87.9797727837 15.9899049353 0.0001015187 55.9931085467 87.9916604091 15.9980750941 0.0000406116 55.9975089126 87.9967576878 15.9983858789 0.0000162464 55.9988955475 87.9986667809 15.9996915661 0.0000064992 55.9996017622 87.9994807446 15.9997417870 0.0000026000 55.9998231371 87.9997867387 15.9999506128 0.0000010401 55.9999362982 87.9999168747 15.9999586843 0.0000004161 55.9999716879 87.9999658779 15.9999920944 Tabelle 8 . 1 . Numerisches Verhalten des Richardson-Verfahrens
einzelnen Spalten die gleiche Bedeutung wie beispielsweise in der Tabelle 4.1 haben. Trotz der optimalen Wahi des Relaxationsparameters CJ werden fiir dieses Beispiel bereits mehr Iterationen benotigt als fur jedes der im Kapitel 4 vorge-
312
8 Mehrgitterverfahren
stellten Split ting-Verfahren. Tatsachlich wird das Richardson-Verfahren nur selten verwendet, um hiermit ein zu Grunde liegendes lineares Gleichungssystem voUstandig zu losen. Es hat in einigen Situationen allerdings die Eigenschaft, gewisse Anteile des anfanghchen Residuums r^ = b — Ax^ relativ schnell zu verringern, wahrend andere Anteile nur extrem langsam verkleinert werden und letztUch die insgesamt sehr verhaltene Konvergenz verursachen. Um diese Aussagen besser zu illustrieren, wollen wir das RichardsonVerfahren jetzt auf die diskrete Poisson-Gleichung anwenden. Dazu betrachten wir zunachst den eindimensionalen Fall •TNV = f <=^ TNV = h^f
mit h :=
Die Eigenwerte von A = T/v G R-^^^ sind nach Satz 1.27 gegeben durch /
27r
\
Xi = 2 ( 1 - c o s — — r j = 2 ( l - c o s ( i 7 r / i ) )
fiir z = l , . . . , i V .
Mit Satz 8.1 liefie sich hieraus sehr leicht der optimale Parameter a;* bestimmen. Dies ist in allgemeineren Situationen allerdings nicht der Fall, auBerdem sind wir aus spater noch zu erlauternden Grtinden in diesem Fall auch gar nicht an dem optimalen a;* interessiert. Stattdessen wahlen wir einfach den (nachher noch zu rechtfertigenden) Wert 1 fiir den offensichtlich a; G (0,2/Aniax) gilt, so dass wegen Satz 8.1 zumindest Konvergenz vorliegt. Fiir ^ = | sind die Eigenwerte /ij der Iterationsmatrix MR{UJ) gegeben durch 1 2
^i = l-uj\i
/
XTT \
= - + -COS (]y—Y j
fiir z = 1 , . . . , N.
Sei v^ ^... ^v^ E M^ eine zu den Eigenwerten von A (und damit auch von Mji{ijo)) zugehorige Orthonormalbasis. Ist x^ dann ein beliebiger Startvektor, {x^} die durch das Richardson-Verfahren erzeugte Folge und e^ •= x^
-X*
der Fehler in der A:-ten Iteration, so besitzt e^ eine Darstellung der Gestalt N
e ^ ^ ^ a y t=i
mit gewissen KoefRzienten a^ G M, ftir die aufgrund der Orthonormahtat der V* die Beziehung N
|e»f = El«* t=l
8.2 Das Richardson-Verfahren
313
gilt. Aus der Gultigkeit von e^+i -
MR{u)e^
folgt speziell fiir k = 0 und cj — 1/3 dann e^ = Mij(l/3)e^ = I ] ( 3 + 3 cos{i7rh)^ay
(8.5)
wegen h= 1/{N -\-1). Hieraus folgt wiederum N 2=1
2= 1
= ( i + |cos(,rft))'||e°f. Also gilt
und damit induktiv
l | e i | | < ( 5 + ^cos(,rfe))||e''||
< (I + lcos {nh))\\e'-'\\
< ( i + I cos
(TT/I))
||e»||.
Der Fehler verringert sich in jeder Iteration somit um den Faktor 1
2
, ,-
1
2/
(7r/l)2\
,
TT^ .
,
^,,2x
- + -cos(./.)«.- + - ( i - i ^ ) = i--;.^ = i-o(;.^). Je feiner das Gitter (und damit h), desto langsamer ist also die zu erwartende Konvergenz! Allerdings handelt es sich hierbei um eine sehr pessimistische Sichtweise. Um dies einzusehen, kehren wir noch einmal zu der Darstellung (8.5) zuruck. Lassen wir hierbei voriibergehend einen beliebigen Relaxationsparameter uj bei der Richardson-Iteration zu, so folgt in Analogie zu (8.5) sofort, dass sich der Fehler e^ in Richtung des 2-ten Eigenvektors f * durch den Faktor 1 — 2a; (1 — cos{i7:h)) = 1 — 2a; + 2a; cos(i7r/i) verringert. Betrachten wir jetzt den hochfrequenten Anteil mit den Indizes i > N/2 (also i > {N -\-1)/2), so lasst sich dieser durch die Ungleichungen 1 - 4a; < 1 - 2a; 4- 2a; cos{i7rh) < 1 - 2a;
(8.6)
abschatzen, denn einerseits gilt cos{i7rh) > — 1 ftir alle i und andererseits ist cos{i7rh) < 0 fur die hochfrequenten Indizes i. Aus (8.6) folgt nun
314
8 Mehrgitterverfahren | l - 2 a ; + 2a;cos(i7r/i)| < m a x { | l - 4 a ; | , | l
-2UJ\}.
Analog zum Beweis des Satzes 8.1 (c) sieht man nun, dass die rechte Seite ftir uj := 1/3 minimal wird, was nachtraglich insbesondere die obige Wahl von u rechtfertigt. Der Fehler in Richtung der hochfrequenten Anteile verringert sich hierbei in der ersten (und auch jeder weiteren) Iteration mindestens um den Faktor | . Man beachte hierbei, dass der Faktor | unabhangig von der Wahl der Schrittweite h ist. Ferner sei erwahnt, dass das optimale UJ^ aus dem Satz 8.1 (c) den Spektralradius minimiert und dass dieser Wert im AUgemeinen nicht gleich dem Wert von u ist, der die hochste Reduktion in Richtung der hochfrequenten Anteile des Fehlers liefert. Wendet man die Richardson-Iteration mit beispielsweise a; := | auf die zweidimensionale diskretisierte Poisson-Gleichung an, so stellt man ein ahnliches Phanomen fest: Der Fehler in Richtung der hochfrequenten Anteile fallt mindestens um den Faktor | . Der Beweis dieser Aussage bleibt dem Leser als Aufgabe 8.2 iiberlassen. Aufgrund dieser Eigenschaft, die oszillierenden Anteile des Fehlers zu reduzieren bzw. zu glatten, bezeichnet man die Richardson-Iteration auch als einen Clatter. Andere beliebte Clatter, die ahnliche Eigenschaften besitzen, sind eine Variante des Jacobi-Verfahrens, die in den Aufgaben 8.3-8.5 untersucht wird, sowie das Gaufi-Seidel-Verfahren. FfAr das letztgenannte Verfahren illustrieren wir die Glattungseigenschaft am Beispiel der diskretisierten eindimensionalen Poisson-Gleichung mit N = 63, dem NuUvektor als rechter Seite (der damit gleichzeitig die Losung ist) und einem zufallig erzeugten Startvektor mit Eintragen in [0,1]. Die Abbildung 8.4 enthalt die durch das Gaufi-Seidel-Verfahren erzeugten Iterierten flir /c = 0 , 1 , . . . , 5, zeigt also den Fehler wahrend der ersten sechs Iterationen. Man erkennt deutlich die Glattungseigenschaft des Gaufi-Seidel-Verfahrens. Der Fehler selbst nimmt gar nicht so sehr ab, stattdessen wird er aber deutlich glatter. Die letztlich sehr langsame Konvergenz der (klassischen) Splitting-Verfahren liegt somit an dem Vorhandensein der niedrigfrequenten Anteile. Wenn wir daher ein Verfahren hatten, das gerade diese Anteile gut reduzieren kann, so konnten wir durch geeignete Kombination mit einem Glatter zu einem insgesamt sehr effizienten Verfahren gelangen. Genau dies ist aber die Idee der Mehrgitterverfahren, deren Grundzuge wir im nachsten Abschnitt betrachten.
8.3 Gitter—Hierarchie Die bislang vorgestellten Diskretisierungen der Poisson-Gleichung oder einer anderen Differentialgleichung hingen stets von einer fest gegebenen Schrittweite /i > 0 ab. Bei den Mehrgitterverfahren werden nun unterschiedliche Schrittweiten betrachtet, weshalb wir von nun an unsere Notation andern und das entstehende lineare Gleichungssystem mit AhU^ = /'^
(8.7)
8.3 Gitter-Hierarchie
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
315
Abbildung 8.4. Glattungseigenschaft des Gaufi-Seidel-Verfahrens bezeichnen, um die Abhangigkeit von der Schrittweite h explizit zum Ausdruck zu bringen. Im Falle der diskretisierten Poisson-Gleichung in einer Dimension gilt beispielsweise / 2 -1 \ Ah =
-1 2
h?
(8.8)
-1 2 / \ Wir betrachten jetzt eine zweite Diskretisierung (8.9) mit der doppelten Schrittweite 2h. Man spricht bei Verwendung der Schrittweite h dann von der feinen oder feineren Diskretisierung, wahrend die Benutzung der Schrittw^eite 2h auf eine grobe oder grobere Diskretisierung flihrt.
316
8 Mehrgitterverfahren
Alternativ spricht man auch von einem feinen (feineren) Gitter bzw. einem groben (groberen) Gitter. Die zum groben Gitter gehorende Matrix A2h hat hierbei dieselbe Struktur wie Ah, besitzt allerdings eine deutlich kleinere Dimension. Warum mag es nun sinnvoU sein, unterschiedliche Diskretisierungen einund desselben Problems zu betrachten? Nun, der Ubergang von dem feinen Gitter zum groben Gitter hat insbesondere drei Vorteile: - Das zum groben Gitter zugehorige hneare Gleichungssystem (8.9) hat eine erhebhch kleinere Dimension als das Problem aus (8.7). Aus diesem Grund lasst es sich meist auch wesentlich effizienter losen. Selbst eine Naherungslosung von (8.9) mag zu einem guten Startvektor ftir das zur feinen Diskretisierung gehorende hneare Gleichungssystem (8.7) ftihren. - Im vorigen Abschnitt haben wir anhand eines (durchaus typischen) Beispiels gesehen, dass die Fehlerreduktion pro Iteration von der GroBenordnung 1 — 0{h?) bei Verwendung der feinen Schrittweite h > 0 ist. Die Benutzung der groben Schrittweite 2h fuhrt daher auf eine Reduktion von der Grofienordnung 1 — 0(4/i^), wenngleich es sich hierbei nur um eine marginale Verbesserung gegentiber dem Term 1 — 0{h^) handelt. - Das grobe Gitter entsteht, etwas lax formuliert, dadurch, dass man (in jeder Dimension) nur jeden zweiten Punkt aus dem feinen Gitter beriicksichtigt. Bei der Losung der groben Diskretisierung gibt es nun aber hochfrequente Anteile, die in der feinen Diskretisierung zum Teil niedrigfrequenten Anteilen entsprechen. Die Anwendung eines Glatters kann daher auch fur die feine Diskretisierung zu einer erheblichen Reduzierung des Fehlers ftihren. Wir illustrieren den letzten Punkt etwas genauer am Beispiel der diskretisierten Poisson-Gleichung in einer Dimension. Wahlen wir hier h = ^ (also N — 7), so ist der zweite Eigenvektor von Ah = ^Tj gegeben durch /sin(2,ri)\
Vsin(27r|)y und gehort zum niedrigfrequenten Teil der Eigenvektoren. Ftir die Schrittweite 2h = ^ erhalten wir als korrespondierenden Eigenvektor /sm(27ri)\ v^*"-^ = sin(27r|) Vsm(27r|)/
€ M^,
der auf dem groben Gitter jetzt zum hochfrequenten Teil gehort. Nach dieser Motivation stellt sich allerdings die Frage, wie man sinnvoU zwischen den beiden Gittern kommunizieren kann. Beispielsweise hat man
8.3 Gitter-Hierarchie
317
aus einer fiir das Gleichungssystem (8.9) gewonnenen Naherungslosung einen entsprechenden Vektor fiir das lineare Gleichungssystem (8.7) zu konstruieren. Aus dem Vektor u^^ von relativ kleiner Dimension hat man also einen Vektor u^ von deutlich groBerer Dimension geeignet zu bestimmen. Man nennt diesen Vorgang Prolongation. Die Umkehrung, bei der aus u^ ein kleinerer Vektor u^^ extrahiert wird, heifit Restriktion. Als konkretes Beispiel fiir geeignete Prolongationen und Restriktionen untersuchen wir wieder die diskretisierte Poisson-Gleichung in einer Dimension. Gegeben sei das feine Gitter OJ-
0,1,...,A^ + 1
{N+1
sowie das grobe Gitter
a2h
2i ={ AT-hi
2= 0,1,...,-—^
wobei N EN hierbei eine ungerade Zahl sei. Bei der Prolongation suchen wir somit eine Abbildung SO dass eine Naherungslosung (.,2h
.,2h
,2/1
\T ^ p
^
+ l
des linearen Gleichungssystems (8.9) in eine Naherungslosung
des linearen Gleichungssystems (8.7) abgebildet wird. Die Randwerte u^ und ^^+1 ^^^^ hierbei bereits durch die Dirichlet-Bedingungen gegeben. Beriicksichtigt man dies, so definiert man die inneren Punkte des Vektors
iiblicherweise durch lineare Interpolation gemafi der Vorschrift
4:=txf
Vi = l,2,
h _(..'^h u;2 t + i : = - (2u ? ^
„,2h +^ t.fti)
A^-1
Vi = 0,l,...
AT-l
(8.10)
d.h., fiir die in beiden Gittern Q^ und Q2h vorkommenden Punkte werden die Naherungen uf^ fiir das feinere Gitter Qh iibernommen, wahrend man in den neuen Gitterpunkten den Mittelwert der beiden Nachbarpunkte aus Q2h wahlt, vergleiche die Abbildung 8.5. Die beiden Endpunkte u^ und w^_,_i ergeben sich dagegen direkt aus den Dirichlet-Randbedingungen. In MatrixVektor-Notation lasst sich die Prolongation ftir die nicht durch die Randbedingungen definierten Komponenten offenbar schreiben als
318
8 Mehrgitterverfahren
/I 2 11 2 11
/«f\
,2/i
\<J
11 2 1/
1
^(iV-l)/2
2/1
T
Abbildung 8.5. Prolongation im eindimensionalen Fall Bei der Restriktion hingegen handelt es sich um eine Abbildung p/i
.
TCDN+2
•^+1
bei der ein Vektor (4,4,...,U^+I)"GE^+^ vermoge der Vorschrift ,2h .
u^-:=RUu' in einen kleineren Vektor 2h
{<,
^,2h 1 '
„2h
N+ 1
+1
transformiert wird. Eine besonders einfache Restriktion ist durch 2h
uf
'•= u 2i
V2 = 0 , l , . - . , ( i V + l ) / 2
gegeben, vergleiche die Abbildung 8.6. Ublicher ist jedoch die lineare Restriktion « f :=j(M2i-l+2«5i+4i+l)
V i = l , . . . , ^ -2^
(8.11)
ftir die inneren Punkte, wobei die Randwerte UQ^ und uf^^i)/2 wiederum durch die Dirichlet-Bedingungen vorgegeben sind. Die Matrix-VektorSchreibweise ftir die lineare Restriktion (8.11) lautet oifenbar
8.3 Gitter-Hierarchie
uf \^(Ar-i)/2/
^
1 ~ 4
/12 1 121 1 \
1 1 2 l)
319
«3
Uw/
man vergleiche hierzu die Abbildung 8.7.
2/i
Abbildung 8.6. Simple Restriktion im eindimensionalen Fall
1
2h
r
Abbildung 8.7. Lineare Restriktion im eindimensionalen Fall
Bemerkung 8.2. Bei der Diskretisierung zweidimensionaler Probleme wie der zweidimensionalen Poisson-Gleichung hat man geeignete Prolongationen und Restriktionen zwischen den Gitterpunkten u^j (z, j = 0 , 1 , . . . TV -f 1) des feinen Gitters und den Gitterpunkten u^j- (i, j = 0 , 1 , . . . , (A/" + l)/2) des groben Gitters zu wahlen. Recht beliebt sind hierbei insbesondere die so genannte Neunpunkt-Restriktion ^ij
'~ Tft V^2i-l,2:/-l + '^2i-l,2j+l
16
+ '^2i+l,2j-l
+ '^2i+l,2j-\-lJ
^(^2z,2i-l + '^2i,2j+l + '^2t-l,2j + '^2i+l,2j) "^ T'^2i, 2i
320
8 Mehrgitterverfahren
fiir i,j = l,...,{N—
l)/2 sowie die so genannte
.2/1
Ut^
^2i,2j
<+i,2j
•'= o K
V2,i = l , . . . + <+ij)
4i,2,-+i : - 2 (''^^'' + ""^5+1) /i
u\
— iro/S/i 4. .,2/1
Neunpunkt-Prolongation
AT-l Vz = 0 , 1 , . . . , - — - , Vj = 1 , . . . , N-1 Vi = 1 , . . . , ^ ^ ,
,2/1
4_.,2/i
\
N-1 Vj = 0 , 1 , . . . , - ^ — , w- • _ Q - ,
-^~ ^
wobei die Randwerte jeweils wieder durch die Dirichlet-Bedingungen vorgegeben sind. Zur geometrischen Deutung der Neunpunkt-Restriktion und der Neunpunkt-Prolongation vergleiche man auch die Abbildung 8.8.
o
Punkte der feinen Diskretisierung
•
Punkte der groben Diskretisierung
Abbildung 8.8. Veranschaulichung der Neunpunkt-Restriktion (links) und der Neunpunkt-Prolongation (rechts)
8.4 Das Zweigitterverfahren Wir betrachten in diesem Abschnitt wieder das Problem, ein lineares Gleichungssystem zu losen, das durch Diskretisierung einer kontinuierlichen Aufgabe mit einer Schrittweite h > 0 entsteht. Da wir gleichzeitig auch das Problem mit der grofieren Schrittweite 2h verwenden werden, benutzen wir die schon im vorigen Abschnitt eingeftihrte Notation und schreiben fiir das zu losende lineare Gleichungssystem deshalb Ahu^ = / ' '
(8.12)
8.4 Das Zweigitterverfahren
321
mit einer geeigneten Matrix Ah und einer rechten Seite / ^ , die beispielsweise durch Diskretisierung der Poisson-Gleichung wie im Abschnitt 1.7 entstehen moge. Ebenso wird eine Matrix A2h eine Rolle spielen, die durch Diskretisierung derselben Aufgabe unter Verwendung der Schrittweite 2h entsteht und somit eine ahnliche Struktur wie Ah aufweist, allerdings eine kleinere Dimension besitzt. Die Matrizen Ah und A2h seien fur die folgenden Untersuchungen natiirlich als regular vorausgesetzt. Die dann eindeutig bestimmte Losung von (8.12) werde mit u^'* bezeichnet. Wir gehen ferner davon aus, dass u^'^ eine vorliegende Naherung an w^'* ist, die man nach k Schritten eines geeigneten Iterationsverfahrens gewonnen hat. Das zugehorige Residuum ist dann gegeben durch
Berechnen wir jetzt einen Korrekturvektor d^'^ als L5sung des linearen Gleichungssystems Ahd^ = r^'^ (8.13) und setzen anschliefiend
so ist dieser neue Iterationsvektor ?i^'^+i wegen
gleich der exakten Losung it^'* von (8.12). Allerdings ist die Berechnung von d^'^ aus (8.13) letztlich genauso aufwendig wie die direkte Bestimmung von i/^'* aus (8.12). Hier setzt nun die Idee der Grobgitterkorrektur ein: Statt d^'^ als Losung von (8.13) auf dem feinen Gitter mit der Schrittweite h zu berechnen, bestimmt man stattdessen eine Korrektur (P^'^ als Losung des kleineren Gleichungssystems A2hd^'' = r^^'^ auf dem groberen Gitter, wobei r^'^'^ natiirhch die Restriktion von r^'^ bezeichnet. Prolongiert man anschliefiend den Vektor (i^/i,^ ^^^ ^^^g £^1^^^.^ QJ^. ter und korrigiert hiermit die aktuelle Naherung u^'^, so gelangt man zu dem nachstehenden Verfahren. Algorithmus 8.3. (Grobgitterkorrektur) (5.0) Wdhle einen Startvektor u^^^ fur (8.12), setze r^^^ := f^ - AhU^'^ und k:=0. (5.1) Falls Abbruchkriterium erfiillt: STOP. (5.2) Bestimme die Restriktion r^^'^ := R^f^{r^^^). (5.3) Berechne die Losung d^^'^ von A2hd^^ = r^^'^. (5.4) Bestimme die Prolongation d^'^ :— P^^{d'^^'^).
322
8 Mehrgitterverfahren
(5.5) Seize u^^^+^ := u^^^ + d!"^^ und r'^'^+i := f^ - AhU^^^+\ (5.6) Seize k 'r- k -\-l, und gehe zu (S.l). Im obigen Algorithmus bezeichnen R^y^ und P^^ natiirlich geeignete Restriktionen und Prolongationen zwischen den beiden Cittern mit den Schrittweiten h und 2/i. Als Abbruchkriterium kann beispielsweise wieder das relative Residuum \j,hM ||^/.,0||
<e -
mit einem kleinen e > 0 gewahlt werden. Dies gilt auch fur alle nachfolgenden Algorithmen, bei denen das Abbruchkriterium nicht welter spezifiziert wird. Von grofier Bedeutung ftir unsere weiteren Untersuchungen ist nun die Tatsache, dass die Grobgitterkorrektur aus dem Algorithmus 8.3 auch in der Form eines allgemeinen Splitting-Verfahrens geschrieben werden kann. Aus den Vorschriften des Algorithmus 8.3 folgt namlich ^h.,k+i
^
^h,k
^
^h,k
^u^^^^Pl^id^^^^)
= u
h.k
^f(^2h^2\(^/>f "•'=-/''))
wobei wir voraussetzen, dass sowohl die Restriktion PJ^ als auch die Prolongation P^^ lineare Abbildungen sind. Bezeichnen wir die zugehorigen MatrixDarstellungen ebenfalls mit i?2h ^^^ ^h^^ so folgt aus der gerade hergeleiteten Formel fur u^^^+'^ unmittelbar, dass die Grobgitterkorrektur ein SphttingVerfahren mit der Iterationsmatrix M^GK ••= I - P^^A^^R^tAh
(8.14)
ist. Aufgrund des folgenden Resultates handelt es sich bei dem Algorithmus 8.3 allerdings um ein Verfahren, das leider nicht konvergiert. Satz 8.4. Die Grobgitterkorrektur aus dem Algorithmus 8.3 ist nicht konvergent. Beweis. Es sei daran erinnert, dass die Dimension von Ah echt grofier ist als jene von A2h- Daher handelt es sich bei der Restriktion jR^/i ^ ^ ^^^^ Abbildung mit nichttrivialem Kern, vergleiche die Dimensionsformel aus dem Satz 1.3. Wahlen wir daher ein v G Kern(i?2/i) mit v ^ Q und setzen w := A'j^^v ^ 0, so folgt MhoK^ = ^-
P^^A^^R^hAhW = w- Pl>^A^^ P | « = «;, =0
8.4 Das Zweigitterverfahren
323
so dass w ein Eigenvektor von MQQJ^ zum Eigenwert A = 1 ist. Wegen Satz 4.5 kann es sich bei dem Algorithmus 8.3 somit um kein konvergentes Verfahren handeln. • Im Falle der Poisson-Gleichung liegt der Grund ftir die Nicht-Konvergenz der Grobgitterkorrektur natiirlich darin, dass die hochfrequenten Anteile "tibersehen" werden. Genau diese werden aber von einigen der klassischen SplittingVerfahren (wie etwa dem Richardson-Verfahren aus dem Abschnitt 8.2) gut behandelt. Aus diesem Grunde gelangt man zu der Idee, die Grobgitterkorrektur mit einem geeigneten Splitting-Verfahren (im Folgenden wieder Glatter genannt) zu kombinieren. Dies Uefert uns gerade das so genannte Zweigitterverfahren. Algorithmus 8.5.
(Zweigitterverfahren)
(5.0) Wdhle einen Startvektor u^'^, eine Zahl i/ € N^ und seize k := 0. (5.1) Falls Abbruchkriterium erfullt: STOP. (5.2) Wende v Schritte eines Clatters (etwa des Richardson-Verfahrens) mit dem Startvektor u^'^ an, und erhalte auf diese Weise das Resultat w^'^ mit dem Residuum r^'^ := f^ — AhW^''^. (5.3) Bestimme die Restriktion r^^'^ := R^^{r^^^). (5.4) Berechne die Losung d^^'^ von A2hd'^^ = r^^'^. (5.5) Bestimme die Prolongation d^'^ := P^^{d'^^'^). (5.6) Setze w^'^+i := w^^^ -h d^'^. (5.7) Setze k <— k -\-1, und gehe zu (S.l). Das Zweigitterverfahren aus dem Algorithmus 8.5 unterscheidet sich von der Grobgitterkorrektur letztlich nur darin, dass in jeder Iteration vor der Durchfuhrung der Grobgitterkorrektur noch einige Schritte eines Glatters vorgeschaltet werden. Speziell ftir i/ = 0 stimmt das Zweigitterverfahren mit der (nicht konvergenten) Grobgitterkorrektur iiberein, weshalb wir im Folgenden stets davon ausgehen, dass i/ > 0 gilt. Ansonsten gibt es eine Reihe von denkbaren Variant en des Zweigitterverfahrens: - Neben der im Schritt (S.2) erwahnten Richardson-Iteration kann natiirlich auch ein anderer Glatter gewahlt werden wie zum Beispiel die JacobiRelaxation aus den Aufgaben 8.3-8.5 oder das Gaui3-Seidel-Verfahren. - Statt das lineare Gleichungssystem im Schritt (S.4) auf dem groben Gitter exakt zu losen, kann dies durch die Anwendung eines geeigneten iterativen Verfahrens natiirlich auch nur naherungsweise geschehen. - Im Algorithmus 8.5 wird ein Glatter lediglich vor der Anwendung der Grobgitterkorrektur benutzt. Zusatzlich konnte man auch nach Ausftihrung des Schrittes (S.6) einen Glatter verwenden, um die Naherung yh,k^i g^y£ ^gjjj feinen Gitter zu verbessern. Man spricht dann von einer Vor-Glattung bzw. Nach-Glattung, vergleiche hierzu allerdings die Aufgabe 8.6.
324
8 Mehrgitterverfahren
- Statt eine flir alle Iterationen k feste Zahl u von Schritten des Clatters zu nehmen, mag es sinnvoll sein, z/ durch eine von k abhangige Zahl Vk zu ersetzen. Solange durch den Clatter beispielsweise gute Fortschritte (bei der Reduktion der hochfrequenten Anteile) gemacht werden, gibt es keinen Crund, diesen eventuell vorzeitig abzubrechen. Ahnhch wie die Sphtting-Verfahren lasst sich der Algorithmus 8.5 in kompakter Form ebenfalls schreiben als
mit einer gewissen Matrix M^Qy, der so genannten Iterationsmatrix des Zweigitterverfahrens, sowie einen geeigneten Vektor c^. Bezeichnen wir die Durchflihrung der i/ Schritte des Clatters in (S.2) namlich mit S^ (der Buchstabe S steht hierbei flir den englischen Ausdruck smooth), so lasst sich eine Iteration des Zweigitterverfahrens ofFenbar schreiben als y^h,k + l ^ ^h,k
_^ ^h,k
= S^u^^^ - Pi^{A-^R^f,iAHW^^^ = {I-
P^^A-^R^^AH)S^U^^'
+
-
f^)) Pi^A-^RU\
d.h., die Iterationsmatrix des Zweigitterverfahrens ist gegeben durch M^GV =
M^OKS"
(8.15)
und besteht somit aus einer Hintereinanderausfiihrung von ly Schritten des Clatters S und der Crobgitterkorrektur aus dem Algorithmus 8.3. Wahrend die Crobgitterkorrektur aus dem Algorithmus 8.3 stets auf ein nichtkonvergentes Verfahren ftihrte, liefert das Zweigitterverfahren aus dem Algorithmus 8.5 manchmal schon bei der kleinstmoglichen Wahl von u = 1 Clattungsschritten pro Iteration ein konvergentes Verfahren. Fiir einen elementaren Beweis dieser Aussage bei Anwendung des Zweigitterverfahrens auf die eindimensionale diskretisierte Poisson-Gleichung verweisen wir beispielsweise auf [59, 30, 31, 67]. Wir illustrieren das numerische Verhalten des Zweigitterverfahrens abschlieBend an einem Beispiel. Dazu nehmen wir wieder die diskretisierte Poisson-Cleichung in einer Variablen mit N = 63, so dass die Matrix Ah gemaB (8.8) gegeben ist. Als rechte Seite wird f^ := ( l , . . . , l) gewahlt, als Startvektor der Nullvektor. Das Caufi-Seidel-Verfahren dient als Clatter, wobei wir in jeder Iteration v = 2 Clattungen erlauben. Dann ergeben sich die Result ate aus der Tabelle 8.2.
8.4 Das Zweigitterverfahren
325
\k rel. Residuum
'o 1.0000000000 1 2 3 4 5 6 7 8
0.9728916157 0.1083019246 0.0119673844 0.0013147411 0.0001440978 0.0000158119 0.0000017416 0.0000001929
Tabelle 8.2. Numerisches Verhalten des Zweigitterverfahrens
Das Verfahren konvergiert also innerhalb von acht Iterationen. Auch bei Verwendung der Richardson-Iteration werden lediglich acht Schritte gebraucht. Variiert man die Anzahl der Glattungsschritte v fur das GauB-SeidelVerfahren, so hat dies natiirlich einen Einfiuss auf die gesamten Iterationszahlen des Zweigitterverfahrens. Die entsprechenden Resultate sind in der Tabelle 8.3 enthalten. Man erkennt hieran, dass relativ kleine Werte von u bereits gute Resultate liefern und u > 5 sogar iiberhaupt keine spiirbare Verbesserung bringt. \iy
1 2 3 4 5 6 7|
Iterationen 14 8 6 5 4 4 4
Tabelle 8.3. Iterationszahlen fiir das Zweigitterverfahren bei verschiedenen Werten von 1/ Noch interessanter ist allerdings das Verhalten des Zweigitterverfahrens, wenn wir die Dimension N und damit die Schrittweite h andern. Hal ten wir hierbei u = 2 Glattungsschritte pro Iteration fest, so ergeben sich die Resultate aus der Tabelle 8.4. Im Gegensatz zu den klassischen Splitting-Verfahren bleiben die Iterationszahlen hier konstant und wachsen nicht unmafiig bei kleiner werdender Schrittweite h\ N 31 63 127 255 511 1023 2047 Iterationen 8 8 8 8 8 8 8
Tabelle 8.4. Iterationszahlen fiir das Zweigitterverfahren bei unterschiedlichen Dimensionen N
326
8 Mehrgitterverfahren
8.5 Mehrgitterverfahren Das Zweigitterverfahren aus dem Algorithmus 8.5 ist ftir die praktische Umsetzung noch nicht wirklich brauchbar, da es zur Losung des ursprtinglichen Systems AhU^ = f^ letztlich ein lineares Gleichungssystem A2hu'^^ = f^^ auf dem groberen Gitter mit der Schrittweite 2/i exakt lost. Ist die Matrix Ah nun von sehr grofier Dimension, so ist A2h zwar deutlich kleiner, aber in vielen Fallen immer noch zu grofi, um ein lineares Gleichungssystem mit der Koeffizientenmatrix A2h exakt losen zu konnen. Die Idee der Mehrgitterverfahren besteht nun darin, auf das kleinere Gleichungssystem A2hU^^ = f^^ erneut ein Zweigitterverfahren anzuwenden. Auf diese Weise hat man dann ein System A4hU^^ = f^^ zu losen, bei der die Matrix A4h nochmals deutlich kleiner ist. Sollte auch hier die Dimension noch zu grofi sein, setzt man diese Idee rekursiv fort, bis man letztlich bei einem System A2PhU^^^ = f^^^ niit einem gegebenenp G N angekommen ist, welches sich zur exakten Losung eignet. Setzen wir zur Vereinfachung der Schreibweise Ai . = A2P-ih^
u .= u
, /
.= /
,
so betrachten wir beim Mehrgitterverfahren also die linearen Gleichungssysteme Aiu' = f, ^ = 0,1,...,p. Speziell fur £ = 0 erhalt man das grobste Gitter, wahrend £ = p dem eigentlich interessierenden System AhU^ = f^ entspricht. Bezeichnet u^'^ einen Startvektor zur Losung von A^u^ = f^ und S^ ftir ein j/ € N die Anwendung von i/ Schritten eines Glatters S (zum Beispiel des Richardson-Verfahrens), so lasst sich eine Iteration des oben angedeuteten Mehrgitterverfahrens dann wie folgt formulieren: function u^ = V-Zyklus {Ai,f,u^^^J) d^ := A^^f I Losung von A^d = f ELSE u^ := 5'^! {Ae, f, u^'^) % Vor-Glattung r^ := f^ — AiU^ % Berechnung des Residuums r^-i := Rl_ir^ % Restriktion des Residuums ^i-\ . ^ V-Zyklus ( ^ £ _ i , r ^ - \ 0 , £ - 1) % Rekursion u^ \= u^ -\- P^~^d^~^ % Prolongation und Korrektur u^ := S""^{Ae, /^, u^) % Nach-Glattung END Das obige Verfahren wird als V-Zyklus bezeichnet, da es zunachst mit i/i Vor-Glattungen auf dem feinsten Gitter beginnt, anschliefiend durch Restriktion auf dem nachstgroberen Gitter landet und dort die ui Vor-Glattungen durchftihrt, bis man rekursiv schliefilich beim grobsten Gitter landet. Dort
8.5 Mehrgitterverfahren
327
lost man das lineare Gleichungssystem ^o"^^ = f^ exakt und hangelt sich anschliefiend durch Prolongation und jeweils 1/2 Nach-Glattungen allmahlich vom gr5bsten zum feinsten Gitter wieder hoch. Anschaulich entsteht auf diese Weise ein V-Zyklus wie in der Abbildung 8.9.
2/1
4h Sh
Abbildung 8.9. Veranschaulichung zum V-Zyklus: S = Glattung (smoothing), R = Restriktion, P = Prolongation, E = exakte Losung Eine Verallgemeinerung des V-Zyklus ist in dem folgenden Verfahren enthalten, das wir hier als einen 7-Zyklus bezeichnen, da dieses Verfahren zusatzlich von einem Parameter 7 G N abhangt. function u^ = 7-Zyklus (A^, /^, -u^'^, €, 7) IF £ = 0 ELSE r^ := f^ — AiU^ i-i
..
Rl,r^
FOR i = 1 : 7 ^£-i,i ._ ^-Zyklus END
{Ai-i,r^-\d^-^^'-\£-l)
END Speziell fiir 7 = 1 ergibt sich aus dem obigen Verfahren gerade der schon bekannte V-Zyklus. Ftir 7 = 2 hingegen spricht man von einem so genannten W-Zyklus aufgrund der anschaulichen Interpretation in der Abbildung 8.10, wobei wir dort zur Vereinfachung 1^2 = 0 gewahlt haben, d.h., es finden keine Nach-Glattungen statt. Erlauben wir statt der vier Gitter mit den Schrittweiten h^2h,4h^Sh noch eine fiinfte Schrittweite I6/1, so ergibt sich fiir 7 = 2
328
8 Mehrgitterverfahren
hingegen das schematische Vorgehen aus der Abbildung 8.11. Grofiere Werte von 7 sind eher uniiblich.
2h
Ah
8h Abbildung 8.10. Veranschaulichung zum W-Zyklus: S = Glattung (smoothing). R = Restriktion, P = Prolongation, E = exakte Losung
I
2/i
I
4/1
\l\l\l\l \l\l\l\
8h 16h
Abbildung 8.11. Veranschaulichung zum W-Zyklus mit einer weiteren Schrittweite
Das Mehrgitterverfahren (engl.: multigrid method) entsteht nun dadurch, dass wir in jeder Iteration einen V - oder W - Z y k l u s anwenden. Es h a t also die folgende Gestalt. A l g o r i t h m u s 8.6.
(Mehrgitterverfahren)
(5.0) Wdhle einen Startvektor u^'^ € M ^ als Ndherungslosung von A^u^ = f^ sowie eine Stufenzahl p e N. Seize k := 0 und r^'^ := / ^ - AhVp"^. (5.1) Falls Abbruchkriterium erfullt: STOP. (5.2) Berechne u^^^+^ := V-Zyklus {AhJ^,u^'^,p). (SJ) Seize r'^'^+i := / ^ - A^w'^'^+i. (S.4) Seize /c <— A; + 1, und gehe zu (S.l).
8.6 Vollstandiges Mehrgitterverfahren
329
Der V-Zyklus im Schritt (S.2) des Algorithmus 8.6 kann naturlich durch einen W-Zyklus bzw., allgemeiner, durch einen 7-Zyklus ersetzt werden. Wir wenden den Algorithmus 8.6 wieder auf die diskretisierte PoissonGleichung in einer Variablen mit iV = 63 an. Die rechte Seite und der Startvektor seien wie im Abschnitt 8.4 gewahlt. Ferner wird das GauB-SeidelVerfahren als Clatter genommen, wobei wir i^i — 2 Vor-Glattungen und 1/2=0 Nach-Glattungen erlauben. Fiir die Wahl von p = 3 ergeben sich dann die Result ate aus der Tabelle 8.5. Wir benotigen hier also nur eine Iteration mehr als das Zweigitterverfahren, welches dem Spezialfall p = 1 des Mehrgitterverfahrens entspricht. Daftir hat man pro Iteration nur ein lineares Gleichungssystem der Dimension 7 exakt zu losen, wahrend sich das Zweigitterverfahren pro Iteration noch mit einem linearen Gleichungssystem der Dimension 31 abplagen musste. A; rel. Residuum 1.0000000000 2.3040552992 0.5331754436 0.0815983084 0.0104166257 0.0017013549 0.0002237606 0.0000375429 0.0000048438 0.0000008055 Tabelle 8.5. Numerisches Verhalten des Mehrgitterverfahrens
8.6 Vollstandiges Mehrgitterverfahren Wir betrachten in diesem Abschnitt wieder ein lineares Gleichungssystem AhU^ = / ^ , das durch Diskretisierung einer Differentialgleichung mit einer Schrittweite h > 0 entstanden sein moge. Zur Losung dieses linearen Gleichungssystems wollen wir erneut die entsprechenden Systeme ?2h
.2h Ah 4h A2hu'' = n , A,nu'^ = r\---.
.2'Ph
A2.Hu''' = f
'2'Ph
mit den Schrittweiten 2/i, 4/i,..., 2^^ fiir ein gegebenes p £ N heranziehen. Wie im vorigen Abschnitt vereinfachen wir die Schreibweise durch Einftihrung der Notation Ai := A2P-^h->
u
2P-'h
f:=f
2P-'h
= 0,1
,p,
330
8 Mehrgitterverfahren
so dass wir die Folge von Gleichungssystemen Aou'^^f,
Aiu'=f\...,
A^vF = P
erhalten, von denen das Erstgenannte dem grobsten Gitter entspricht und das Letztgenannte gerade das Ausgangssystem A^u^ — f^ darstellt. Allgemein ergibt sich das lineare Gleichungssystem A£U^ = f^ durch Diskretisierung des zu Grunde liegenden Gleichungssystems mit der Schrittweite he:=2P-^h,
£ = 0,1,..
P-
Verwenden wir das Mehrgitterverfahren aus dem Algorithmus 8.6 zur Losung von AhU^ = f^ (oder, aquivalent, von ApU^ = / ^ ) , so startet dies mit einer irgendwie gewahlten Naherungslosung u^'^ von AhU^ = f^Am. Allgemeinen hat man allerdings keine Informationen iiber eine gute Naherungslosung vodiegen. In diesem Fall ist die Anwendung des Mehrgitterverfahrens noch relativ aufwendig, da man in jeder Iteration zunachst mit dem feinsten Gitter beginnt, sich von dort aus zum grobsten Gitter herunterhangelt, um anschliefiend wieder mittels geeigneter Prolongationen zum feinsten Gitter zu gelangen. Bei dem hier zu beschreibenden Verfahren verfolgt man eine etwas andere Strategie: Man beginnt mit dem grobsten Gitter und lost das zugehorige lineare Gleichungssystem ^o'^^*^ — / ^ exakt oder zumindest hinreichend genau. Anschliefiend wird diese Losung (oder approximative Losung) auf das nachstfeinere Gitter prolongiert und dient hier als guter Startvektor ftir die Durchfiihrung eines Mehrgitterverfahrens zur naherungsweisen Losung von Aiu^ = f^. Hat man eine solche Naherungslosung gefunden, prolongiert man diesen Vektor wieder auf das nachstfeinere Gitter und wahlt diesen als Startvektor eines Mehrgitterverfahrens zur Losung des linearen Gleichungssystems A2u'^ = f^. Auf diese Weise fahrt man fort und gelangt schliefilich zu dem feinsten Gitter ApU^ = / ^ , das dem letztlich interessierenden Gleichungssystem AhU^ = f^ entspricht. Die gerade beschriebene Vorgehensweise wird als vollstdndiges Mehrgitterverfahren (engl.: full multigrid method) oder geschachtelte Iteration (engl.: nested iteration) bezeichnet. Eine schematische DarsteUung dieses voUstandigen Mehrgitterverfahrens findet man in den Abbildungen 8.12 und 8.13, wobei die Mehrgitterverfahren jeweils durch einen V - und einen W-Zyklus veranschaulicht sind. Um zu einer formalen Beschreibung des vollstandigen Mehrgitterverfahrens zu gelangen, flihren wir noch eine weitere Notation ein. Mit u := 0^
{A£,j ,'U ' )
bezeichnen wir das Ergebnis, das sich durch Anwendung einer Iteration (etwa eines V-Zyklus) des Mehrgitterverfahrens aus dem Algorithmus 8.6 auf das lineare Gleichungssystem A£U^ = f^ mit dem Startwert u^'^ ergibt. Damit konnen wir nun unser voUstandiges Mehrgitterverfahren angeben.
8.6 Vollstandiges Mehrgitterverfahren
331
2/i
4h
8h Abbildung 8.12. Veranschaulichung des vollstandigen Mehrgitterverfahrens mit einem V-Zyklus: P = Prolongation, MGV = Mehrgitterverfahren
Abbildung 8.13. Veranschaulichung des vollstandigen Mehrgitterverfahrens mit einem W-Zyklus: P = Prolongation, MGV = Mehrgitterverfahren
A l g o r i t h m u s 8.7. (Vollstandiges Mehrgitterverfahren) Sei u^ eine approximative Losung von AQU^ = f^. FOR£=l:p ,A0 d-ir..e-i FOR i = l :m£ ui,i:=^MGV^A,j\u'^'-') END ,i,'me
END Der Algorithmus 8.7 beginnt mit einer approximativen Losung von AQU^ = / ° . Da es sich hierbei u m das lineare Gleichungssystem z u m grobsten Gitter handelt, kann dieses oft exakt (im R a h m e n der Rechengenauigkeit) gel5st werden. Ansonsten t r i t t im Algorithmus 8.7 eine lineare Prolongation P / ~ ^ auf, u m aus Vektoren u^~^ auf dem Gitter mit Schrittweite /i^_i Naherungen auf dem Gitter mit Schrittweite hi zu erhalten. D a die hier b e n u t z t e Prolongation nicht notwendig mit jener aus d e m Mehrgitterverfahren libereinstimmen muss, bezeichnen wir sie mit einem Dach. Schliefilich flihrt der Algorithmus 8.7 in jeder Stufe zur naherungsweisen Losung des linearen Gleichungssystems A^u^ = f^ insgesamt m£ Schritte aus. D a wir hier aber das Mehrgitterverfahren als Loser
332
8 Mehrgitterverfahren
verwenden und die Konvergenzeigenschaften des Mehrgitterverfahrens letztlich unabhangig von der gewahlten Schrittweite sind, werden wir im Folgenden davon ausgehen, dass die Zahl m^ unabhangig von ^ G { 1 , . . . ,p} ist und daher einfach m statt m^ schreiben. Wir kommen nun zur Konvergenzanalyse des Algorithmus 8.7, wobei man beachte, dass es sich bei dem vollstandigen Mehrgitterverfahren um einen endhchen Prozess handelt, wahrend das eigenthche Mehrgitterverfahren aus dem Algorithmus 8.6 eine iterative Methode darstellt, die theoretisch eine unendhche Folge von Naherungslosungen erzeugt. Mit «*••
{t =
Q,l,...,p)
bezeichnen wir von nun an die exakte Losung des hnearen Gleichungssystems A^u^ = f^. Ferner sei M^GV ^ = 1 , 2 , . . . , p die Iterationsmatrix des auf das £-te System A^u^ = f^ angewandten Mehrgitterverfahrens (vergleiche die entsprechenden Ausftihrungen vor (8.15) im Fall des Zweigitterverfahrens). Da wir die zu Grunde hegende kontinuierhche Aufgabe durch das diskretisierte Problem A^u^ = f^ lediglich bis auf einen Fehler von der GrdBenordnung 0{h1) fiir ein AC > 0 approximieren, macht es keinen Sinn, die Gleichungssysteme A^u^ = f^ mit einer hoheren Genauigkeit als 0{h^) zu losen. Naherungslosungen im Rahmen dieser Diskretisierungsordnung kann man mittels des vollstandigen Mehrgitterverfahrens dagegen relativ einfach erhalten, wenn man voraussetzt, dass gewisse Konstanten ^ e (0,1), AC > 0, ci > 0 und C2 > 0 existieren mit IIMi^Gvll < «. \\u^'* - P'-\^-^'*\\ < cihl, ||^-'||
(8-16) (8.17) (8.18)
ftir alle £ = 1, 2 , . . . ,p, wobei wir hier mit || • || eine beliebige Vektornorm bzw. die hierdurch induzierte Matrixnorm bezeichnen. Die Voraussetzung (8.16) besagt, dass die Norm der Iterationsmatrix Mj^Qy des Mehrgitterverfahrens ftir alle Stufen £ = 1,2,... ,p gleichmaBig durch eine Konstante ^ G (0,1) beschrankt ist. Hingegen stellen (8.17) und (8.18) Bedingungen an den linearen Prolongationsoperator P/""^ dar. Nun gilt der folgende Satz iiber die durch das voUstandige Mehrgitterverfahren 8.7 erzeugt en Approximationen u^ fiir w^'*. Satz 8.8. Seien die Ungleichungen (8.16)-(8.18) mit gewissen Konstanten ^ G (0,1),Av > 0,ci > 0,C2 > 0 fiir alle £ = l , 2 , . . . , p erfiillt und die Iterationszahl m = m£ im Algorithmus 8.7 hinreichend grofi, so dass C2r < 1
(8.19)
8.6 Vollstandiges Mehrgitterverfahren
333
ist. Dann gilt filr die durch das vollstdndige Mehrgitterverfahren 8.7 erzeugten Ndherungen u^ die Ungleichung \W - u^'* II < CiC3/i?
fur alle £=l,2,...,p
(8.20)
mit der Konstanten
sofern der Startwert vP der Ungleichung (8.20) fiir £ — 0 geniigt. Beweis. Der Beweis erfolgt durch Induktion nach der Stufenzahl I. Fiir £ = 0 gilt die Behauptung (8.20) nach Voraussetzung (und ist insbesondere dann erfiillt, wenn man u^ als exakte Losung von ^o^^ = /^ berechnet). Die Aussage m5ge nun fiir alle Stufen bis hin zu £ — 1 gelten. Wir betrachten jetzt die £-te Stufe. Unter Verwendung der Linearitat des Prolongationsoperators P^~^ erhalten wir aus den Vorschriften des Algorithmus 8.7 dann
\\u''°-u''*\\
=
\\u''*-Pt\u'-')\\
Unter Benutzung von (8.17), (8.18) und der Induktionsvoraussetzung ergibt h^'O - U'^*\\ < C^hl + ||P/-iciC3/l,^i < cihl-^ ciC2Czh1
(8.22)
= Ci{l + C2C2)h1.
Fiir den Fehler gilt nun e^'"^ = (M]yfQy)"^e^'^ (vergleiche (4.4)) und daher so dass wir aus (8.16) und (8.22) die Abschatzung
erhalten, wobei sich die letzte Gleichheit daraus ergibt, dass man durch Auflosen von (8.21) nach ^"^ offenbar
334
8 Mehrgitterverfahren
c
C3
1 + C2C3
erhalt. Dies beendet den Induktionsbeweis.
n
Man beachte, dass die Voraussetzung (8.19) manchmal schon fiir die kleinstm5gliche Wahl von m = 1 Schritten des auf jeder Stufe anzuwendenden Mehrgitterverfahrens erflillt ist. Gilt namlich ||-P/~^|| < 1 und wahlt man (wie liblich) hi = /i^_i/2, so gilt die Voraussetzung (8.18) mit der Konstanten C2 = 2'^, speziell iiir K, = 2 also mit C2 = 4. Daher ist die Voraussetzung (8.19) bereits mit m = 1 erftillt, wenn (8.16) mit ^ < 0.25 gilt. Erlaubt man hingegen m = 2 Schritte, so gilt die Voraussetzung (8.19), sofern die Konvergenzrate des Mehrgitterverfahrens in (8.16) mit einem ^ < 0.5 abgeschatzt werden kann. Zur numerischen Illustration des voUstandigen Mehrgitterverfahrens betrachten wir wieder die diskretisierte eindimensionale Poisson-Gleichung. Beim grobsten Gitter seien nur drei innere Punkte im Intervall [0,1] gegeben. Das zugehorige lineare Gleichungssystem (der Dimension 3 x 3 ) werde exakt gelost. Ferner setzen wir p = 4 und wahlen zur Durchfiihrung des Mehrgitterverfahrens einen V-Zyklus. Erlauben wir dann m = 1 oder m = 2 Iterationen des Mehrgitterverfahrens in jeder Stufe £ = 1 , . . . ,4, so ergibt sich ftir den Fehler \\u^ - u^'*\\2 das Verhalten aus der Tabelle 8.6.
[e_
m = I
m = 2
[0 0.0000000000 0.0000000000 1 0.0016569668 0.0001674995 2 0.0007854593 0.0000769986 3 0.0002941521 0.0000293648 4 0.0001063492 0.0000108353 Tabelle 8.6. Verhalten des Fehlers fahren mit m = 1 und m = 2
12 beim voUstandigen Mehrgitterver-
Bemerkung 8.9. Die in diesem Kapitel vorgestellten Mehrgitterverfahren benutzen allesamt die Tatsache, dass ein lineares Gleichungssystem AhU^ = f^ durch Diskretisierung einer Differentialgleichung entsteht, ftir die man durch Wahl einer anderen Schrittweite ein von der Struktur her ahnliches, von der Dimension aber unter Umstanden deuthch kleineres Gleichungssytem erhalt. — Lineare Gleichungssysteme von zum Teil ebenfalls recht groBer Dimension entstehen aber nicht nur durch Diskretisierung von Differentialgleichungen, sondern treten auch in diversen anderen Zusammenhangen auf. Ftir solche Systeme sind ebenfalls geeignete Varianten von Mehrgitterverfahren entwickelt worden, die unter dem Namen algebraische Mehrgitterverfahren
AUFGABEN
335
(engl.: algebraic multigrid methods) bekannt sind. Der interessierte Leser sei hier insbesondere auf die Arbeiten [6, 7, 52] verwiesen.
Aufgaben Aufgabe 8.1. Betrachten Sie das kontinuierliche Dirichlet-Problem (8.1) fiir die Poisson-Gleichung in einer Dimension sowie die zugehorige Diskretisierung -^TNV = f mit T/v G R ^ ^ ^ aus (1.8). Untersuchen Sie den Zusammenhang zwischen den Eigenwerten /i^ = /C^TT^ von (8.1) und den Eigenwerten der Matrix ^TN des diskretisierten Problems. Aufgabe 8.2. Betrachten Sie die Diskretisierung J^TNXNV
= f <=^Av = h'^f
mit A := TNXN aus (1.13) von der zweidimensionalen Poisson-Gleichung auf dem Rechteck i? :— (0,1) x (0,1) mit Dirichlet-Bedingungen. Zeigen Sie in Analogie zu den Ausfiihrungen im Abschnitt 8.2, dass sich bei Anwendung des Richardson-Verfahrens mit a; := | auf das lineare Gleichungssystem Av = h? f die Fehler in Richtung der hochfrequenten Anteile mindestens um den (von h unabhangigen) Faktor | verringern. Aufgabe 8.3. (Jacobi-Relaxationsverfahren) Seien A G M^^^ mit an ^ 0 fiir alle i = 1 , . . . , n gegeben und A = D — L - R die Standardzerlegung aus (4.7)-(4.10). Das Jacobi-Verfahren zur Losung von Ax = b ist dann gegeben durch x^+^ := Mjx^ + D'H
fiir A; = 0 , 1 , 2 , . . .
mit der Iterationsmatrix Mj := D~^{L+ R) = I — D~^A. Durch Einftihrung eines Parameters to erhalt man hieraus das Jacobi-Relaxationsverfahren x^+i :=
MJ{LJ)X^
+ LjD-^b
fiir A; = 0 , 1 , 2 , . . .
mit der Iterationsmatrix Mj{uj) := I — UJD~^A. Zeigen Sie: Besitzt Mj nur reelle Eigenwerte Ai < A2 < .. • < A^^ mit zugehorigen linear unabhangigen Eigenvektoren v^,v^,... ,v'^ und ist p{Mj) < 1, so gelten die folgenden Aussagen: (a) Die Eigenwerte fii = /ii{oj) von Mj{uj) sind gegeben durch /x^ = 1—u;H-a;A^ fiir alle 2 = 1 , . . . ,n. (b) Der Spektralradius p{Mj{uj)) wird unter alien a; > 0 minimiert durch den Wert 2 2 — Ai — An d.h., es gilt p(Mj(a;*)) < p{Mj{u)) fiir alle uj G [0,00), wobei fiir uj ^ uj^ sogar die strikte Ungleichung gilt.
336
8 Mehrgitterverfahren
Aufgabe 8.4. Wenden Sie das Jacobi-Relaxationsverfahren aus der Aufgabe 8.3 auf die Diskretisierung T^v = h'^f der eindimensionalen PoissonGleichung mit Dirichlet-Bedingungen an und untersuchen Sie, wie sich der Fehler in Richtung der hochfrequenten Anteile verhalt. Wie wtirden Sie aufgrund ihrer Untersuchungen den Parameter uj wahlen? Hinweis: Die Wahl von CJ = | liefert eine Reduktion der hochfrequenten Anteile um mindestens den Faktor ^ pro Iteration. Aufgabe 8.5. Wenden Sie das Jacobi-Relaxationsverfahren aus der Aufgabe 8.3 auf die Diskretisierung T/vxiv^ = h'^f der zweidimensionalen PoissonGleichung mit Dirichlet-Bedingungen an und untersuchen Sie, wie sich der Fehler in Richtung der hochfrequenten Anteile verhalt. Wie wurden Sie aufgrund ihrer Untersuchungen den Parameter uj wahlen? Hinweis: Die Wahl von ^ — | liefert eine Reduktion der hochfrequenten Anteile um mindestens den Faktor | pro Iteration. Aufgabe 8.6. Gegeben seien zwei Verfahren x^+^ := (t>i{x^) mit )i(a:) := Mix + Ci und x^+^ := (l)2{x^)
mit 02(^) •= M2X-\-C2
mit Iterationsmatrizen Mi,M2 G M^^" und Vektoren Ci,C2 G M^. Betrachten Sie die beiden Produktiterationen x^+^ := ipi{x^)
mit ^pl{x) := (pi o <^2 und
x^+i := il)2{x^)
mit IIJ2{X) := (f>2 o (/>i.
Bestimmen Sie die Iterationsmatrizen von ipi und -02 und zeigen Sie, dass diese denselben Spektralradius besitzen. Was bedeutet dies fiir das Zweigitterverfahren aus dem Algorithmus 8.5, wenn man dort sowohl eine Vorglattung mit i/i Schritten als auch eine Nachglattung mit 1/2 Schritten erlaubt? Aufgabe 8.7. Zeigen Sie, dass die durch
/sin(A;7r^)\ sin(A:7r^) v^:=
:^
(^ = 1,...,7V)
\sin(A;7r^)y definierten Eigenvektoren der Matrix T/v (vergleiche (8.2)) die euklidische Lange ||t;^||2 = ^{N + l)/2hehen. Aufgabe 8.8. Implementieren Sie das Zweigitterverfahren aus dem Algorithmus 8.5 und testen Sie es an dem Beispiel der diskretisierten eindimensionalen Poisson-Gleichung.
AUFGABEN
337
Aufgabe 8.9. Implementieren Sie das Mehrgitterverfahren aus dem Algorithmus 8.6 und testen Sie es an dem Beispiel der diskretisierten eindimensionalen Poisson-Gleichung. Aufgabe 8.10. Implementieren Sie das voUstandige Mehrgitterverfahren aus dem Algorithmus 8.7 und testen Sie es an dem Beispiel der diskretisierten eindimensionalen Poisson-Gleichung.
Literatur
1. Aasen, J.O.: On the reduction of a symmetric matrix to tridiagonal form. BIT, textbfll, 233-242 (1971) 2. Adams, L.: m-step preconditioned conjugate gradient methods. SIAM J. Sci. Stat. Comp., 6, 452-463 (1985) 3. Axelsson, O.: Iterative Solution Methods. Cambridge University Press, Cambridge (1996) 4. Bank, R., Douglas, C : An efficient implementation for SSOR and incomplete factorization preconditionings. Appl. Numer. Math., 1, 489-492 (1985) 5. Bjork, A: Numerical Methods for Least Squares Problems. SIAM, Philadelphia (1996) 6. Brandt, A.: A guide to multigrid development. In: Hackbusch, W., Trottenberg, U. (Hrsg.): Multigrid Methods. Springer, Berlin, Heidelberg, New York, 220-312 (1982) 7. Brandt, A.: Algebraic multigrid theory: The symmetric case. Appl. Math. Comp., 19, 23-56 (1986) 8. Brezinski, C : Projection Methods for Systems of Equations. North-Holland, Amsterdam (1997) 9. Brezinski, C , Redivo-Zaglia, M., Sadok, H.: A breakdown-free Lanczos type algorithm for solving linear systems. Numer. Math., 63, 29-38 (1992) 10. Briggs, W.L.: A Multigrid Tutorial. SIAM, Philadelphia (1987) 11. Bunch, J.R., Kaufman, L.: Some stable methods for calculating inertia and solving symmetric linear systems. Math. Comp., 3 1 , 162-179 (1977) 12. Bunch, J.R., Kaufman, L., Parlett, B.N.: Decomposition of a symmetric matrix. Numer. Math., 27, 95-109 (1976) 13. Bunch, J.R., Parlett, B.N.: Direct methods for solving symmetric indefinite systems of linear equations. SIAM J. Numer. Anal., 8, 639-655 (1971) 14. Bunse, W., Bunse-Gerstner, A.: Numerische lineare Algebra. Teubner, Stuttgart (1985) 15. Chan, T.F., Gallopoulos, E., Simoncini, V., Szeto, T., Tong, C.H.: A quasiminimal residual variant of the Bi-CGSTAB algorithm for nonsymmetric matrices. SIAM J. Sci. Comp., 15, 338-347 (1994) 16. Craig, E.J.: The N-step iteration procedures. J. Math. Phys., 34, 64-73 (1955) 17. Demmel, J.W.: Apphed Numerical Linear Algebra. SIAM, Philadelphia (1997)
340
Literatur
18. Eisenstat, S.C: Efficient implementation of a class of preconditioned conjugate gradient methods. SIAM J. Sci. Stat. Comp., 2, 1-4 (1981) 19. Faber, V., ManteufFel, T.: Necessary and sufficient conditions for the existence of a conjugate gradient method. SIAM J. Numer. Anal., 2 1 , 352-362 (1984). 20. Fischer, B.: Polynomial Based Iteration Methods for Symmetric Linear Systems. Wiley-Teubner, Leipzig (1996) 21. Fletcher, R.W.: Conjugate gradients methods for indefinite systems. In: Watson, G.A. (ed.): Dundee Biennial Conference on Numerical Analysis. Springer, New York, 73-89 (1975) 22. Freund, R.W.: A transpose-free quasi-minimal residual algorithm for nonHermitian linear systems. SIAM J. Sci. Comp., 14, 470-482 (1993) 23. Freund, R.W., Nachtigal, N.M.: QMR: a quasi-minimal residual method for non-Hermitian linear systems. Numer. Math., 60, 315-339 (1991) 24. Geiger, C , Kanzow, C : Numerische Verfahren zur Losung unrestringierter Optimierungsaufgaben. Springer, Berlin, Heidelberg, New York (1999) 25. Geiger, C , Kanzow, C : Theorie und Numerik restringierter Optimierungsaufgaben. Springer, Berlin, Heidelberg, New York (2002) 26. Gentleman, M.: Least squares computations by Givens transformations without square roots. J. Inst. Math. Appl., 12, 329-336 (1973) 27. Golub, G.H., van Loan, C : Matrix Computations. The Johns Hopkins University Press, Baltimore (3. Auflage 1996) 28. Greenbaum, A.: Iterative Methods for Solving Linear Systems. SIAM, Philadelphia (1997) 29. Gustafsson, I.: A class of 1st order factorization methods. BIT, 18, 142-156 (1978). 30. Hackbusch, W.: Multi-Grid Methods and Applications. Springer-Verlag, Berlin, Heidelberg, New York (1985) 31. Hackbusch, W.: Iterative Losung groBer schwachbesetzter Gleichungssysteme. Teubner, Stuttgart (1991) 32. Hackbusch, W., Trottenberg, U. (Hrsg.): Multi-Grid Methods. Lecture Notes in Mathematics 960, Springer, Berlin, Heidelberg, New York (1982) 33. Hageman, L.A., Young, D.M.: Applied Iterative Methods. Academic Press, New York (1981) 34. Hammarling, S.: A note on modifications to the Givens plane rotation. J. Inst. Math. Appl., 13, 215-218 (1974) 35. Hestenes, M.R., Stiefel, E.: Methods of conjugate gradients for solving linear systems. J. Res. Nat. Bur. Standards, 49, 409-436 (1952) 36. Horn, R.A., Johnson, C.R.: Matrix Analysis. Cambridge University Press, New York (1985) 37. Horn, R.A., Johnson, C.R.: Topics in Matrix Analysis. Cambridge University Press, New York (1991) 38. Kelley, C.T.: Iterative Methods for Linear and Nonlinear Equations. SIAM, Philadelphia (1995) 39. Kielbasinski, A., Schwetlick, H.: Numerische lineare Algebra. Verlag Harri Deutsch (1988) 40. Lanczos, C : Solution of systems of linear equations by minimized iterations. J. Res. Nat. Bur. Standards, 49, 33-53 (1952) 41. Lin, C.J., More, J.J.: Incomplete Cholesky factorizations with limited memory. SIAM J. Sci. Comp., 2 1 , 24-45 (1999)
Literatur
341
42. Manteuffel, T.A.: An incomplete factorization technique for positive definite linear systems. Math. Comp., 34, 473-497 (1980) 43. Meijerink, J.A., van der Vorst, H.A.: An iterative solution method for linear systems of which the coefficient matrix is a symmetric M-matrix. Math. Comp., 3 1 , 148-162 (1977) 44. Meister, A.: Numerik linearer Gleichungssysteme. Vieweg, Braunschweig, Wiesbaden (1999) 45. Niethammer, W.: Relaxation bei komplexen Matrizen. Mathematische Zeitschrift, 86, 34-40 (1964) 46. Niethammer, W.: The SOR method on parallel computers. Numer. Math., 56, 247-254, (1989) 47. Paige, C.C., Saunders, M.A.: Solution of sparse indefinite systems of linear equations. SIAM J. Numer. Anal., 12, 617-629 (1975) 48. Paige, C.C., Saunders, M.A.: LSQR: An Algorithm for sparse linear equations and sparse least squares. ACM Trans. Math. Softw., 8, 43-71 (1982) 49. Parlett, B.N., Reid, J.K.: On the solution of a system of linear equations whose matrix is symmetric but not definite. BIT, 10, 386-397 (1970) 50. Parlett, B.N., Taylor, D.R., Liu, Z.A.: A look-ahead Lanczos algorithm for unsymmetric matrices. Math. Comp., 44, 105-124 (1985) 51. Plato, R.: Numerische Mathematik kompakt. Vieweg, Braunschweig, Wiesbaden (2000) 52. Ruge, J.W., Stiiben, K.: Algebraic multigrid. In: McCormick, S.F. (ed.): Multigrid Methods. SIAM, Philadelphia, 73-130 (1987) 53. Saad, Y.: Iterative Methods for Sparse Linear Systems. PWS Publishing Company, Boston (1996) (2. Auflage bei SIAM, Philadelphia (2003)) 54. Saad, Y., Schultz, M.H.: GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comp., 7, 856-869 (1986) 55. Sleijpen, G.L.G., Fokkema, D.R.: BiCGSTAB(^) for linear systems involving unsymmetric matrices with complex spectrum. Electronic Transactions Numer. Anal., 1, 11-32 (1993) 56. Sleijpen, G.L.G., van der Vorst, H.A., Fokkema, D.R.: BiCGSTAB(^) and other hybrid Bi-CG methods. Numer. Alg., 7, 75-109 (1994) 57. Sonneveld, P.: CGS: A fast Lanczos-type solver for nonsymmetric linear systems. SIAM J. Sci. Stat. Comp., 10, 36-52 (1989) 58. Stoer, J.: Numerische Mathematik I. Springer, Berlin, Heidelberg, New York (8. Auflage 1999) 59. Stoer, J., Bulirsch, R.: Numerische Mathematik II. Springer, Berlin, Heidelberg, New York (4. Auflage 2000) 60. Trefethen, L.N., Bau III, D.: Numerical Linear Algebra. SIAM, Philadelphia (1997) 61. van der Vorst, H.A.: Bi-CGSTAB: A fast and smoothly converging variant of BiCG for the solution of nonsymmetric linear systems. SIAM J. Sci. Stat. Comp., 13, 631-644 (1992) 62. van der Vorst, H.A.: Iterative Krylov Methods for Large Linear Systems. Cambridge University Press, Cambridge (2003) 63. Varga, R.S.: Matrix Iterative Analysis. Prentice-Hall, Englewood Cliffs (1962) 64. Voss, H.: Iterative Methods for Linear Systems of Equations. Bericht 27, Institut fiir Angewandte Mathematik, Universitat Hamburg (1993)
342
Literatur
65. Walker, H.F.: Implementation of the GMRES method using Householder transformations. SIAM J. Sci. Comp., 9, 152-163 (1988) 66. Weiss, R.: Parameter-Free Iterative Linear Solvers. Akademie Verlag, Berlin (1996) 67. Wesseling, P.: An Introduction to Multigrid Methods. John Wiley & Sons, Chichester (1992) 68. Young, D.M.: Iterative Solution of Large Linear Systems. Academic Press, New York (1971)
Index
A-konjugiert, 190 A-orthogonal, 190 Abstiegsrichtung, 190 ahnliche Matrizen, 11 algebraic multigrid method, 335 algebraisches Mehrgitterverfahren, 334 allgemeines Galerkin-Verfahren, 225 Arnoldi-Verfahren, 227 modifiziertes, 227 Bandbreite obere, 9 untere, 9 Bandmatrix, 9 Betragssummennorm, 17 Bi-Lanczos-Verfahren, 262 Bi-Orthogonalisierungsverfahren von Lanczos, 262 bi-orthonormale Vektoren, 263 bi-conjugate gradients, 269 BiCG stabilized, 282 BiCG-Verfahren, 269, 272 BiCGSTAB(^)-Verfahren, 288 BiCGSTAB-Verfahren, 282, 287 Bidiagonalmatrix obere, 8 untere, 8 , Bild einer Matrix, 2 breakdown, 261 serious, 263 Bubnov-Galerkin-Verfahren, 225 Bunch-Kaufman-Parlett-Verfahren, 89 Bunch-Kaufman-Parlett-Zerlegung, 89
CG-Verfahren, 192 Charakterisierungen des, 198 Konvergenz des, 200 lineares, 194 nichtlineares, 195 prakonditioniertes, 205 CGNE-Verfahren, 214 CGNR-Verfahren, 212 CGS-Verfahren, 278, 281 charakteristisches Polynom, 11 Cholesky-Zerlegung, 77, 80, 91 Existenz und Eindeutigkeit, 78 conjugate gradients, 187 bi-, 269 conjugate gradients squared, 278 conjugate residuals, 199, 218 CR-Verfahren, 199, 218 diagonal dominant, 142 diagonalisierbar, 258 Diagonalmatrix, 7 Dimensionsformel, 3 Dirichlet-Problem, 27, 35 fiir Helmholtz-Gleichung, 35 fiir Poisson-Gleichung, 27 Diskretisierung feine, 315 feinere, 315 grobere, 315 grobe, 315 Dreiecksmatrix normierte obere, 8 normierte untere, 8 obere, 8
344
Index
untere, 7 Eigenfunktion, 306 glatte, 308 hochfrequente, 308 niederfrequente, 308 oszillatorische, 307 Eigenvektor glatter, 308 hochfrequenter, 308 niederfrequenter, 308 oszillatorischer, 307 Eigenvektor einer Matrix, 11 Eigenwert, 306 Eigenwert einer Matrix, 11 Eigenwert-Gleichung, 35 einfache Restriktion, 318 Einhiillende, 210 untere, 210 Einzelschrittverfahren, 146 Eliminationsverfahren von Gau6, 51, 60 euklidische Norm, 17 feine Diskretisierung, 315 feinere Diskretisierung, 315 feines Gitter, 316 fill-in, 209 finite Diff"erenzen, 44 finite Differenzen-Verfahren, 28 floating point operations, 48 Flops, 48 FOM-Verfahren, 234 Frobenius-Matrix, 54 Frobenius-Norm, 20 full multigrid method, 330 full orthogonalization method, 234 Galerkin-Verfahren, 225 allgemeines, 225 Gau6-Elimination fiir Bandmatrizen, 74, 75 mit Pivotisierung, 67 ohne Pivotisierung, 60 Gaufi-Elimination fiir Bandmatrizen mit Pivotisierung, 75 ohne Pivotisierung, 74 Gaufi-Seidel-Verfahren, 146 GCR(m)-Verfahren, 302 GCR-Verfahren, 301
generalized conjugate residuals, 301 generalized minimal residual, 226 Gerschgorin Satz von, 44 Gerschgorin-Kreise, 44 Gesamtschrittverfahren, 140 geschachtelte Iteration, 330 Gitter feineres, 316 feines, 316 groberes, 316 grobes, 316 Givens-Rotation, 117 implizite, 123 schnelle, 122, 125 Glatter, 314 Glattung Nach-, 323 Vor-, 323 glatt, 308 Gleichung Helmholtz-, 35 Konvektions-Diffusions-, 38 Lyapunov-, 43 Poisson-, 27 GMRES(m)-Verfahren, 235 GMRES-Verfahren, 232, 258 links-prakonditioniertes, 251 grobere Diskretisierung, 315 Gram-Schmidt-Verfahren, 105 modifiziertes, 107 grobe Diskretisierung, 315 grobes Gitter, 316 Grobgitterkorrektur, 321 Hadamard Ungleichung von, 131 Hauptabschnittsdeterminante, 56 Hauptabschnittsmatrix, 56 Helmholtz-Gleichung, 35 Hessenberg-Matrix obere, 8 untere, 8 Hirsch Satz von, 21 hochfrequent, 308 homogenes lineares Gleichungssystem, 5 Householder-Arnoldi-Verfahren, 258 Householder-Spiegelung, 109
Index Householder-Verfahren , 1 1 3 ILU, 255 incomplete LU decomposition, 255 induzierte Norm, 18 inhomogenes lineares Gleichungssystem, 5 inverse Matrix, 5 irreduzibel diagonaldominant, 143 irreduzible Matrix, 141 Iteration geschachtelte, 330 Iterationsmatrix, 134, 324 Jacobi-Relaxationsverfahren, 335 J acobi-Verfahren, 140 Jordan Normalform von, 16 Jordan-Blocke, 16 Jordansche Normalform, 16 Kahan Satz von, 151 Kantorovich-Ungleichung, 219 Kern einer Matrix, 2 Koeffizientenmatrix, 2 Kondition, 22 Spektral-, 23 konsistent geordnet, 154 Konvektions-Diffusions-Gleichung, 38 Kronecker-Produkt, 25 Krylov-Raum, 195 transponierter, 263 Lanczos-Verfahren, 241 Laplace-Operator, 27 LDL^-Zerlegung, 81 Level 1-Operation, 193 Level 2-Operation, 193 lineare Restriktion, 318 lineares Gleichungssystem homogenes, 5 inhomogenes, 5 links-prakonditioniertes GMRESVerfahren, 251 look-ahead Lanczos-Methoden, 263 LR-Zerlegung, 51 Eindeutigkeit einer, 59 einer Tridiagonalmatrix, 70
345
Existenz einer, 57 mit Pivotisierung, 63 ohne Pivotisierung, 60 unvollstandige, 255, 256, 260 LSQR-Verfahren, 216 Lyapunov-Gleichung, 43 Matrix ahnliche, 11 Band-, 9 Bild einer, 2 Diagonal-, 7 diagonaldominant e, 142 diagonalisierbare, 258 Eigenvektor einer, 11 Eigenwert einer, 11 Probenius-, 54 Hauptabschnitts-, 56 inverse, 5 irreduzibel diagonaldominante, 143 irreduzible, 141 Kern einer, 2 Kondition einer, 22 konsistent geordnete, 154 M-, 259 nichtnegative, 9 normierte obere Dreiecks-, 8 normierte untere Dreiecks-, 8 obere Bidiagonal-, 8 obere Dreiecks-, 8 obere Hessenberg-, 8 orthogonale, 9 Permutations-, 9 Pfeil-, 91 positiv definite, 9 positiv semidefinite, 9 positive, 9 Quadratwurzel einer, 14 Rang einer, 2 reduzible, 140 regulare, 4 Spektral-Kondition einer, 23 Spektrum einer, 21 Standardzerlegung einer, 140 strikt diagonaldominant, 90 strikt diagonaldominante, 143 symmetrisch positiv definite, 9 symmetrisch positiv semidefinite, 9 symmetrische, 9
346
Index
Tridiagonal-, 7 untere Bidiagonal-, 8 untere Dreiecks-, 7 untere Hessenberg-, 8 unzerlegbare, 141 zerlegbare, 140 zyklische Tridiagonal-, 92 Matrixnorm, 17 Maximumnorm, 17 Mehrgitterverfahren, 328 algebraisches, 334 vollstandiges, 330, 331 minimal residual, 239 generalized, 226 MINRES-Verfahren, 239, 247 prakonditioniertes, 254 modifiziertes Arnoldi-Verfahren, 227 multigrid method, 328 algebraic, 335 full, 330 Nach-Glattung, 323 nested iteration, 330 Neunpunkt-Prolongation, 320 Neunpunkt-Restriktion, 319 nichtnegative Matrix, 9 niederfrequent, 308 no-fill Prinzip, 211 Norm, 17 £p-Norm, 17 Betragssummen-, 17 euklidische, 17 Frobenius-, 20 induzierte, 18 Matrix-, 17 Maximum-, 17 Spaltensummen-, 18 Spektral-, 18 Vektor-, 17 Zeilensummen-, 18 Normaquivalenzsatz, 42 Normalform von Jordan, 16 von Schur, 11 Normalgleichungen, 98 Normalgleichungs-Verfahren, 100 Normen Submultiplikativitat von, 20 Vertraglichkeit von, 20
normierte obere Dreiecksmatrix, 8 normierte untere Dreiecksmatrix, 8 obere Bandbreite, 9 obere Bidiagonalmatrix, 8 obere Dreiecksmatrix, 8 obere Hessenberg-Matrix, 8 ORTHODIR(m)-Verfahren, 302 ORTHODIR-Verfahren, 302 orthogonale Matrix, 9 Orthogonalraum, 5 ORTHOMIN(m)-Verfahren, 302 Ostrowski und Reich Satz von, 152 oszillatorisch, 307 overrelaxation, 162 Parlett-Reid-Aasen-Zerlegung, 82, 84, 88 PCG-Verfahren, 199, 205 Permutationsmatrix, 9 Pfeil-Matrizen, 91 Pivotelement, 56 Pivotisierung QR-Zerlegung mit, 131 Spalten-, 66 vollstandige, 66 Zeilen-, 66 Poisson-Gleichung, 27 Polynom charakteristisches, 11 Tschebyscheff-, 168, 184, 199 positiv definite Matrix, 9 positiv semidefinite Matrix, 9 positive Matrix, 9 Prakonditionierer, 205 prakonditioniertes CG-Verfahren, 199, 205 prakonditioniertes MINRES-Verfahren, 254 Projektionsmethoden, 225 Prolongation, 317 Neunpunkt-, 320 QMR-Verfahren, 261, 267 QMRCGSTAB-Verfahren, 300 QR-Zerlegung Eindeutigkeit der reduzierten, 101 mit Pivotisierung, 131
Index mittels Givens-Rotationen, 120 mittels Householder-Spiegelungen, 113 mittels schneller Givens-Rotationen, 127 reduzierte, 100 voile, 100 Quadratwurzel einer Matrix, 14 quasi minimal residual, 261 Quasi-Residuum relatives, 268 quasi-minimal residual transpose free, 288 Quotient Rayleigh-, 16 Rang einer Matrix, 2 Rayleigh-Quotient, 16 rechte Seite, 2 reduzible Matrix, 140 regulare Matrix, 4 regulares Splitting, 182 Regularisierungsverfahren, 130 relatives Quasi-Residuum, 268 Relaxationsparameter, 150 Residuum, 102 Restriktion, 317 einfache, 318 lineare, 318 Neunpunkt-, 319 Richardson-Verfahren, 182, 309 Ritz-Galerkin-Verfahren, 225 Riickwartseinsetzen, 49 Riickwartssubstitution, 49 Satz Normaquivalenz-, 42 Spektral-, 13 von Gerschgorin, 44 von Hirsch, 21 von Kahan, 151 von Ostrowski und Reich, 152 saxpy-Operation, 193 schnelle Givens-Rotation, 125 vom Typ 1, 125 vom Typ 2, 125 Schursche Normalform, 11 serious breakdown, 263 SGS-Verfahren, 164
347
simultane Spektralzerlegung, 43 Singularwerte, 43 Singularwertzerlegung, 43 smooth, 324 SOR-Verfahren, 150 Spaltenpivotisierung, 66 Spaltensummennorm, 18 Spektral-Kondition, 23 Spektralnorm, 18 Spektralradius, 21 Spektralsatz, 13 Spektralzerlegung, 13 simultane, 43 Spektrum, 21 Splitting regulares, 182 Splitting-Verfahren, 134 SSOR-Verfahren, 163 Standardzerlegung einer Matrix, 140 strikt diagonaldominant, 143 strikt diagonaldominant, 90 Submultiplikativitat von Normen, 20 successive overrelaxation, 150 symmetrisch positiv definite Matrix, 9 symmetrisch positiv semidefinite Matrix, 9 symmetrische Matrix, 9 symmetrisches GauB-Seidel-Verfahren, 164 symmetrisches SOR-Verfahren, 163 SYMMLQ-Verfahren, 249 TFQMR-Verfahren, 288, 298 transponierter Krylov-Raum, 263 transpose-free quasi-minimal residual, 288 Tridiagonalmatrix, 7 LR-Zerlegung einer, 70 zyklische, 92 TschebyschefF-Beschleunigung, 177 Tschebyscheff-Polynom, 168, 199 zweiter Art, 184 Uberrelaxation, 150 underrelaxation, 162 Ungleichung Kantorovich, 219 von Hadamard, 131 untere Bandbreite, 9
348
Index
untere Bidiagonalmatrix, 8 untere Dreiecksmatrix, 7 untere Hessenberg-Matrix, 8 Unterrelaxation, 150 unvollstandige LR-Zerlegung, 255, 256, 260 unzerlegbare Matrix, 141 Uzawa-Verfahren, 183 V-Zyklus, 326 Vektoren A-konjugiert, 190 A-orthogonal, 190 bi-orthonormale, 263 Vektornorm, 17 Verfahren algebraisches Mehrgitter-, 334 allgemeines Galerkin-, 225 Arnoldi-, 227 Bi-Lanczos-, 262 BiCG-, 269, 272 BiCGSTAB(^)-, 288 BiCGSTAB-, 282, 287 Bubnov-Galerkin-, 225 Bunch-Kaufman-Parlett-, 89 CG-, 192 CGNE-, 214 CGNR-, 212 CGS-, 278, 281 CR-, 199, 218 des steilsten Abstiegs, 219 Einzelschritt-, 146 FOM-, 234 Galerkin-, 225 Gaufi-Seidel-, 146 GCR(m)-, 302 GCR-, 301 Gesamtschritt-, 140 GMRES(m)-, 235 GMRES-, 232, 258 Gram-Schmidt-, 105 Householder-, 113 Householder-Arnoldi-, 258 Jacobi-, 140 Jacobi-Relaxations-, 335 Lanczos-, 241 Hnks-prakonditioniertes GMRES-, 251 look-ahead Lanczos-, 263
LSQR-, 216 Mehrgitter-, 328 MINRES-, 239, 247 mod. Arnoldi-, 227 mod. Gram-Schmidt-, 107 Normalgleichungs-, 100 ORTHODIR(m)-, 302 ORTHODIR-, 302 ORTHOMIN(m)-, 302 P C G - , 199, 205 prakonditioniertes CG-, 199, 205 prakonditioniertes MINRES-, 254 QMR-, 261, 267 QMRCGSTAB-, 300 Regularisierungs-, 130 Richardson-, 182, 309 Ritz-Galerkin-, 225 SGS-, 164 SOR-, 150 SpHtting-, 134 SSOR-, 163 symmetrisches GauB-Seidel-, 164 symmetrisches SOR-, 163 SYMMLQ-, 249 TFQMR-, 288, 298 Uzawa-, 183 vollstandiges Mehrgitter-, 330, 331 Zweigitter-, 323 Vertraglichkeit von Normen, 20 vollstandige Pivotisierung, 66 vollstandiges Mehrgitterverfahren, 330, 331 Vor-Glattung, 323 Vorwartseinsetzen, 48 Vorwartssubstitution, 48 W-Zyklus, 327 Zeilenaquilibrierung, 92 Zeilenpivotisierung, 66 Zeilensummenkriterium schwaches, 144 starkes, 143 Zeilensummennorm, 18 zerlegbare Matrix, 140 Zerlegung Bunch-Kaufman-Parlett-, 89 Cholesky-, 77, 80, 91 LDL'^-, 81
Index LL^-, 77 LR-, 51 Parlett-Reid-Aasen-, 82, 84, QR-, 100 reduzierte QR-, 100 simultane Spektral-, 43 Singularwert-, 43 Spektral-, 13
unvollstandige LR-, 255, 256, 260 voile QR-, 100 zero-fill Prinzip, 211 Zweigitterverfahren, 323 zyklische Tridiagonalmatrix, 92 Zyklus V-, 326 W-, 327
349