06.01.2013 Aufrufe

aktuelles Skript

aktuelles Skript

aktuelles Skript

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!