aktuelles Skript
aktuelles Skript
aktuelles Skript
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Inhaltsverzeichnis<br />
Krylov - Iterationsverfahren<br />
Bernhard Schmitt<br />
Wintersemester 2008/09<br />
1 Einleitung 3<br />
1.1 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
1.2 Das ursprüngliche Krylov-Verfahren . . . . . . . . . . . . . . . . . . . . . . 5<br />
2 Klassische Krylov-Verfahren 10<br />
2.1 Arnoldi- und GMRES-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
2.2 Lanczos-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
2.3 Idealfall Symmetrie: Das CG-Verfahren . . . . . . . . . . . . . . . . . . . . 23<br />
MINRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
2.4 Orthogonalpolynome und Fehlerschranken . . . . . . . . . . . . . . . . . . 30<br />
3 Verfahren mit kurzen Rekursionen 37<br />
3.1 BCG und QMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
3.2 CGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
3.3 BiCGStab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />
4 Ergänzungen 46<br />
4.1 Präkonditionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />
Unvollständige LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />
Iterations-Präkonditionierer . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />
Transformations-Präkonditionierer . . . . . . . . . . . . . . . . . . . . . . . 48<br />
Index 50<br />
Literatur:<br />
1. A. Greenbaum: Iterative methods for solving linear systems, SIAM Philadelphia,<br />
1997.<br />
1
INHALTSVERZEICHNIS 2<br />
2. Kelley, C.T.: Iterative methods for linear and nonlinear equations, SIAM Philadel-<br />
phia, 1995.<br />
3. Y. Saad: Iterative methods for sparse linear systems, PWS Publishing Co. 1996<br />
4. H. van der Vorst: Iterative Krylov methods for large linear systems, Cambridge<br />
Univ.Pr. 2003
1 EINLEITUNG 3<br />
1 Einleitung<br />
1.1 Normalformen<br />
Krylov-Verfahren dienen sowohl zur numerischen Lösung von großen Linearen Gleichungs-<br />
systemen<br />
Az = b, A ∈ R n×n , b, z ∈ R n , (1.1.1)<br />
als auch zur Approximation beim Eigenwertproblem (EWP)<br />
Ax = λx, A ∈ R n×n , x ∈ R n \ {0}, λ ∈ C. (1.1.2)<br />
Die (Rechts-) Eigenvektoren werden in diesem Abschnitt mit x (i) bezeichnet, die zugehöri-<br />
gen Eigenwerte mit λi. Dabei denkt man insbesondere an Größenordnungen der Dimen-<br />
sion n, wo direkte Verfahren, welche die volle n × n-Matrix speichern, nicht mehr sinnvoll<br />
einsetzbar sind.<br />
Obwohl sich die Vorlesung auf die Lösung von Gleichungssystmen konzentriert, sollen<br />
zunächst Querverbindungen zwischen Eigenwertproblem und Gleichungssystem angespro-<br />
chen werden. Außerdem wird das ursprüngliche Krylov-Verfahren vorgestellt. Die prinzi-<br />
pielle Bedeutung des EWPs besteht darin, dass sich in einer Basis von Eigenvektoren die<br />
Wirkung der linearen Abbildung x ↦→ Ax sehr einfach beschreiben läßt, sie reduziert sich<br />
nämlich auf eine einfache Streckung der Koordinaten:<br />
x =<br />
n�<br />
ξjx (j)<br />
j=1<br />
↦→ Ax =<br />
n�<br />
ξjλjx (j) .<br />
Eigenvektoren zu verschiedenen Eigenwerten sind linear unabhängig, aber leider besitzt<br />
nicht jede Matrix eine Basis von Eigenvektoren. Bei mehrfachen Eigenwerten müssen die<br />
Eigenvektoren evtl. durch Hauptvektoren mit<br />
j=1<br />
Ax (j) = λx (j) + x (j−1)<br />
zu einer Basis ergänzt werden. Setzt man alle zu einer regulären Basismatrix zusammen,<br />
bekommt man als Darstellung der Matrix die Jordan-Normalform<br />
�<br />
X := x (1) , . . . , x (n)<br />
�<br />
⇒ AX = XΛ ⇐⇒ A = XΛX −1 . (1.1.3)<br />
Dabei ist Λ im Wesentlichen die Diagonalmatrix der Eigenwerte<br />
⎛<br />
λ1<br />
⎜<br />
Λ = ⎜<br />
⎝<br />
θ1<br />
λ2 θ2<br />
. ..<br />
⎞<br />
⎟ ,<br />
⎠<br />
�<br />
= 0<br />
mit θj<br />
∈ {0, 1}<br />
wenn λj+1 �= λj<br />
wenn λj+1 = λj.<br />
λn<br />
(1.1.4)
1 EINLEITUNG 4<br />
Die Existenz von Hauptvektoren (θj �= 0) erschwert viele Überlegungen. Man nennt daher<br />
eine Matrix diagonalisierbar, wenn sie eine Basis von Eigenvektoren besitzt, also Λ =<br />
diag(λi) in (1.1.4) diagonal ist. Die Zeilen der Matrix Y ∗ := X −1 enthalten dann übrigens<br />
eine Basis von Links-Eigenvektoren mit y ∗ A = λy ∗ . Die Basen X und Y sind biorthogonal,<br />
es gilt Y ∗ X = I.<br />
Als Grundlage numerischer Algorithmen eignet sich die Jordan-Normalform kaum, da<br />
Eigenvektoren beinahe parallel sein können, was zu einer sehr schlecht konditionierten<br />
Basismatrix X führt und große Rundungsfehler zur Folge haben kann. Günstiger ist die<br />
Verwendung einer Orthonormalbasis U ∈ R n×n mit einer unitären Matrix U ∗ U = I, d.h.,<br />
U −1 = U ∗ , wobei U ∗ = Ū T .<br />
Lemma 1.1.1 (Schur-Normalform) Zu jeder Matrix A ∈ R n×n existiert eine unitäre<br />
Matrix U ∈ C n×n und eine obere Dreieckmatrix S ∈ C n×n mit<br />
A = USU ∗ , sjj = λj, j = 1, . . . , n.<br />
Beweis Zur regulären, komplexen Matrix X aus der Jordan-Normalform existiert die<br />
QR-Zerlegung X = UR mit unitärer Matrix U und regulärer Dreieckmatrix R. Damit ist<br />
A = XΛX −1 = U(RΛR −1 )U ∗<br />
die Schur-Normalform, denn S := RΛR −1 hat obere Dreieckgestalt mit Diagonalelementen<br />
sjj = rjjλj/rjj = λj.<br />
An der Schur-Normalform liest man auch sofort ab, dass bei einer reell symmetrischen<br />
(hermiteschen) Matrix S = diag(λi) ∈ R n×n gilt, die EWe sind reell, die EVen bilden eine<br />
Orthonormalbasis.<br />
Wenn eine der Normalformen von A bekannt sind, können damit natürlich auch Lineare<br />
Gleichungssysteme gelöst werden:<br />
Az = XΛX −1 z = b ⇒ z = XΛ −1 (X −1 b)<br />
Az = USU ∗ z = b ⇒ z = US −1 (U ∗ b).<br />
(1.1.5)<br />
Die geklammerten Vektoren enthalten dabei gerade die Koeffizienten der entsprechen-<br />
den Basisentwicklung. Es ist natürlich nicht sinnvoll das (relativ einfache) Problem Glei-<br />
chungssystem über das schwierigere EWP zu behandeln. Allerdings bestimmen Krylov-<br />
Verfahren ”abgemagerte” Darstellungen bzw. Modelle der Matrix A, welche niederen Rang<br />
besitzen. Dabei kann man sich an der Jordan- oder Schur-NF orientieren. Bei der Jordan-<br />
form betrachtet man die Basismatrix Vk ∈ C n×k eines k-dimensionalen Unterraums. Dazu<br />
existiert natürlich keine Inverse, aber eine Komplementärbasis Wk ∈ C n×k mit W ∗ k Vk = Ik<br />
(Bi-Orthogonalsystem). Wenn die Spalten von Vk = Uk eine Orthonormalbasis bilden, gilt
1 EINLEITUNG 5<br />
das natürlich mit Wk = Uk = Vk. Als Verfahrensgrundlage für Gleichungsysteme orientiert<br />
man sich an (1.1.5), wenn ein Modell niederen Rangs für A vorliegt in der Form VkTkW ∗ k<br />
bzw. UkHkU ∗ k , erwartet man<br />
A ∼ = VkTkW ∗ k , W ∗ k Vk = Ik ⇒ z ∼ = VkT −1<br />
k W ∗ k b,<br />
A ∼ = UkHkU ∗ k , U ∗ k Uk = Ik ⇒ z ∼ = UkH −1<br />
k U ∗ k b,<br />
(1.1.6)<br />
wenn die quadratischen Modellmatrizen Tk, Hk regulär sind. Diese Matrizen Tk und Hk be-<br />
sitzen meist nur noch annähernd Diagonal- bzw. Dreieckgestalt. Ein Merkmal von Krylov-<br />
Verfahren ist auch, dass die Basen Vk induktiv über k aufgebaut werden, sodass tatsächlich<br />
eine (endliche) Folge von Lösungsapproximationen berechnet werden kann. Für große Di-<br />
mensionen n interessiert man sich dabei für die Genauigkeit der Approximationen schon<br />
für k ≪ n. Daher kommt die Bezeichnung Krylov-Iterationsverfahren.<br />
Abschließend seien im Zusammenhang mit den Eigenwerten noch der Spektralradius<br />
ϱ(A) := max{|λi| : i = 1, . . . , n} und die Spektral-Kondition ˆκ(A) = ϱ(A)ϱ(A −1 ) für<br />
reguläre Matrizen eingeführt.<br />
1.2 Das ursprüngliche Krylov-Verfahren<br />
Das von Alexei Nikolajewitsch Krylov (1863-1945) vorgeschlagene Verfahren dient zur<br />
Bestimmung der Koeffizienten αj des charakteristischen Polynoms<br />
p(λ) := det(λI − A) =<br />
n�<br />
αjλ j<br />
j=0<br />
(1.2.1)<br />
der Matrix A (αn = 1). Über dessen Nullstellen bekommt man (theoretisch) die Eigen-<br />
werte von A. Hintergrund ist das Theorem von Cayley-Hamilton, das besagt, dass jede<br />
Matrix durch ihr eigenes charakteristisches Polynom anulliert wird,<br />
p(A) = 0 mit (1.2.1).<br />
Tatsächlich gilt diese Aussage schon mit dem Minimalpolynom der Matrix A, dessen Grad<br />
bei mehrfachen EWen kleiner als n sein kann. Die Aussage p(A) = 0 bleibt natürlich auch<br />
bei Multiplikation mit einem beliebigen Vektor v �= 0 erhalten,<br />
0 = p(A)v =<br />
n�<br />
j=0<br />
αjA j v = α0v + α1Av + α2A 2 v + . . . + A n v (1.2.2)<br />
=<br />
⎛<br />
�<br />
v, Av, A 2 v, . . . , A n−1 � ⎜<br />
v ⎜<br />
⎝<br />
α0<br />
α1<br />
.<br />
αn−1<br />
⎞<br />
⎟<br />
⎠ + Anv.
1 EINLEITUNG 6<br />
Wenn also die Krylov-Matrix Kn mit<br />
�<br />
Kk = v, Av, A 2 v, . . . , A k−1 �<br />
v ∈ R n×k , 1 ≤ k ≤ n, (1.2.3)<br />
für k = n vollen Rang besitzt, kann man die charakteristischen Koeffizienten αi aus dem<br />
Linearen Gleichungssystem (1.2.2) berechnen. Die Regularitätsannahme an die Matrix Kn<br />
ist nicht unrealistisch, denn wenn v = � n<br />
j=1 ηjx (j) = Xη die Eigenvektor-Entwicklung des<br />
Startvektors v ist, gilt bei einer diagonalisierbaren Matrix A wegen A k X = XΛ k , dass<br />
� �n<br />
Kn =<br />
i=1<br />
ηiλ j<br />
i x(i)<br />
�<br />
⎛<br />
⎜<br />
= Xdiag(ηi) ⎝<br />
1 λ1 λ2 1 . . . λ n−1<br />
1<br />
.<br />
.<br />
1 λn λ 2 n . . . λ n−1<br />
n<br />
⎞<br />
⎟<br />
⎠ . (1.2.4)<br />
Der letzte Faktor ist eine VanderMonde-Matrix, welche tatsächlich regulär ist bei n verschiedenen<br />
EWen. Wenn der Grad m des Minimalpolynoms µ(λ) = � m<br />
j=0 µjλ j von A aber<br />
kleiner als n ist, kann der Rang der Krylovmatrix diesen nicht übersteigen:<br />
µ(A) =<br />
m�<br />
µjA j = 0 ⇒ Rang Kk ≤ m. (1.2.5)<br />
j=0<br />
Für die Regularität von Kn müssen aber auch die Entwicklungskoeffizienten ηi �= 0∀i =<br />
1, . . . , n nichttrivial sein, also an dem Startvektor v alle EVen einen nichttrivialen Bei-<br />
trag beisteuern. Der Rang von Kk ist auch durch die Anzahl r der Koeffizienten ηi �= 0<br />
beschränkt, insgesamt ist<br />
Rang Kk ≤ min{m, r}.<br />
Anwendungen bei bekanntem Minimalpolynom (1.2.5):<br />
• Bestimmung von Eigenwerten: Alle Eigenwerte λi der Matrix A sind Nullstellen,<br />
µ(λi) = 0.<br />
• Lösung von Gleichungssystemen Ax = b: Für µ0 �= 0 folgt aus (1.2.5)<br />
0 = µ(A)b =<br />
m�<br />
j=0<br />
µjA j b ⇒ z = A −1 b = − 1<br />
µ0<br />
m−1 �<br />
j=0<br />
µj+1A j b, (1.2.6)<br />
die Lösung ist also darstellbar als Matrixpolynom µ[0, A]b vom Grad m − 1 mit der<br />
dividierten Differenz µ[0, λ] = (µ(0) − µ(λ))/(0 − λ) = � 1<br />
0 µ′ (λt)dt. Damit lassen<br />
sich Fehleraussagen auf den Vergleich von Polynomen zurückführen.<br />
Tatsächlich ist aber dieses ursprüngliche Krylov-Verfahren, außer bei sehr kleinen Di-<br />
mensionen, numerisch unbrauchbar aus folgenden Gründen:
1 EINLEITUNG 7<br />
• Die Kondition der Krylov-Matrix Kn ist oft sehr schlecht. Die Größenordnung der<br />
Vektoren A k−1 v wächst wie ϱ(A) k−1 mit dem Spektralradius ϱ(A). Beiträge von<br />
kleineren Eigenwerten |λi| ≪ ϱ(A) wirken sich daher nur in den hinteren Stellen der<br />
Zahldarstellung aus oder fallen bei starken Größenunterschieden ganz unter das Run-<br />
dungsniveau. Dann werden die Krylovvektoren A k−1 v numerisch linear abhängig.<br />
Durch unterschiedlich große Koeffizienten ηi kann sich dieses Problem verschärfen.<br />
Bei schlechter Kondition von Kn weisen aber die berechneten Koeffizienten αi große<br />
Fehler auf und verschärfen das folgende Problem.<br />
• Das charakteristische Polynom eignet sich nicht zur numerischen Berechnung der<br />
Eigenwerte! Der Grund ist die empfindliche Abhängigkeit der Nullstellen bei Stö-<br />
rung der Koeffizienten insbesondere für mehrfache Nullstellen oder höhere Polynom-<br />
Grade. Das sieht man etwa beim speziellen Polynom<br />
p20(t) =<br />
20�<br />
j=1<br />
�20<br />
(t − j) = ait i .<br />
Eine relative Änderung des Koeffizienten a15 wirkt sich um den Faktor 10 14 verstärkt<br />
auf einzelne (nicht-extremale) Nullstellen aus! Da nach der vorherigen Bemerkung<br />
bei den charakteristischen Koeffizienten αi aber mit merklichen Fehlern zu rechnen<br />
ist, kann man für die EWe i.d.R. keine akzeptable Genauigkeit mehr erwarten.<br />
Beispiel 1.2.1 Das Verfahren wird auf die Matrix<br />
⎛<br />
86 −57.5 66<br />
⎞<br />
−83.5<br />
⎜ −2<br />
A = ⎜<br />
⎝ −6<br />
44.75<br />
32.5<br />
−33<br />
−22<br />
7.75<br />
6.5<br />
⎟<br />
⎠<br />
i=0<br />
50 −37.75 45 −52.75<br />
mit den Eigenwerten −2, 2, 24, 32 und dem charakteristischen Polynom p(λ) = λ 4 −56λ 3 +<br />
764λ 2 +224λ−3072 angewendet. Bei exakter Rechnung mit Startvektor v := (1, 1, −1, 1) T<br />
hat das Krylovsystem die Form<br />
⎛<br />
1 −121 −4438<br />
⎞ ⎛<br />
−172372<br />
⎜ 1<br />
⎜<br />
⎝ −1<br />
167<br />
2<br />
55<br />
1501<br />
1674<br />
3622<br />
24172<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎠ ⎝<br />
1 − 171<br />
2<br />
−2217 −86286<br />
α0<br />
α1<br />
α2<br />
α3<br />
⎞<br />
⎟<br />
⎠ +<br />
⎛ ⎞<br />
−6232024<br />
⎜ −959564<br />
⎟<br />
⎜ ⎟ = 0.<br />
⎝ 59304 ⎠<br />
−3116004<br />
Wegen der einfachen Zahlen dürfte das Ergebnis auch bei numerischer Rechnung ähnlich<br />
aussehen. Die numerische Lösung des Systems (Maple, 8 Stellen) liefert das Polynom<br />
p(λ) = λ 4 − 56.000001λ 3 + 764.0002λ 2 + 224.008λ − 3071.6 und dessen Nullstellen ˜ λi =<br />
−1.9998421, 1.9998912, 24.000152, 31.999899, die teilweise nur auf 4 Stellen genau sind.
1 EINLEITUNG 8<br />
Historisch hatte das ursprüngliche Krylov-Verfahren daher nur eine geringe Bedeutung.<br />
Mit fortschreitender Computer-Entwicklung und dem Bedarf an Matrix-Algorithmen für<br />
immer größere Dimensionen wuchs das Interesse an der Klasse von Krylov-Verfahren aber<br />
wieder. Das gemeinsame Prinzip moderner Krylov-Verfahren ist tatsächlich die Verwen-<br />
dung von Krylov-Räumen<br />
Kk(A, v) := span{v, Av, A 2 v, . . . , A k−1 v}, (1.2.7)<br />
wobei man jedoch durch Verwendung anderer Basen den direkten Umgang mit der Krylov-<br />
Matrix (1.2.3) vermeidet. Natürlich ist Kk(A, v) = Rg(Kk). Die Krylovräume sind ge-<br />
schachtelt, Kk(A, v) ⊆ Kk+1(A, v), aus ihrem Aufbau folgt auch die triviale, aber wichtige<br />
Identität<br />
AKk(A, v) ⊆ Kk+1(A, v). (1.2.8)<br />
Die Attraktivität moderner Krylov-Verfahren hat folgende Gründe:<br />
1. Der schrittweise Aufbau der Krylov-Basis A k v = A(A k−1 v) erfordert nur je eine<br />
Multiplikation mit der Matrix/Abbildung A. Bei großen Problemen ist die Matrix<br />
oft dünn besetzt und hat wesentlich weniger als n 2 Einträge. Bei der Multiplikation<br />
x ↦→ Ax kann man dies auf triviale Weise zur Effizienzsteigerung berücksichtigen.<br />
Es muß auch tatsächlich nur diese Abbildung als Software implementiert werden,<br />
die zugehörige Matrix A selbst wird nicht benötigt. Dies ist ein Vorteil etwa, wenn<br />
komplexe Datenstrukturen verwendet werden, oder wenn A nicht explizit bekannt<br />
ist. Bei nichtlinearen Problemen etwa kann man im Newton-Verfahren die Wir-<br />
kung der Ableitungsmatrix A = f ′ (x) durch Differenzenquotienten approximieren<br />
(”Matrix-freie” Verfahren),<br />
Av =<br />
f(x + εv) − f(x)<br />
ε<br />
+ O(ε�v� 2 ). (1.2.9)<br />
Einige Krylovverfahren benötigen auch die transponierte Abbildung y ↦→ A T y. Hier<br />
läßt sich zwar noch die dünne Besetzung ausnutzen, die Implementierung erfordert<br />
aber zusätzlichen Aufwand beim Anwender, eine Approximation wie in (1.2.9) ist<br />
nicht möglich. Daher bevorzugt man Verfahren ohne Transponierte.<br />
2. Die Tatsache, dass der Krylov-Raum Kn(A, v) nicht die volle Dimension n erreicht,<br />
wenn nur r < n Koeffizienten ηi �= 0 sind in (1.2.4), kann bei Gleichungssystemen<br />
auch Vorteile bringen. Hat nämlich die rechte Seite b = Xη nur r nichttriviale Koef-<br />
fizienten in der EV-Basis X, gilt (1.2.6) mit Grad r, also z ∈ Kr(A, b) und geeignete<br />
Algorithmen brechen zwar vorzeitig, aber mit der exakten Lösung z ab (”günstiger<br />
Abbruch”, ”lucky breakdown”). Die Verfahren werden im Folgenden dabei immer
1 EINLEITUNG 9<br />
mit dieser rechten Seite b formuliert, eine Standardmethode zur Berücksichtigung<br />
einer Startnäherung x (0) ist aber der Übergang zum äquivalenten System<br />
A(x − x (0) ) = b − Ax (0) ,<br />
welches möglicherweise einen kleineren Startdefekt �b − Ax (0) � ≪ �b� besitzt und<br />
mit weniger Iterationen gelöst werden kann.<br />
3. Elemente x ∈ Kk(A, v) sind Linearkombinationen der Form x = �k j=1 ξjAj−1v =<br />
� �<br />
�k<br />
j−1 ξjA v = qk−1(A)v mit einem Polynom qk−1 von Grad k − 1, kurz qk−1 ∈<br />
j=1<br />
Pk−1. Daher ist also auch<br />
Kk(A, v) = {qk−1(A)v : qk−1 ∈ Pk−1}. (1.2.10)<br />
In diesem Zusammenhang sind die Rechenregeln für Ähnlichkeitstransformationen<br />
interessant. Analog zu (1.1.5) gilt etwa für die Jordan-Normalform auch A k =<br />
XΛ k X −1 und somit<br />
v = Xη ⇒ qk−1(A)v = Xqk−1(Λ)η.<br />
Wenn Λ diagonal ist, ist dies auch qk−1(Λ) = diag(qk−1(λi)). Mit Minimaleigenschaf-<br />
ten einiger Krylovverfahren lassen sich daher Fehlerschranken aus den Approxima-<br />
tionseigenschaften von Polynomen auf der Menge aller Eigenwerte in C herleiten,<br />
vgl. (1.2.6). Diese Querverbindung stellt ein mächtiges Hilfsmittel für die Analyse<br />
dar, welche wesentliche Einsichten in das Konvergenzverhalten von Krylovverfahren<br />
und damit Hinweise für deren Einsatz liefert.<br />
Die im Folgenden behandelten Krylov-Verfahren unterscheiden sich zunächst in der Art<br />
der verwendeten Basen, vgl. (1.1.6). Im unsymmetrischen Fall besitzen die robusten<br />
Grundverfahren aber auch Nachteile, wie einen mit der Krylovdimension k stark anwach-<br />
senden Rechenaufwand oder das Risiko eines vorzeitigen Abbruchs abseits der Lösung.<br />
Neuere Verfahren versuchen diese praktischen Nachteile zu umgehen, müssen dabei aber<br />
wesentliche theoretische Eigenschaften der Grundverfahren aufgeben.
2 KLASSISCHE KRYLOV-VERFAHREN 10<br />
2 Klassische Krylov-Verfahren<br />
Die beiden Verfahren, die in diesem Abschnitt besprochenen werden, entstanden um 1950<br />
und unterscheiden sich in der Frage, ob allgemeine oder Orthonormal-Basen verwendet<br />
werden, vgl. (1.1.6).<br />
2.1 Arnoldi- und GMRES-Verfahren<br />
Das Arnoldi-Verfahren (Quart.Appl.Math., 1951) kombiniert sehr geschickt die Multipli-<br />
kation mit der Matrix A und den Einsatz der Gram-Schmidt-Orthogonalisierung für den<br />
Aufbau einer Orthonormalbasis für Kk(A, v). Tatsächlich verwendet das Verfahren die<br />
Orthonormalbasis einer QR-Zerlegung UkRk = Kk für die Matrix aus (1.2.3) ohne die nu-<br />
merisch ungünstige Berechnung der Krylov-Vektoren A k−1 v. Der erste Basisvektor zeigt<br />
natürlich in Richtung von v, wenn Uk = (u (1) , . . . , u (k) ) ∈ R n×k der orthogonale Faktor<br />
dieser QR-Zerlegung ist, gilt mit β = �v�2 auch v = βu (1) = βU1 = βUke (1) . Mit einer<br />
oberen Dreieckmatrix Rk ∈ Rk×k gilt daher<br />
�<br />
UkRk = v, Av, A 2 v, . . . , A k−1 �<br />
v<br />
�<br />
= β Uke (1) , AUke (1) , A 2 Uke (1) , . . . , A k−1 Uke (1)<br />
�<br />
.<br />
(2.1.1)<br />
Also spannt Uk den Krylovraum auf, Rg(Uk) = Kk(A, v). Wegen (1.2.8) lassen sich die<br />
Spalten von AUk durch die von Uk+1 darstellen,kurz Rg(AUk) ⊆ Rg(Uk+1). Also existiert<br />
eine Matrix ¯ Hk ∈ R (k+1)×k mit<br />
AUk = Uk+1 ¯ Hk ⇒ ¯ Hk = U T k+1AUk. (2.1.2)<br />
Spaltenweise angewandt zeigt das Argument, dass gilt<br />
Au (j) ∈ Rg(Uj+1) ⇒ hij = 0∀i > j + 1.<br />
Daher besitzen alle Matrizen ¯ Hk Hessenberg-Form<br />
⎛<br />
h11<br />
⎜ h21<br />
¯Hk<br />
⎜<br />
= ⎜<br />
⎝<br />
h12<br />
h22<br />
h32<br />
. . .<br />
. . .<br />
. ..<br />
. ..<br />
h1k<br />
h2k<br />
.<br />
⎞<br />
⎟ �<br />
⎟ Hk<br />
⎟ =<br />
⎟ 0 . . . 0 hk+1,k<br />
⎠<br />
hk+1,k<br />
�<br />
. (2.1.3)<br />
Die quadratische Untermatrix Hk = U T k AUk hat auch Hessenbergform. Diese Gestalt folgt<br />
auch aus der Multiplikation von (2.1.1) mit U T k<br />
Rk =<br />
�<br />
β<br />
�<br />
= β<br />
, da<br />
e (1) , U T k AUke (1) , U T k A 2 Uke (1) , . . . , U T k A k−1 Uke (1)<br />
e (1) , Hke (1) , H 2 ke (1) , . . . , H k−1<br />
k<br />
e (1)<br />
�<br />
�<br />
(2.1.4)
2 KLASSISCHE KRYLOV-VERFAHREN 11<br />
obere Dreieckstruktur besitzt. Tatsächlich betrifft der Index k bei Uk und ¯ Hk nur die<br />
Dimension, bekannte Elemente werden nicht mehr verändert. Mit (2.1.3) läßt sich die<br />
Darstellung (2.1.2) auch ausführlicher schreiben<br />
AUk = UkHk + hk+1,ku (k+1) e (k)T<br />
Au (k) = k�<br />
⇒<br />
�<br />
u<br />
i=1<br />
(i) hik + hk+1,ku (k+1) = k+1<br />
u<br />
i=1<br />
(i) hik.<br />
(2.1.5)<br />
Zusammen mit der Orthonormalität dient diese Identität zur Konstruktion von u (k+1) und<br />
ist Grundlage des Arnoldi-Verfahrens.<br />
Satz 2.1.1 (Arnoldi-Verfahren) Gegeben sei A ∈ R n×n und v ∈ R n \ {0}. Beginnend<br />
mit d := v und h10 := �v�2 wird für j = 1, 2, . . . und solange hj,j−1 �= 0 ist, berechnet:<br />
u (j)<br />
:= d/hj,j−1, d := Au (j) ,<br />
d := d − u (i) hij, mit hij := u (i)T d, i = 1, . . . , j (2.1.6)<br />
hj+1,j := �d�2.<br />
Wenn dieser Algorithmus über k Schritte durchführbar war, dann gelten für die Matrizen<br />
Uk = (u (1) , . . . , u (k) ) und Hk := (hij) k<br />
i,j=1<br />
folgende Aussagen:<br />
Rg(Uk) = Kk(A, v), U T k Uk = Ik, Hk = U T k AUk ist Hessenberg-Matrix,<br />
und es gilt (2.1.5).<br />
Bemerkung: 1) In der ersten Zeile von (2.1.6) wird der Restvektor d zu u (j) normiert und<br />
erst dann mit A multipliziert. Die zweite Zeile verwendet die modifizierte Gram-Schmidt-<br />
Orthogonalisierung, bei der die Innenprodukte mit dem aktuellen Restvektor gebildet<br />
werden entsprechend der rechten Seite der Identität<br />
�<br />
I −<br />
j�<br />
i=1<br />
u (i) u (i)T�<br />
d =<br />
j�<br />
i=1<br />
�<br />
I − u (i) u (i)T�<br />
d.<br />
Dies verringert die Empfindlichkeit gegen Rundungsfehler. Es ist auch eine Variante zur<br />
Orthogonalisierung mit Householder-Spiegelungen bekannt [Walker, 1988].<br />
2) Für hk+1,k = 0 bricht der Algorithmus und damit der Aufbau der Basis U ab. In diesem<br />
Fall gilt in (2.1.5)<br />
AUk = UkHk ⇒ AKk(A, v) ⊆ Kk(A, v),<br />
also ist RgUk = Kk(A, v) ein invarianter Unterraum von A und alle Eigenwerte von<br />
Hk sind EWe von A. Welche Auswirkungen ein solcher Abbruch (”breakdown”) auf die<br />
Lösung von Gleichungssystemen hat, ist eine wichtige Frage bei Krylovverfahren.
2 KLASSISCHE KRYLOV-VERFAHREN 12<br />
Beweis Die zweite Zeile in (2.1.6) berechnet bei exakter Rechnung den Restvektor<br />
d = (I − UjU T J )Au (j) = Au (j) −<br />
Hier sieht man, dass d im nächsten Krylovraum liegt,<br />
j�<br />
i=1<br />
u (i) u (i)T Au (j) .<br />
d ∈ AKj(A, v) + Kryj(A, v) ⊆ Kj+1(A, v)<br />
und sogar orthogonal ist zum aktuellen, d ⊥ Rg(Uj) = Kj(A, v). Für d �= 0 wächst daher<br />
die Dimension um eins und d = hj+1,ju (j+1) bestätigt (2.1.5).<br />
Der j-te Schritt im Algorithmus (2.1.6) besteht aus einer Matrix-Vektor-Multiplikation<br />
und j Innenprodukten, sowie Linearkombinationen. Durch Summation über k Schritte<br />
erhält man daher den Rechenaufwand für (2.1.5):<br />
k MV-Multiplikationen + k 2 n FLOP. (2.1.7)<br />
Insbesondere wächst der Aufwand quadratisch mit der Iterationszahl. Dies ist der Anlaß<br />
zur Betrachtung alternativer Verfahren.<br />
Die Lösung des Gleichungssystems Ax = b kann man durch Näherungen x (k) ∈ Kk(A, v)<br />
approximieren. Mit dem Ansatz x (k) = Uky (k) , y (k) = (y1, . . . , yk) T ∈ R k erhält man mit<br />
(2.1.5) folgendes Residuum<br />
b − Ax (k) = b − AUky (k) = b − Uk+1 ¯ Hky (k) = b − UkHky (k) − hk+1,kyku (k+1) .<br />
Hier sieht man, dass man den Bildpunkt b nur dann gut darstellen kann, wenn er im<br />
Krylovraum Kk+1(A, v) liegt. Dieses ist trivialerweise für alle k dadurch möglich, dass<br />
man die Krylovräume mit Startvektor b aufbaut, b = βu (1) = βUke (1) . Mit Rg(Uk+1) =<br />
Kk+1(A, b) hat das Residuum also die einfachere Gestalt<br />
res := b−Ax (k) � (1) βe − Hky<br />
= Uk+1<br />
(k) �<br />
−hk+1,ky (k)<br />
k<br />
= Uk(βe (1) −Hky (k) )−hk+1,ky (k)<br />
k u(k+1) , (2.1.8)<br />
und das Ziel von Verfahren ist, dieses ”klein” zu machen. Dazu gibt es zwei verschiedene<br />
Strategien:<br />
OrthoRes Man vernachlässigt den Term mit u (k+1) und löst das quadratische System<br />
Hky (k) = βe (1) . Dies macht durchaus Sinn, wegen u (k+1) ⊥ Kk(A, b) entspricht dieses<br />
Vorgehen dem bekannten Galerkin-Verfahren<br />
x (k) ∈ Kk(A, b) : b − Ax (k) ⊥ Kk(A, b). (2.1.9)<br />
Wenn die Lösung x (k) = Uky (k) existiert, ist das Residuum orthogonal zum Kry-<br />
lovraum, seine Größe ist hier<br />
�resArn�2 = �b − Ax (k) �2 = hk+1,k|y (k)<br />
k |.
2 KLASSISCHE KRYLOV-VERFAHREN 13<br />
MinRes Man minimiert das Residuum (2.1.8)<br />
x (k) = argmin{�b − Ax�2 : x ∈ Kk(A, b)}. (2.1.10)<br />
Nach Pythagoras wird das Minimum dort angenommen, wo b − Ax (k) ⊥ AKk(A, b)<br />
gilt, also eine Petrov-Galerkin-Bedingung. Wegen der Orthonormalität der Basis<br />
Uk+1 ist �Uk+1r�2 = �r�2 ∀r ∈ R k+1 und (2.1.10) entspricht für x (k) = Uky (k) der<br />
Minimierung durch<br />
y (k) �<br />
= argmin<br />
Die Graphik veranschaulicht die Situation der Re-<br />
siduen im Bildraum für beide Bedingungen mit<br />
b ∈ Kk(A, b). Bei OrthoRes wird die Lösung<br />
durch res ⊥ Kk(A, b), bei MinRes durch res ⊥<br />
AKk(A, b) bestimmt. Die Kreise bezeichnen die<br />
Bilder Ax (k) der jeweiligen Näherung. Offensicht-<br />
lich spielen in beiden Fällen Orthogonalprojektio-<br />
nen eine Rolle. Damit arbeitet auch der folgende<br />
allgemeine Satz.<br />
�βe (1) − Hky� 2 2 + h 2 k+1,k|yk| 2 : y ∈ R k<br />
✻<br />
�<br />
.<br />
AKk<br />
✘ ✲<br />
✘✘✘✘✘ ✘✘✘ ✘✘✘ ✘✘✘✘✿ Kk<br />
�<br />
�<br />
�<br />
�<br />
�<br />
�<br />
�<br />
�<br />
�<br />
� ���✒<br />
Ax<br />
MinRes ❜<br />
❅<br />
❅<br />
❅<br />
❅�<br />
b<br />
(k)<br />
❈<br />
❈<br />
❈<br />
❈<br />
❈<br />
❈<br />
OrthoRes<br />
❜<br />
Satz 2.1.2 Das Gleichungssystem mit regulärer Matrix A ∈ R n×n und b ∈ R n besitze<br />
die Lösung ˆx. Mit Unterräumen S, S ′ ⊆ R n wird eine Näherungslösung durch folgende<br />
Petrov-Galerkin-Bedingung definiert<br />
˜x ∈ S : b − A˜x ⊥ S ′ .<br />
Es sei P ein Projektor auf den Raum S und P ′ ein Projektor mit Kern (S ′ ) ⊥ . Dann hat<br />
jede solche Näherung die Darstellung ˜x = Πˆx mit einem (Schief-) Projektor Π und für<br />
den Fehler ˆx − ˜x = (I − Π)ˆx gelten die Gleichungen<br />
P ′ AP (ˆx − ˜x) = −P ′ A(I − P )ˆx, (I − P )(ˆx − ˜x) = (I − P )ˆx.<br />
Bemerkung: a) Die beiden Fehleranteile P (x − ˆx) im Unterraum S und (I − P )(x − ˆx)<br />
in S ⊥ werden durch jeweils eine Gleichung charakterisiert. Auf den rechten Seiten tritt<br />
dabei vor allem (I − P )ˆx auf, sodass der Fehler i.w. durch den Abstand �(I − P )ˆx� der<br />
exakten Lösung vom Unterraum S bestimmt wird.<br />
b) Bei Galerkin-Verfahren ist S ′ = S. Dann und auch allgemein kann unter einfachen<br />
Zusatzvoraussetzungen P ′ = P T gewählt werden (mit S = Rg(P ), S ′ = Rg(P T )).<br />
Beweis Die Galerkinbedingung ist äquivalent mit P ′ (b − A˜x) = 0 und die Bedingung<br />
˜x ∈ S kann durch P ˜x = ˜x beschrieben werden. Daraus folgt<br />
0 = P ′ (b − A˜x) = P ′ A(ˆx − ˜x) = P ′ AP (ˆx − ˜x) + P ′ A(I − P )ˆx,
2 KLASSISCHE KRYLOV-VERFAHREN 14<br />
also die Darstellung für den Fehleranteil P (˜x− ˆx). Die für das Komplement (I −P )(˜x− ˆx)<br />
ist trivial. Die Zuordnung ˆx ↦→ e := ˆx − ˜x durch P AP P e = −P ′ A(I − P )ˆx, (I − P )e =<br />
(I − P )ˆx ist tatsächlich ein Projektor (wenn existent!), da idempotent. Denn für eine<br />
weitere Lösung f ∈ R n mit (I−P )f = (I−P )e, P AP P f = −P ′ A(I−P )e = −P ′ A(I−P )ˆx<br />
gilt offensichtlich f = e.<br />
Konkrete Darstellungen dieser Aussagen werden bei den einzelnen Verfahren angegeben.<br />
Die OrthoRes-Strategie führt auf die auch Arnoldi-Verfahren oder ”Full Orthogonalization<br />
Method” genannte Methode.<br />
Satz 2.1.3 (FOM) Die Matrix A ∈ R n×n sei regulär und b ∈ R n . Wenn das Arnoldi-<br />
Verfahren (2.1.6) mit Startvektor b = βu (1) bis zum Schritt k durchführbar war, und die<br />
Matrix Hk = U T k AUk regulär ist, hat die Galerkin-Näherung x (k) = Uky (k) die Form<br />
y (k) = βH −1<br />
k e(1) mit �resArn�2 = �b − Ax (k) � = hk+1,k|y (k)<br />
k |.<br />
Mit Pk = UkU T k und νk := �H −1<br />
k U T k A(I − Pk)�2 gilt die Fehleraussage<br />
�x (k) − ˆx�2 ≤<br />
�<br />
1 + ν 2 k �(I − Pk)ˆx� =<br />
Beweis Mit x (k) = Uky (k) entspricht (2.1.9) der Identität<br />
�<br />
1 + ν 2 k min{�ˆx − x�2 : x ∈ Kk(A, b)}.<br />
0 = U T k (AUky (k) − b) = Hky (k) − βe (1) ,<br />
welche die ersten Behauptungen zeigt. Jetzt werden die Größen aus Satz 2.1.2 explizit<br />
konstruiert. Dazu wird die ONB Uk ∈ R n×k durch U ′ k ∈ Rn×(n−k) ergänzt zu einer unitären<br />
Matrix (Uk, U ′ k ), wobei U ′ k e(1) = u (k+1) sei, wenn hk+1,k �= 0 ist. Damit entspricht (2.1.5)<br />
der Identität<br />
(Uk, U ′ k) T A(Uk, U ′ �<br />
Hk Bk<br />
k) =<br />
Ck Dk<br />
�<br />
, Ck = hk+1,ke (1) e (k)T . (2.1.11)<br />
Der untere Block Ck enthält nur ein einziges nichttriviales Element hk+1.k. Die exakte<br />
Lösung ˆx = Uk ˆy + U ′ k<br />
� � �<br />
Hk Bk ˆy<br />
Ck Dk<br />
ˆz erfüllt daher das System<br />
� � (1) �<br />
βe<br />
=<br />
ˆz 0<br />
Mit z (k) = 0 und dem Orthogonalprojektor P = UkU T k<br />
der Fehleraussage von Satz 2.1.2. Es folgt<br />
� (k) �<br />
ˆy − y<br />
ˆx − x (k) = (Uk, U ′ k)<br />
= (Uk, U ′ k)<br />
⇒ ˆy = βH −1<br />
k e(1) − H −1<br />
k Bkˆz = y (k) − H −1<br />
k Bkˆz.<br />
ˆz<br />
� −H −1<br />
k Bk<br />
I<br />
ist dies eine sparsamere Version<br />
= (Uk, U ′ � −1<br />
0 −Hk k)<br />
Bk<br />
�<br />
(U ′ k) T ˆx.<br />
0 I<br />
� � �<br />
ˆy<br />
ˆz<br />
(2.1.12)
2 KLASSISCHE KRYLOV-VERFAHREN 15<br />
Mit νk = �H −1<br />
k Bk�2 = �H −1<br />
k U T k A(I − P )�2 und �ˆz�2 = �(U ′ k )T ˆx�2 = �(I − P )ˆx�2 folgt<br />
die Fehlerschranke.<br />
Bemerkung: 1) Die Regularität der Matrix Hk muß hier explizit gefordert werden um<br />
die Näherung x (k) berechnen zu können. Allerdings beeinträchtigt dies das Verfahren nur<br />
unwesentlich, die nächste Näherung x (k+1) ist i.d.R. wieder wohldefiniert. Nur für hk+1,k =<br />
0 bricht das Verfahren ab, allerdings mit resArn = 0 und daher der exakten Lösung<br />
(günstiger Abbruch, lucky breakdown). Man beachte, dass zur Berechnung des Residuums<br />
nur nur der Komponentenvektor y (k) ∈ R k benötigt wird, die aufwändige Berechnung der<br />
Näherung x (k) = Uky (k) ∈ R n führt man nur einmal am Ende des Verfahrens durch.<br />
2) An der Darstellung (2.1.12) liest man die Gestalt des Projektors aus Satz 2.1.2 ab:<br />
x (k) = Πˆx, Π = (Uk, U ′ �<br />
I<br />
k)<br />
−1<br />
Hk Bk<br />
0<br />
� � T Uk 0<br />
�<br />
.<br />
(U ′ k )T<br />
nur für kleines νk ist Π nahezu symmetrisch, d.h. orthogonal. Ein großes νk ≫ 1 be-<br />
deutet eine starke Asymmetrie bzw. Nichtnormalität der Matrix A. Dies ist generell eine<br />
schwierigere Stuation.<br />
Die Verwendung der MinRes-Strategie beim Arnoldi-Prozess von 1952 wurde erst 1986<br />
von Saad und Schultz vorgeschlagen als ”Generalized Minimal RESidual method”.<br />
Satz 2.1.4 (GMRES-Verfahren) Die Matrix A ∈ R n×n sei regulär und b ∈ R n . Wenn<br />
das Arnoldi-Verfahren (2.1.6) mit Startvektor b = βu (1) bis zum Schritt k durchführbar<br />
war, ist die MinRes-Lösung<br />
x (k) ∈ Kk(A, b) : rk := �b − Ax (k) �2 = min{�b − Ax�2 : x ∈ Kk(A, b)}<br />
wohldefiniert, die Residuen fallen monoton, r1 ≥ r2 ≥ . . . ≥ rk und es gilt<br />
rk = min{�qk(A)b�2 : qk ∈ Pk, qk(1) = 0}.<br />
Beweis Für reguläres A hat ¯ Hk maximalen Rang k, daher existiert eine eindeutige<br />
Kleinste-Quadrate-Lösung<br />
min<br />
y �b − AUky�2 = min<br />
y �Uk+1(βe (1) − ¯ Hky)�2 = min<br />
y �βe (1) − ¯ Hky�2 = rk.<br />
Da die Minima über geschachtelte Räume wachsender Dimension gebildet werden, fallen<br />
natürlich die Werte rj. Mit (1.2.10) gilt für x ∈ Kk(A, b) auch x = qk−1(A)b, qk−1 ∈ Pk−1<br />
und damit b − Ax = (I − Aqk−1(A))b = qk(A)b mit dem Polynom qk(t) = 1 − tqk−1(t),<br />
das den Wert qk(0) = 1 annimmt.<br />
Die Polynomdarstellung von rk wird später zur Herleitung expliziter a-priori-Fehler-<br />
schranken genutzt. Allerdings erfordern solche konkreten Aussagen Annahmen an die<br />
Verteilung der Eigenwerte von A (z.B. reell positiv, Ellipse in C).
2 KLASSISCHE KRYLOV-VERFAHREN 16<br />
Praktische Aspekte<br />
• Die tatsächliche Berechnung der Näherungen läßt sich für FOM und GMRES ef-<br />
fizient mit einer QR-Zerlegung der Matrix ¯ Hk = Qk ¯ Rk durchführen. Denn wegen<br />
der Hessenbergstruktur kann jedes neue Subdiagonalelement hk+1,k mit einer 2 × 2-<br />
Givens-Rotation Gk eliminiert werden, es gilt Q T k = GkGk−1 · · · G1. Das Arnoldi-<br />
Verfahren (2.1.6) erzeugt im Schritt k die k-te Spalte ¯ hk ∈ R k+1 der Matrix ¯ Hk,<br />
verwendet sie danach aber nicht weiter. Daher kann man die QR-Zerlegung von<br />
¯Hk−1 = Qk−1 ¯ Rk−1, ¯ Rk−1 ∈ R (k−1)×(k−1) , direkt nach dem Arnoldischritt aktualisie-<br />
ren. Im Detail gilt nach dem Arnoldischritt<br />
Gk−1 · · · G1 ¯ ⎛ ¯Rk−1<br />
Hk = ⎝ 0T ⎞<br />
�<br />
Gk−1 · · · G1hk Rk<br />
⎠ =<br />
0..0 hk+1,k<br />
hk+1,k<br />
�<br />
. (2.1.13)<br />
Auf den neuen Teilvektor hk ∈ R k sind also zunächst die früheren Rotationen an-<br />
zuwenden (mit etwas Kreativität bei der Dimensionierung der Gj). Danach kann<br />
hk+1,k mit einer neuen Rotation Gk eliminiert werden zu<br />
�<br />
¯Rk<br />
0T �<br />
= GkGk−1 · · · G1 ¯ ⎛<br />
1<br />
⎜<br />
Hk = ⎜<br />
⎝<br />
.. .<br />
ck sk<br />
−sk ck<br />
⎞ ⎛<br />
⎟ ⎜<br />
⎟ ⎜<br />
⎠ ⎝<br />
¯Rk−1<br />
0 T<br />
Gk−1 · · · G1hk<br />
0 . . . 0 hk+1,k<br />
Mit c 2 k + s2 k = 1 wird die Rotation Gk aus rkk = e (k)T Gk−1 · · · G1hk und hk+1,k<br />
gebildet,<br />
sk =<br />
hk+1,k<br />
�<br />
r 2 kk + h2 k+1,k<br />
das neue Hauptdiagonalelement ist ¯rkk =<br />
, ck =<br />
rkk<br />
⎞<br />
⎟<br />
⎠<br />
�<br />
r2 kk + h2 ,<br />
k+1,k<br />
�<br />
r2 kk + h2 k+1,k . Dabei wird jedes Element<br />
höchstens durch 2 Rotationen geändert, der Aufwand hierfür ist nur O(k). Gleich-<br />
zeitig kann man die rechte Seite βe (1) des Gleichungssystems umformen, durch An-<br />
wendung der Gj wird aus γ1 := β daher<br />
γk+1 := −skγk = (−1) k βs1 · · · sk−1sk, ¯γk := ckγk = (−1) k−1 βs1 · · · sk−1ck.<br />
So erhält man der Reihe nach die Komponenten der Vektoren<br />
gk = (¯γ1, . . . , ¯γk−1, γk) T := βQ T k−1e (1) .<br />
(2.1.14)<br />
Der Übergang bei den γ-Versionen sieht also so aus:<br />
⎛ ⎞<br />
.<br />
⎜ ⎟<br />
⎝ γk−1 ⎠<br />
0<br />
Gk−1<br />
⎛ ⎞ ⎛<br />
.<br />
.<br />
⎞<br />
⎜ ⎟ Gk ⎜ ⎟<br />
↦→ ⎝ ¯γk−1 ⎠ ↦→ ⎝ ¯γk−1 ⎠ . (2.1.15)<br />
�<br />
γk<br />
�� � �<br />
¯γk<br />
�� �<br />
=gk<br />
=¯gk
2 KLASSISCHE KRYLOV-VERFAHREN 17<br />
• Für die Arnoldi-Lösung verwendet man den R-Faktor aus Hk = Qk−1Rk, vgl.<br />
(2.1.13), ohne letzte Rotation Gk und löst das System Rky (k) = gk. Insbesondere<br />
ist die letzte Komponente y (k)<br />
k = γk/rkk und bestimmt das Residuum aus Satz 2.1.3<br />
wesentlich mit. Den Defekt der MinRes-Lösung (2.1.10) bekommt man dagegen aus<br />
� ¯ Hky − βe (1) � =<br />
� �<br />
¯Rk<br />
�Qk y − βe<br />
0<br />
(1) � �<br />
¯Rk<br />
�2 = � y − gk+1�2<br />
0<br />
≥ |γk+1| =: ResGMR. (2.1.16)<br />
Die GMRES-Lösung erhält man also aus dem System ¯ Rky = ¯gk = (¯γ1, . . . , ¯γk) T . We-<br />
gen der Dreieckstruktur von Rk lautet die letzte Komponente der Arnoldi-Lösung<br />
(Orthores) y (k)<br />
k = γk/rkk. Damit hat man jetzt für beide Strategien folgenden Vergleich:<br />
OrthoRes/Arnoldi: ResArn = hk+1,k|γk|<br />
|rkk|<br />
MinRes/GMRES: ResGMR = |γk+1| = |γksk| = hk+1,k|γk|<br />
√<br />
r2 kk +h2 .<br />
k+1,k<br />
Vor allem für hk+1,k > |rkk| kann das Minimale Residuum also erheblich kleiner sein<br />
als das Ortho-Residuum. Ein Fehlervergleich leitet sich daraus aber nicht ab, vgl.<br />
Bsp 2.1.6<br />
• Nachorthogonalisierung: Die Qualität der Näherungen hängt auch davon ab, dass Uk<br />
wirklich orthogonal ist. Die Gram-Schmidt-Orthogonalisierung ist aber bekannter-<br />
maßen anfällig für Rundungsfehler, insbesondere wenn ein neuer Vektor Au (j) bei-<br />
nahe schon in der bisherigen Basis Uj enthalten ist, d.h. für �(I − UjU T j )Au (j) � ≪<br />
�Au (j) �. In diesem Fall wird oft ein einzelner Schritt der Nachorthogonalisierung<br />
empfohlen. Einen großen Fortschritt erreicht man aber oft schon alleine dadurch,<br />
dass man die i-Schleife in (2.1.6) umkehrt und zuerst nach u (j) selbst orthogo-<br />
nalisiert. Denn wenn die Matrix A einheitlich große Hauptdiagonalelemente be-<br />
sitzt (vgl. Beisp. 2.1.5), ist Au (j) = αu (j) + . . . ein wesentlicher Beitrag, der mit<br />
d := Au (j) − hjju (j) als Erstes entfernt werden sollte, da er sonst die viel kleineren<br />
Innenprodukte hij, i < j, unnötig verfälscht.<br />
Ein wiederkehrendes Thema bei allen Krylov-Verfahren sind die Quellen möglicher Ab-<br />
brüche (wegen Nulldivision). Daher werden diese jeweils am Ende nochmal tabellarisch<br />
zusammengefaßt:<br />
Abbruch wegen hk+1,k = 0 Hk singulär<br />
FOM günstig fortsetzbar<br />
GMRES günstig —
2 KLASSISCHE KRYLOV-VERFAHREN 18<br />
Beispiel 2.1.5 Für die Tests aller Verfahren wird der Spezialfall einer wichtigen Problem-<br />
klasse vorgestellt, bei der Krylovverfahren gut einsetzbar sind. Es handelt sich dabei um<br />
ein elliptisches Randwertproblem partieller Differentialgleichungen. Dieses wird definiert<br />
auf einem Grundgebiet, das hier das Einheitsquadrat Ω = (0, 1) 2 im R 2 sein soll. Die<br />
Lösung u(ξ, η) erfüllt die Dirichlet-Randbedingungen u = 0 auf dem Rand und die lineare<br />
Dgl<br />
im Gebiet. Dabei ist g : Ω → R vorgegeben und<br />
b ein (konstanter) Koeffizient. Zur Approxima-<br />
tion unterteilt man das Intervall [0, 1] in jeder<br />
Richtung in m+1 gleich große Teilintervalle und<br />
erhält so das skizzierte Gitter, auf dessen Rand<br />
(bei ξ0, ξm+1, η0, ηm+1) der Funktionswert von<br />
u durch null vorgegeben ist. Im jedem der in-<br />
neren Gitterpunkte approximiert man die Ab-<br />
leitungen der Funktion u durch symmetrische<br />
Differenzen, mit h = 1<br />
m+1 gilt<br />
− uξξ − uηη + 2buξ = g(ξ, η), (ξ, η) ∈ Ω (2.1.17)<br />
ηm+1<br />
ηm<br />
ηj<br />
� � � � �<br />
� � � � �<br />
� � � �N �<br />
� � �W �P �O<br />
� � � �S �<br />
η0<br />
ξ0 ξ1 ξi ξm+1<br />
uξ(ξ, η) = 1<br />
2h (u(ξ + h, η) − u(ξ − h, η)) + O(h2 ),<br />
uξξ(ξ, η) = 1<br />
h 2 (u(ξ + h, η) − 2u(ξ, η) + u(ξ − h, η)) + O(h 2 ),<br />
uηη(ξ, η) = 1<br />
h 2 (u(ξ, η + h) − 2u(ξ, η) + u(ξ, η − h)) + O(h 2 ).<br />
Bei Vernachlässigung der O(h 2 )-Fehler erhält man so im markierten Punkt P (in jedem<br />
Gitterpunkt) einen Differenzenstern, der den unbekannten Näherungswert uP ∼ = u(P ) mit<br />
seinen direkten Nachbarn verknüpft:<br />
1<br />
h 2 (4uP − uN − uO − uS − uW ) + b<br />
h (uO − uW ) = gP ⇐⇒<br />
4uP − uN − uS − (1 − hb)uO − (1 + hb)uW = h 2 gP . (2.1.18)<br />
Wenn einer der Nachbarpunkte auf dem Rand liegt, entfällt dessen Beitrag wegen der<br />
Nullrandbedingung. Bei zeilenweiser Nummerierung der Unbekannten im Gitter bekommt<br />
man ein Gleichungssystem mit der Blockmatrix<br />
⎛<br />
T −I<br />
⎞ ⎛<br />
4 β<br />
⎜ −I<br />
⎜<br />
A = ⎜<br />
⎝<br />
T<br />
−I<br />
−I<br />
T<br />
. ..<br />
−I<br />
. ..<br />
⎟ ,<br />
. ..<br />
⎟<br />
⎠<br />
⎜ α<br />
⎜<br />
T := ⎜<br />
⎝<br />
4<br />
α<br />
β<br />
4<br />
. ..<br />
β<br />
. ..<br />
−I T<br />
α 4<br />
⎞<br />
⎟ ,<br />
. ⎟<br />
.. ⎠<br />
mit α = −1 + hb, β = −1 − hb. Diese Matrix hat also Dimension n = m 2 , ist dünnbesetzt<br />
mit nur 5 nichttrivialen Diagonalen, ist schwach diagonaldominant für h|b| ≤ 2 und ihre
2 KLASSISCHE KRYLOV-VERFAHREN 19<br />
Kondition ist ˆκ(A) = O(1/h 2 ) = O(m 2 ) = O(n). Überdies läßt sich mit dem Koeffizienten<br />
b der Grad der Asymmetrie von A einstellen, nur für b = 0 ist A symmetrisch mit α =<br />
β = −1. Standard-Abbruchkriterium in allen Beispielen ist res ≤ 10 −8 .<br />
Beispiel 2.1.6 Beim Vergleich von FOM- und GMRES-Methode kann im Standardbei-<br />
spiel 2.1.5 sowohl der Grad der Asymmetrie als auch die Dimension variiert werden.<br />
Für n = 10 4 Punkte und b = 1 zeigen die<br />
Diagramme den Verlauf der Residuen (rot)<br />
und der zusätzlich berechneten Fehler (grün)<br />
von FOM (oben) und GMRES. Diese unnöti-<br />
ge Berechnung der Lösungen x (k) verlängert<br />
die Rechenzeiten übrigens um ca. 63%. We-<br />
gen des kleineren Residuums bricht dabei<br />
das GMRES-Verfahren bei einer Residuen-<br />
Toleranz von 10 −8 mit it = 211 Iteratio-<br />
nen (t = 6.97sec) zwar früher als FOM mit<br />
it = 219 ab, allerdings auch mit einem größe-<br />
ren Fehler errF OM = 6.3 · 10 −8 < errGMR =<br />
3.7 · 10 −7 . Den Schlenker beim Defekt der<br />
FOMethode weist GMRES zwar konstruktionsbedingt nicht auf, der Fehler stagniert aber<br />
genauso wie beim FOM an dieser Stelle. Zum genauen Vergleich werden in dem Effizienz-<br />
diagramm rechts die für eine Serie von Toleranzen tol ∈ {10 −2 , . . . , 10 −8 } erreichten ge-<br />
nauen Fehler für FOM (gefüllt) und GMRES (offen)<br />
gegenübergestellt. Nach rechts ist die Krylovdimension<br />
aufgetragen. Die FOM-Lösung ist meist um ein halbe<br />
Zehnerpotenz genauer bei etwas mehr Iterationen, al-<br />
le Werte liegen aber bei schärferen Toleranzen ungefähr<br />
auf einer Linie.<br />
Der Grad der Asymmetrie hat nur geringen Einfluß auf die Konvergenzgeschwindigkeit<br />
beider Verfahren. Die Kontraktion springt zwar bei FOM von ρ = 0.907 (b = 0) auf 0.936<br />
für b = 0.1, bleibt dann aber praktisch unabhängig von b ∈ [0.1, 5]. Allerdings ist die Kon-<br />
vergenz im symmetrischen Fall gleichmäßiger, für b �= 0 macht man am Anfang geringere<br />
Fortschritte, sodass das Ergebnis für schwächere Toleranzen tol ≥ 10 −4 evtl. eine stärkere<br />
Abhängigkeit von b zeigt.<br />
Der Orthogonal-Fehler �I − U T k Uk� liegt beim normalen modifizierten Gram-Schmidt-<br />
Verfahren bei 10 −6 , die Umkehrung des Schleifendurchlaufs i = j → 1 verkleinert diesen<br />
auf 10 −12 !
2 KLASSISCHE KRYLOV-VERFAHREN 20<br />
2.2 Lanczos-Verfahren<br />
Das allgemeine Lanczos-Verfahren (1950/52) arbeitet mit allgemeinen Basismatrizen Vk, Wk.<br />
Damit diese bei voller Dimension zueinenader invers sein können, Wn = V −1<br />
n , werden sie<br />
biorthogonal konstruiert:<br />
Vk := (v (1) , . . . , v (k) ), Wk := (w (1) , . . . , w (k) ) : w (i)T v (i) = δij, 1 ≤ i, j ≤ k,<br />
kurz W T k Vk = Ik. Bei Durchführbarkeit hatte man im Arnoldi-Verfahren die Darstel-<br />
lung A = UnHnU T n mit einer Hessenbergmatrix. Da die Basen Vk, Wk weniger stark<br />
eingeschränkt sind, ist jetzt (im Prinzip) eine Darstellung A = VnTnW T n erreichbar mit<br />
Tridiagonal-Matrizen<br />
⎛<br />
⎜<br />
Tk = ⎜<br />
⎝<br />
β1 γ2<br />
α2 β2 γ3<br />
. .. . ..<br />
. ..<br />
αk−1 βk−1 γk<br />
αk βk<br />
⎞<br />
⎟ . (2.2.1)<br />
⎟<br />
⎠<br />
Mit W T n Vn = I erhält man aus A = VnTnWn die Bedingungen AVn = VnTn und A T Wn =<br />
W T n T T n . Betrachtet man davon jeweils die k-te Spalte, 1 < k < n, erhält man die Glei-<br />
chungen<br />
Av (k) = γkv (k−1) + βkv (k) + αk+1v (k+1)<br />
A T w (k) = αkw (k−1) + βkw (k) + γk+1w (k+1) .<br />
(2.2.2)<br />
Diese erinnern an die grundlegende Identität (2.1.5) des Arnoldi-Verfahrens und lassen<br />
sich analog zur Konstruktion von v (k+1) bzw. w (k+1) verwenden. Biorthogonalität liefert<br />
den Koeffizienten βk = w (k)T Av (k) = v (k)T A T w (k) , die Normierung<br />
1 ! = w (k+1)T v (k+1) =<br />
1<br />
(A<br />
αk+1γk+1<br />
T w (k) − αkw (k−1) − βkw (k) ) T (Av (k) − γkv (k−1) − βkv (k) )<br />
legt aber nur das Produkt αk+1γk+1 fest. Das folgende Lanczos-Verfahren wählt beide Pa-<br />
rameter gleich groß. Die Größen d, f, δ in der folgenden Formulierung haben nur temporäre<br />
Bedeutung (”interne Variable”).<br />
Satz 2.2.1 (Lanczos-Biorthogonalisierung) Gegeben sei A ∈ R n×n und d, f ∈ R n<br />
mit f T d =: δ �= 0. Für j = 1, 2, . . . und solange δ �= 0 ist, wird berechnet<br />
αj := � |δ|, γj := δ/αj,<br />
v (j) := d/αj, w (j) := f/γj,<br />
d := Av (j) , f := A T w (j) ,<br />
βj := w (j)T d,<br />
d := d − βjv (j) − γjv (j−1) , f := f − βjw (j) − αjw (j−1) ,<br />
δ := f T d.<br />
(2.2.3)
2 KLASSISCHE KRYLOV-VERFAHREN 21<br />
Wenn dieser Algorithmus über k Schritte durchführbar war, bilden Vk = (v (1) , . . . , v (k) ),<br />
Wk = (w (1) , . . . , w (k) ) zueinander orthogonale Basen,<br />
W T k Vk = Ik ⇐⇒ w (i)T v (j) = δij, 1 ≤ i, j ≤ k.<br />
Diese sind Basen von Krylovräumen Rg(Vk) = Kk(A, v (1) ), Rg(Wk) = K(A T , w (1) ) und es<br />
gilt mit<br />
vgl. (2.2.1)<br />
Tk = W T k AVk :<br />
�<br />
AVk = VkTk + αk+1v (k+1) e (k)T<br />
A T Wk = WkT T k + γk+1w (k+1) e (k)T (2.2.4)<br />
Beweis Die Identitäten (2.2.4) sind einfach die Matrixdarstellungen der Gleichungen<br />
(2.2.2), die Aussagen zu den Krylovräumen folgen daraus wie beim Arnoldi-Verfahren.<br />
Die Biorthogonalität wird induktiv bewiesen, nach Konstruktion ist w (1)T v (1) = 1. Für<br />
j ≥ 1 gilt zunächst<br />
w (j)T v (j+1) = 1<br />
αj+1<br />
�<br />
w (j)T Av (j) − βj w (j)T v (j)<br />
� �� �<br />
=1<br />
−γj w (j)T v (j−1)<br />
�<br />
� �� � = 0<br />
=0<br />
nach Definition von βj. Zur Orthogonalität für 1 ≤ i < j trägt auch die adjungierte<br />
Rekursion bei:<br />
w (i)T v (j+1) =<br />
=<br />
=<br />
1<br />
αj+1<br />
1<br />
αj+1<br />
1<br />
αj+1<br />
�<br />
w (i)T Av (j) − βj w (i)T v (j)<br />
� �� �<br />
=0<br />
�<br />
v (j)T A T w (i) − γjw (i)T v (j−1)<br />
�<br />
αi v (j)T w (i−1)<br />
+βi v (j)T w (i)<br />
� �� �<br />
=0<br />
� �� �<br />
=0<br />
−γjw (i)T v (j−1)<br />
�<br />
�<br />
+ γi+1v (j)T w (i+1) − γjw (i)T v (j−1)<br />
�<br />
.<br />
� �� �<br />
=0, i
2 KLASSISCHE KRYLOV-VERFAHREN 22<br />
bei der das Residuum res = b − Ax (k) = −αk+1v (k+1) y (k)<br />
k<br />
orthogonal zu einem ande-<br />
ren Krylovraum ist. Für diesen, Kk(A T , f) ist ein zusätzlicher Startvektor zu wählen,<br />
oft verwendet man auch f = b. Das Tridiagonalsystem mit Tk kann natürlich effizient<br />
gelöst werden. Die Fehlerdarstellung aus Satz 2.1.3 überträgt sich. Mit Basisergänzungen<br />
(Wk, W ′ k ) = (Vk, V ′<br />
k )−1 , ∈ R n×n gilt statt (2.1.11) jetzt<br />
(Wk, W ′ k) T A(Vk, V ′<br />
�<br />
Tk Bk<br />
k) =<br />
Ck Dk<br />
�<br />
, Ck = αk+1e (1) e (k)T , Bk = γk+1e (k) e (1)T ,<br />
in der Rechnung (2.1.12) sind nur die Basen zu ersetzen und führen auf die Darstellung<br />
des Lösungsprojektors aus Satz 2.1.2<br />
Πk = (Vk, V ′<br />
k)<br />
� −1<br />
I Tk Bk<br />
�<br />
(Wk, W<br />
0 0<br />
′ k) T .<br />
Hier ist in T −1<br />
k Bk = γk+1T −1<br />
k e(k) e (1)T sogar nur eine Spalte besetzt. Allerdings kann jetzt<br />
wenig über die Kondition der Basis (Vk, V ′<br />
k ) und damit die Konstante in der Fehlerschran-<br />
ke von Satz 2.1.3 ausgesagt werden. Im Vergleich mit dem Arnoldi-Verfahren sind auch<br />
folgende Eigenschaften wichtig.<br />
⊕ Der Rechenaufwand für k Schritte (2.2.3) ist<br />
2k MV-Multiplikationen + 12kn FLOP,<br />
und wächst daher nur noch linear. Dies ist der entscheidende Vorteil gegenüber<br />
dem Arnoldi-Verfahren, vgl. (2.1.7). In §3.1 wird sogar eine Methode vorgestellt<br />
(BCG-Verfahren), das die Näherungen x (k) induktiv berechnet ohne Speicherung<br />
der Gesamtbasen Vk, Wk.<br />
⊖ Das Verfahren benötigt die Multiplikation mit der Transponierten w ↦→ A T w, wel-<br />
che zur Durchführung zusätzlich implementiert werden muß. Der Aufwand dafür<br />
ist identisch mit der normalen Multiplikation, auch wenn A dünn besetzt ist. Der<br />
Krylovraum Kk(A T , w (1) ) wird aber nur zur Berechnung der Innenprodukte für<br />
βj, δ verwendet, aber nicht für die Lösungen x (k) . Diese ”Verschwendung” der A T -<br />
Multiplikationen vermeiden einige moderne Verfahren.<br />
⊖ Der Lanczos-Algorithmus (2.2.3) bricht ab, wenn δ = f T d = 0 ist. Dies kann aus 3<br />
Gründen geschehen:<br />
∗ d = Av (k) −βkv (k) −γkv (k−1) = 0: Dies ist ein günstiger Abbruch (”lucky break-<br />
down”) mit αk+1 = 0 wie beim Arnoldi-Verfahren, der Unterraum Kk(A, b) ist<br />
A-invariant, die Näherung Näherung x (k) exakt, das Residuum null.
2 KLASSISCHE KRYLOV-VERFAHREN 23<br />
∗ f = A T w (k) − βkw (k) − αkw (k−1) = 0: Hier ist der Krylovraum Kk(A T , w (1) )<br />
jetzt A T -invariant und das Verfahren bricht ab, ohne dass man etwas über die<br />
Güte der Näherung x (k) aussagen kann (”serious breakdown”).<br />
∗ f ⊥ d = 0 mit nichttrivialen Vektoren f, d: dann sind zwar v (k+1) , w (k+1)<br />
nicht definiert, aber oft kann die Konstruktion mit späteren Vektoren, et-<br />
wa v (k+2) , w (k+2) fortgesetzt werden, durch eine Vorausschau (”look-ahead-<br />
Lanczos”).<br />
Übersicht: Abbruch wegen d = 0 f = 0 f T d = 0<br />
Lanczos günstig ernst (→ Vorausschau)<br />
⊖ Im Beweis von Satz 2.2.1 wurde vorgerechnet, dass die Bi-Orthogonalität im Algo-<br />
rithmus nur bei aufeinander folgenden Vektoren explizit erzwungen wird, ansonsten<br />
gilt sie induktiv. Bei numerischer Rechnung wird aber durch Rundungsfehler die-<br />
ses ”Gedächtnis” beeinträchtigt, insbesondere wenn durch kleine Innenprodukte δ<br />
große Skalierungsfaktoren bei der Bildung von v (j) , w (j) auftreten. Daher ist die<br />
Qualität der Lanczos-Lösungen i.d.R. nicht mit der der Arnoldi/GMRES-Lösungen<br />
vergleichbar (volle Orthogonalisierung). Diesen Nachteil kann man durch Nachor-<br />
thogonalisierung verringern auf Kosten des Rechenaufwands.<br />
Das Verfahren (2.2.3) benötigt zum Aufbau der Basen Vk, Wk der beiden Krylovräume nur<br />
direkt zuvor erzeugte Elemente. Für die Näherungslösung (2.2.5) werden aber scheinbar<br />
alle Basivektoren benötigt. Im Rahmen des BCG-Verfahrens (biconjugate gradient, §3.1)<br />
gelingt dies aber auch ohne Speicherung der vollständigen Basen Vk, Wk, analog zum<br />
symmetrischen Fall, der jetzt behandelt wird.<br />
2.3 Idealfall Symmetrie: Das CG-Verfahren<br />
Bei einer symmetrischen Matrix A = A T vereinfachen sich sowohl das Arnoldi-Verfahren<br />
(2.1.6) als auch das allgemeine Lanczos-Verfahren (2.2.3) zu einer einzigen, effizienten<br />
Methode. Beim Lanczos-Verfahren fallen natürlich die beiden Basen (bei gleichem Start-<br />
vektor) zusammen, Wk = Vk und beim Arnoldi-Verfahren hat die Symmetrie von A die<br />
der Hessenberg-Matrix<br />
H T k = (U T k AUk) T = U T k A T Uk = Hk<br />
zur Folge, wodurch Hk sogar tridiagonal wird. Daher sind bei der Orthogonalisierung nur<br />
2 Innenprodukte nichttrivial, aus (2.1.5) wird<br />
Au (u) = αku (k−1) + βku (k) + αk+1u (k+1) , (2.3.1)
2 KLASSISCHE KRYLOV-VERFAHREN 24<br />
also die Lanczos-Identität (2.2.2) mit symmetrischem Tk, (2.2.1). Das symmetrische Lanczos-<br />
Verfahren verkürzt sich dadurch sehr. Dabei wird mit Startvektor d ∈ R n , u (0) := 0,<br />
α1 := �d�, für j = 1, 2, . . . , und solange d �= 0 berechnet<br />
u (j) := d/αj,<br />
d := Au (j) − αju (j−1) ,<br />
βj := u (j)T d,<br />
d := d − βju (j) ,<br />
αj+1 := �d�2.<br />
(2.3.2)<br />
In exakter Arithmetik sind dann die Basen {u (j) } orthonormal und es gelten auch hier<br />
die Identitäten (2.1.5) und (2.2.4) etwas abgewandelt<br />
Tk = U T k AUk = T T k , AUk = UkTk + αk+1u (k+1) e (k)T . (2.3.3)<br />
Von besonderem Interesse ist jetzt aber, dass auch die Galerkin-Lösung bei geringem<br />
Rechen- und Speicheraufwand mit kurzen Rekursionen berechnet werden kann. Denn auf-<br />
grund der Tridiagonalstruktur von Tk kann man die Lösung x (k) = Uky (k) mit (2.1.9),<br />
also 0 ! = U T k (AUky (k) ) − b) = Tky (k) − βe (1) für d = b schrittweise anpassen. Dazu wird<br />
angenommen, dass die LR-Zerlegung Tk = LkRk in Bidiagonalmatrizen Lk, Rk existiert.<br />
Dann folgt<br />
x (k) = Uky (k) = UkT −1<br />
k e(1) β = UkR −1<br />
k<br />
� �� �<br />
=:Pk<br />
L −1<br />
k e(1) β<br />
� �� �<br />
=:v (k)<br />
=: Pkv (k) . (2.3.4)<br />
Im Vektor v (k) = (v1, . . . , vk) T werden einfach die Eliminationsschritte aus Lkv (k) = βe (1)<br />
mit der rechten Seite βe (1) angewendet, es ist v1 = β, vj = −lj,j−1vj−1, j ≥ 2. Da<br />
berechnete Komponenten vj unverändert bleiben, gilt mit Pk = (p (1) , . . . , p (k) ) für die<br />
neue Näherung die Iterationsformel<br />
x (k) = Pkv (k) = Pk−1v (k−1) + vkp (k) = x (k−1) + vkp (k) . (2.3.5)<br />
Dies ist eine iterative Darstellung für die Näherung x (k) , wo man ausgehend von x (k−1)<br />
in Richtung der Suchrichtung p (k) geht. Auch die Suchrichtungen kann man aufgrund der<br />
Definition PkRk = Uk einfach schrittweise berechnen durch<br />
p (k) = 1<br />
(u<br />
rkk<br />
(k) − p (k−1) rk−1,k). (2.3.6)<br />
Diese Richtungen besitzen eine bemerkenswerte Eigenschaft, die folgende Matrix ist of-<br />
fensichtlich symmetrisch, und mit LkRk = Tk = U T k AUk folgt<br />
P T k APk = (UkR −1<br />
k )TAUkR −1<br />
k = (R−1<br />
k )TTkR −1<br />
k = (R−1<br />
k )TLk. (2.3.7)<br />
Das letzte Produkt ist obere Dreieckmatrix und symmetrisch, also ist P T k APk diagonal!<br />
Diese Eigenschaft bekommt eine weitergehende Bedeutung, wenn A positiv definit ist.
2 KLASSISCHE KRYLOV-VERFAHREN 25<br />
Satz 2.3.1 Die Matrix A = A T ∈ R n×n sei positiv definit und b ∈ R n . Dann definiert<br />
(x, y)A := y T Ax, x, y ∈ R n<br />
ein Innenprodukt und �x�A := � (x, x)A eine Norm auf dem Rn. Die Lösung ˆx := A −1 b<br />
des Gleichungssystems Ax = b ist das eindeutige Minimum der (streng konvexen) Funk-<br />
tion<br />
ϕA(x) := 1<br />
2 xT Ax − b T x = 1<br />
2 �x − ˆx�2 A − 1<br />
2 �ˆx�2 A.<br />
Beweis Nach Voraussetzung ist (x, x)A = x T Ax > 0 ⇐⇒ x �= 0 und daher die<br />
Bilinearform (x, y)A definit, also ein Innenprodukt. Außerdem folgt mit b = Aˆx, dass<br />
ϕ(x) = 1<br />
2 xT Ax − ˆx T Ax + 1<br />
2 ˆxT Aˆx − 1<br />
2 �ˆx�2 A = 1<br />
2 �x − ˆx�2 A − 1<br />
2 �ˆx�2 A,<br />
und das Minimum wird genau für x = ˆx angenommen.<br />
In Bezug auf die Galerkin-Bedingung ist interessant, dass die Abstiegsrichtung<br />
−gradϕA(x) = b − Ax<br />
gerade der Defekt eines Punktes x im Gleichungssystem ist und mit einer Galerkinbedin-<br />
gung (2.1.9) und (2.3.3) ist das Residuum<br />
d (k) := b − Ax (k) = b − AUky (k) = Uk(βe (1) − Tky (k) )<br />
� �� �<br />
=0<br />
−αk+1y (k)<br />
k u(k+1)<br />
ein Vielfaches von u (k+1) ⊥ Uk. Daher sind die Defekte (Gradienten) orthogonal (konju-<br />
giert) zueinander. Diese Eigenschaft begründet den Namen des Verfahrens der konjugier-<br />
ten Gradienten (CG, conjugate gradient), das 1952 von Hestenes und Stiefel vorgeschlagen<br />
wurde. Außerden sind noch die Suchrichtungen A-orthogonal, denn (2.3.7) bedeutet<br />
(p (i) , p (j) )A = 0 ∀i �= j, 1 ≤ i, j ≤ k. (2.3.8)<br />
Das CG-Verfahren kann in einfacherer Gestalt direkt aus diesen beiden Orthogonalitäts-<br />
eigenschaften hergeleitet werden mit anders skalierten Größen. Zunächst überträgt sich<br />
die Schrittgleichung (2.3.5) auf die Defekte,<br />
x (k) := x (k−1) + tkp (k) ⇒ d (k) = d (k−1) − tkAp (k) , (2.3.9)<br />
für die umskalierten Suchrichtungen gelte<br />
p (k) = d (k−1) + sk−1p (k−1) . (2.3.10)<br />
Die Defektorthogonalität erfordert folgende Parameterwahl, etwas umgeformt:<br />
d (k) = d (k−1) − tkAp (k) ⊥ d (k−1) ⇒ tk = �d(k−1) � 2 2<br />
(d (k−1) , p (k) )A<br />
= �d(k−1) � 2 2<br />
(p (k) , p (k) )A<br />
(2.3.11)
2 KLASSISCHE KRYLOV-VERFAHREN 26<br />
Dabei wurde das gemischte Innenprodukt mit (2.3.10) und der A-Orthogonalität verein-<br />
facht zu<br />
(Ap (k) ) T d (k−1) = (Ap (k) ) T (p (k) − sk−1p (k−1) ) = p (k)T Ap (k) = (p (k) , p (k) )A.<br />
Analog erzwingt man die A-Orthogonalität,<br />
p (k+1) = d (k) + skp (k) ⊥A p (k) ⇒ sk = − (d(k) , p (k) )A<br />
(p (k) , p (k) )A<br />
= �d(k) �2 2<br />
�d (k−1) �2 .<br />
2<br />
Das gemischte Innenprodukt (d (k) , p (k) )A führt man mit der Defektgleichung (2.3.9), Ap (k) =<br />
(d (k) − d (k−1) )/tk zurück auf d (k)T Ap (k) = d (k)T (d (k) − d (k−1) )/tk = �dk� 2 2/tk und erhält so<br />
mit der Definition von tk den angegebenen Quotienten. Damit bekommt man das folgen-<br />
de CG-Verfahren, Start mit x (0) := 0, p (0) := 0, s0 := 0, d (0) := b. Für k = 1, 2, . . . und<br />
solange d (k−1) �= 0 berechne<br />
p (k) := d (k−1) + sk−1p (k−1) ,<br />
tk := �d (k−1) � 2 2/p (k)T Ap (k) ,<br />
x (k) := x (k−1) + tkp (k) ,<br />
d (k) := d (k−1) − tkAp (k) ,<br />
sk := �d (k) � 2 2/�d (k−1) � 2 2.<br />
(2.3.12)<br />
Zu den herausragenden Eigenschaften dieses Verfahrens gehört ein Zusammenhang mit<br />
der Zielfunktion ϕA aus Satz 2.3.1, der zunächst nicht offensichtlich ist. Betrachtet man<br />
deren Wert nämlich mit x (k−1) = Pk−1v (k−1) und der Schrittgleichung (2.3.9), so folgt<br />
ϕ(x (k) ) = ϕA(Pk−1v (k−1) + tkp (k) )<br />
= ϕA(Pk−1v (k−1) ) + tk (Pk−1v (k−1) ) T Ap (k)<br />
� �� �<br />
=0<br />
+ t2 k<br />
2 (p(k) , p (k) )A − tkb T p (k)<br />
= ϕA(x (k−1) ) + ϕA(tkp (k) ). (2.3.13)<br />
Der entscheidende Punkt dabei ist, dass wegen der A-Orthogonalität (2.3.8) der gemischte<br />
Term mit tk, v (k−1) entfällt und die Minimierung bezüglich t unabhängig von v (k−1) ist.<br />
Das Minimum von ϕ(tp (k) ) wird dabei tatsächlich im Wert tk aus (2.3.11) angenommen,<br />
denn für den Minimalpunkt ˆt von t ↦→ ϕA(tp (k) ) gilt wegen (2.3.9), b = d (0) = d (k−1) +<br />
� k−1<br />
j=1 tjAp (j) und (2.3.10) tatsächlich<br />
�<br />
ˆt(p (k) , p (k) )A = b T p (k) = (d (k−1) k−1<br />
+ tjAp (j) ) T p (k) = d (k−1)T p (k)<br />
j=1<br />
= d (k−1)T (d (k−1) + sk−1p (k−1) ) = �d (k−1) � 2 2,<br />
denn wegen (2.3.10) ist auch d (k−1) ⊥ RgPk−1. Daher erzeugt der lokale Minimierungs-<br />
schritt in (2.3.9) ein globales Minimum im Unterraum RgPk, der natürlich ein Krylovraum<br />
ist. Die wichtigsten Eigenschaften faßt der folgende Satz zusammen.
2 KLASSISCHE KRYLOV-VERFAHREN 27<br />
Satz 2.3.2 Die Matrix A ∈ R n×n sei symmetrisch, positiv definit, b ∈ R n . Wenn das<br />
CG-Verfahren (2.3.12) k Schritte mit dem Startdefekt d (0) = b durchgeführt hat, gelten<br />
für die berechneten Größen folgende Aussagen.<br />
a) Die Suchrichtungen p (1) , . . . , p (k) sind paarweise A-orthogonal, die Defekte d (0) , . . . , d (k−1)<br />
orthogonal und jeweils Basen des Krylovraums Kk(A, b),<br />
span{p (1) , . . . , p (k) } = span{d (0) , . . . , d (k−1) } = Kk(A, b) = span{b, Ab, A 2 b, . . . , A k−1 b}.<br />
b) Die Näherung x (k) minimiert das Funktional ϕA aus Satz 2.3.1 über dem Krylovraum,<br />
ϕA(x (k) ) = min{ϕA(x) : x ∈ Kk(A, b)}.<br />
Daher ist x (k) exakt, wenn ˆx ∈ Kk(A, b) gilt, also spätestens für k = n.<br />
c) In der A-Norm aus Satz 2.3.1 gilt mit ˆκ(A) = λmax(A)/λmin(A) die Fehlerschranke<br />
�x (k) − ˆx�A = min{ �gk(A)(x (0) − ˆx)�A : gk ∈ Pk, gk(0) = 1}<br />
�k ≤ 2<br />
�� ˆκ(A) − 1<br />
� ˆκ(A) + 1<br />
�x (0) − ˆx�A. (2.3.14)<br />
Bemerkung: Von den Autoren war das CG-Verfahren wegen Aussage b) als endliches<br />
Verfahren gedacht, eine Alternative zu Eliminationsverfahren. Da die Konvergenz aber<br />
wegen Rundungsfehlern meist nicht in endlicher Zeit zustande kommt, hatte das Verfah-<br />
ren zunächst nur geringen Erfolg. Neues Interesse wurde 1971 von Reid geweckt durch<br />
die Betrachtung als Iterationsverfahren mit der guten Konvergenz-Aussage (2.3.14). Die-<br />
se zeigt, das die Geschwindigkeit i.w. von der Wurzel der Spektralkondition ˆκ(A) =<br />
λmax(A)/λmin(A) ≥ 1 abhängt (bei einfachen Verfahren treten ähnliche Formeln mit<br />
ˆκ ≫ √ ˆκ auf). Dies liefert den Ansatzpunkt, das CG-Verfahren durch geeignete Um-<br />
formulierungen des LGS zu beschleunigen → §4.1.<br />
Beweis a) Die Orthogonalität wird durch Konstruktion erzwungen, die Unterraum-<br />
Aussagen folgen aus d (0) = p (1) = b = K1(A, b) induktiv, denn (2.3.10), (2.3.9) zeigen<br />
p (k) ∈ Kk(A, b) + Kk−1(A, b), d (k) ∈ Kk(A, b) + AKk(A, b) = Kk+1(A, b).<br />
Für d (k) �= 0 wächst die Dimension echt.<br />
b) Mit t1 = �b� 2 /b T Ab ist x (1) = t1b Minimalstelle von ϕA(tb). Induktiv folgt aus der<br />
Entkoppelung (2.3.13) die Aussage.<br />
c) Nach (1.2.10) ist x (k) = qk−1(A)b, qk−1 ∈ Pk−1. Mit b = Aˆx folgt daher für den Fehler<br />
x (k) − ˆx = qk−1(A)Aˆx − ˆx = −(I − Aqk−1(A))ˆx = gk(A)(x (0) − ˆx).
2 KLASSISCHE KRYLOV-VERFAHREN 28<br />
Mit �x − ˆx� 2 A = ϕA(x) + 1<br />
2 �ˆx�2 A<br />
entspricht die erste Fehleraussage gerade Teil b). Aus<br />
dieser Minimalcharakterisierung bekommt man mit jedem Polynom eine obere Schranke.<br />
Die (optimale) Wahl, welche auf die Behauptung führt, wird in §2.4 behandelt.<br />
Damit stehen alle Informationen zur Verfügung, um die günstigen Eigenschaften des<br />
CG-Verfahrens (2.3.12) zusammenzufassen:<br />
• Rechenaufwand pro Schritt:<br />
eine Matrix-Vektor-Multiplikation +10n Operationen.<br />
• Speicherbedarf: 4 n-Vektoren.<br />
• Konvergenz: O( � ˆκ(A)) Schritte.<br />
Da das CG-Verfahren wegen (2.3.13) einen echten Minimierungsschritt in Richtung der<br />
Suchrichtung p (k) macht mit ϕA(x (k) ) = ϕA(x (k−1) ) − 1<br />
2 t2 k �p(k) � 2 A<br />
bei exakter Rechnung,<br />
erzeugt es auch bei Rundungsfehlern meist noch einen Abstieg und ist daher relativ robust.<br />
Insbesondere der nur linear mit k wachsende Rechenaufwand und der feste Speicher-<br />
bedarf sind günstiger als im FOM/GMRES-Verfahren, beim Lanczos-Verfahren hat man<br />
dagegen keine Minimaleigenschaft. Dies führte zu einer intensiven Suche nach vergleichbar<br />
guten Verfahren für unsymmetrische Matrizen. Leider kann es solche nicht geben (→ §3),<br />
bei den später diskutierten Varianten müssen Nachteile in Kauf genommen werden.<br />
Für unsymmetrische Matrizen könnte man das CG-Verfahren natürlich einsetzen bei<br />
den abgewandelten Problemen<br />
A T Ax = A T b,<br />
AA T y = b, x = A T y,<br />
(2.3.15)<br />
da beide symmetrische Matrizen haben und für reguläres A äquivalent sind zu Ax = b.<br />
Diese Systeme sind sogar von Interesse für allgemeine Gleichungssysteme mit A ∈ R m×n .<br />
Denn mit der ersten Version in (2.3.15) kann man im Prinzip überbestimmte (m > n) und<br />
mit der zweiten unterbestimmte (m < n) Systeme lösen. In diesen Fällen macht das CG-<br />
Verfahren in den CGNR bzw. CGNE genannten Versionen auch Sinn. Es gibt auch etwas<br />
stabilere Varianten, die mit Vektoren Ap (k) statt A T Ap (k) arbeiten. Im regulären Fall ist<br />
aber die Kondition ˆκ(A T A) = ˆκ(AA T ) = (ˆκ(A)) 2 ≫ ˆκ(A) das Quadrat der usprüngli-<br />
chen Kondition und man verliert damit einen wesentlichen Vorteil der CG-Iteration, die<br />
vergleichsweise hohe Konvergenzgeschwindigkeit nur abhängig von √ ˆκ.<br />
MINRES<br />
Bei einer symmetrischen, aber indefinten Matrix A kann das CG-Verfahren vorzeitig ab-<br />
brechen, wenn p (k)T Ap (k) = 0 ist. Dann ist nämlich die Tridiagonalmatrix Tk in (2.3.4) sin-<br />
gulär und die OrthoRes-Lösung existiert nicht. Dann kann aber immer noch eine Lösung
2 KLASSISCHE KRYLOV-VERFAHREN 29<br />
mit minimalem Residuum berechnet werden, denn für den Defekt eines Elements Uky gilt<br />
mit b = βu (1) und ¯ Tk = U T k+1 AUk die Darstellung<br />
�b − AUky� = �b − Uk+1 ¯ Tky� = �Uk+1(βe (1) − ¯ Tky)�<br />
= �βe (1) − ¯ Tky�. (2.3.16)<br />
Zur Minimierung dieser Norm verwendet man jetzt anstelle der LR-Zerlegung von Tk<br />
in (2.3.4) eine QR-Zerlegung von ¯ Tk = ¯ Qk ¯ Rk mit orthogonaler Matrix ¯ Qk ∈ R (k+1)×k<br />
und quadratischer, regulärer Dreieckmatrix ¯ Rk ∈ R k×k . Diese Zerlegung läßt sich wie<br />
bei GMRES-Verfahren und Arnoldi-Verfahren (2.1.13) begleitend zum Aufbau von ¯ Tk<br />
in (2.3.2) mit einzelnen Rotationen berechnen. Im hier betrachteten symmetrischen Fall<br />
besitzt der R-Faktor aber nur drei nichttriviale Diagonalen. Die Minimalstelle in (2.3.16)<br />
ist also y (k) = β ¯ R −1<br />
k ¯ Q T k e(1) und die zugehörige Lösung<br />
x (k) = Uk ¯ R −1<br />
k<br />
� �� �<br />
Pk<br />
¯Q T k e (1) β<br />
� �� �<br />
=¯gk<br />
= Pk¯gk.<br />
Der Vektor ¯gk entspricht wieder (2.1.15), für die Suchrichtungen aus Pk = (p (1) , . . . , p (k) ) =<br />
Uk ¯ R −1<br />
k gilt aber nun die kurze Drei-Term-Rekursion<br />
p (k) = 1<br />
(u<br />
˜rkk<br />
(k) − p (k−1) ˜rk−1,k − p (k−2) ˜rk−2,k),<br />
für k = 2 entfällt natürlich der Term mit p (0) . Damit ändert sich die Lösung gegenüber<br />
dem vorherigen Schritt einfach gemäß<br />
x (k) = Pk¯gk = x (k−1) + ¯γkp (k)<br />
und das Residuum dieser Lösung ist wie beim GMRES-Verfahren gerade |γk+1|. Daher<br />
gilt auch die Residuendarstellung des Satzes 2.1.4. Der entscheidende Unterschied zu<br />
GMRES ist also nur die praktische Durchführung, welche keine Speicherung der Krylov-<br />
Basis erfordert und pro Schritt einen konstanten Aufwand besitzt.<br />
Beispiel 2.3.3 Im Standardbeispiel mit n = 10 4 Unbekannten liefern CG (links) und<br />
MINRES-Verfahren ähnliche Konvergenzdiagramme. Wie beim Vergleich von FOM und<br />
GMRES bricht dabei MINRES wegen des kleineren Residuums etwas früher ab (109 Iter.),<br />
dafür ist der Fehler aber mit 6.810 − 8 wieder größer als beim CG-Verfahren (1.510 − 8 bei<br />
113 Iter.). Dennoch ist die Laufzeit des CG-Verfahren etwas kürzer als bei MINRES. Das<br />
Diagramm von MINRES ist übrigens identisch mit dem des GMRES-Verfahrens, aller-<br />
dings ist die Laufzeit von MINRES mit 0.17 sec nur ein Zehntel der Rechenzeit (1.68sec)<br />
von GMRES.
2 KLASSISCHE KRYLOV-VERFAHREN 30<br />
Da in der Literatur für unsymmetrische Probleme auch Sparvarianten des Arnoldi-Verfah-<br />
rens mit einer begrenzten Anzahl von Orthogonalisierungen (IOM: incomplete orthogo-<br />
nalization) betrachtet werden, ist es interessant, das Verhalten von CG und MINRES bei<br />
leichter Asymmetrie zu testen. Das MINRES-Verfahren hat schon mit b = 0.1 Probleme<br />
und stagniert bei res = 10 −5 . Die Konvergenz beim CG-Verfahren leidet zwar auch unter<br />
der Asymmetrie, für b = 0.1 (linkes Diagramm) aber nur unmerklich. Auch bei b = 0.5<br />
(rechtes Diagramm) erreicht CG bei Begrenzung auf 250 Iterationen noch ein Residuum<br />
von 10 −5 mit einem Fehler von 510 − 4.<br />
Die unvollständige Orthogonalisierung ist eine Möglichkeit zur Kappung des O(k 2 n)-<br />
Aufwands beim FOM/GMRES-Verfahren, für das allerdings keine allgemeinen Kriterien<br />
angegeben werden können. Ein anderer Ansatz ist GMRES(m), bei dem nach jeweils m<br />
Schritten ein Neustart vom GMRES für das System A(x − x (m) ) = b − Ax (m) erfolgt.<br />
Auch hier gibt es keine Aussagen zur Wahl von m, die Konvergenz kann sehr kritisch von<br />
dessen Wert abhängen.<br />
2.4 Orthogonalpolynome und Fehlerschranken<br />
Da man im CG-Verfahren eine Lösung im Krylovraum Kk(A, b) sucht, hat diese die Form<br />
x (k) = qk−1(A)b mit qk−1 ∈ Pk−1 und auch für die Defekte gilt eine analoge Darstellung<br />
d (k) = b − Ax (k) = b − Aqk−1b = φk(A)b, φk ∈ Pk, φk(0) = 1.<br />
Die Defekt-Orthogonalität beim CG-Verfahren, d (k)T d (j) = 0, i �= j, bedeutet damit aber<br />
auch, dass gilt<br />
b T φk(A)φj(A)b = 0 ∀k �= j. (2.4.1)<br />
Dies ist offensichtlich eine Orthogonalitätsrelation unter den Polynomen φk mit der Bi-<br />
linearform (φ, ψ) ↦→ b T φ(A)ψ(A)b. Wenn die Eigenvektoren von A mit y (j) bezeichnet
2 KLASSISCHE KRYLOV-VERFAHREN 31<br />
werden, folgt für die zugehörige quadratische Form<br />
b =<br />
n�<br />
j=1<br />
βjy (j) ⇒ b T φ(A)φ(A)b = b T φ 2 (A)b =<br />
n�<br />
j=1<br />
β 2 j φ(λj) 2 ≥ 0. (2.4.2)<br />
Diese ist offensichtlich dann auf Pk definit, wenn in der rechten Seite b mindestens k ver-<br />
schiedene Eigenwerte λj vertreten sind. Da diese Zahl bei exakter Rechnung auch gerade<br />
die maximale Krylovdimension angibt, läßt sich zusammenfassen:<br />
Das CG-Verfahren erzeugt eine Orthogonalfamilie<br />
von Polynomen zum Innenprodukt (2.4.1).<br />
Tatsächlich spielen die Defektpolynome eine wesentliche Rolle bei der Konstruktion mo-<br />
derner Verfahren in §3.<br />
Im folgenden wird aber eine spezielle Orthogonalfamilie von Polynomen eingesetzt,<br />
welche bei Abschätzung der speziellen Norm (2.4.2) durch �b�2 maxj φ 2 (λj) den zweiten<br />
Faktor klein macht. Die Polynome mit minimaler Supremumnorm auf dem Intervall [−1, 1]<br />
sind die Tschebyscheff-Polynome<br />
�<br />
Tk(z) =<br />
cos (k arccos(z)),<br />
cosh (k Arcosh(z)),<br />
z ∈ [−1, 1],<br />
|z| > 1.<br />
(2.4.3)<br />
Hier wurde die Definition gleich um den Fall |z| > 1 ergänzt, da später solche Werte<br />
benötigt werden. Gemeinsam ist beiden Darstellungen die (von k unabhängige) Rekursi-<br />
onsgleichung<br />
Tk+1(z) = 2zTk(z) − Tk−1(z), k ≥ 1,<br />
mit den Anfangswerten T0(z) ≡ 1, T1(z) = z. Diese Drei-Term-Rekursion erinnert an<br />
die des Lanczos-Verfahrens und folgt aus den Additionstheoremen der trigonometrischen<br />
Funktionen (|z| ≤ 1) bzw. Hyperbelfunktionen<br />
cosh(k ± 1)ζ = cosh(kζ) cosh(ζ) ± sinh(kζ) sinh(ζ),<br />
mit cos 0 = cosh 0 = 1. Für z ∈ [−1, 1] ⊆ R gilt trivialerweise |Tk(z)| ≤ 1, zum Einsatz bei<br />
den Krylovverfahren muß aber das Verhalten außerhalb des Intervalls, auch in C studiert<br />
werden. Dazu wird z = cosh ζ = 1<br />
2 (eζ + e −ζ ) = 1<br />
2 (w + w−1 ) mit w = e ζ gesetzt. Es folgt<br />
Tk(z) = 1<br />
2 (eζk + e −ζk ) = J(w k ) = 1<br />
2 (wk + w −k ) mit (2.4.4)<br />
J(w) = 1<br />
2 (w + w−1 ) = z, w ±1 = z ± √ z 2 − 1. (2.4.5)<br />
Im Reellen ist dabei die Größe w = w +1 = e ζ , ζ > 0, in (2.4.5) die größere Lösung der<br />
quadratischen Gleichung 1<br />
2 (w+w−1 ) = z und w −1 die kleinere. Aus der Darstellung (2.4.5)
2 KLASSISCHE KRYLOV-VERFAHREN 32<br />
erhält man für das Argument ˆz = (β + α)/(β − α) = (κ + 1)/(κ − 1), κ = β/α ≥ 1, den<br />
Wert w = (κ + 1 + 2 √ κ)/(κ − 1). Hier kann ein Linearfaktor gekürzt werden und man<br />
erhält die untere Schranke<br />
�<br />
κ + 1<br />
�<br />
Tk =<br />
κ − 1<br />
1<br />
��<br />
2<br />
√ κ + 1<br />
�k �<br />
√ +<br />
κ − 1<br />
√ κ − 1<br />
�k� √ ≥<br />
κ + 1<br />
1<br />
�<br />
2<br />
√ κ + 1<br />
�k √ . (2.4.6)<br />
κ − 1<br />
Damit lassen sich im positiv definiten Fall a-priori-Fehlerschranken für die Verfahren<br />
aus §2.3 angeben. Dazu werden die Tschebyscheffpolynome auf das von den Eigenwerten<br />
überdeckte Intervall [α, β] = [λmin(A), λmax(A)] verschoben und durch den Funktionswert<br />
in null normiert. In der Schranke selbst tritt aber nur der Quotient der Intervallgrenzen,<br />
die Konditionszahl ˆκ(A) = β/α auf.<br />
Satz 2.4.1 Die Matrix A ∈ R n×n sei symmetrisch positiv definit und das CG-Verfahren<br />
bzw. MINRES-Verfahren über k Schritte durchführbar.<br />
a) Dann gilt für den Fehler der CG-Näherung in der A-Norm<br />
�x (k) �� �k ˆκ(A) − 1<br />
− ˆx�A ≤ 2 � �x<br />
ˆκ(A) + 1<br />
(0) − ˆx�A.<br />
b) Dann gilt für das Residuum der MINRES-Näherung<br />
�b − Ax (k) �� �k ˆκ(A) − 1<br />
�2 ≤ 2 � �b − Ax<br />
ˆκ(A) + 1<br />
(0) �2.<br />
Beweis Hintergrund der Schranken sind die Minimalcharakterisierungen in Satz 2.3.2c)<br />
und Satz 2.1.4. Durch Entwickung nach den orthonormalen Eigenvektoren y (j) wird beim<br />
CG-Verfahren mit x (0) = 0<br />
n�<br />
�x (k) − ˆx� 2 A =<br />
und bei MINRES<br />
j=1<br />
≤ min<br />
gk<br />
λj(y (j)T (x (k) − ˆx)) 2 = min<br />
gk<br />
max gk(λj)<br />
j<br />
2<br />
�b − Ax (k) �2 = min<br />
φk<br />
n�<br />
j=1<br />
�φk(A)b� ≤ min<br />
φk<br />
n�<br />
j=1<br />
λj(ˆx T y (j) ) 2 = min<br />
gk<br />
λjgk(λj) 2 (ˆx T y (j) ) 2<br />
max |φk(λj)|�b�2.<br />
j<br />
max gk(λj)<br />
j<br />
2 �ˆx� 2 A<br />
Dabei ist in beiden Fällen das Minimum über Polynome gk, φk ∈ Pk mit gk(0) = φk(0) = 1<br />
zu bilden. Eine obere Schranke erhält man somit durch Einsetzen eines beliebigen Poly-<br />
noms. Gut geeignet sind verschobene Tschebyscheff-Polynome der Form<br />
�<br />
β + α − 2ζ<br />
�� �<br />
β + α<br />
� �<br />
β/α + 1 − 2ζ/α<br />
��<br />
gk(λ), φk(ζ) = Tk<br />
Tk = Tk<br />
Tk(q)<br />
β − α β − α<br />
β/α − 1
2 KLASSISCHE KRYLOV-VERFAHREN 33<br />
mit q := (ˆκ(A) + 1)/(ˆκ(A) − 1). Für ζ ∈ [α, β] gilt |Tk((β + α − 2ζ)/(β − α))| ≤ 1 und<br />
daher gilt |φk(λj)| ≤ 1/|T (q)|, |gk(λj)| ≤ 1/|T (q)|. Die untere Schranke (2.4.6) füt T (q)<br />
liefert beide Behauptungen.<br />
Beim CG-Verfahren beobachtet man im praktischen Einsatz oft sogar eine superlineare<br />
Konvergenz, bei der die Kontraktion �d (k+1) �/�d (k) � mit der Zeit sogar abnimmt. Dahinter<br />
steht die Eigenschaft, dass extremale Eigenwerte der im symmetrischen Lanczos-Verfahren<br />
(2.3.2) berechneten Matrizen Tk sehr schnell gegen die von A konvergieren. Danach richtet<br />
sich die Konvergenz nur nach dem Intervall der restlichen Eigenwerte.<br />
Das wichtigste Einsatzgebiet von GMRES ist der unsymmetrische Fall, bei dem von<br />
komplexen Eigenwerten auszugehen ist. Zur theoretischen Abschätzung der Minimal-<br />
schranke aus Satz 2.1.4, die mit jedem eingesetzten Polynom pm eine obere Schran-<br />
ke liefert, konzentriert man sich wieder auf die Eigenwerte des Matrixpolynoms, d.h.<br />
auf maxi |p(λi)|. Je nach Annahme über die Lage der Eigenwerte kann man dazu ver-<br />
schiedene Aussagen herleiten, einen gößeren Problemkreis deckt man aber wieder mit<br />
Tschebyscheff-Polynomen Tk ab. Dazu ist zunächst das Verhalten dieser Polynome Tk(z)<br />
im Komplexen, z ∈ C, zu untersuchen. Dazu eignet sich die Darstellung (2.4.5) mit<br />
Tk(z) = J(w k ) = 1<br />
2 (wk +w −k ) und z = J(w). Dazu studiert man die Abbildung w ↦→ J(w)<br />
aus (2.4.5) detailliert im Komplexen. Die Gleichung 1<br />
2 (w+w−1 ) = z hat jeweils zwei Lösungen,<br />
welche zueinander invers sind, w1w2 = 1. Daher liefern beide in J(w k ) den gleichen<br />
Wert. Für große k dominiert in der Summe 1<br />
2 (wk + w −k ) der betragsgrößere Summand, es<br />
gilt |Tk(z)| ≥ 1<br />
2 (|w|k − 1) mit der Lösung |w| > 1. Für das Verhalten der Tschebyscheff-<br />
Polynome ist daher der Betrag der Funktion<br />
z ↦→ w = J −1 (z)<br />
entscheidend, also der der Umkehrabbildung von J. Werte auf einem Kreis {w : |w| =<br />
ρ > 0} führen zu gleichem asymptotischem Verhalten von |Tk|, k → ∞, insbesondere<br />
für ρ > 1. Das Bild eines solchen Kreises unter J ist eine Ellipse in der z-Ebene. Die<br />
Zusammenhänge lassen sich im folgenden Diagramm darstellen<br />
z ✲ w ✲ Tk(z)<br />
✛<br />
✲<br />
J(w)<br />
J(wk Ellipsen Kreise Kreise asympt.<br />
)<br />
Eine Ellipse mit Mittelpunkt µ und horizontaler bzw. vertikaler Halbachse ξ, η wird be-<br />
schrieben durch<br />
E(µ, ξ, η) := {z ∈ C : (Re (z − µ)/ξ) 2 + (Im (z − µ)/η) 2 = 1}.
2 KLASSISCHE KRYLOV-VERFAHREN 34<br />
Satz 2.4.2 Für ρ > 0 wird der Kreis {w ∈ C : |w| = ρ} durch die Abbildung J(w) =<br />
1<br />
2 (w + w−1 ) abgebildet auf die Ellipse E(0, ξ, η) (in der z-Ebene) mit<br />
ξ = 1<br />
2<br />
(ρ + 1<br />
ρ<br />
1 1<br />
) = J(ρ), η = |ρ −<br />
2 ρ |.<br />
Beweis Mit w = ρe it , t ∈ [0, 2π) wird der Kreis parametrisiert. Hieraus folgt<br />
J(w) = 1<br />
2 (ρeit + 1<br />
ρ e−it ) = 1<br />
2<br />
(ρ + 1<br />
ρ<br />
) cos t + i1<br />
2<br />
1<br />
(ρ − ) sin t<br />
ρ<br />
Dies ist die Parameterdarstellung der angegebenen Ellipse E(0, ξ, η).<br />
In der Definition ist ξ die horizontale und η < ξ die vertikale Halbachse der Ellipse E(ξ, η),<br />
die Brennpunkte im Satz sind ±1. Kreise mit Radius ρ und 1/ρ werden auf die gleiche El-<br />
lipse abgebildet. Im Grenzübergang ρ → 1 wird aus der Ellipse das reelle Intervall [−1, 1].<br />
Im Bild rechts sind die Höhenlinien von |T5(z)| in<br />
[−2, 2] × [−2, 2] gezeigt. Die Höhenlinie |T5| = 1 ist<br />
das knotenförmige Gebilde und hat keine Ähnlichkeit<br />
mit Ellipsen. Für wachsenden Betrag r > 1 ähneln die<br />
Höhenlinien |T5| = r aber immer mehr den Ellipsen aus<br />
Satz 2.4.2. Der Radius ρ > 1 des Bildkreises unter J −1<br />
kann direkt aus dem Achsenverhältnis der Ellipse E be-<br />
rechnet werden. Aus Satz 2.4.2 folgt für ξ > η<br />
η<br />
ξ = ρ2 − 1<br />
ρ2 �<br />
ξ/η + 1<br />
⇐⇒ ρ = . (2.4.7)<br />
+ 1 ξ/η − 1<br />
Kreise (ξ = η) fallen hier aus dem Rahmen (ρ → ∞). Man kann zeigen, dass bei Verteilung<br />
des Spektrums von A in einem Kreis mit Mittelpunkt µ das Polynom pk(z) = (1 − z/µ) k<br />
kleinste Norm besitzt. In diesem Fall ist also die einfache Iteration<br />
x (k+1) = x (k) + ω(b − Ax (k) ), k = 0, 1, . . . ,<br />
mit festem Parameter ω = 1/µ nicht zu verbessern.<br />
Im Fall ξ > η kann Satz 2.4.2 analog zu Satz 2.4.1 zur Konstruktion eines speziellen<br />
Polynoms φk verwendet werden, welches in der Defektdarstellung von Satz 2.1.4 einen<br />
kleinen Wert ergibt. Dazu soll φk auf den Eigenwerten von A möglichst kleine Werte im<br />
Vergleich zum Normierungswert φk(0) = 1 annehmen. Der folgende Satz enthält dabei<br />
keine Optimalitätsaussage mehr, die angegebenen (Tschebyscheff-) Polynome sind nur<br />
noch asymptotisch optimal (k → ∞).
2 KLASSISCHE KRYLOV-VERFAHREN 35<br />
Satz 2.4.3 Gegeben sei eine Ellipse E(µ, ξ, η), µ ∈ R, mit |µ| > ξ > η, d.h. 0 �∈<br />
E(µ, ξ, η). Mit γ := � ξ 2 − η 2 gilt dann für das Polynom<br />
die Schranke<br />
φk(z) := Tk((z − µ)/γ)<br />
Tm(−µ/γ)<br />
max<br />
z∈E |φk(z)|<br />
�<br />
≤ 2<br />
ξ + η<br />
|µ| + � µ 2 − ξ 2 + η 2<br />
Beweis Mit der verwendeten Variablentranformation ändern sich in (2.4.5) die Definition<br />
für w zu z − µ = γJ(w). Für die Achsen der Ellipse E(µ, ξ, η) folgt aus Satz 2.4.2 der<br />
Zusammenhang ξ = γJ(ρ), η = γ<br />
|ρ − 1/ρ|, das Verhältnis bleibt also unverändert und<br />
2<br />
ergibt mit (2.4.7) den Wert ρ. Mit diesem folgt die Gestalt von γ = ξ/J(ρ) = � ξ2 − η2 .<br />
Mit den jeweils betragsgrößeren Lösungen w aus γJ(w) = z −µ und w0 ∈ R aus γJ(w0) =<br />
−µ folgt aus (2.4.4)<br />
|φk(z)| = |wk + w −k |<br />
|w k 0 + w −k<br />
0 |<br />
�<br />
ρ<br />
�k ≤ 2 .<br />
|w0|<br />
Im Zähler wurde nach oben abgeschätzt mit |w| = ρ und im Nenner der betragskleinere<br />
Wert vernachlässigt. Mit der Darstellung (2.4.7) von ρ und |w0| = (|µ| + � µ 2 − γ 2 )/γ<br />
bekommt man nun γρ = � ξ 2 − η 2� (ξ + η)/(ξ − η) = ξ + η und mit<br />
ρ<br />
|w0| =<br />
� k<br />
.<br />
γρ<br />
|µ| + � µ 2 ξ + η<br />
=<br />
− γ2 |µ| + � µ 2 < 1.<br />
− γ2 Mit komplexen Werten µ, γ können auch andere Ellipsen behandelt werden. Entscheidend<br />
für die Güte der Konvergenz bei Krylov-Verfahren ist überraschenderweise die Exzentri-<br />
zität des Gebiets, in dem die Eigenwerte liegen. Im Extremfall einer Linie (kleine Halb-<br />
achse η = 0, ξ = (β − α)/2, µ = (α + β)/2) hängt die Konvergenz nur ab von � β/α.<br />
Bei einer kreisförmigen Verteilung (ξ = η) der Eigenwerte ist dagegen keine Verbesserung<br />
möglich. Die Verwendung dieser Tschebyscheff-Polynome in den früheren Sätzen liefert<br />
Aussagen für FOM und GMRES.<br />
Satz 2.4.4 Die Matrix A ∈ R n×n sei diagonalisierbar mit Jordan-Normalform A =<br />
XΛX −1 und ihre Eigenwerte in einer Ellipse E(µ, ξ, η) enthalten mit µ ∈ R, |µ| > ξ > η.<br />
Wenn FOM- und GMRES-Verfahren jeweils eine Näherungslösung x (k) , k ∈ N, liefern,<br />
dann gilt mit den Bezeichungen aus Satz 2.1.3 für den Fehler der FOM-Lösung die Schran-<br />
ke<br />
�x (k) �<br />
− ˆx�2 ≤ 2<br />
ξ + η<br />
|µ| + � µ 2 − ξ 2 + η 2<br />
� k �<br />
1 + ν 2 k �X��X−1 ˆx�2, (2.4.8)<br />
und für das Residuum der GMRES-Lösung<br />
�b − Ax (k) �<br />
ξ + η<br />
�2 ≤ 2<br />
|µ| + � µ 2 − ξ2 + η2 �k �X��X −1 b�2. (2.4.9)
2 KLASSISCHE KRYLOV-VERFAHREN 36<br />
Beweis Für das FOM-Verfahren wird in Satz 2.1.3 die Jordan-Normalform eingesetzt.<br />
Mit x (k) ∈ Kk(A, b) ist der Fehler<br />
ˆx − pk−1(A)Aˆx = φk(A)ˆx = Xφk(Λ)X −1 ˆx,<br />
vgl. (1.2.10), mit φk ∈ Pk und φk(0) = 1. Da hierbei ein minimales Polynom gemeint ist,<br />
liefert das Tschebyscheff-Polynom aus Satz 2.4.3 die obere Schranke aus der Behauptung.<br />
Beim GMRES-Verfahren erhält man mit den JNF in Satz 2.1.4 wieder<br />
b − Ax (k) = b − Apk−1(A)b = qk(A)b = Xqk(Λ)X −1 b,<br />
mit einem minimalen Polynom qk ∈ Pk und qk(0) = 1. Die spezielle Wahl nach Satz 2.4.3<br />
liefert wieder die Behauptung.<br />
In den Abschätzungen taucht eine neue Konstante auf, die feste, aber unbekannte Norm<br />
�X�2 oder Kondition �X�2�X −1 �2 der Eigenvektorbasis. Undurchsichtiger ist die Situa-<br />
tion bei dem OrthoRes-Lanczos-Verfahren. Hier bekommt man zwar aus (2.2.5) die Feh-<br />
lerdarstellung<br />
ˆx − x (k) = (I − Πk)ˆx = (Vk, V ′<br />
� −1<br />
−Tk k)<br />
Bk<br />
�<br />
(W<br />
I<br />
′ k) T ˆx = (I − Πk)(I − VkW T k )ˆx.<br />
Wegen der unbekannten Kondition der Basen Vk, Wk ist schon die Größe der Norm �I−Πk�<br />
schwierig einzuschätzen. Außerdem wird die Approximierbarkeit der Lösung ˆx aus dem<br />
Krylovraum Kk(A, b) jetzt durch den Schiefprojektor I − VkW T k<br />
Bild (I − VkW T k<br />
)ˆx es keine einfache Minimalitätsaussage gibt.<br />
beschrieben für dessen
3 VERFAHREN MIT KURZEN REKURSIONEN 37<br />
3 Verfahren mit kurzen Rekursionen<br />
Der günstige Aufwand beim CG-Verfahren im Vergleich zum GMRES-Verfahren rührt<br />
daher, dass die schnell konvergente Näherungsfolge x (k) mit Hilfe einer ”kurzen Rekursion”<br />
berechnet wird. Die Suche nach Verallgemeinerungen mit vergleichbaren Eigenschaften im<br />
unsymmetrischen Fall führte zu einer rasanten Entwicklung mit vielen Varianten. Leider<br />
konnten Faber und Manteuffel 1984 zeigen, dass solche Verfahren nicht existieren für<br />
allgemeine Matrizen. Das Problem reduziert sich auf die Frage, ob es bei allgemeinener<br />
Matrix A ein Innenprodukt (., .) gibt mit nur wenigen nichttrivialen Arnoldi-Koeffizienten,<br />
(Av (j) , v (i) ) = 0, j ≥ i + s.<br />
Dies ist i.w. nur im Spezialfall A T = q(A) der Fall mit q ∈ Ps−1.<br />
Die neuen Verfahren basieren auf einer Umformulierung des Lanczos-Verfahrens aus<br />
§2.2, wobei Optimalitätskriterien abgeschwächt werden. Bei allen Verfahren gibt es daher<br />
leider mehrere Möglichkeiten eines ungünstigen Abbruchs (Nulldivision) zusätzlich zum<br />
günstigen mit �d (k) � ≤ tol. Im Interesse einer übersichtlichen Darstellung werden diese bei<br />
der Formulierung der Algorithmen nicht berücksichtigt, sondern im Anschluß tabellarisch<br />
dargestellt und diskutiert.<br />
3.1 BCG und QMR<br />
Das BCG-Verfahren (biconjugate gradient, Fletcher, 1976) entsteht durch Übertragung<br />
der Herleitung (2.3.4) des CG-Verfahrens aus der LR-Zerlegung der Tridiagonalmatrix Tk<br />
auf das unsymmetrische Lanczos-Verfahren (2.2.3). Wieder unter der Voraussetzung, dass<br />
die LR-Zerlegung Tk = LkRk der Matrix Tk aus (2.2.4) existiert, setzt man mit b = βv (1)<br />
x (k) = VkT −1<br />
k e(1) β = VkR −1<br />
k<br />
� �� �<br />
=:Pk<br />
L −1<br />
k e(1) β = PkL −1<br />
k e(1) β.<br />
Offensichtlich gilt für die Komponenten des Vektors L −1<br />
k e(1) β wieder eine zweistufige Rekursion<br />
und auch für die Vektoren p (k) = Pke (k) . Da Tk selbst nicht mehr bestimmt wird,<br />
müssen zusätzlich aber auch die adjungierten Vektoren aus<br />
Qk := (q (1) , . . . , q (k) ) := Wk(L T k ) −1<br />
berechnet werden. Diese bilden mit den p (j) ein A-konjugiertes System, denn es gilt<br />
Q T k APk = L −1<br />
k W T k AVkR −1<br />
k<br />
−1<br />
= L−1<br />
k TkRk = I. (3.1.1)<br />
Bei diesem Verfahren ist ein zusätzlicher Startvektor f (0) mit f (0)T d (0) �= 0 zu wählen<br />
(etwa f (0) = b). Mit x (0) = p (0) = q (0) := 0, s0 := 1 berechnet man im BCG-Verfahren für
3 VERFAHREN MIT KURZEN REKURSIONEN 38<br />
k = 1, 2, . . . solange �d (k−1) � > tol gilt:<br />
p (k) := d (k−1) + sk−1p (k−1) , q (k) := f (k−1) + sk−1q (k−1)<br />
tk := f (k−1)T d (k−1) /q (k)T Ap (k) ,<br />
x (k) := x (k−1) + tkp (k) ,<br />
d (k) := d (k−1) − tkAp (k) , f (k) := f (k−1) − tkA T q (k) ,<br />
sk := f (k)T d (k) /f (k−1)T d (k−1) .<br />
(3.1.2)<br />
Bemerkung: 1) Etwa die Hälfte des Aufwands beim BCG-Verfahren wird durch die ad-<br />
jungierte Rekursion für f (k) , q (k) verursacht (man könnte damit ein unabhängiges System<br />
A T y = f (0) lösen, etwa beim Simplexverfahren). In die Lösung x (k) gehen diese Vektoren<br />
aber nicht als Ganzes ein, sondern nur partiell in die Skalare tk, sk über Innenprodukte.<br />
Aus dieser Beobachtung wird in §3.2 ein Verfahren entwickelt, das (mit Abstrichen) die<br />
adjungierte Rekursion einspart.<br />
2) Die Beziehung zwischen den Richtungen p (k) und q (k) ist nicht die einzige Konjugiert-<br />
heit im Verfahren. Es sei daran erinnert, dass die Lösungen durch eine Petrov-Galerkin-<br />
Bedingung (2.2.5) definiert werden und daher die Defekte {d (k) } sowie {f (j) } biorthogo-<br />
nal sind. Für aufeinander folgende Vektoren rechnet man dies analog zum Beweis von<br />
Satz 2.2.1 direkt nach,<br />
f (k)T d (k−1) = (f (k−1)T − tkq (k)T A)d k−1)<br />
= f (k−1)T d (k−1) − tkq (k)T Ap (k)<br />
� �� �<br />
=0<br />
+sk−1tk q (k)T Ap (k−1)<br />
= 0.<br />
� �� �<br />
=0<br />
Da diese Vektoren jeweils die Krylovräume K(A, b) bzw. K(A T , f (0) ) aufspannen, folgt<br />
eine wichtige, später benötigte Konsequenz<br />
d (k) ⊥ Kk−1(A T , f (0) ), f (k) ⊥ Kk−1(A, b). (3.1.3)<br />
3) Bei der Implementierung muß man natürlich die Möglichkeit eines ungünstigen Ab-<br />
bruchs beachten und Division durch zu kleine Werte in den Quotienten bei tk, sk in (3.1.2)<br />
verhindern. Dabei ist aber zu beachten, dass die Norm der Vektoren selbst, mit denen<br />
die Innenprodukte f (k−1)T d (k−1) und q (k)T Ap (k) gebildet werden (hoffentlich) gegen null<br />
geht. Bei resk := �d (k) �2 ist dies klar, da Verfahrensziel, somit ist bei guter Konvergenz<br />
|sk| < 1. Die Definition p (k) = d (k−1) + sk−1p (k−1) zeigt, dass dann auch �p (k) �2 ∼ = resk−1<br />
klein wird. Daher sollte der ungünstige Abbruch immer relativ zu res getestet werden<br />
durch |f (k)T d (k) | ≤ ɛ · resk bzw. |q (k)T Ap (k) | ≤ ɛ · resk mit einem geeigneten ɛ > 0.<br />
Abbruch wegen d (k) = 0 f (k) = 0 f (k)T d (k) = 0 q (k)T Ap (k)<br />
BCG günstig ernst (behebbar) ??
3 VERFAHREN MIT KURZEN REKURSIONEN 39<br />
Die Lanczos-Basis Vk und die Tridiagonalmatrix Tk = W T k AVk erfüllen nach (2.2.4) die<br />
Gleichung<br />
AVk = VkTk + αk+1v (k+1) e (k)T = Vk+1 ¯ Tk, ¯ Tk =<br />
�<br />
Tk<br />
0 . . . 0 αk+1<br />
Ein beliebiges Krylovraum-Elements Vky, y ∈ R k hat mit b = βv (1) daher den Defekt<br />
b − AVky = βv (1) − Vk+1 ¯ Tky = Vk+1(βe (1) − ¯ Tky).<br />
Die Lanczos-Näherung aus §2.2 und damit auch die BCG-Näherung erhielt man daraus<br />
durch die Petrov-Galerkin (2.2.5), die die ersten k Komponenten zu null macht, βe (1) −<br />
Tky = 0, analog zum Arnoldi-Verfahren. Wenn man jetzt analog zum GMRES-Verfahren<br />
das Residuum �b − AVky� = �Vk+1(βe (1) − ¯ Tky)� minimieren will, stört der Basisfaktor<br />
Vk+1, der nicht mehr orthogonal ist. Eine einfache Abhilfe ist das Ignorieren, das QMR-<br />
Verfahren (Quasi-Minimal Residuum) minimiert nur das Quasi-Residuum,<br />
y ↦→ �βe (1) − ¯ Tky�2.<br />
Dieses Minimum kann man wieder mit einer QR-Zerlegung von ¯ Tk = ¯ QkRk, ¯ Qk ∈ R (k+1)×k ,<br />
berechnen, wobei wegen der Tridiagonalstruktur Rk ∈ R k×k nur 2 obere Nebendiagonalen<br />
besitzt. Der Defekt hat die Form<br />
�βe (1) − ¯ Tmy� 2 2 = �βe (1) − ¯ QkRky� 2 = �β ¯ Q T k e (1) − Rky� 2 + β 2 �(I − ¯ Qk ¯ Q T k )e (1) � 2 2<br />
und ist minimal in<br />
x (k) = VkR −1<br />
k<br />
� �� �<br />
=:Pk<br />
¯Q T k e (1) β<br />
� �� �<br />
=:¯gk<br />
Wie im Arnoldi-Prozeß besteht ¯ Qk aus Givens-Rotationen, (2.1.13), die der Reihe nach<br />
auf die rechte Seite βe (1) anzuwenden sind, es ist ¯gk = (¯γ1, . . . , ¯γk) T aus (2.1.14). Da ¯gk<br />
die entgültigen Werte ¯γj enthält, ist die neue Lösung<br />
x (k) = Pk¯gk = Pk−1¯gk−1 + ¯γkp (k) = x (k−1) + ¯γkp (k) .<br />
Für die Spalten der Matrix Pk = VkR −1<br />
k löst man das Dreiecksystem PkRk = Vk wieder<br />
schrittweise auf,<br />
p (k) = 1<br />
(v<br />
rkk<br />
(k) − p (k−1) rk−1,k − p (k−2) rk−2,k).<br />
Das Quasi-Residuum beim QMR-Verfahren ist nie größer als im BCG-Verfahren. Daher<br />
erwartet man beim QMR-Verfahren in der Praxis einen Vorteil, auch wenn dieser oft<br />
gering sein dürfte. Tatsächlich kann man das Residuum von QMR mit dem des GMRES-<br />
Verfahrens in Beziehung setzen<br />
ResQMR ≤ κ2(Vk+1) ResGMR,<br />
.<br />
�<br />
.
3 VERFAHREN MIT KURZEN REKURSIONEN 40<br />
mit der schwer zu bestimmenden Kondition der Basismatrix. Wegen der orthogonalen<br />
Transformationen ist das Verfahren komplizierter als BCG und wird wegen der geringen<br />
Unterschiede nicht ausformuliert.<br />
Beispiel 3.1.1 Vergleich von BCG- und GMRES-Verfahren beim Standardproblem mit<br />
n = 10 4 Gitterpunkten bei Variation der Asymmetrie b. Im linken Bild ist die Asymmetrie<br />
gering (b = 0.5), die Laufzeit des BCG-Verfahrens betrug mit 0.75 sec (225 Iterationen)<br />
nur ein Zehntel der GMRES-Laufzeit (8.3 sec, 206 Iter.). Allerdings fällt schon hier der<br />
unruhige Verlauf der Residuen auf, die um mehrere Größenordnungen schwanken. Der<br />
Fehler variiert dabei nicht ganz so stark. Eine stärkere Asymmetrie (b = 2) beeinflußt<br />
GMRES nur wenig, die Laufzeit erhöht sich auf 10.4 sec (217 Iter.). Das BCG-Verfahren<br />
stagniert hier zunächst (ca. 100 Schritte) und fällt dann wieder mit starken Schwankungen<br />
steiler ab. Allerdings bricht das Verfahren schließlich wegen eines zu kleinen Innenprodukts<br />
f (k)T d (k) nach 183 Schritten ab mit einem Residuum von 2.510 − 7 und Fehler 610 − 6 ab.<br />
Hier könnte man das Verfahren mit der aktuellen Näherung ˜x für das Gleichungssystem<br />
A(x − ˜x) = b − A˜x neu starten.<br />
3.2 CGS<br />
Schon bei der Formulierung (3.1.2) des BCG-Verfahrens wurde darauf hingewiesen, dass<br />
von den Rekursionen<br />
p (k) := d (k−1) + sk−1p (k−1) , q (k) := f (k−1) + sk−1q (k−1)<br />
d (k) := d (k−1) − tkAp (k) , f (k) := f (k−1) − tkA T q (k) ,<br />
(3.2.1)<br />
nur die linke Spalte in die Lösung x (k) = x (k−1) + tkp (k) eingeht und die adjungierte<br />
Rekursion mit A T nur zur Berechnung der Koeffizienten sk−1, tk dient. Dies ist aus An-<br />
wendersicht besonders unbequem, da dafür die adjungierte Abbildung q ↦→ A T q zusätzlich<br />
implementiert werden muss und dabei auch keine einfache Approximation wie in (1.2.9)<br />
möglich ist.
3 VERFAHREN MIT KURZEN REKURSIONEN 41<br />
Mit den Startwerten d (0) = b, p (0) = 0, sowie f (0) = b, q (0) := 0 liegen alle Vektoren<br />
d (k) , p (k) , f (k) , q (k) in Krylovräumen, beide Rekursionen verwenden identische Koeffizien-<br />
ten. Daher gibt es Polynome φk, ψk ∈ Pk mit d (k) = φk(A)b und p (k+1) = ψk(A)b, welche<br />
genauso auch bei f (k) := φk(A T )f (0) und q (k+1) = ψk(A T )f (0) auftreten. Für die Innen-<br />
produkte bei den Koeffizienten sk−1, tk erhält man so über<br />
f (k)T d (k) = (φk(A T )f (0) ) T φk(A)b = f (0)T φ 2 k(A)b,<br />
q (k)T Ap (k) = (ψk−1(A T )f (0) ) T Aψk−1(A)b = f (0)T Aψ 2 k−1(A)b<br />
Innenprodukte, die ganz ohne die Transponierte A T auskommen. Mit dieser Beobachtung<br />
konstruierte Sonneveld 1989 das CGS-Verfahren (conjugate gradient squared). Es erfordert<br />
die induktive Konstruktion von Vektoren, die sich über die Quadrate φ2 k (A)b, ψ2 k (A)b der<br />
CG-Polynome ergeben. Dazu überträgt man die Rekursionen (3.2.1) auf die Polynome<br />
und erhält durch Quadrieren<br />
d (k) = φk(A)b : φk(λ) = φk−1(λ) − tkλψk−1(λ),<br />
p (k+1) = ψk(A)b : ψk(λ) = φk(λ) + sk ψk−1(λ),<br />
φ2 k (λ) = φ2k−1 (λ) − 2tkλ φk−1(λ)ψk−1(λ) +t2 kλ2ψ 2 k−1 (λ),<br />
� �� �<br />
?<br />
ψ2 k (λ) = φ2k (λ) + 2sk φk(λ)ψk−1(λ) +s2 kψ2 k−1 (λ).<br />
� �� �<br />
?<br />
(3.2.2)<br />
Ohne die markierten gemischten Terme wäre dies eine Rekursion für die Quadrate. Die<br />
Schwierigkeit läßt sich einfach dadurch umgehen, dass man für beide eine zusätzliche<br />
Rekursion einführt (in der Literatur wird teilweise nur eine aufwändige Zusatzrekursion<br />
eingeführt, bei anschließenden Zusammenfassungen entsteht dann doch wieder diese).<br />
Durch Ausnutzung von (3.2.2) erhält man für die Produkte φkψk−1 = (φk−1−tkλψk−1)ψk−1<br />
und φk−1ψk−1 = φ 2 k−1 + sk−1φk−1ψk−2. Für die 4 Polynome (ohne Argument λ) ergibt sich<br />
somit<br />
φkψk−1 = φk−1ψk−1 − tkλψ 2 k−1 → q (k) ,<br />
φ 2 k = φ2 k−1 − tkλ(2φk−1ψk−1 − tkλψ 2 k−1 ),<br />
= φ 2 k−1 − tkλ(φk−1ψk−1 + φkψk−1) → d (k) ,<br />
φkψk = φ 2 k + skφkψk−1 → u (k+1)<br />
ψ 2 k = φkψk + sk(φkψk−1 + skψ 2 k−1 ) → p(k+1) .<br />
(3.2.3)<br />
Am rechten Rand sind die (neuen!) Namen der Vektoren angegeben, die im folgenden<br />
Algorithmus die zu den Polynomen gehörenden Krylovraum-Elemente enthalten. Nur d (k)<br />
stellt weiter den Defekt dar und liefert formal durch Betrachtung von ˆx − A −1 d (k) auch<br />
die Rekursion für die Näherungen x (k) .
3 VERFAHREN MIT KURZEN REKURSIONEN 42<br />
So entsteht das CGS-Verfahren (conjugate gradient squared), f := f (0) �= 0 beliebig,<br />
x (0) := p (0) := q (0) := 0, s0 := 1, d (0) := b. Man berechnet für k = 1, 2, . . . solange<br />
�d (k−1) � > tol gilt:<br />
u (k) := d (k−1) + sk−1q (k−1)<br />
p (k) := u (k) + sk−1(q (k−1) + sk−1p (k−1) ), tk := f T d (k−1) /f T Ap (k) ,<br />
q (k) := u (k) − tkAp (k)<br />
x (k) := x (k−1) + tk(u (k) + q (k) ),<br />
d (k) := d (k−1) − tkA(u (k) + q (k) ), sk := f T d (k) /f T d (k−1) .<br />
(3.2.4)<br />
In der linken Spalte sind die Vektor-Operationen, rechts die Innenprodukte gruppiert. An-<br />
stelle der Multiplikation mit A T in (3.2.1) ist jetzt eine zweite mit der Matrix A getreten,<br />
die Transponierte A T wird nicht mehr benötigt!<br />
Wegen der Herleitung aus dem BCG-Verfahren gibt es natürlich wieder die Gefahr eines<br />
ungünstigen Abbruchs bei f T d (k) ∼ = 0 oder f T Ap (k) ∼ = 0. Auch hier ist die Überprüfung<br />
relativ zu resk durchzuführen. Überblick:<br />
Abbruch wegen d (k) = 0 f T d (k) = 0 f T Ap (k) = 0<br />
CGS günstig ernst ernst<br />
Im Schritt k liegen alle indizierten Vektoren im Krylovraum K2k(A, b), der Defekt<br />
d (k) = φ2 k (A)b ist i.w. das Quadrat desjenigen im BCG-Verfahren. Bei guter Konvergenz<br />
konvergiert das CGS-Verfahren daher (bei doppeltem Aufwand) ungefähr doppelt so<br />
schnell wie das BCG-Verfahren. Wenn allerdings beim BCG-Verfahren die Defekte stark<br />
schwanken, verstärkt sich das beim CGS-Verfahren und kann wegen der wechselnden<br />
Größenordnungen zu numerischen Instabilitäten führen.<br />
Beispiel 3.2.1 Beim Standardbeispiel mit Asymmetrie b = 1 und n = 10 4 Gitterpunkten<br />
steigt das Residuum beim CGS-Verfahren nach einer zwischenzeitlichen Reduktion auf<br />
10 −5 später wieder an, nach 500 Iterationen ist der Defekt größer als zu Beginn.<br />
Bei Reduktion der Größe auf n = 2500 Gitterpunkte be-<br />
kommt man beim Vergleich von GMRES-, BCG- und CGS-<br />
Verfahren die gezeigten Ergebnisse. Das BCG-Verfahren<br />
bricht wieder vorzeitig ab, allerdings erst bei res ∼ = 10 −7<br />
nach 110 Iterationen (gleiche Schrittzahl wie GMRES).<br />
Die Residuen verhalten sich dabei etwas unruhig. Bei CGS<br />
kommt es zunächst zu einem erheblichen Anstieg der Resi-<br />
duennorm auf weit über 10 2 , bevor dann Konvergenz ein-<br />
setzt und nach 198 Schritten zum geregelten Abbruch mit<br />
res ≤ 10 −8 führt, der Endfehler ist 310 − 7. Allerdings ist<br />
das Verhalten so irregulär, dass die Folge der Residuen wie<br />
eine diffuse Punktwolke erscheint.
3 VERFAHREN MIT KURZEN REKURSIONEN 43<br />
Das nächste Verfahren versucht, diese starken Schwankungen zu verringern.<br />
3.3 BiCGStab<br />
Dieses Verfahren von Van der Vorst (1992) modifiziert die Idee des CGS-Verfahrens,<br />
indem es beim in (3.2.3) neu definierten Defekt d (k) = φ 2 k (A)b = φk(A)φk(A)b einen<br />
der Polynomfaktoren durch einen anderen ersetzt<br />
c (k) = χk(A)φk(A)b.<br />
Das Ziel ist natürlich, die Defektschwankungen des CGS-Verfahrens zu verkleinern durch<br />
eine bessere Wahl von χk ∈ Pk. Dabei wird χk aus Linearfaktoren aufgebaut, welche<br />
schrittweise im Verfahren bestimmt werden,<br />
χk(λ) = (1 − wkλ)χk−1(λ). (3.3.1)<br />
Vom Gesamtpolynom betrachtet man den Teil χk−1φk und erhält dafür mit (3.2.2) die<br />
Rekursion<br />
χk−1φk<br />
� �� � = χk−1(φk−1 − tkλψk−1)<br />
= (1 − ωk−1λ) χk−2φk−1<br />
� �� � −tkλ χk−1ψk−1<br />
� �� �<br />
?<br />
→ u (k) . (3.3.2)<br />
Hier wird also wieder eine zweite Rekursion für χk−1ψk−1 benötigt, mit (3.2.2) gilt<br />
χkψk<br />
� �� � = χk(φk + skψk−1)<br />
�<br />
= (1 − wkλ) χk−1φk<br />
� �� � +sk<br />
�<br />
χk−1ψk−1<br />
� �� �<br />
→ p (k+1) . (3.3.3)<br />
Also kann man für die zugehörigen Vektoren c (k) = (I − wkA)u (k) , u (k) = χk−1(A)φk(A)b,<br />
p (k+1) = χk(A)ψk(A)b folgende Rekursion angeben,<br />
u (k) = c (k−1) − tkAp (k) ,<br />
c (k) = (I − wkA)u (k) ,<br />
p (k+1) = c (k) + sk(I − wkA)p (k) .<br />
(3.3.4)<br />
Durch Multiplikation der Defektbeziehung mit A −1 läßt sich auch die Näherung x (k) fort-<br />
schreiben:<br />
c (k) = u (k) − wkAu (k) = c (k−1) − tkAp (k) − wkAu (k)<br />
⇒ x (k) = x (k−1) + tkp (k) + wku (k) .<br />
(3.3.5)
3 VERFAHREN MIT KURZEN REKURSIONEN 44<br />
Der freie Paramter wk sollte den Defekt möglichst klein machen. Daher ist folgende Wahl<br />
naheliegend, die bei gegebenem u (k) die Norm in der mittleren Zeile von (3.3.4) bezüglich<br />
w minimiert: �c� 2 = �u − wAu� 2 = �u� 2 − 2wu T Au + w 2 �Au� 2 ! = min, was für<br />
wk = u(k)T Au (k)<br />
�Au (k) � 2 2<br />
der Fall ist. Obwohl jetzt alle Größen des Verfahrens beschrieben sind, ist es noch nicht<br />
durchführbar, da der zur Berechnung der Parameter sk, tk erforderliche Vektor d (k) =<br />
φ2 k (A)b aus dem CGS-Verfahren nicht mehr mitgeführt wird. Zum Glück kann man die<br />
Parameter wegen der Bi-Orthogonalität von φk(A)b und φj(AT )f (0) auch aus<br />
ϱk :=<br />
�<br />
χk(A T �T )f φk(A)b = f T χk(A)φk(A)b = f T c (k)<br />
berechnen. Denn wegen (3.1.3) fallen im Innenprodukt mit φk(A)b alle niederen Potenzen<br />
von χk(A T )f oder φk(A T )f weg,<br />
ϱk =<br />
�<br />
χk(A T �T )f<br />
= χ(k)<br />
k<br />
φ (k)<br />
�<br />
φk(A<br />
k<br />
T �T )f<br />
φk(A)b = χ(k)<br />
k<br />
φk(A)b = χ(k)<br />
k<br />
k! ((AT ) k f) T φk(A)b<br />
φ (k)<br />
k<br />
f T φ 2 k(A)b = χ(k)<br />
k<br />
φ (k)<br />
k<br />
f T d (k) .<br />
Dabei ist χ (k)<br />
k /k! einfach der höchste Koeffizient des Polynoms χk. Wegen des Ansatzes<br />
(3.3.1) und der Rekursion für φk gilt<br />
χ (k)<br />
k<br />
Daraus folgt für den ersten Parameter<br />
(k−1)<br />
(k−1)<br />
= −kwkχ k−1 , φ(k)<br />
k = −ktkφ k−1 .<br />
sk = f Td (k)<br />
f T tkϱk<br />
=<br />
d (k−1)<br />
wkϱk−1<br />
= tk<br />
wk<br />
f Tc (k)<br />
f T . (3.3.6)<br />
c (k−1)<br />
Analog kann man bei der Berechnung von tk vorgehen, nur die höchsten Terme bleiben<br />
übrig, jetzt aufgrund der A-Konjugiertheit (3.1.1) im BCG-Verfahren. Außerdem sind die<br />
führenden Koeffizienten von φk und ψk gleich. Damit gelten für tk aus (3.1.2) bzw. (3.2.4)<br />
folgende Umformungen. Bei gleichzeitigem Übergang zwischen Polynomen in Zähler und<br />
Nenner kürzen sich dabei die Ausgleichsfaktoren weg:<br />
tk = (φk−1(A T )f) T φk−1(A)b<br />
(φk−1(A T )f) T Aψk−1(A)b = (χk−1(A T )f) T φk−1(A)b<br />
(χk−1(A T )f) T Aψk−1(A)b<br />
= f T χk−1(A)φk−1(A)b<br />
f TAχk−1(A)ψk−1(A)b = f Tc (k−1)<br />
f T ϱk−1<br />
=<br />
Ap (k) f TAp (k) .
3 VERFAHREN MIT KURZEN REKURSIONEN 45<br />
Nach dieser aufwändigen Herleitung bekommt man den recht überschaubaren Algorithmus<br />
des BiCGStab-Verfahrens. Mit f �= 0, u (0) = p (0) = x (0) = 0, s0 := 1, ϱ0 := f T b und<br />
c (0) := b, für k = 1, 2, . . ., solange �c (k−1) � > tol:<br />
p (k) := c (k−1) + sk−1(I − wk−1A)p (k−1) , tk := ϱk−1/f T Ap (k) ,<br />
u (k) := c (k−1) − tkAp (k) , wk := u (k)T Au (k) /�Au (k) � 2 2,<br />
x (k) := x (k−1) + tkp (k) + wku (k) ,<br />
c (k) := (I − wkA)u (k) , ϱk = f T c (k) ,<br />
sk := tkϱk/(wkϱk−1),<br />
(3.3.7)<br />
Tatsächlich benötigt man für den Vektor u (k) keinen Speicherplatz, man kann mit ihm den<br />
Defekt c (k−1) in den Zeilen 2—4 überschreiben. Somit wird nur für 3 Vektoren Speicher-<br />
platz benötigt. Auch dieses Verfahren nutzt zwei Matrix-Vektor-Multiplikationen mit A,<br />
keine mit A T . Zu den bisherigen Gründen für einen ungünstigen Abbruch, f T Ap (k) ∼ = 0,<br />
f T c (k) ∼ = 0 kommt noch der mit wk ∼ = 0 hinzu. Für u �= 0 ist u T Au = 0 möglich, wenn<br />
A nicht definit ist. Dann gilt für jedes w leider �c (k) � > �u (k) �2, aber evtl. kann man das<br />
Verfahren mit einem willkürlichen Ersatzwert fortsetzen.<br />
Abbruch wegen c (k) = 0 f T c (k) = 0 f T Ap (k) = 0 u (k)T Au (k) = 0<br />
BiCGStab günstig ernst ernst ??<br />
Beispiel 3.3.1 Hier wird wieder das Beispiel mit<br />
der Standardgröße n = 10 4 und b = 1 betrach-<br />
tet. Die Graphik zeigt den Vergleich von BCG-, CGS-<br />
und BiCGStab-Verfahren. Wie oben erwähnt konver-<br />
giert CGS hier nicht (mittleres Diagramm), umso be-<br />
eindruckender ist die gute Konvergenz von BiCGStab<br />
aufgrund der dämpfenden Wirkung des Polynoms χk.<br />
BiCGStab (unten) benötigt nur 146 Schritte (0.5sec), da<br />
das Residuum am Ende abrupt unter 10 −8 fällt, während<br />
BCG nach 180 Schritten (0.7sec) bei res = 810 − 7 ab-<br />
bricht. BiCGStab ist auch das einzige der ”schnellen”<br />
Verfahren, das auch das größere Problem mit n = 40000<br />
Punkten noch löst in 289 Schritten (4 sec.). GMRES<br />
benötigt 2:20 Minuten und 400 Schritte.<br />
Es gibt noch einen weiteren Abkömmling des CGS-Verfahrens das TFQMR-Verfahren<br />
(transpose-free quasi-minimal residual) von Freun (1993). Dessen Herleitung und Darstel-<br />
lung ist etwas aufwändiger und wird daher aus Zeitgründen nicht behandelt.
4 ERGÄNZUNGEN 46<br />
4 Ergänzungen<br />
Beim praktischen Einsatz von Krylov-Verfahren spielen weitere Aspekte eine Rolle, die<br />
hier kurz behandelt werden. Der wichtigste ist zunächst die Verringerung der Matrix-<br />
Kondition zur Beschleunigung der Konvergenz durch eine äquivalente Umformulierung<br />
des Gleichungssystems (Präkonditionierung). Außerdem tritt (im Rahmen anderer nume-<br />
rischer Verfahren) häufiger die Situation auf, dass Systeme mit mehreren rechten Seiten<br />
gleichzeitig oder nacheinander zu lösen sind. Direkte Lösungsverfahren profitieren hier von<br />
einer Wiederverwendung der berechneten LR- oder QR-Zerlegung, bei Krylov-Methoden<br />
ist dies schwieriger.<br />
4.1 Präkonditionierung<br />
Ein wesentlicher Aspekt der Konvergenzaussage aus Kapitel 2 in Satz 2.4.1 und Satz 2.4.4<br />
war die überwiegende Abhängigkeit der Konvergenzgeschwindigkeit von der Kondition der<br />
Matrix, etwa ˆκ(A) = λmax(A)/λmin(A) beim CG-Verfahren. Diese kann durch Übergang<br />
zu einem geeigneten äquivalenten System mit regulärer Matrix M verringert werden, denn<br />
M −1 Ax = M −1 b ⇐⇒ Ax = b. (4.1.1)<br />
Dies gilt trivialerweise mit M = A, da dann ˆκ(M −1 A) = 1 gilt, ist aber keine Hilfe. Die<br />
Umformulierung macht nur dann Sinn, wenn die Lösung von Systemen mit der Matrix M<br />
billiger ist als die mit A und sich (i.w.) die Kondition ˆκ(M −1 A) genügend verkleinert. Ge-<br />
nau genommen nennt man (4.1.1) Links-Präkonditionierung, Rechts-Präkonditionierung<br />
entspricht der Lösung von<br />
Ax = (AM −1 )Mx = b ⇐⇒ (AM −1 )y = b, x = M −1 y. (4.1.2)<br />
Die Betrachtung beider Varianten macht Sinn, da z.B. beim CG-Verfahren die Symme-<br />
trie der Matrix erhalten bleiben muß. Dies ist der Fall, wenn linker und rechter Faktor<br />
Transponierte sind<br />
(L −T AL −1 ) Lx = L −T b. (4.1.3)<br />
Die Entwicklung von solchen ”Präkonditionierern” ist ein breites und <strong>aktuelles</strong> Forschungs-<br />
gebiet, da Präkonditionierung sich an den Matrixeigenschaften des konkreten Anwen-<br />
dungsproblems orientiern muss, die Entwicklung also problemabhängig ist. Es gibt einige<br />
breiter einsetzbare Methoden, die hier angesprochen werden. Als Beispiel für eine pro-<br />
blemspezifischen Präkonditionierung wird kurz eine für das Standardbeispiel 2.1.5 geeig-<br />
nete vorgeführt.
4 ERGÄNZUNGEN 47<br />
Unvollständige LR-Zerlegung<br />
Ein Hauptgrund für den hohen Aufwand beim Gauß-Algorithmus für die Lösung großer,<br />
dünnbesetzter Systeme ist das Auffüllen bei der Elimination, welches zu einer wesentlich<br />
größeren Zahl nichttrivialer Matrixelemente in der LR-Zerlegung als in der Ausgangsma-<br />
trix führt. Allerdings stellt man v.a. bei diagonaldominanten Matrizen fest, dass die Größe<br />
dieser neuen Elemente (”fill-in”) oft kleiner ist als die der Elemente in A. Denn jede neue<br />
Generation von Auffüllelementen wird durch ein Pivotelement dividiert. Mit der (nicht<br />
optimalen) zeilenweisen Numerierung von Variablen im Standardbeispiel hat man etwa<br />
Bandstruktur mit folgendem Generationsschema (m = 4):<br />
⎛<br />
⎜<br />
⎝<br />
0 0 0<br />
0 0 0 1 0<br />
0 0 0 2 1 0<br />
0 0 0 3 2 1 0<br />
0 0 0 4 3 2 1 0<br />
0 0 5 4 3 2 1 0<br />
0 1 2 3 4 5 0 0 4 3 2 1 0<br />
0 1 2 3 4 0 0 0 4 3 2 1 0<br />
. . .<br />
Diese Beobachtung legt die Nutzung einer unvollständigen LR-Zerlegung ILU(g) nahe.<br />
Dabei werden neue Elemente ab der Generation g + 1 einfach ignoriert. Bei ILU(0) wären<br />
das alle ab Generation eins, d.h. ℓij, rij mit aij = 0. Für die so berechneten Faktoren gilt<br />
dann nur<br />
. . .<br />
˜L ˜ R = A + F<br />
mit einer Fehlermatrix F . Die Präkonditionierungsmatrix M := ˜ L ˜ R erfüllt damit die<br />
Anforderungen von oben, da die Hilfssysteme wie y = Mx = ˜ L( ˜ Rx) einfach zu lösen<br />
sind. Im symmetrisch definiten Fall ersetzt man die LR-Zerlegung durch die symmetrische<br />
(unvollständige) Cholesky-Zerlegung<br />
˜L ˜ L T = A + F.<br />
Dann führt die Präkonditionierung (4.1.3) wieder auf ein symmetrisches Problem, bei dem<br />
das CG-Verfahren eingesetzt werden kann. Tatsächlich benötigt man bei Verwendung des<br />
neuen Skalarprodukts (x, y) ↦→ y T Mx im CG-Verfahren die Faktorisierung von M nicht<br />
explizit. Wenn bei der unvollständigen Zerlegung wirklich nur kleine Elemente ignoriert<br />
wurden und �F � klein ist, häufen sich die Eigenwerte von<br />
( ˜ L ˜ R) −1 A = I − M −1 F<br />
in einer Umgebung von eins und führen zu einer wesentlich schnelleren Konvergenz der Ite-<br />
ration. Wegen der besonderen Konvergenzeigenschaften von Krylovverfahren stören dabei<br />
auch einzelne Ausreißer nicht, da diese exponierten Eigenwerte schnell approximiert wer-<br />
den und die Konvergenzgeschwindigkeit sich dann wieder nach den restlichen Eigenwerten<br />
richtet.<br />
. . .<br />
⎞<br />
⎟<br />
⎠
4 ERGÄNZUNGEN 48<br />
Iterations-Präkonditionierer<br />
Die Matrix M des Präkonditionierers (4.1.1) muß nicht explizit bekannt sein, hier kann<br />
durchaus auch ein anderes Iterationsverfahren eingesetzt werden, dessen Konvergenz nicht<br />
auf einem Krylovraum-Hintergrund beruht. Dazu gehören Gesamtschritt-, Einzelschritt-<br />
oder SOR-Verfahren. Hier ist das Gesamtschrittverfahren nicht sehr attraktiv, es ent-<br />
spricht i.w. eine Diagonal-Präkonditionierung mit M = D = diag i(aii), welche nur bei un-<br />
terschiedlichen Größenordnungen der Elemente einen Effekt hat. Anderes gilt für Einzel-<br />
schritt- und insbesondere SOR-Verfahren. Diese beruhen auf der Zerlegung der Matrix<br />
A = L + D + R in die Hauptdiagonale D = diag(aii), die Elemente unter der Hauptdiago-<br />
nale L und über der Hauptdiagonale: R. Durch einen Schritt des SOR-Verfahrens erreicht<br />
man Präkonditionierung mit der Matrix D + ωL, wobei ω der Relaxatinsparameter ist,<br />
ω = 1 entspricht dem Einzelschrittverfahren. Da diese untere Dreieckmatrix nicht symme-<br />
trisch ist, verbietet sich der Einsatz beim CG-Verfahren für symmetrisches A. Dem kann<br />
man aber durch Kombination mit umgekehrtem Schleifendurchlauf abhelfen, zum SSOR-<br />
Verfahren (symmetric successive overrelaxation) gehört die Präkonditionerungsmatrix<br />
M = Mω = (D + ωL)D −1 (D + ωL T ), L T = R.<br />
Gerade beim Modellbeispiel, wo man gute Parameter ω kennt, führt dies zu einer er-<br />
heblichen Beschleunigung der Krylov-Iteration. Im Standardbeispiel 2.1.5 kann man die<br />
Konvergenzraten explizit berechnen, im symmetrischen Fall (b = 1) bekommt man für<br />
CG-Verfahren ohne und mit SSOR-Präkonditionierung die Konvergenzaussagen<br />
fehlerCG ∼<br />
�<br />
1 − π<br />
m<br />
Transformations-Präkonditionierer<br />
� k<br />
, fehlerCG−SSOR ∼<br />
�<br />
1 − 4<br />
3<br />
� π<br />
m<br />
Zu Beginn wurde in (1.1.5) der Einsatz des Eigensystems einer Matrix zur Lösung von<br />
linearen Gleichungssystemen erwähnt. Dabei ist natürlich die numerische Berechnung der<br />
Basis unsinnig. In einigen interessanten Fällen kann man aber das Eigensystem einer<br />
Matrix M = XΛX −1 ∼ = A explizit angeben. Dies ist z.B. beim Standard-Beispiel 2.1.5<br />
der Fall, für die Differenzendiskretiserung des (negativen) Laplaceoperators auf einem<br />
Rechteck mit Dirichlet-Randbedingungen (als Beispiel) sind die diskreten Funktionen mit<br />
u(ξi, ηj) = sin ikπ jℓπ<br />
sin<br />
m + 1 m + 1<br />
(orthogonale) Eigenfunktionen. Die Parameter k, ℓ ∈ N haben die Bedeutung von Fre-<br />
quenzen, der zugehörige Eigenwert ist ∼ = (k 2 + ℓ 2 )π 2 . Überdies kann man die Multiplika-<br />
tion mit den Basismatrizen X −1 , X sehr effizient über die schnelle Fouriertransformati-<br />
on durchführen. Daher eignet sich diese Präkonditionierung für Systeme von Reaktions-<br />
Diffusionsgleichungen auf Rechteckgebieten.<br />
� k<br />
.
4 ERGÄNZUNGEN 49<br />
Im genannten Beispiel hat die Fouriertransformation den Nachteil, dass sie mit komple-<br />
xen Zahlen arbeitet, die numerisch einen vielfach höheren Aufwand als reelle Rechnung<br />
zur Folge haben. Als Alternative bietet sich die schnelle Hartley-Transformation an. Sie<br />
verwendet die Funktion cas(x) := cos(x) + sin(x) mit der Additionsregel<br />
Mit φn := 2π/n lautet die Transformation<br />
cas(x + y) = cas(x)cas(y) − 2 sin(−x) sin(y).<br />
�n−1<br />
u = Hx ⇐⇒ uk = xjcas(kjφn), xj = 1 �n−1<br />
ukcas(kjφn). (4.1.4)<br />
n<br />
j=0<br />
Die zugehörige Matrix ist symmetrisch H = HT , H−1 = 1 H. Besonders interessant ist,<br />
n<br />
dass die Multiplikation (4.1.4) für n = 2ℓ sehr schnell mit O(n log n) reellen Operationen<br />
durchgeführt werden kann. Außerdem läßt sich eine Variante in 2 Ortsdimensionen aus<br />
eindimensionalen H-Transformationen zusammensetzen. Für die Präkonditionierung bei<br />
Differenzenmatrizen ist die Hartley-Transformation interessant wegen der Eigenschaft<br />
⎛<br />
−2 1 1<br />
⎞<br />
⎜<br />
T := ⎜<br />
⎝<br />
1 −2<br />
1<br />
1<br />
−2<br />
. ..<br />
1<br />
. ..<br />
⎟<br />
. ..<br />
⎟<br />
⎠<br />
⇒ HT H = Dn = 2n diagj( cos(jφn) − 1).<br />
1 1 −2<br />
Diese Matrix T unterscheidet sich von der eindimensionalen Differenzenmatrix zu (2.1.18)<br />
i.w. nur durch ihre zyklische Struktur, die zu periodischen Randbedingungen gehört. Da-<br />
her kann man mit der Inversen HD −1<br />
n H und der Variante mit 2 Ortsdimensionen das<br />
Randwertproblem nicht lösen, aber gut präkonditionieren. Der algebraische Zusammen-<br />
hang zwischen einer und zwei Ortsdimensionen wird durch ein Matrix-Tensorprodukt<br />
hergestellt. In einem einfachen Beispiel bei einem System von Randwertproblemen<br />
� � � �<br />
ν∆u u − v<br />
+<br />
= 0<br />
ν∆v u + 2v<br />
auf einem Gitter mit 128 2 Punkten und Diffusionskoeffizient ν = 0.5 erreicht das un-<br />
präkonditionierte GMRES-Verfahren nach 200 Iterationen nur eine Fehlerreduktion um<br />
den Faktor 10 −5 , die präkonditionierte Iteration konvergiert dagegen schon nach 8 Itera-<br />
tionen (res = 2 · 10 −9 bei Startresiduum 10 2 ).<br />
k=0
Index<br />
Abbruch, 11, 17, 23, 37, 38, 42, 45<br />
günstiger, 15, 22<br />
Arnoldi-Verfahren, 11, 14–16, 20–23, 29,<br />
39<br />
BCG-Verfahren, 22, 37–40, 42, 44<br />
BiCGStab-Verfahren, 45<br />
biorthogonal, 4, 20, 38<br />
Cayley-Hamilton, 5<br />
CG-Verfahren, 26–28, 30, 32, 33, 37, 46,<br />
47<br />
CGS-Verfahren, 41–45<br />
Cholesky-Zerlegung, 47<br />
diagonalisierbar, 4, 35<br />
Differentialgleichung, 18<br />
Differenzenstern, 18<br />
Eigenwert, 6, 11, 31–33, 35, 47<br />
Ellipse, 33<br />
FOM, 14, 35<br />
Galerkin-Verfahren, 12<br />
GMRES(m), 30<br />
GMRES-Verfahren, 15, 29, 30, 33, 35, 39,<br />
49<br />
Hartley-Transformation, 49<br />
Hessenberg, 10, 11, 16, 23<br />
ILU(g), 47<br />
IOM, 30<br />
Kondition, 5<br />
Lanczos, 33<br />
-Verfahren, 20, 23, 24<br />
biorthogonal, 20, 22, 23, 37<br />
50<br />
LR-Zerlegung<br />
unvollständige, 47<br />
Minimalpolynom, 6<br />
MINRES-Verfahren, 29, 32<br />
Normalform<br />
Jordan-, 3, 35<br />
Schur-, 4<br />
Orthogonal-Polynome, 31<br />
Orthogonalisierung, 10, 11, 17, 30<br />
Orthonormalbasis, 4<br />
Petrov-Galerkin, 13, 21<br />
Präkonditionierung, 46<br />
QMR-Verfahren, 39<br />
QR-Zerlegung, 4, 10, 16, 29, 39<br />
Residuum, 12<br />
SOR-Verfahren, 48<br />
Spektralradius, 5, 7<br />
superlinear, 33<br />
TFQMR-Verfahren, 45<br />
tridiagonal, 20, 22–24, 29<br />
Tschebyscheff-Polynom, 31–33, 35, 36<br />
unvollständig, 47<br />
VanderMonde-Matrix, 6