Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte...

130
Numerische Mathematik (Wintersemester 2003/04, 2004/05, 2005/06) Dirk Praetorius Institut f¨ ur Analysis und Scientific Computing Technische Universit¨ at Wien

Transcript of Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte...

Page 1: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Numerische Mathematik(Wintersemester 2003/04, 2004/05, 2005/06)

Dirk PraetoriusInstitut fur Analysis und Scientific Computing

Technische Universitat Wien

Page 2: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Vorwort

Bei dem vorliegenden Skript handelt es sich um die Ausarbeitung der Vorlesung Numerische Ma-thematik, die ich im Wintersemester 2003/04, 2004/05 und 2005/06 an der Technischen UniversitatWien gelesen habe. Die Ausarbeitung in LATEX erfolgte im Wesentlichen parallel zur Vorlesung imWintersemester 2004/05, und es haben sich sicherlich noch etliche kleinere Tippfehler eingeschli-chen. Fur Anmerkungen zu Fehlern und Tippfehlern bin ich dankbar.

Mein Dank gilt Frau Claudia Steinwender, die die Abschnitte uber die Lagrange-Interpolationausgearbeitet hat. Herr Stephan Krenn hat eine erste Vorlesungsmitschrift in LATEX erstellt undmir dadurch sehr viel Arbeit abgenommen. Herrn Alexander Schiftner danke ich fur das ausfuhrlicheKorrekturlesen der bereits ausgearbeiteten Abschnitte. Auch Herr Michael Szell war so nett, mirseine Anmerkungen zuganglich zu machen.

Im Wintersemester 2005/06 sind mir besonders Frau Satke, Herr Dorsek und Herr Morgenbesserim Gedachtnis geblieben, die mich auf Fehler im Skript hingewiesen haben.

Dieses Skript ist weiterhin”nur” eine vorlaufige Endversion. Eigentlich wollte ich noch Matlab-

Implementierungen und numerische Beispiele zu den einzelnen Kapiteln erstellen, sodass (moglichst)alle vorgestellten numerischen Verfahren mit Experimenten und Anmerkungen zur Realisierungversehen sind. Ich scheiterte aber an meinen eigenen Anspruchen. Da ich diese Vorlesung voraus-sichtlich erst wieder im Wintersemester 2008/09 lese, soll diese Version des Skriptes wenigstens denaktuellen Stand der Korrekturen wiedergeben. ;-)

last modified: 30. Juni 2006

Page 3: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Inhaltsverzeichnis

1 Grundbegriffe der Numerischen Mathematik 11.1 Gegenstand der Numerischen Mathematik . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Gleitkommazahlen und Rundungsfehler . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Kondition und Stabilitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Verfahrensfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Matrixnormen und Konditionierung 142.1 Operatornorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 Kondition einer Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3 Vorkonditionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Eliminationsverfahren 213.1 Dreiecksmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 LU-Zerlegung nach Crout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3 LU-Zerlegung und Gauß-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4 Cholesky-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.5 QR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.6 Lineare Ausgleichsprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.7 Singularwertzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 Interpolation 514.1 Lagrange-Polynominterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.2 Cebysev-Knoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.3 Auswertung von Lagrange-Interpolationspolynomen . . . . . . . . . . . . . . . . . . 594.4 Hermite-Polynominterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.5 Spline-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.6 Diskrete und Schnelle Fourier-Transformation . . . . . . . . . . . . . . . . . . . . . . 69

5 Extrapolation 755.1 Richardson-Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.2 Aitkinsches ∆2 - Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6 Quadratur 826.1 Konvergenz von Quadraturverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.2 Interpolatorische Quadraturformeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856.3 Gauß’sche Quadraturformeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Page 4: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

7 Iterative Losung von Gleichungssystemen 967.1 Fixpunktprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.2 Newton-Verfahren zur Losung nichtlinearer GLS . . . . . . . . . . . . . . . . . . . . 1077.3 Stationare Iterationsverfahren zur Losung linearer GLS . . . . . . . . . . . . . . . . 113

7.3.1 Konvergenz der stationaren linearen Iteration . . . . . . . . . . . . . . . . . . 1147.3.2 Konvergenz von Jacobi- und Gauß-Seidel-Iteration . . . . . . . . . . . . . . . 116

7.4 Krylov-Verfahren zur Losung linearer GLS . . . . . . . . . . . . . . . . . . . . . . . . 120

Page 5: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 1

Grundbegriffe der NumerischenMathematik

1.1 Gegenstand der Numerischen Mathematik

Von der Realitat bis zur Interpretation einer Simulation ist ein weiter Weg.

• Zunachst wird versucht, die Realitat mit Hilfe mathematischer Formeln zu beschreiben. Esentsteht das sogenannte mathematische Modell. Dies liegt bei physikalischen Problemenin der Regel in Form einer oder mehrerer Differentialgleichungen mit Nebenbedingungen vor.

• Die wenigsten Differentialgleichungen konnen analytisch gelost werden. Man muss also durcheine numerische Simulation eine Losung approximieren.

• Aus der numerischen Simulation erhalten wir eine numerische Losung, die dann geeignetinterpretiert werden muss.

Regelmaßig zerfallt die numerische Simulation in kleinere numerische Probleme, die geeignet zulosen sind. Die elementarsten numerischen Probleme sind Gegenstand dieser Einfuhrungsveranstal-tung.

Jede numerische Simulation ist fehlerbehaftet. Wir unterscheiden dabei wie folgt:

• Modellfehler: Regelmaßig ist das mathematische Modell eine Vereinfachung der Realitat.

• Datenfehler: Die Eingangsdaten der numerischen Simulation erhalt man durch Messungenphysikalischer Großen. Jede Messung unterliegt einer gewissen Genauigkeit.

• Rundungsfehler: Auf Rechnern ersetzen die sogenannten Gleitkommazahlen das KontinuumR. Da die Menge aller Gleitkommazahlen endlich ist, muss es sowohl bei der Eingabe derEingangsdaten als auch bei der internen Rechnung zu Rundungsfehlern kommen.

• Verfahrensfehler: Viele Probleme werden mathematisch in unendlich-dimensionalen Rau-men oder mit Limes-Begriffen formuliert. Beides steht im Rechner nicht zur Verfugung undmuss daher geeignet diskretisiert werden. Dies fuhrt zu zusatzlichen Fehlern.

1

Page 6: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

In der Vorlesung werden wir uns nur mit den Rundungsfehlern und den Verfahrensfehlern furelementare numerische Probleme beschaftigen. Unter einem numerischen Problem verstehenwir dabei eine elementare mathematische Aufgabe, deren Losung aus der Berechnung von Zahlenbesteht, z.B. das Losen eines Gleichungssystems Ax = b mit regularer Matrix A ∈ K

n×n. Ein Algo-rithmus ist eine schematische Methode, um die Losung eines numerischen Problems zu berechnen,z.B. das Gauß-Verfahren zur Losung von Ax = b. Der Aufwand eines Algorithmus beschreibtden Speicherbedarf und die Anzahl an benotigten mathematischen Operationen. Ziel der Nume-rischen Mathematik ist die Entwicklung von Algorithmen, die mit moglichst geringem Aufwandeine moglichst große Klasse numerischer Probleme losen konnen.

1.2 Gleitkommazahlen und Rundungsfehler

Die Definition der Gleitkommazahlen erfordert den folgenden Satz aus der Grundvorlesung zurAnalysis, siehe z.B. Forster [3, Kapitel 5].

Satz 1.1. Zu fixierter Basis b ∈ N≥2 und gegebenem x ∈ R\0 existieren ein Vorzeichenσ ∈ ±1, Ziffern aj ∈ 0, 1, . . . , b− 1 und ein Exponent e ∈ Z mit

x =(σ

∞∑

k=1

akb−k)be und a1 6= 0. (1.1)

Man bezeichnet diese Darstellung als normalisierte Gleitkommadarstellung oder bbb-adischeDarstellung von x.

Bemerkung. Man beachte, dass die Darstellung aufgrund periodischer Darstellungen nicht ein-deutig ist. Es gilt beispielsweise 1 = 0.9.

Beispiel (Dezimalsystem b = 10b = 10b = 10). Unsere alltagliche Zahldarstellung basiert auf dem Dezimal-system. Die Zahl 147.4 besitzt gemaß Satz 1.1 eine Darstellung 147.4 = 0.1474 · 103. Es gelten alsoσ = 1, a1 = 1, a2 = 4, a3 = 7, a4 = 4, b = 10 und e = 3.

Beispiel (Binarsystem b = 2b = 2b = 2). Auf Computern werden Zahlen regelmaßig im Binarsystemdargestellt. Dies hat Konsequenzen. So ist z.B. die Zahl 1/10 im Binarsystem nur durch eineunendliche Reihe darstellbar.

Definition. Zu gegebener Basis b ∈ N≥2, Mantissenlange t ∈ N und Exponentialschran-ken emin < 0 < emax definieren wir die Menge der normalisierten Gleitkommazahlen F :=F(b, t, emin, emax) ⊂ R durch

F = 0 ∪(σ

t∑

k=1

akb−k)be∣∣∣σ ∈ ±1, aj ∈ 0, . . . , b− 1, a1 6= 0, e ∈ Z, emin ≤ e ≤ emax

.

Die endliche Summe a =∑t

k=1 akb−k bezeichnet man als (normalisierte) Mantisse einer Gleit-

kommazahl.

Dadurch, dass wir bei der Definition von Gleitkommazahlen die unendliche Reihe durch eine endli-che Summe ersetzen, sind periodische Darstellungen ausgeschlossen. Man uberlegt sich leicht, dass

2

Page 7: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

damit die Darstellung einer normalisierten Gleitkommazahl eindeutig ist. Ferner ist F offensichtlicheine endliche Teilmenge von R. Der folgende Satz stellt die wesentlichen Eigenschaften von F zurVerfugung.

Satz 1.2. Fur F := F(b, t, emin, emax) gelten die folgenden Aussagen:(i) Zu x ∈ F\0 existieren eindeutig das Vorzeichen σ ∈ ±1, die Mantisse a =

∑tk=1 akb

−k

und der Exponent e mit x = σabe.(ii) xmin := min

x ∈ F

∣∣x > 0

= bemin−1, xmax := maxx ∈ F

∣∣x > 0

= bemax(1 − b−t).(iii) Fur emin ≤ e ≤ emax und M := bt − bt−1 ∈ N gilt

F ∩ [be−1, be) =(b−1 + jb−t)be

∣∣ j = 0, . . . ,M − 1.

(iv) Fur x ∈ R mit xmin ≤ |x| ≤ xmax gilt

minz∈F

|z − x||x| ≤ eps :=

1

2b1−t.

Die Zahl eps heißt Maschinengenauigkeit.

Beweis. (i) sei dem Leser zur Ubung uberlassen. (ii) Fur eine Mantisse a =∑t

k=1 akb−k gilt

b−1 ≤ a ≤t∑

k=1

(b− 1)b−k =

t∑

k=1

(b−k+1 − b−k) = 1 − b−t.

Multiplikation mit bemin bzw. bemax zeigt die Behauptung. (iii) Fur die erste Ziffer a1 ∈ 1, . . . , b−1gibt es nach Definition (b − 1) verschiedene Moglichkeiten, fur a2, . . . , at ∈ 0, . . . , b − 1 jeweils bviele Moglichkeiten. Also gibt es insgesamt (b − 1)bt−1 = bt − bt−1 = M verschiedene Mantissen.Der Abstand zweier benachbarter Mantissen ist gerade b−t, d.h. es gilt a = b−1 + jb−t fur einj = 0, . . . ,M − 1. (iv) Ohne Beschrankung der Allgemeinheit gilt x ≥ 0 sowie x ∈ [be−1, be] mitemin ≤ e ≤ emax. Die Gleitkommazahlen z ∈ F ∩ [be−1, be] liegen gleichverteilt mit Abstand be−t.Also existiert ein z ∈ F mit |z − x| ≤ 1

2be−t. Mit |x| ≥ be−1 folgt die Behauptung.

Insgesamt ist F eine endliche Teilmenge von F := [−xmax,−xmin] ∪ 0 ∪ [xmin, xmax]. Um die Nullklafft eine Lucke. Die Abstande zwischen den Gleitkommazahlen nehmen mit dem Betrag zu, derrelative Fehler bleibt aber beschrankt.

Bemerkung. Fur x, y ∈ R bezeichnet man |x− y| als absoluten Fehler von y zu x. Ist x 6= 0, sobezeichnet man |x−y|/|x| als relativen Fehler von y zu x. Die Maschinengenauigkeit eps gibt denmaximalen relativen Fehler, wenn eine reelle Zahl x ∈ F in eine Gleitkommazahl (durch Rundung)konvertiert wird.

Fur die Menge F definieren wir die Rundung rd : F → F implizit durch

|x− rd(x)| = minz∈F

|x− z|, (1.2)

wobei rd(x) das betragsgroßere z ∈ F sei, falls die Minimalstelle nicht eindeutig ist. Nach Satz 1.2existiert zu x ∈ F\0 ein ε ∈ R mit |ε| ≤ eps und rd(x) = x(1 + ε), denn Umformung zeigtε = (rd(x) − x)/x und daher |ε| ≤ eps.

3

Page 8: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

Generalvoraussetzung. Fur die Rundungsfehleranalyse machen wir die folgende idealisierteAnnahme: Die arithmetischen Operationen (+, −, ·, :) sowie alle mathematischen Funktionen (z.B.sin, cos,

√·) werden im Rechner exakt durchgefuhrt und liefern als Gleitkomma-Ergebnis das ge-rundete exakte Ergebnis, z.B.

x⊕ y := rd(x+ y) fur alle x, y ∈ F mit x+ y ∈ F,

wobei ⊕ die Rechneraddition bezeichne und wir stets annehmen, dass kein Uberlauf (Betrag desErgebnis > xmax) oder Unterlauf (Betrag des Ergebnis < xmin) auftrete.

MatlabMatlabMatlab-Beispiel: Rundungsfehler

Die Rechnung x = (116/100) ∗ 100 liefert augenscheinlich als Ergebnis x = 116. Rundet man abermittels floor(x) auf die nachste ganze Zahl nach unten, so erhalt man als Ergebnis ans = 115.Dies ist kein Phanomen der Funktion floor, sondern basiert auf Rundungsfehlern in IEEEdouble-Arithmetik! Eingabe von floor(116) liefert als Ergebnis ans = 116.

Bemerkung (Nicht-Assoziativitat der Rechnerarithmetik). Fur die Rechnerarithmetik giltkein Assoziativgesetz, z.B. gilt fur b = 10 und t = 2

100 ⊕ 4 = rd(0.1 · 103 + 0.4 · 101) = rd(0.104 · 103) = 100.

Ferner gilt 100 ⊕ (4 ⊕ 4) = rd(0.108 · 103) = 110. Insgesamt erhalten wir also

(100 ⊕ 4) ⊕ 4 = 100 6= 110 = 100 ⊕ (4 ⊕ 4).

Bemerkung (Numerische Konvergenz bei mathematischer Divergenz). Die harmonischeReihe

∑∞k=1

1k ist divergent. In Gleitkommaarithmetik beobachtet man aber Konvergenz, denn

sobald 1/j klein genug ist, gilt 1j ⊕∑j−1

k=01k =

∑j−1k=0

1k .

Bemerkung (Ausloschung). Subtrahiert man zwei annahernd gleiche Zahlen, so werden dierundungsfehlerbehafteten hinteren Stellen plotzlich signifikant, und der relative Fehler ist wesentlichgroßer als eps. Wir betrachten das folgende Beispiel:

0.1236 + 1.234 − 1.356 = 1.3576 − 1.356 = 0.0016 = 0.16 · 10−2.

In Rechnerarithmetik mit b = 10 und t = 4 gilt

(0.1236 ⊕ 1.234) ⊖ 1.356 = 1.358 ⊖ 1.356 = 0.2 · 10−2.

Der relative Fehler betragt also 25%, bereits die erste Ziffer ist fehlerbehaftet.

4

Page 9: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

Denormalisierte Gleitkommazahlen nach IEEE 754-Standard

Fur die meisten Rechner, insbesondere fur gewohnliche PCs, gilt der sogenannte IEEE 754-Standarddes Institute of Electrical and Electronics Engineers. Dabei wird die Menge F der Gleitkommazahlenerweitert zu

F := F ∪(σ

t∑

k=1

akb−k)bemin

∣∣∣ σ ∈ ±1, aj ∈ 0, . . . , b− 1,

d.h. fur den Exponenten e = emin ist auch a1 = 0 erlaubt. F heißt denormalisiertes Gleitkom-mazahlsystem. Gegenuber F gelten die zusatzlichen Eigenschaften

xmin := minx ∈ F

∣∣x > 0

= bemin−t < bemin−1 = xmin.

sowie

F ∩ [−bemin, bemin] =jbemin−t

∣∣ j = −bt, . . . , bt

Die Standardformate nach IEEE 754-Standard sind das einfach-genaue Format (oder single-Format)

F(2, 24,−125, 128) mit eps ≈ 0.6 · 10−7

sowie das doppelt-genaue Format (oder double-Format)

F(2, 53,−1021, 1024) mit eps ≈ 1.11 · 10−16

Beide Formate stehen auch in Matlab zur Verfugung, wobei Variablen in Matlab standardgemaßvom Typ double sind. – Es sei denn, sie werden explizit deklariert.

Bemerkung (Speicherung von Variablen nach IEEE 754-Standard). Eine Variable vomTyp single wird in 4 Bytes, d.h. 32 Bits gespeichert:

• Ein Bit speichert das Vorzeichen.

• Die Mantisse fur eine normalisierte Gleitkommazahl benotigt 23 Bit bei 24 Ziffern, denn esgilt a1 = 1.

• Der Exponent wird in den restlichen 8 Bit gespeichert.

Mit 8 Bit lassen sich 28 = 256 verschiedene Exponenten darstellen, tatsachlich werden aber durchemin = −125 und emax = 128 nur 254 verschiedene Exponenten benutzt. Die beiden verbleibendenKombinationen werden wie folgt verwendet: Die Nullbitfolge signalisiert denormalisierte Gleitkom-mazahlen, d.h. es gilt a1 = 0. Die Einserbitfolge im Exponenten signalisiert einen Ausdruck derForm Not a Number, Overflow oder Underflow.Die Speicherung einer Variablen vom Typ double erfolgt analog in 8 Bytes, d.h. 64 Bits (1 BitVorzeichen, 52 Bit Mantisse, 11 Bit Exponent). Weitere Informationen finden sich beispielsweise inPlato [5, Kapitel 16].

5

Page 10: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

1.3 Kondition und Stabilitat

In diesem Abschnitt betrachten wir ein abstraktes numerisches Problem der folgenden Gestalt:Werte eine Funktion φ : X → Y bei x ∈ X aus. Dabei sind X und Y geeignete normierte Raume.Die Kondition eines Problems gibt Aussagen daruber, wie stark sich Anderungen in x, z.B.unvermeidliche Rundungsfehler, auf das Ergebnis φ(x) auswirken. Ist φ ein Algorithmus zur Be-rechnung von φ(x), so erhalten wir als Losung φ(x). Die Stabilitat eines Algorithmus gibtAussagen daruber, ob der Fehler der Berechnung ‖φ(x) − φ(x)‖ und der unvermeidlicheFehler ‖φ(x) − φ(x)‖ von derselben Großenordnung sind. 1

Definition. Das Problem ist bezuglich dem absoluten Fehler schlecht konditioniert, wenn eseine kleine Storung x von x gibt, z.B. x = rd(x), sodass gilt

‖φ(x) − φ(x)‖ ≫ ‖x− x‖. (1.3)

In diesem Fall kann also eine kleine Storung in x eine große Storung in φ(x) bewirken. Analog sagtman, dass Problem sei bezuglich dem relativen Fehler schlecht konditioniert, falls anstelle von (1.3)gilt

‖φ(x) − φ(x)‖‖φ(x)‖ ≫ ‖x− x‖

‖x‖ . (1.4)

Anderenfalls bezeichnet man ein Problem als gut konditioniert (bezuglich relativem oder abso-lutem Fehler).

Bemerkung (Konditionszahlen). Ist die Funktion φ differenzierbar in x, d.h. es gilt

φ(x) − φ(x) = Dφ(x)(x− x) + O(‖x− x‖) fur x→ x,

so beschreibt offensichtlich die Ableitung Dφ(x) ∈ L(X,Y ) die Auswirkung von Fehlern. Oft be-zeichnet man daher

κabs(x) := ‖Dφ(x)‖ (1.5)

als absolute Konditionszahl und

κrel(x) :=‖Dφ(x)‖‖x‖

‖φ(x)‖ (1.6)

als relative Konditionszahl. Bisweilen werden auch”partielle” relative Konditionszahlen

κjk := |∂kφj(x)||xk|/|φj(x)| betrachtet, vgl. beispielsweise Brokate [1, Abschnitt 1].

Beispiel (Schlechte Kondition bei Ausloschung). Wir betrachten die Funktion φ : R2 →

R, (x, y) 7→ x− y und auf R2 die euklidische Norm ‖ · ‖2. Dann gilt ‖Dφ‖2 =

√2 und damit

κrel =√

2‖(x, y)‖2

|x− y| ≫ 0 fur x ≈ y,

1Es ware sicherlich forderlich, wenn man die Kondition und die Stabilitat an der vom Benutzer gewunschtenGenauigkeit festmacht, d.h. wenn man beide Begriffe relativ zur Zielgenauigkeit definiert.

6

Page 11: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

d.h. die Subtraktion zweier annahernd gleicher Zahlen ist bezuglich dem relativen Fehler schlechtkonditioniert.

Beispiel (Kondition einer Matrix). Es sei ‖ · ‖ eine Norm auf Kn. Wir verwenden dieselbe

Notation fur die induzierte Operatornorm

‖A‖ := supx∈Kn\0

‖Ax‖‖x‖ fur eine regulare Matrix A ∈ K

n×n. (1.7)

Die Große κ := ‖A‖‖A−1‖ ≥ 1 heißt Konditionszahl der Matrix bezuglich ‖ · ‖. Betrachtet manals numerisches Problem die Losung des Gleichungssystems Ax = b, so ist κ eine scharfe obereAbschatzung der relativen Konditionszahlen: Definiert man die Losungsfunktion φ : K

n → Kn, b 7→

A−1b, so hat φ die relative Konditionszahl

κrel(b) =‖Dφ(b)‖‖b‖

‖φ(b)‖ =‖A−1‖‖Ax‖

‖x‖ ≤ κ

mit x = A−1b. Man kann sich leicht uberlegen, dass diese Abschatzung scharf ist, d.h. es giltκrel(b) = κ fur mindestens ein b ∈ K

n.

Definition. Das numerische Problem, φ : X → Y bei x ∈ X auszuwerten, erlaubt i.a. mehrere(oder sogar unendlich viele) Realisierungen. Sei φ ein Algorithmus, der φ realisiert. Ein Algorithmusist instabil bezuglich dem relativen Fehler, falls es eine Storung x von x gibt, sodass

‖φ(x) − φ(x)‖‖φ(x)‖ ≫ ‖φ(x) − φ(x)‖

‖φ(x)‖ .

Anderenfalls bezeichnet man einen Algorithmus als stabil.

Beispiel. Wir betrachten das Problem, die Funktion φ(x) = 1x − 1

x+1 fur große x ∈ R auszuwerten.

Mogliche Algorithmen sind neben der”naiven” direkten Realisierung φ1(x) = 1

x − 1x+1 , die Berech-

nung von φ(x) mittels φ2(x) = 1x(x+1) . Bei Algorithmus φ1 erwarten wir Instabilitat aufgrund von

Ausloschungseffekten. Algorithmus φ2 erweist sich als stabil.

(Lineare) Vorwartsanalyse

Wir brauchen eine mathematische Entscheidungsgrundlage, ob ein Algorithmus stabil oder in-stabil bezuglich unvermeidlichen Rechenfehlern ist. Eine Moglichkeit ist die sogenannte (lineare)Vorwartsanalyse. Dabei handelt es sich in gewissem Sinne um ein Kochrezept fur eine Worst-Case-Analyse:

• Erweitere jeden Rechenschritt um einen (1 + ε)-Term mit |ε| ≤ eps, denn nach unserer Vor-aussetzung liefert die Gleitpunktrechnung das gerundete exakte Ergebnis. Man ersetzt alsobeispielsweise x+y durch x⊕y = (x+y)(1+ε) oder

√x durch

√x(1+ε) und erhalt insgesamt

eine Formel fur den Algorithmus in Gleitkommarechnung.

7

Page 12: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

• Wenn (1 + ε)-Terme Argumente von Funktionen sind, verwende man die Linearisierung derFunktion mittels Taylor-Formel,

f(x+ h) = f(x) + f ′(x)h+ O(h2)···= f(x) + f ′(x)h,

wobei das Symbol···= die Terme hoherer Ordnung vernachlassigt (sog. Gleichheit in erster

Naherung). Beispielsweise gilt√

1 + ε···= 1 + ε/2 oder 1

1+ε···= 1 − ε.

• Hohere Potenzen von ε-Termen werden vernachlassigt, z.B. (1 + ε1)(1 − ε2)···= 1 + ε1 − ε2.

Dieses Vorgehen liefert (in erster Naherung) eine Formel fur φ(x). Der Vergleich mit φ(x) zeigtStabilitat oder Instabilitat.

Als Anwendung fur die Vorwartsanalyse verwenden wir die Auswertung der Funktion φ(x) = 1x− 1

x+1fur große x ∈ R.

Behauptung. Die Auswertung von φ(x) ist gut konditioniert (bzgl. dem relativen Fehler)

Beweis. Es gelten φ(x) = 1x(x+1) sowie φ′(x) = − 2x+1

(x2+x)2, und damit ergibt sich

κrel(x) =

∣∣ 2x+1(x2+x)2

∣∣∣∣x∣∣

1x2+x

=2x2 + x

x2 + x=

2 + 1x

1 + 1x

≈ 2 fur große x≫ 0.

Insbesondere gilt fur den unvermeidlichen Fehler |φ(ex)−φ(x)||φ(x)| ≈ |ex−x|

|x| ≤ eps fur x = rd(x).

Behauptung. Naive Realisierung φ1(x) = 1x − 1

x+1 ist instabil im Sinne der Vorwartsanalyse.

Beweis. Gleitkommarechnung mit Algorithmus φ1 liefert als Ergebnis

φ1(x) = 1 + ε2x(1 + ε1)

− 1 + ε4x(1 + ε1) + 1(1 + ε3)

(1 + ε5)

mit εj ∈ R, |εj | ≤ eps, wobei wir die funf Rechenschritte bis zum Endergebnis sukzessive durch-gegangen sind und alle Rundungen berucksichtigt haben. Nun verwenden wir die Linearisierungen

11+εj

···= 1− εj sowie 1

1+ε1+1/x

···= 1− ε1 − 1/x, wobei letztere voraussetzt, dass x vergleichsweise groß

ist. Dies liefert

φ1(x)···=1

x(1 − ε1)(1 + ε2) −

1

x(1 − ε1 − 1/x)(1 − ε3)(1 + ε4)

(1 + ε5)

···=

1

x(1 − ε1 + ε2 + ε5) −

1

x(1 − ε1 − ε3 + ε4 + ε5) +

1

x2(1 − ε3 + ε4 + ε5)

=1

x(ε2 + ε3 − ε4) +

1

x2(1 − ε3 + ε4 + ε5).

Nun folgt fur x≫ 0

|φ1(x) − φ(x)||φ(x)|

···=∣∣∣(x+ 1)(ε2 + ε3 − ε4) +

x+ 1

x(1 − ε3 + ε4 + ε5) − 1

∣∣∣

=∣∣(x+ 1)(ε2 + ε3 − ε4) + (1 + 1/x)(−ε3 + ε4 + ε5) + 1/x

∣∣.

8

Page 13: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

Im schlimmsten Fall folgt also

|φ1(x) − φ(x)||φ(x)|

···= (x+ 2 + 1/x) 3eps + 1/x≫ eps ≈ |φ(x) − φ(x)|

|φ(x)| .

Dies zeigt die Nicht-Stabilitat.

Behauptung. Die Auswertung von φ(x) in der Form φ2(x) = 1x(x+1) ist stabil.

Beweis. Mit geeigneten |εj | ≤ eps folgt

φ2(x) =1 + ε4

x(1 + ε1)x(1 + ε1) + 1(1 + ε2)(1 + ε3)

=1

x2

1

1 + ε1

1

1 + (ε1 + 1/x)

1 + ε4(1 + ε2)(1 + ε3)

···=

1

x21 − ε1 − 1/x(1 − ε1 − ε2 − ε3 + ε4)

···=

1

x2(1 − 2ε1 − ε2 − ε3 + ε4) −

1

x3(1 − ε1 − ε2 − ε3 + ε4).

Dies liefert

|φ2(x) − φ(x)||φ(x)|

···=∣∣∣x+ 1

x(1 − 2ε1 − ε2 − ε3 + ε4) −

x+ 1

x2(1 − ε1 − ε2 − ε3 + ε4) − 1

∣∣∣

=∣∣∣(1 + 1/x)(−2ε1 − ε2 − ε3 + ε4) −

( 1

x+

1

x2

)(−ε1 − ε2 − ε3 + ε4) −

1

x2

∣∣∣

≤ 1

x2+ 5eps(1 + 1/x)2 ≈ 5eps

fur große x≫ 0.

Bemerkung. Die gewahlten Linearisierungen sind in gewissem Sinne willkurlich. Anstelle von

1

x(1 + ε1) + 1

···=

1

x(1 − ε1 − 1/x)

konnte man auch die Linearisierung

1

x(1 + ε1) + 1=

1

(x+ 1) + ε1x

···=

1

x+ 1− ε1x

(x+ 1)2

verwenden, sofern ε1x klein genug ist. Analoge Rechnung fuhrt dann im schlimmsten Fall auf|eφ1(ex)−φ(x)|

|φ(x)|···= (3 + 7x)eps sowie |eφ2(ex)−φ(x)|

|φ(x)|···≤ 5eps und sei dem Leser zur Ubung uberlassen.

1.4 Verfahrensfehler

Im Wesentlichen gibt es zwei Arten von sogenannten Verfahrensfehlern, die Abbruchfehler und dieDiskretisierungsfehler. Abbruchfehler entstehen dann, wenn wir einen konvergenten (aber unendli-chen) Algorithmus nach endlich vielen Schritten abbrechen, um in endlicher Zeit ein numerischesErgebnis zu erhalten.

9

Page 14: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

Beispiel (Berechnung der Quadratwurzel). Fur x > 0 definieren wir die Folge (yn)n∈N

induktiv durch y1 := 12(1 + x) und yn+1 := 1

2(yn + x/yn). Dann gilt limn yn =√x. Man beachte,

dass fur x 6= 1 stets yn 6= x gilt, denn eine elementare algebraische Umformung zeigt, dass dieGleichheit

√x = 1

2 (y + x/y) genau dann erfullt ist, wenn bereits y =√x gilt.

Ferner steht die Numerik vor dem Problem, dass kontinuierliche Großen wie beispielsweise Ab-leitung oder Integral vom Rechner entweder nicht analytisch berechnet werden konnen oder ihreanalytische Berechnung mittels Formelmanipulation viel zu aufwandig ist. Man diskretisiert daherkontinuierliche Großen: Statt Ableitungen berechnet man Differenzenquotienten, statt Integralenberechnet man gewisse endliche (Riemann-) Summen.

Beispiel (Numerische Differentiation, einseitiger Differenzenquotient). Es sei f : R →R eine differenzierbare Funktion. Um fur ein festes x ∈ R die Ableitung Φ := f ′(x) zu approximieren,

berechnen wir den einseitigen Differenzenquotienten Φh := f(x+h)−f(x)h fur ein festes h > 0. Nach

Definition der Ableitung, gilt

|Φ − Φh| =∣∣∣f ′(x) − f(x+ h) − f(x)

h

∣∣∣→ 0 fur h→ 0.

Diese Konvergenz kann aber theoretisch beliebig langsam sein. Man interessiert sich deshalb in derNumerik auch fur Aussagen daruber, wie schnell eine diskrete Große Φh gegen die kontinuierlicheGroße Φ konvergiert: Fur f ∈ C2(R) folgt mit dem Mittelwertsatz die Existenz von η, ζ mit x ≤η ≤ ζ ≤ x+ h mit

∣∣∣f ′(x) − f(x+ h) − f(x)

h

∣∣∣ = |f ′(x) − f ′(ζ)| = |f ′′(η)||x− ζ| ≤ ‖f ′′‖∞,[x,x+h] h = O(h)

fur h→ 0.

Definition. Es sei Φ eine kontinuierliche Große und Φh eine Diskretisierung von Φ, wobei h > 0den Diskretisierungsparameter bezeichnet. Eine Abschatzung der Form

|Φ − Φh| = O(hα) (1.8)

bezeichnet man als a priori Fehlerabschatzung fur den Diskretisierungsfehler. Die Zahl α > 0bezeichnet man als Konvergenzordnung.

Bemerkung. In der Praxis treten nicht nur ganzzahlige Konvergenzordnungen α > 0 auf. ImBeispiel des einseitigen Differenzenquotienten liegt dies an zusatzlichen Eigenschaften der Funkti-on f . Im Kontext der klassischen Numerischen Mathematik betrachtet man oft die sogenanntenHolder-stetigen Funktionen f ∈ Cm,α(Ω) mit 0 ≤ α ≤ 1. Dabei gilt fur ein offenes Intervall Ω

Cm,α(Ω) :=f ∈ Cm(Ω)

∣∣∣ supx,y∈Ωx 6=y

|f (m)(x) − f (m)(y)||x− y|α <∞

. (1.9)

Offensichtlich ist C0,1 gerade die Menge der Lipschitz-stetigen Funktionen. Ist nun f ∈ C1,α lokalum x, so folgt fur den einseitigen Differenzenquotienten offensichtlich

∣∣∣f ′(x) − f(x+ h) − f(x)

h

∣∣∣ = |f ′(x) − f ′(ζ)| = O(hα)

10

Page 15: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

fur h→ 0, d.h. wir erhalten eine verminderte Konvergenzordnung, falls f nicht in C2 ist.

Bei vielen Algorithmen stellt sich die Frage, ob es nicht moglich ist, einen Algorithmus zu fin-den, der unter gewissen Zusatzvoraussetzungen sogar besser konvergiert. Im Falle der numerischenDifferentiation ist dies einfach moglich.

Beispiel (Numerische Differentiation, zentraler Differenzenquotient). Anstelle von Φ =

f ′(x) berechnen wir Φh := f(x+h)−f(x−h)2h . Schreibt man diesen sogenannten zentralen Differenzen-

quotienten in der Form Φh = f(x+h)−f(x)2h + f(x)−f(x−h)

2h , so gilt offensichtlich

limh→0

Φh = Φ,

wenn f : R → R differenzierbar ist bei x ∈ R. Fur f ∈ C2 folgt analog zu oben

|Φ − Φh| = O(h) fur h→ 0.

Mit Taylor-Entwicklungen fur x± h ergibt sich

f(x± h) = f(x) ± f ′(x)h+f ′′(x)

2h2 ± f ′′′(ζ±)

6h3 mit x− h ≤ ζ± ≤ x+ h geeignet.

Durch Subtraktion beider Gleichungen folgt

|Φ − Φh| ≤1

6‖f ′′′‖∞,[x−h,x+h] h

2 = O(h2) fur h→ 0.

Sofern f also glatter ist um x, z.B. f ∈ C3, fuhrt der zentrale Differenzenquotient auf eine hohereKonvergenzordnung.

In der Regel sind Rundungsfehler und Verfahrensfehler im Widerstreit. Zur Illustration betrachtenwir das folgende Beispiel,

e = exp′(1) ≈ exp(1 + h) − exp(1 − h)

2h.

Fur h = 10−8 erwarten wir deshalb einen (relativen) Fehler von der Großenordnung 10−16. Auf-grund von Ausloschung erhalten wir aber in Matlab einen tatsachlichen relativen Fehler in derGroßenordnung 10−7. Pauschal formuliert, gilt die folgende Faustregel: Ist der Diskretisierungspa-rameter h > 0 klein, so erhalten wir einen kleinen Verfahrensfehler, aber große Rundungsfehler. Istder Diskretisierungsfehler h > 0 groß, so dominiert der Verfahrensfehler gegenuber dem Rundungs-fehler.

Beispiel (Numerische Integration, summierte Trapezregel). Ziel ist die numerische Be-

rechnung des Integrals Φ :=∫ ba f dx mit stetigem Integranden f : [a, b] → R. Dazu definieren wir

die summierte Trapezregel

Φh :=h

2

f(a) + 2

n−1∑

j=1

f(a+ jh) + f(b)

mit n ∈ N und h := (b− a)/n.

11

Page 16: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

Zur Veranschaulichung definieren wir Knoten xj := a + jh mit j = 0, . . . , n. Verbindet mandie Funktionswerte f(xj−1) und f(xj) affin, so ist das Integral dieser affinen Funktion geradeh2

(f(xj−1) + f(xj)

). De facto ersetzen wir also f durch den interpolierenden affinen Streckenzug

und berechnen dann das Integral fur diesen exakt. Fur f ∈ C2[a, b] kann man |Φ − Φh| = O(h2)zeigen. Dazu betrachten wir zunachst ein Teilintervall [xj−1, xj ] von [a, b]. Ohne Beschrankung derAllgemeinheit sei a = 0 und j = 1, d.h. [xj−1, xj ] = [0, h]. Es sei p : [0, h] → R eine affine Funktion,

die f in 0 und h interpoliert, d.h. p(0) = f(0) und p(h) = f(h). Dann gilt∫ h0 p dx = h f(0)+f(h)

2 ,und wir erhalten

∣∣∣∫ h

0f dx− h

f(0) + f(h)

2

∣∣∣ =∣∣∣∫ h

0(f − p) dx

∣∣∣ ≤ h‖f − p‖∞,[0,h].

Wir mussen also nur noch den Interpolationsfehler abschatzen. Dazu sei x ∈ (0, h) beliebig. Wirdefinieren

F (y) :=(f(x) − p(x)

)y(h− y) −

(f(y) − p(y)

)x(h− x).

F hat Nullstellen bei 0, x, h. Nach Mittelwertsatz hat F ′ zumindest zwei Nullstellen 0 < ζ1 < x <ζ2 < h, und schließlich hat F ′′ zumindest eine Nullstelle ζ1 < ζ < ζ2. Es folgt damit

0 = F ′′(ζ) = −2(f(x) − p(x)

)− f ′′(ζ)x(h− x).

Umformung zeigt

f(x) − p(x) = −f′′(ζ)2

x(h− x) fur x ∈ [0, h] und ζ geeignet

und deshalb ‖f − p‖∞,[0,h] ≤ h2 ‖f ′′‖∞/8, denn die Parabel x(h − x) nimmt ihr Maximum beix = h/2 an. Auf jedem Intervall gilt also

∣∣∣∫ xj

xj−1

f dx− hf(xj−1) + f(xj)

2

∣∣∣ ≤ ‖f ′′‖∞8

h3.

Summation uber alle n = (b− a)/h Teilintervalle beweist schließlich

∣∣∣∫ b

af dx− Φh

∣∣∣ ≤ (b− a)‖f ′′‖∞8

h2 = O(h2).

Numerische Bestimmung der Konvergenzordnung

Es sei Φ die kontinuierlich berechnete Große und Φh die diskrete (d.h. uber ein numerisches Ver-fahren berechnete) Große zum Diskretisierungsparameter h > 0. Besitzt das Verfahren Ordnungα > 0, so gelten (ansatzweise) fur den Fehler eh = |Φ − Φh| und Diskretisierungsparameter h, h/2

eh = C hα und eh/2 = C (h/2)α

mit der Konvergenzordnung α > 0 und einer Konstante C > 0. Elementare Umformung liefert

eh/2 = C hα 2−α = eh2−α.

12

Page 17: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 1. GRUNDBEGRIFFE DER NUMERISCHEN MATHEMATIK

Man erhalt also die Formeln

α = log(eh/eh/2) / log(2) und C = eh/hα,

d.h. die experimentelle Konvergenzordnung α (sowie die zugehorige Konstante C) sind aposteriori berechenbar, wenn man die Werte von eh und eh/2 kennt. Zur numerischen Verifikationvon a priori Fehlerabschatzungen berechnet man mit einer Folge von Schrittweiten h, h/2, h/4, . . .die zugehorigen Werte von α und C fur jeweils zwei aufeinanderfolgende Werte eh.

hhh e(1)he(1)he(1)h α(1)α(1)α(1) C(1)C(1)C(1) e

(2)he(2)he(2)h α(2)α(2)α(2) C(2)C(2)C(2)

1 1.9525e + 00 4.7625e − 011/2 8.0853e − 01 1.27 1.95e + 00 1.1469e − 01 2.05 4.76e − 011/4 3.6996e − 01 1.13 1.77e + 00 2.8404e − 02 2.01 4.63e − 011/8 1.7720e − 01 1.06 1.61e + 00 7.0844e − 03 2.00 4.57e − 011/16 8.6744e − 02 1.03 1.51e + 00 1.7701e − 03 2.00 4.54e − 011/32 4.2919e − 02 1.02 1.45e + 00 4.4245e − 04 2.00 4.53e − 011/64 2.1348e − 02 1.01 1.41e + 00 1.1061e − 04 2.00 4.53e − 011/128 1.0646e − 02 1.00 1.39e + 00 2.7652e − 05 2.00 4.53e − 011/256 5.3161e − 03 1.00 1.38e + 00 6.9130e − 06 2.00 4.53e − 011/512 2.6563e − 03 1.00 1.37e + 00 1.7282e − 06 2.00 4.53e − 011/1024 1.3277e − 03 1.00 1.36e + 00 4.3206e − 07 2.00 4.53e − 011/2048 6.6375e − 04 1.00 1.36e + 00 1.0801e − 07 2.00 4.53e − 011/4096 3.3185e − 04 1.00 1.36e + 00 2.7004e − 08 2.00 4.53e − 011/8192 1.6592e − 04 1.00 1.36e + 00 6.7512e − 09 2.00 4.53e − 011/16384 8.2957e − 05 1.00 1.36e + 00 1.6890e − 09 2.00 4.49e − 011/32768 4.1478e − 05 1.00 1.36e + 00 4.1934e − 10 2.01 4.99e − 011/65536 2.0739e − 05 1.00 1.36e + 00 9.1926e − 11 2.19 3.23e + 001/131072 1.0369e − 05 1.00 1.36e + 00 1.9166e − 11 2.26 7.21e + 001/262144 5.1847e − 06 1.00 1.36e + 00 4.8270e − 11 −1.33 2.90e − 18

Tabelle 1.1: Numerische Differentiation mittels einseitigem und zentralem Differenzenquotienten Φ(1)h bzw. Φ

(2)h

zur Approximation von e = exp′(1): Fur den einseitigen Differenzenquotienten beobachten wir die experimentelle

Konvergenzordnung 1, d.h. |e − Φ(1)h | = O(h). Den zentrale Differenzenquotient liefert |e − Φ

(1)h | = O(h2), wobei die

Konvergenz im letzten Schritt aufgrund von Ausloschungseffekten zusammenbricht.

Beispiel (Numerische Differentiation). Wir betrachten als Beispiel die Approximation von

e = exp(1) durch den einseitigen und zweiseitigen Differenzenquotienten Φ(1)h bzw. Φ

(2)h . Tabelle 1.1

gibt die entsprechenden Ergebnisse wieder. Wir beobachten die vorhergesagten Konvergenzordnun-

gen |e − Φ(1)h | = O(h) und |e − Φ

(1)h | = O(h2). Fur h = 2−18 = 1/262144 ≈ 3.81 · 10−6 bricht

die Konvergenz fur den zentralen Differenzenquotienten aufgrund von Ausloschungseffekten zu-sammen. Man beachte, dass auch die Konstante C(2) a priori vorhergesagt werden kann. Nach der

Fehleranalysis fur den zentralen Differenzenquotienten gilt |Φ − Φ(2)h | ≤ 1

6 ‖ exp′′′ ‖∞,[1−h,1+h] h2,

und die Konstante vor der h-Potenz konvergiert gegen e/6 ≈ 4.53 · 10−1. Diese wird experimen-tell durch C(2) scharf geschatzt. Die Konstante C(1) lasst sich a priori wie folgt vorhersagen: Mit

Taylor-Entwicklung gilt |Φ − Φ(1)h | = 1

2 | exp′′(ζ)|h fur ein geeignetes 1 ≤ ζ ≤ 1 + h. Wir erhaltenalso Konvergenz dieser Konstante gegen e/2 ≈ 1.36. Dies ist gerade die experimentell beobachteteKonstante C(1).

13

Page 18: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 2

Matrixnormen und Konditionierung

2.1 Operatornorm

Lemma 2.1. Zu fixierten Normen ‖ · ‖ auf Km bzw. K

n definieren wir die Operatornorm

‖A‖ := supx∈Kn\0

‖Ax‖‖x‖ fur A ∈ K

m×n. (2.1)

Dann gelten die folgenden Aussagen:(i) Die Operatornorm ‖ · ‖ definiert eine Norm auf K

m×n,

(ii) ‖A‖ = sup‖x‖=1

‖Ax‖ = sup‖x‖≤1

‖Ax‖ = infC > 0

∣∣ ∀x ∈ Kn ‖Ax‖ ≤ C ‖x‖

,

(iii) im Fall A 6= 0 folgt fur x ∈ Km mit ‖x‖ ≤ 1 und ‖Ax‖ = ‖A‖ bereits ‖x‖ = 1,

(iv) aufgrund der endlichen Dimension werden alle Infima und Suprema angenommen.

Beweis. Die Behauptung (i) ist klar. Mit ‖Ax‖/‖x‖ = ‖A(x/‖x‖)‖ folgt die Ungleichung

‖A‖ ≤ sup‖x‖=1

‖Ax‖ ≤ sup‖x‖≤1

‖Ax‖ ≤ sup‖x‖≤1

‖Ax‖‖x‖ ≤ sup

x∈Kn\0

‖Ax‖‖x‖ = ‖A‖.

Die Gleichheit ‖A‖ = infC > 0

∣∣ ∀x ∈ Kn ‖Ax‖ ≤ C ‖x‖

ist klar. (iii) Es gilt ‖A‖ = ‖Ax‖ ≤

‖A‖‖x‖, also ‖x‖ ≥ 1. (iv) ergibt sich aus Stetigkeitsgrunden.

Im Folgenden sei stets vorausgesetzt, dass (beliebige) Normen auf Km, K

n etc. fixiert seien, und‖·‖ bezeichne jeweils die induzierte Operatornorm. Insbesondere betrachten wir fur m = n nur denFall, dass beide Normen ubereinstimmen. Das folgende Lemma stellt einige Rechenregeln bereit.

Lemma 2.2. (i) Fur Matrizen A ∈ Kℓ×m und B ∈ K

m×n gilt die Idealeigenschaft ‖AB‖ ≤‖A‖‖B‖.(ii) Die Identitat III : K

n → Kn erfullt ‖III‖ = 1.

(iii) Ist A ∈ Kn×n invertierbar, so gilt

‖A−1‖ =(

inf‖x‖=1

‖Ax‖)−1

. (2.2)

14

Page 19: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 2. MATRIXNORMEN UND KONDITIONIERUNG

Beweis. (i) Nach Lemma 2.1 gilt fur x ∈ Kn die Abschatzung ‖ABx‖ ≤ ‖A‖‖Bx‖ ≤ ‖A‖‖B‖‖x‖.

(ii) ist offensichtlich. (iii) Aufgrund der Bijektivitat von A gilt

‖A−1‖ = supx∈Kn\0

‖A−1x‖‖x‖ = sup

y∈Kn\0

‖y‖‖Ay‖ = sup

y∈Kn\0

(‖Ay‖‖y‖

)−1=(

infy∈Kn\0

‖Ay‖‖y‖

)−1.

Mit der Linearitat von A folgt schließlich die letzte Behauptung.

Beispiel (Spaltensummennorm ‖ · ‖1‖ · ‖1‖ · ‖1). Auf Kn wird durch ‖x‖1 :=

∑nj=1 |xj | die sog. ℓ1-Norm

definiert. Betrachtet man auf Km und K

n die ℓ1-Norm, so erhalt man als induzierte Operatornormdie Spaltensummennorm

‖A‖1 = maxk=1,...,n

m∑

j=1

|ajk| fur A ∈ Km×n. (2.3)

Fur x ∈ Kn gilt namlich

‖Ax‖1 ≤m∑

j=1

∣∣∣n∑

k=1

ajkxk

∣∣∣ ≤n∑

k=1

( m∑

j=1

|ajk|)|xk| ≤ max

k=1,...,n

m∑

j=1

|ajk| ‖x‖1

Dies zeigt ‖A‖1 ≤ maxnk=1

∑mj=1 |ajk|. Wahlt man den Index k, bei dem das Maximum angenommen

wird und den zugehorigen Standardeinheitsvektor ek ∈ Kn, so folgt die Gleichheit. Insgesamt haben

wir also gesehen, dass die Operatornorm in einem der Standardeinheitsvektoren angenommen wird.

Beispiel (Zeilensummennorm ‖ · ‖∞‖ · ‖∞‖ · ‖∞). Auf Kn wird durch ‖x‖∞ := maxn

j=1 |xj | die sog. ℓ∞-Norm definiert. Betrachtet man auf K

m und Kn die ℓ∞-Norm, so erhalt man als induzierte Opera-

tornorm die Zeilensummennorm

‖A‖∞ = maxj=1,...,m

n∑

k=1

|ajk| fur A ∈ Km×n. (2.4)

Fur x ∈ Kn gilt analog zu oben

‖Ax‖∞ ≤ maxj=1,...,m

∣∣∣n∑

k=1

ajkxk

∣∣∣ ≤ maxj=1,...,m

n∑

k=1

|ajk| ‖x‖∞,

also ‖A‖∞ ≤ maxmj=1

∑nk=1 |ajk|. Um die Gleichheit zu zeigen, fixieren wir zunachst den Index j, fur

den das Maximum angenommen wird. Dann definieren wir x ∈ Kn durch xk := sign(ajk) mit dem

(komplexen) Vorzeichen sign(z) = |z|/z fur z 6= 0. Es folgt ‖x‖∞ = 1 und ‖Ax‖∞ =∑n

k=1 |ajk|.

Bemerkung. Dass beispielsweise die Spaltensummennorm in einem Eckpunkt der ℓ1-Einheitsspah-re Sn

1 :=x ∈ K

n∣∣ ‖x‖1 = 1

angenommen wird, lasst sich mathematisch wie folgt erklaren: Ist

‖ · ‖ eine Norm auf Kn, so wird die Operatornorm einer Matrix A ∈ K

m×n in einem Extremalpunktder Einheitssphare S :=

x ∈ K

n∣∣ ‖x‖ = 1

angenommen. Dabei heißt ein Punkt Extremalpunkt,

wenn er nicht die Konvexkombination von zwei anderen Punkten der Sphare ist, d.h. die Mengeder Extremalpunkte ist

E := S\x ∈ S

∣∣∃y, z ∈ S, x 6= y∃λ ∈ (0, 1) : x = λy + (1 − λ)z.

15

Page 20: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 2. MATRIXNORMEN UND KONDITIONIERUNG

Dies entspricht anschaulich gerade den Eckpunkten von S. Gilt fur x ∈ S gerade ‖Ax‖ = ‖A‖, d.h.die Operatornorm wird in x angenommen, und ist x kein Extremalpunkt, so existieren y, z ∈ S undλ ∈ (0, 1) mit x = λy + (1 − λ)z. Die Dreiecksungleichung

‖A‖ = ‖Ax‖ ≤ λ‖Ay‖ + (1 − λ)‖Az‖ ≤ ‖A‖

zeigt, dass dann die Operatornorm auch in y und z angenommen wird. Abschließend sei ange-merkt, dass der Satz von Krein-Milman gerade besagt, dass jeder Nicht-Extremalpunkt in S dieKonvexkombination zweier Extremalpunkte ist.

Definition. Jede Matrix A ∈ Kn×n hat (gezahlt gemaß algebraischer Vielfachheit) n komplexe

Eigenwerte. Den Betrag des betragsgroßten Eigenwerts bezeichnet man als Spektralradius vonA,

ρ(A) := max|λ|∣∣λ ∈ C ist Eigenwert von A

(2.5)

Beispiel (Frobenius-Norm ist keine Operatornorm). Die Frobenius-Norm

‖A‖F :=( n∑

j,k=1

|ajk|2)1/2

fur A ∈ Kn×n (2.6)

ist eine Hilbert-Norm auf Kn×n, d.h. (Kn×n, ‖ · ‖F ) ist ein Hilbert-Raum. Ferner gilt ‖A‖2 ≤ ‖A‖F ,

denn aus der Cauchy-Schwarz-Ungleichung folgt

‖Ax‖22 =

n∑

j=1

∣∣∣n∑

k=1

ajkxk

∣∣∣2≤

n∑

j=1

( n∑

k=1

|ajk|2)( n∑

k=1

|xk|2)

= ‖A‖2F ‖x‖2

2.

Fur n ≥ 2 ist die Frobenius-Norm keine Operatornorm, denn ‖III‖F =√n 6= 1. Auch die skalierte

Frobenius-Norm ‖A‖ bF := (1/√n)‖A‖F definiert keine Operatornorm, denn jede Operatornorm

erfullt ρ(A) ≤ ‖A‖. Diese Abschatzung folgt fur einen Eigenvektor x ∈ Kn und den dazugehorigen

Eigenwert λ ∈ C mit |λ| = ρ(A) elementar aus ‖Ax‖ = ‖λx‖ = ρ(A)‖x‖. Definiert man nun dieMatrix A ∈ K

n×n durch ajk := δjkδj1,

A =

1 0 . . . 00 0 . . . 0...

. . .. . .

...0 . . . 0 0

,

so gelten fur den Spektralradius ρ(A) = 1, aber ‖A‖ bF = 1/√n < ρ(A).

Beispiel (Spektralnorm ‖ · ‖2‖ · ‖2‖ · ‖2). Auf Kn wird durch ‖x‖2 :=

(∑nj=1 |xj |2

)1/2die sog. ℓ2-Norm

definiert. Betrachtet man auf Km und K

n die ℓ2-Norm, so erhalt man als induzierte Operatornormdie Spektralnorm

‖A‖2 =

√ρ(A

TA). (2.7)

16

Page 21: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 2. MATRIXNORMEN UND KONDITIONIERUNG

Zum Beweis betrachten wir die selbstadjungierte Matrix B := ATA, d.h. B = B

T. Nach Linearer

Algebra existiert eine Orthonormalbasis von Eigenvektoren u1, . . . , un von B bezuglich dem eu-klidischen Skalarprodukt x · y :=

∑nj=1 xj yj, und die zugehorigen Eigenwerte λj ∈ R sind stets

reell. Es gelten also Buj = λjuj sowie uj · uk = δjk. Es sei x ∈ Kn dargestellt in dieser Basis als

x =∑n

j=1 αjuj. Elementare Rechnung zeigt

‖x‖22 = x · x =

n∑

j,k=1

αjαkuj · uk =

n∑

j=1

|αj |2,

‖Ax‖22 = (Ax) · (Ax) = (Bx) · x =

n∑

j,k=1

λjαjαkuj · uk =

n∑

j=1

λj |αj |2,

wobei man die erste Gleichheit in der Funktionalanalysis als Parseval-Gleichung bezeichnet. Insbe-sondere folgern wir

‖Ax‖22 ≤ ρ(B)

n∑

j=1

|αj |2 = ρ(B)‖x‖22.

Ferner gilt offensichtlich ‖A‖22 ≥ max

j=1,...,n‖Auj‖2

2 = maxj=1,...,n

|λj | = ρ(B).

Beispiel (Spektralnorm fur selbstadjungierte Matrizen). Ist A ∈ Kn×n eine selbstadjun-

gierte Matrix, so gilt fur die Spektralnorm ‖A‖2 = ρ(A). Dies zeigt man wie folgt: Nach LinearerAlgebra ist A diagonalisierbar, d.h. es gilt A = TΛT−1 mit einer regularen Matrix T und einerDiagonalmatrix Λ. Hierbei stehen die Eigenwerte von A auf der Diagonalen von Λ und T enthalt als

Zeilen die entsprechenden Eigenvektoren. Es folgt ATA = A2 = TΛ2T−1 und damit insbesondere

ρ(A)2 = ρ(A2), was den Beweis beschließt.

2.2 Kondition einer Matrix

In diesem Abschnitt ist A ∈ Kn×n eine regulare Matrix, und ‖ · ‖ ist eine fixierte Norm auf K

n

nebst induzierter Operatornorm auf Kn×n.

Definition. Die Große cond(A) := ‖A‖‖A−1‖ bezeichnet man als Konditionszahl der regularenMatrix A. Im Fall der ℓp-Normen notieren wir die Konditionszahl mit dem entsprechenden Index,z.B. cond∞(A) := ‖A‖∞‖A−1‖∞ im Fall der Zeilensummennorm p = ∞.

Nach den bewiesenen Eigenschaften der Operatornorm gilt

cond(A) = max‖x‖=1

‖Ax‖/ min‖x‖=1

‖Ax‖,

d.h. geometrisch gibt die Kondition eine Aussage uber die Verzerrung des Raums Kn durch A.

Wie im ersten Abschnitt gibt die Konditionszahl eine Aussage daruber, wie stark sich der relativeFehler in der rechten Seite b ∈ K

n auf die Losung des Gleichungssystems Ax = b auswirkt.

17

Page 22: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 2. MATRIXNORMEN UND KONDITIONIERUNG

Lemma 2.3. Es seien A ∈ Kn×n eine regulare Matrix und x, x, b, b ∈ K

n\0 Vektoren mitAx = b und Ax = b. Dann gilt

‖x− x‖‖x‖ ≤ cond(A)

‖b− b‖‖b‖ . (2.8)

Beweis. Es gilt ‖x− x‖ = ‖A−1(b− b)‖ ≤ ‖A−1‖‖b− b‖ sowie ‖b‖ ≤ ‖A‖‖x‖. Multipliziert manbeide Abschatzungen folgt die Behauptung.

Mit etwas großerem Aufwand kann man auch abschatzen, wie sich ein zusatzlicher Fehler bei derMatrix A auf das berechnete Ergebnis auswirkt.

Satz 2.4. Es seien A, A ∈ Kn×n Matrizen und x, x, b, b ∈ K

n Vektoren mit Ax = b und Ax = b.Die Matrix A sei regular, und es gelte ‖A−A‖ < 1/‖A−1‖. Dann ist auch A regular, und es gilt

‖x− x‖‖x‖ ≤ cond(A)

1 − cond(A) ‖ eA−A‖‖A‖

(‖A−A‖‖A‖ +

‖b− b‖‖b‖

)(2.9)

Beweis. Das Beweis erfolgt in drei Schritten.

1. Schritt. Ist M ∈ Kn×n mit ‖M‖ < 1, so ist (III +M) regular, und es gilt

‖(III +M)−1‖ ≤ 1

1 − ‖M‖ . (2.10)

Mit der Dreiecksungleichung gilt ‖(III + M)x‖ = ‖x + Mx‖ ≥ ‖x‖ − ‖Mx‖ ≥ (1 − ‖M‖)‖x‖ furalle x ∈ K

n. Insbesondere gilt (III +M)x = 0 genau dann, wenn x = 0 gilt, d.h. (III +M) ist injektivund daher regular. Mit der Inversen B := (III +M)−1 gilt

‖B‖(1 − ‖M‖) ≤ ‖B‖ − ‖MB‖ ≤ ‖B +MB‖ = ‖(III +M)B‖ = 1.

Dies zeigt die Abschatzung (2.10).

2. Schritt. A ist regular, und es gilt ‖A−1‖ ≤ ‖A−1‖1 − ‖A−1‖‖A −A‖

. Wir definieren M := A−1(A−

A) und wenden Schritt 1 an, denn es gilt ‖M‖ ≤ ‖A−1‖‖A − A‖ < 1. Also ist III +M = A−1(A+A−A) = A−1A regular und damit auch A. Ferner gilt

‖A−1‖ ≤ ‖A−1A‖‖A−1‖ = ‖(III +M)−1‖‖A−1‖ ≤ ‖A−1‖1 − ‖A−1(A−A)‖

≤ ‖A−1‖1 − ‖A−1‖‖A −A‖

.

3. Schritt. Schließlich zeigen wir Abschatzung (2.9). Es gilt A(x− x) = Ax− b = (b− b)−(A−A)xund deshalb mit Schritt 2

‖x− x‖ ≤ ‖A−1‖(‖b− b‖ + ‖A− A‖‖x‖

)≤ cond(A)

1 − cond(A)‖eA−A‖‖A‖

(‖A− A‖‖A‖ ‖x‖ +

‖b− b‖‖A‖

)

18

Page 23: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 2. MATRIXNORMEN UND KONDITIONIERUNG

Aus ‖b‖ ≤ ‖A‖‖x‖ folgt 1/‖A‖ ≤ ‖x‖/‖b‖. Die Kombination mit der vorausgegangen Abschatzungund Division durch ‖x‖ zeigt die Behauptung.

Bemerkung. (i) Der Beweis des ersten Schrittes basiert wesentlich auf der endlichen Dimension.Die Aussage gilt aber auch in beliebigen Banach-Raumen und wird dann (nicht viel schwerer) mitHilfe der Neumannschen Reihe bewiesen.(ii) Insbesondere zeigt der Satz, dass die Menge U :=

M ∈ K

n×n∣∣M regular

eine offene Teil-

menge von Kn×n ist, denn jede hinreichend kleine Storung einer regularen Matrix ist regular. Wir

werden von dieser Feststellung spater noch Gebrauch machen.

2.3 Vorkonditionierung

Beim Losen des Gleichungssystems Ax = b mit regularer Matrix A ∈ Kn×n werden Rundungsfehler

im Wesentlichen mit dem Faktor cond(A) verstarkt. Dabei bezeichnet wieder cond(A) = ‖A‖‖A−1‖die Konditionszahl bezuglich einer fixierten Norm ‖ · ‖ auf K

n (und zugehoriger Operatornorm).

Definition. Ist A ∈ Kn×n eine regulare Matrix, so versteht man unter Vorkonditionierung die

numerische Konstruktion einer regularen Matrix B ∈ Kn×n, sodass

cond(BA) ≤ cond(A)

gilt. Man lost in diesem Fall nicht mehr das Gleichungssystem Ax = b, sondern das Gleichungs-system BAx = Bb, da Rundungsfehler dann weniger verstarkt werden.

Die Matrix B soll folgende Eigenschaften besitzen:

• Die Berechnung von B ist kostengunstig.

• Die Berechnung von BA ist kostengunstig.

Die beste Wahl von B ware B = A−1. In der Regel ist aber A−1 nicht bekannt und kann nur sehraufwandig berechnet werden.

Haufig ergibt sich die Losung eines Gleichungssystem Ahx = b als letzter Schritt in einem nu-merischen Diskretisierungsverfahren, und cond(Ah) hangt vom Diskretisierungsparameter h > 0ab, z.B. cond(Ah) = O(h−1). Dies wird z.B. bei Interpolationsproblemen der Fall sein, siehe Kapi-tel 4. In diesem Fall ist man an einer Folge von Vorkonditionierungsmatrizen Bh interessiert, sodassmoglichst cond(BhAh) = O(1) gilt.

In der Regel verwendet man schwach besetzte Matrizen B – im Extremfall Diagonalmatrizen – zurVorkonditionierung. Fur die Zeilensummennorm und Vorkonditionierung mit Diagonalmatrizen istZeilenaquilibrierung optimal.

Definition. Eine Matrix A ∈ Kn×n heißt zeilenaquilibriert, falls gilt

n∑

k=1

|ajk| = 1 fur alle j = 1, . . . , n. (2.11)

19

Page 24: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 2. MATRIXNORMEN UND KONDITIONIERUNG

Satz 2.5. (i) Es sei A ∈ Kn×n zeilenaquilibriert und regular. Dann gilt fur jede regulare Diago-

nalmatrix D ∈ Kn×n die Abschatzung cond∞(A) ≤ cond∞(DA).

(ii) Fur eine regulare Matrix A ∈ Kn×n definiere die Diagonalmatrix

D := diag(α−11 , . . . , α−1

n ) mit αj :=n∑

k=1

|ajk|.

Dann gilt cond∞(DA) ≤ cond∞(A).

Beweis. (ii) folgt unmittelbar aus (i), denn DA ist zeilenaquilibriert, und damit gilt

cond∞(DA) ≤ cond∞(D−1DA) = cond∞(A).

Zum Beweis von (i) beachte man ‖A‖∞ = maxnj=1

∑nk=1 |ajk| = 1 und insbesondere

‖DA‖∞ = max1≤j≤n

n∑

k=1

|djajk| = max1≤j≤n

|dj | = ‖D‖∞

Daraus folgt

cond∞(A) = ‖A−1‖∞ ≤ ‖(DA)−1‖∞‖D‖∞ = cond∞(DA).

20

Page 25: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 3

Eliminationsverfahren zur Losunglinearer Gleichungssysteme

In diesem Abschnitt liegt der Schwerpunkt auf den sogenannten Eliminationsverfahren oder Di-rekten Losern. Im einfachsten Fall ist ein lineares Gleichungssystem Ax = b mit regularer MatrixA ∈ K

n×n und rechter Seite b ∈ Kn gegeben und die Losung x ∈ K

n gesucht. Eliminationsverfahrensind Algorithmen, die nach endlich vielen Rechenoperationen die Losung von Ax = b liefern. Dabeisind i.a. nur die Eintrage von A bekannt und nicht, ob A regular ist oder weitere Eigenschaftenbesitzt. Die Algorithmen mussen in diesem Fall gegebenfalls abbrechen.

Bemerkung (Berechnung der Inversen). Die wichtigste Regel der Numerik ist, dass mandie Inverse A−1 einer regularen Matrix A ∈ K

n×n nicht berechnen sollte: Es gibt keinen stabilenAlgorithmus zur Berechnung der Inversen und haufig kann auch auf die explizite Berechnung vonA−1 verzichtet werden. Will man beispielsweise zu gegebenem Vektor y ∈ K

n x = A−1By berechnen,so geht man in zwei Schritten vor:

• Man berechnet z = By.

• Man lost das Gleichungssystem Ax = z.

Falls die Berechnung von A−1 wirklich notig ist, berechnet man zunachst eine geeignete Faktorisie-rung von A (z.B. die LU- oder die QR-Zerlegung). Dann lost man (mittels dieser Faktorisierung)die Gleichungssysteme Ax(j) = ej fur alle j = 1, . . . , n. Die Matrix B = (x(1), . . . , x(n)) ∈ K

n×n istdann die (fehlerbehaftete Approximation der) Inverse A−1.

3.1 Dreiecksmatrizen

Definition. Eine Matrix L ∈ Kn×n heißt untere Dreiecksmatrix, falls ℓjk = 0 gilt fur alle

Indizes j < k. In diesem Fall verschwinden also alle Eintrage oberhalb der Matrix-Diagonalen.Analog dazu heißt eine Matrix U ∈ K

n×n obere Dreiecksmatrix, falls ujk = 0 gilt fur j > k. Es

21

Page 26: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

gilt also schematisch

L =

ℓ11 0 . . . . . . 0ℓ21 ℓ22 0 . . . 0...

.... . .

. . ....

......

. . . 0ℓn1 ℓn2 . . . . . . ℓnn

und U =

u11 u12 . . . . . . u1n

0 u22 u23 . . . u2n... 0

. . .. . .

......

.... . .

. . ....

0 0 . . . 0 unn

.

Bemerkung. Fur eine Dreiecksmatrix D ∈ Kn×n gilt det(D) =

∏nj=1 djj. Insbesondere ist D genau

dann regular, wenn alle Diagonalelemente ungleich Null sind.

Algorithmus 3.1: Losung eines oberen Dreieckssystems

Input: regulare obere Dreiecksmatrix U ∈ Kn×n, rechte Seite b ∈ K

n

for j = n:-1:1

xj =(bj −

∑nk=j+1 ujkxk

)/ujj

end

Output: Vektor x ∈ Kn

Behauptung. Algorithmus 3.1 ist wohldefiniert und berechnet in insgesamt n2 arithmetischenOperationen die eindeutige Losung x ∈ K

n von Ux = b.Beweis. Das Gleichungssystem Ux = b ist aquivalent zu den folgenden n Gleichungen:

u11x1 + u12x2 + · · · + u1nxn = b1

u22x2 + · · · + u2nxn = b2...

unnxn = bn

Der Algorithmus lost dieses Gleichungssystem durch Ruckwartseinsetzen, insbesondere sind dieim Algorithmus benotigten xk bereits berechnet. Deshalb und wegen ujj 6= 0 ist Algorithmus 3.1wohldefiniert. Im j-ten Schritt sind jeweils (n − j) Multiplikationen und Subtraktionen sowie 1Division durchzufuhren. Die Gesamtanzahl arithmetischer Operationen ist also

∑nj=1

(1 + 2(n −

j))

= n+ 2∑n−1

k=1 k = n+ 2 (n−1)n2 = n2.

22

Page 27: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Auf analoge Weise lost man ein lineares System mit einer regularen unteren Dreiecksmatrix L.

Algorithmus 3.2: Losung eines unteren Dreieckssystems

Input: regulare untere Dreiecksmatrix L ∈ Kn×n, rechte Seite b ∈ K

n

for j = 1:n

xj =(bj −

∑j−1k=1 ℓjkxk

)/ℓjj

end

Output: Vektor x ∈ Kn

Behauptung. Algorithmus 3.2 ist wohldefiniert und berechnet in insgesamt n2 arithmetischenOperationen die eindeutige Losung x ∈ K

n von Lx = b.

Die Menge U der oberen Dreiecksmatrizen ist abgeschlossen bezuglich der Matrizenmultiplikation.Die Untermenge der regularen oberen Dreiecksmatrizen bildet eine Gruppe.

Lemma 3.3. Es sei U =U ∈ K

n×n∣∣U obere Dreiecksmatrix

. Dann gelten:

(i) Fur A,B ∈ U ist das Produkt AB ∈ U .(ii) Fur eine regulare Matrix A ∈ U gilt B := A−1 ∈ U und bjj = a−1

jj fur alle j = 1, . . . , n.

Beweis. (i) Nach Voraussetzung gilt aij = 0 fur i > j und bjk = 0 fur j > k, insbesondere erfullendie Eintrage von C := AB ∈ K

n×n deshalb

cik =

n∑

j=1

aijbjk =

k∑

j=i

aijbjk, (3.1)

und es folgt cik = 0 fur i > k, d.h. C ∈ U .

(ii) Es sei b(k) ∈ Kn die k-te Spalte von B = A−1. Dann gilt Ab(k) = ek. Ruckwartseinsetzen zeigt

bjk = b(k)j = 0 fur j > k. Insgesamt folgt deshalb B ∈ U . Abschließend folgt aus (3.1) und III = AB

sofort 1 = ajjbjj.

Das Lemma ubertragt sich offensichtlich auf die Menge

L =L ∈ K

n×n∣∣L untere Dreiecksmatrix

,

indem man von L ∈ L zur transponierten Matrix LT ∈ U ubergeht.

Lemma 3.4. Es sei L =L ∈ K

n×n∣∣L untere Dreiecksmatrix

. Dann gelten:

(i) Fur A,B ∈ L ist das Produkt AB ∈ L.(ii) Fur eine regulare Matrix A ∈ L gilt B := A−1 ∈ L und bjj = a−1

jj fur alle j = 1, . . . , n.

23

Page 28: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

3.2 LU-Zerlegung nach Crout

Im ganzen Abschnitt sei A ∈ Kn×n eine regulare Matrix und b ∈ K

n. Das Ziel ist die FaktorisierungA = LU von A in eine untere Dreiecksmatrix L und eine obere Dreiecksmatrix U , sodass dasGleichungssystem Ax = b mit den Algorithmen aus Abschnitt 3.1 in zwei Schritten gelost werdenkann:

• Berechne die Losung y von Ly = b.

• Berechne die Losung x von Ux = y.

Dann gilt insgesamt Ax = b. Der erste Schritt verstarkt einen etwaigen relativen Fehler in b mitdem Faktor cond(L). Im zweiten Schritt wird der relative Fehler in y mit cond(U) verstarkt. Ins-gesamt kann sich ein relativer Fehler in b also mit cond(L) cond(U) auf den relativen Fehler in xauswirken. Deshalb ist diese Losungsstrategie nur dann stabil, wenn cond(A) ≈ cond(L) cond(U).Im allgemeinen gilt aber lediglich cond(A) ≤ cond(L) cond(U).

Definition. Eine Faktorisierung A = LU mit L ∈ Kn×n unterer Dreiecksmatrix und U ∈ K

n×n

oberer Dreiecksmatrix heißt LU-Zerlegung von A.

Bemerkung. Da die Matrix A insgesamt n2 Eintrage hat, eine LU-Zerlegung aber n2+n = n(n+1)Eintrage, kann man die Eindeutigkeit der LU-Zerlegung nur erwarten, wenn man n Zusatzbedingun-gen an L und U stellt. In der Regel fordert man die Normalisierung ℓjj = 1 fur alle j = 1, . . . , n.

Satz 3.5. Fur die Matrix A ∈ Kn×n sind die folgenden Aussagen aquivalent:

(i) Alle Untermatrizen Ak := (aij)ki,j=1 ∈ K

k×k sind regular.(ii) Es existiert eine LU-Zerlegung von A.In diesem Fall hat A eine eindeutige normalisierte LU-Zerlegung A = LU mit ℓjj = 1 fur allej = 1, . . . , n.

Beweis. (ii) ⇒ (i): Da A regular ist, sind L und U regular und insbesondere Lk und Uk regular.Aus A = LU folgt insbesondere Ak = LkUk fur die entsprechenden Untermatrizen, also ist auchAk regular.

(i) ⇒ (ii) wird durch Induktion nach n bewiesen. Wir zeigen, dass eine eindeutige normalisierte LU-Zerlegung existiert. Der Induktionsanfang n = 1 ist klar. Im Induktionsschritt existieren eindeutigeDreiecksmatrizen Ln−1, Un−1 mit An−1 = Ln−1Un−1 und ℓjj = 1 fur alle j = 1, . . . , n− 1. Mit demAnsatz

A =

(An−1 bcT ann

)

fur geeignete b, c ∈ Kn−1 und ann ∈ K ist zu zeigen, dass eindeutige ℓ, u ∈ K

n−1 und ρ ∈ K

existieren, sodass gilt(An−1 bcT ann

)=

(Ln−1 0ℓT 1

)(Un−1 u

0 ρ

). (3.2)

Unter der Induktionsvoraussetzung ist (3.2) aquivalent zu den drei linearen Gleichungen

b = Ln−1u, c = UTn−1ℓ und ann = ℓTu+ ρ. (3.3)

24

Page 29: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Da Ln−1 und Un−1 regular sind, existieren eindeutige Vektoren ℓ, u ∈ Kn−1 als Losungen der ersten

beiden Gleichungen von (3.3), und auch die eindeutige Existenz von ρ folgt.

Beispiel. Die Matrix

(0 11 0

)hat keine LU-Zerlegung.

Beispiel. Es sei A ∈ Kn×n eine positiv definite Matrix, d.h. (Ax) · x > 0 fur alle x ∈ K

n\0.Dann sind alle Untermatrizen ebenfalls positiv definit. Da positiv definite Matrizen injektiv unddeshalb regular sind, besitzt A eine LU-Zerlegung.

Beispiel. Es sei A ∈ Kn×n eine strikt diagonaldominante Matrix, d.h.

n∑

k=1k 6=j

|ajk| < |ajj| fur alle j = 1, . . . , n.

Dann sind alle Untermatrizen Ak ebenfalls strikt diagonaldominant. Da strikt diagonaldominanteMatrizen injektiv und deshalb regular sind, besitzt A eine LU-Zerlegung. Wir zeigen die Injektivitat:Fur x ∈ K

n und den Index j mit ‖x‖∞ = |xj | gilt

‖Ax‖∞ ≥ |(Ax)j | =∣∣∣

n∑

k=1

ajkxk

∣∣∣ ≥ |ajj ||xj | −∑

k 6=j

|ajk||xk| ≥(|ajj| −

k 6=j

|ajk|)‖x‖∞.

Wegen λj :=(|ajj| −

∑k 6=j

|ajk|)> 0 folgt wie behauptet Kern(A) = 0. Der Beweis zeigt ferner

inf‖x‖∞=1

‖Ax‖∞ ≥ min1≤j≤n

λj =: λ0

und deshalb ‖A−1‖∞ ≤ λ−10 .

Bemerkung. Das Verfahren, Ax = b mittels LU-Zerlegung zu losen, ist nicht stabil, wenn dieKonditionszahl von L oder U wesentlich schlechter ist als die von A. Dies ist der sogenannteStandardfehler der Numerik: Man zerlegt das Ausgangsproblem φ in zwei Teilprobleme φ =φ2 φ1, von denen eines erheblicher schlechter konditioniert ist als das Gesamtproblem.

Beispiel. Wir betrachten die Matrix A =

(ε 11 0

)mit ε > 0 klein. Elementare Rechnung zeigt

A−1 =

(0 11 −ε

). Fur die Zeilensummennorm gilt demnach ‖A‖∞ = 1 + ε = ‖A−1‖∞, also

cond∞(A) = (1 + ε)2 ≈ 1. Berechnet man die normalisierte LU-Zerlegung A = LU , so erhalt man

L =

(1 0

1/ε 1

), L−1 =

(1 0

−1/ε 1

), U =

(ε 10 −1/ε

), U−1 =

(1/ε 10 −ε

).

Es gelten also ‖L‖∞ = 1 + 1/ε = ‖L−1‖∞, ‖U‖∞ = 1/ε und ‖U−1‖∞ = 1 + 1/ε, und es folgtcond∞(L) = (1 + 1/ε)2, cond∞(U) = (1 + 1/ε)/ε.

25

Page 30: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Algorithmus 3.6: Berechnung der LU-Zerlegung nach Crout

Input: Matrix A ∈ Kn×n mit LU-Zerlegung

for i=1:n

for k=i:n

uik = aik −∑i−1j=1 ℓijujk

end

for k=i+1:n

ℓki =(aki −

∑i−1j=1 ℓkjuji

)/uii

end

end

Output: nicht-triviale Eintrage der Matrizen L,U ∈ Kn×n, d.h. ℓjk fur j > k und ujk fur j ≤ k.

Behauptung. Der Crout-Algorithmus ist wohldefiniert und berechnet in (asymptotisch) 2n3/3arithmetischen Operationen die nicht-trivialen Eintrage der Matrizen L und U der normalisiertenLU-Zerlegung. Die berechneten Werte fur uik und ℓki konnen aik und aki uberschreiben. Dadurchwird kein weiterer Speicherplatz zur Speicherung von L und U benotigt, d.h.

a11 a12 a13 . . . a1n

a21 a22 a23 . . . a2n

a31 a32 a33 . . . a3n...

. . .. . .

...an1 . . . . . . an,n−1 ann

7→

u11 u12 u13 . . . u1n

ℓ21ℓ21ℓ21 u22 u23 . . . u2n

ℓ31ℓ31ℓ31 ℓ32ℓ32ℓ32 u33 . . . u3n.........

. . .

. . .

. . .. . .

...ℓn1ℓn1ℓn1 . . .. . .. . . . . .. . .. . . ℓn,n−1ℓn,n−1ℓn,n−1 unn

Beweis der Wohldefiniertheit. Der Algorithmus arbeitet mittels einer Parkettierung vonA: Die Matrix wird wie folgt eingeteilt

1a 1a 1a . . . 1a1b 2a 2a . . . 2a1b 2b 3a . . . 3a1b 2b 3b...

...... etc.

1b 2b 3b

In dieser Einteilung vertreten die Ziffern 1, 2, 3, . . . die außere i-Schleife und die beiden Literale a, bdie erste bzw. zweite innere k-Schleife in Algorithmus 3.6.

Mit der Faktorisierung A = LU und ℓii = 1 gilt fur i ≤ k

aik =

n∑

j=1

ℓijujk =

i∑

j=1

ℓijujk = uik +

i−1∑

j=1

ℓijujk (3.4)

26

Page 31: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Fur i > k gilt

aki =

n∑

j=1

ℓkjuji =

i∑

j=1

ℓkjuji = ℓkiuii +

i−1∑

j=1

ℓkjuji. (3.5)

Die erste Formel ist nach uik auflosbar, die zweite kann wegen uii 6= 0 nach ℓki aufgelost werden.Dass alle auftretenden Summanden ℓijujk bzw. ℓkjuji bereits berechnet sind, entnehme man derParkettierung.

Beweis des arithmetischen Aufwands. Fixiert man i und k, so erfordert die Berechnungvon uik jeweils i − 1 Multiplikationen und Subtraktionen. Die Berechnung von ℓki erfordert eineDivision sowie jeweils i− 1 Multiplikationen und Subtraktionen. Im i-ten Schritt des Algorithmusfallen also

(n− i+ 1) 2(i − 1) + (n− i) (2(i − 1) + 1) = (4n + 5)i− 4i2 − (3n + 2)

arithmetische Operationen an. Also ergeben sich insgesamt

(4n + 5)n∑

i=1

i− 4n∑

i=1

i2 − n(3n+ 2) = (4n+ 5)n(n+ 1)

2− 4

n(n+ 1)(2n + 1)

6− n(3n+ 2)

= 2n3 − 4

3n3 + O(n2) =

2

3n3 + O(n2)

arithmetische Operationen. Bei Aufwandsangaben wird in der Regel nur der hochste n-Potenzberucksichtigt, d.h. der Aufwand an arithmetischen Operationen fur den Crout-Algorithmus betragtasymptotisch 2n3/3.

Ubung. Eine Matrix A ∈ Kn×n heißt Bandmatrix mit oberer Bandbreite q ∈ N0 und unterer

Bandbreite p ∈ N0, wenn gilt

aik = 0 fur k + p < i oder k > i+ q.

In diesem Fall gilt also schematisch

A =

a11 . . . a1,q+1 000 . . .. . .. . . 000...

. . .. . .

. . .

. . .

. . ..........

ap+1,1. . .

. . . 000

000. . .

. . . an−q,n.........

. . .

. . .

. . .. . .

. . ....

000 . . .. . .. . . 000 an,n−p . . . ann

.

Besitzt die Bandmatrix A eine LU-Zerlegung, so folgere man mit Hilfe von (3.4)–(3.5), dass Luntere Bandbreite p und U obere Bandbreite q hat. Der Crout-Algorithmus sowie das Losen derDreieckssysteme fur Bandmatrizen lasst sich leicht daran adaptieren, dass uberflussige (triviale)Operationen entfallen und nur noch

• O(nqp) Operationen zur Berechnung der LU-Zerlegung,

27

Page 32: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

• O(np) Operationen zum Losen von Ly = b,

• O(nq) Operationen zum Losen von Ux = y

anfallen, d.h. man kann ein Eliminationsverfahren mit linearem Aufwand (linear in n) realisieren –anstatt kubischem Aufwand fur die oben formulierte LU-Zerlegung. Dazu beachte man

aik =

mini,k∑

j=j0

ℓijujk

fur alle i ∈ 1, . . . n, k ∈ max(1, i − p), . . . ,min(i+ q, n) und j0 := max1, i− p, k − q.

LU-Zerlegung in MatlabMatlabMatlab

In Matlab steht die LU-Zerlegung mit dem vorimplementierten Befehl lu zur Verfugung. Internwird jedoch nicht der Crout-Algorithmus, sondern das Gauß-Verfahren benutzt, das im nachstenAbschnitt eingefuhrt wird.

3.3 LU-Zerlegung und Gauß-Verfahren

Das Gauß-Verfahren (auch: Gauß-Elimination) ist das klassische Verfahren zur Losung linearerGleichungssysteme Ax = b mit regularer Matrix A ∈ K

n×n, das man auch verwendet, wenn mandas Gleichungssystem handisch lost: Durch elementare Zeilenumformungen wird die Matrix A aufobere Dreiecksgestalt gebracht.

Algorithmus 3.7: Gauß-Verfahren

Input: A ∈ Km×n regular, b ∈ K

n

1. Schritt: Wir lassen die erste Zeile der Matrix A(1) := A unverandert und erhalten eine MatrixA(2), indem wir in den ubrigen Zeilen den ersten Eintrag ai1 eliminieren. Dazu definieren wirℓi1 := ai1/a11 fur 2 ≤ i ≤ n sowie

a(2)ij = aij − ℓi1a1j , b

(2)i = bi − ℓi1b1 fur i, j = 2, . . . , n.

Mit Matrizen schreibt sich dieser Ubergang in der Form A(2) = L(1)A, b(2) = L(1)b mit

A(2) =

a11 a12 . . . a1n

0 a(2)22 . . . a

(2)2n

......

...

0 a(2)n2 . . . a

(2)nn .

, b(2) =

b1

b(2)2...

b(2)n

, L(1) =

1−ℓ21 1

.... . .

−ℓn1 1

,

wobei alle nicht angegebenen Eintrage von L(1) trivial sind.

2. Schritt: Wir lassen die ersten beiden Zeilen der Matrix A(2) unverandert und erhalten eine

28

Page 33: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Matrix A(3), indem wir in den ubrigen Zeilen den zweiten Eintrag a(2)i2 eliminieren. Dazu definieren

wir ℓi2 := a(2)i2 /a

(2)22 fur 3 ≤ i ≤ n sowie

a(3)ij = a

(2)ij − ℓi2a

(2)2j , b

(3)i = b

(2)i − ℓi2b

(2)2 fur i, j = 3, . . . , n.

Mit Matrizen schreibt sich dieser Ubergang in der Form A(3) = L(2)A(2), b(3) = L(2)b(2) mit

A(3) =

a11 a12 a13 . . . a1n

0 a(2)22 a

(2)23 . . . a

(2)2n

0 0 a(3)33 . . . a

(3)3n

......

......

0 0 a(3)n3 . . . a

(3)nn .

, b(3) =

b1

b(2)2

b(3)3...

b(3)n

, L(2) =

11

−ℓ32 1...

. . .

−ℓn2 1

,

k-ter Schritt: Vor dem Eliminationsschritt gilt

A(k) =

a11 . . . . . . . . . a1n

0. . .

...... 0 a

(k)kk . . . a

(k)kn

......

......

0 0 a(k)nk . . . a

(k)nn

, b(k) =

b1...

b(k)k...

b(k)n

.

Mit ℓik := a(k)ik /a

(k)kk fur i = k + 1, . . . , n und der Eliminationsmatrix

L(k) =

1. . .

1−ℓk+1,k 1

.... . .

−ℓnk 1

definieren wir A(k+1) = L(k)A(k) sowie b(k+1) = L(k)b(k). Die Multiplikation A(k+1) = L(k)A(k)

eliminiert gerade die Eintrage a(k)jk fur j = k + 1, . . . , n, d.h. es gilt a

(k+1)jk = 0.

Output: Nach n − 1 Schritten erhalten wir eine obere Dreiecksmatrix U := A(n) ∈ Kn×n, eine

untere Dreiecksmatrix L mit ℓjj := 1 sowie die transformierte rechte Seite y := b(n) ∈ Kn.

29

Page 34: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Satz 3.8. Ist A ∈ Kn×n eine regulare Matrix und b ∈ K

n, so ist das Gauß-Verfahren genaudann durchfuhrbar, wenn die Matrix A eine LU-Zerlegung besitzt. In diesem Fall berechnet dasVerfahren die normalisierte LU-Zerlegung A = LU mit U = A(n) und liefert ferner die modifizierterechte Seite y = b(n) = L−1b. Man erhalt also die Losung x ∈ K

n von Ax = b, indem man dasGleichungssystem Ux = y lost.

Beweis. Zunachst nehmen wir an, dass A eine LU-Zerlegung besitzt. Um zu zeigen, dass das

Gauß-Verfahren wohldefiniert ist, mussen wir nur zeigen, dass in allen Schritten a(k)kk 6= 0 gilt. Wir

betrachten die k-te Untermatrix A(k)k von A(k) = L(k−1) · · ·L(1)A,

A(k)k =

a11 a12 . . . a1k

0 a(2)22 . . . a

(2)2k

.... . .

. . ....

0 . . . 0 a(k)kk

Mit den entsprechenden Untermatrizen gilt A(k)k = L

(k−1)k · · ·L(1)

k Ak. Da die L(j)k regular sind, gilt

also rg(A(k)k ) = rg(Ak). Nach Satz 3.5 uber die LU-Zerlegung hat Ak vollen Rang, und deshalb gilt

a(k)kk 6= 0.

Ist andererseits das Gauß-Verfahren durchfuhrbar, so ist

U := A(n) = L(n−1) · · ·L(1)A ∈ Kn×n

eine obere Dreiecksmatrix, und es ist nur noch zu zeigen, dass L := (L(n−1) · · ·L(1))−1 eine nor-malisierte untere Dreiecksmatrix ist. Mit dem Vektor ℓℓℓk := (0, . . . , 0, ℓk+1,k, . . . , ℓnk) ∈ K

n giltL(k) = III − ℓℓℓke

Tk . Nutzt man eT

j ℓℓℓk = 0 fur j ≤ k, so folgt L(k)(III + ℓℓℓkeTk ) = III, d.h.

(L(k))−1 = III + ℓℓℓkeTk =

1. . .

1ℓk+1,k 1

.... . .

ℓnk 1

.

Mit vollstandiger Induktion zeigt man schließlich

L := (L(n−1) · · ·L(1))−1 = (L(1))−1 · · · (L(n−1))−1 = III +

k∑

j=1

ℓℓℓjeTj ,

und aus der letzten Gleichheit folgt sofort

L =

1 0 . . . 0

ℓ21 1. . .

......

. . .. . . 0

ℓn1 . . . ℓn,n−1 1,

,

30

Page 35: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

d.h. A = LU ist die normalisierte LU-Zerlegung von A.Insbesondere gelten U = A(n) = L−1A und y := b(n) = L−1b, d.h. die (eindeutige) Losung vonAx = b ist auch die eindeutige Losung von Ux = y.

Algorithmus 3.9: Gauß-Elimination

Input: Matrix A ∈ Kn×n mit LU-Zerlegung, rechte Seite b ∈ K

n

for k=1:n-1

for i=k+1:n

ℓik = a(k)ik /a

(k)kk

b(k+1)i = b

(k)i − ℓikb

(k)k

for j=k+1:n

a(k+1)ij = a

(k)ij − ℓika

(k)kj

end

end

end

Output: nicht-triviale Eintrage der Matrizen L,U ∈ Kn×n mit uij := a

(i)ij , sowie modifizierte

rechte Seite y ∈ Kn mit yi := b

(i)i .

Die Verifikation, dass dieser Pseudo-Code die folgenden Eigenschaften hat, sei dem Leser zur Ubunguberlassen.

Behauptung. Algorithmus 3.9 berechnet in asymptotisch 2n3/3 arithmetischen Operationen dienormalisierte LU-Zerlegung von A mit U := A(n) sowie die modifizierte rechte Seite y := b(n) =L−1b. Bei einer Implementierung werden einfach die oberen Indizes weggelassen, d.h.A und b werdenuberschrieben, und ℓik uberschreibt aik. Dadurch wird kein weiterer Speicherplatz benotigt.

Die Gauß-Elimination ist (wie die LU-Zerlegung) nicht fur jede regulare Matrix durchfuhrbar. Umeinen Algorithmus zu erhalten, der fur jede regulare Matrix durchfuhrbar ist, erweitern wir dasGauß-Verfahren um eine Pivot-Strategie: Dabei wird der Gauß-Algorithmus 3.9 in der k-Schleifevor der i-Schleife wie folgt erweitert:

• Bestimme den Index p = p(k) ∈ k, . . . , n mit |a(k)pk | = max

i=k,...,n|a(k)

ik |.

• Vertausche Zeilen p und k in (A(k), b(k)) und erhalte (A(k), b(k)).

• Fuhre den Eliminationsschritt fur (A(k), b(k)) aus und erhalte (A(k+1), b(k+1)).

Bei einer Implementierung wird naturlich keine Zeile wirklich vertauscht, d.h. es wird kein Speicherkopiert, sondern es wird mit einem zusatzlichen Buchhaltungsvektor π ∈ N

n gearbeitet:

31

Page 36: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

• Anfangs gilt π = (1, . . . , n).

• Beim Vertauschen wird lediglich der Inhalt von π(p) und π(k) vertauscht.

Gegenuber dem einfachen Gauß-Verfahren mussen also lediglich die Zeilenindizes geandert werden:Statt aij verwenden wir nun aπ(i),j etc., vgl. Algorithmus 3.11.

Bemerkung. Man beachte, dass das Vertauschen der Zeilen p und k gerade der Matrizenmultipli-kation A(k) = P (k)A(k) mit der elementaren Permutationsmatrix

P (k) =

1. . .

10 1

1. . .

11 0

1. . .

1

∈ 0, 1n×n.

entspricht. Hierbei sind gegenuber der Identitat III gerade die k-te und p-te Zeile vertauscht im Fallp 6= k und P (k) = III im Fall p = k. Offensichtlich ist P (k) regular mit P (k) = (P (k))−1. Der k-teSchritt im Gauß-Verfahren mit Pivotsuche lasst sich formal in der Form

A(k+1) = L(k)P (k)A(k), b(k+1) = L(k)P (k)b(k)

schreiben.

Satz 3.10. Fur jede regulare Matrix A ∈ Kn×n und b ∈ K

n ist der Gauß-Algorithmus mitPivotsuche durchfuhrbar. Ist P ∈ 0, 1n×n die Permutationsmatrix, die durch den Buchhalter-vektor gegeben ist, so wird gerade die normalisierte LU-Zerlegung PA = LU berechnet, und es gilt|ℓij | ≤ 1 fur alle 1 ≤ j ≤ i ≤ n. Ferner erhalt man die modifizierte rechte Seite b(n) = L−1Pb.

Beweis der Wohldefiniertheit. Das Gauß-Verfahren mit Pivotsuche ist genau dann nicht

wohldefiniert, wenn es einen Schritt k = 1, . . . , n− 1 gibt, sodass |a(k)pk | = maxn

i=k |a(k)ik | = 0 gilt. In

diesem Fall waren also die ersten k Spalten von

A(k) =

a11 . . . . . . . . . a1n

0. . .

...... 0 a

(k)kk . . . akn(k)

......

......

0 0 ank(k) . . . a(k)nn

32

Page 37: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

linear abhangig. Andererseits haben A und A(k) denselben (vollen) Rang, denn A(k) entsteht aus Adurch die Multiplikation mit regularen Permutations- und Eliminationsmatrizen. Demnach fuhrte

a(k)pk = 0 auf einen Widerspruch zur Regularitat von A. Also ist das Verfahren wohldefiniert.

Beweis der Aussage uber LLL. Fur die Koeffizienten von L gilt nach Definition ℓik = a(k)ik /a

(k)pk ,

da gegebenenfalls vor der i-Schleife die Zeilen p und k vertauscht werden. Nach Wahl des Index pfolgt |ℓik| ≤ 1.

Beweisidee fur Faktorisierung PA = LUPA = LUPA = LU . Fur den Beweis der Faktorisierung PA = LU mitP = P (n−1) · · ·P (1) betrachten wir die folgende Entwicklung fur k = 2, 3, 4, . . .

A(2) = L(1)P (1)A,

A(3) = L(2)P (2)A(2) = L(2)[P (2)L(1)P (2)][P (2)P (1)]A,

A(4) = L(3)P (3)A(3) = L(3)[P (3)L(2)P (3)][P (3)P (2)L(1)P (2)P (3)][P (3)P (2)P (1)]A,

wobei wir lediglich P (k)P (k) = III ausgenutzt haben. Fuhrt man diese Entwicklung fort und definiert

L(k) := P (n−1) · · ·P (k+1)L(k)P (k+1) · · ·P (n−1),

so erhalt man

A(n) = L(n−1) · · · L(1)PA.

U := A(n) ist eine obere Dreiecksmatrix. Aufgrund der Darstellung L(k) = III − ℓℓℓkeTk uberlegt man

sich leicht, dass L(k) dieselbe Struktur hat wie L(k), d.h.

L(k) =

1. . .

1

−ℓk+1,k 1...

. . .

−ℓnk 1

.

Mit derselben Argumentation wie fur das ursprungliche Gauß-Verfahren definiert

L := (L(n−1) · · · L(1))−1

eine normalisierte untere Dreiecksmatrix, d.h. PA = LU ist die normalisierte LU-Zerlegung. Fernergilt offensichtlich b(n) = L(n−1) · · · L(1)Pb = L−1Pb.

Bemerkung. Will man Ax = b losen und kennt die LU-Zerlegung PA = LU , so lost man

• Ly = Pb,

• Ux = y.

33

Page 38: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Dann gilt PAx = LUx = Ly = Pb, also Ax = b. Hat man die LU-Zerlegung von PA uber dasGauß-Verfahren mit Pivotsuche erhalten, so gilt y = b(n) = L−1Pb, d.h. man muss nur Ux = b(n)

losen.

Fur eine große Klasse von Matrizen ist das Gauß-Verfahren mit Pivotsuche ein stabiles Verfahrenund wird in der Praxis sehr haufig eingesetzt. Bei Implementierungen wird die Matrix A regelmaßiguberschrieben mit den Eintragen fur L und U . Der Buchhaltungsvektor π ∈ N

n wird als Outputzuruckgegeben, um L und U aus dem uberschriebenen A rekonstruieren zu konnen. Im folgendenPseudo-Code sind die Schritt-Indizes bereits weggelassen, d.h. die Matrix A wird mit der oberenDreiecksmatrix U = A(n) uberschrieben. Die Eintrage der Matrix L sind aber noch angegeben. Beieiner Implementierung uberschreiben die ℓ-Terme die entsprechenden a-Terme (d.h. es ersetzt aik

im Code ℓik etc.), sodass lediglich fur den Vektor π Speicher angelegt werden muss.

Algorithmus 3.11: Gauß-Elimination mit Pivotsuche

Input: regulare Matrix A ∈ Kn×n, rechte Seite b ∈ K

n

π = (1, . . . , n)for k=1:n-1

Suche p ∈ k, . . . , n mit |a(k)pk | = max

|a(k)

ik |∣∣ i = k, . . . , n

.

Vertausche π(k) und π(p).for i=k+1:n

ℓπ(i),k = aπ(i),k/aπ(k),k

bπ(i) = bπ(i) − ℓπ(i),kbπ(k)

for j=k+1:n

aπ(i),j = aπ(i),j − ℓπ(i),kaπ(k),j

end

end end

Output: nicht-triviale Eintrage der Matrizen L,U ∈ Kn×n mit uij := aπ(i),j , Buchhaltervektor π

sowie modifizierte rechte Seite yi := bπ(i).

Bemerkung. Die Suche des Pivotelements p zur Bestimmung des Maximums benotigt O(n) Ope-rationen pro k-Schritt. Es ergibt sich also lediglich ein Zusatzaufwand von O(n2), und das Gauß-Verfahren mit Pivotsuche hat asymptotisch weiterhin den Aufwand 2n3/3.

Praktische Ubung. Man implementiere das Gauß-Verfahren mit Pivotsuche, wobei A durch Lund U uberschrieben werde und b durch b(n) = L−1Pb. Schließlich schreibe man ein Programm,das das Gleichungssystem Ux = b(n) lose. Man beachte, dass man dazu die Ruckwartssubstitutionum die Buchhalter-Strategie erweitern muss.

34

Page 39: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Bemerkung (Fill-In). Falls A Bandstruktur hat, so hat PA im Allgemeinen keine Bandstrukturmehr. Insbesondere haben die Matrizen L und U der LU-Zerlegung von PA = LU im Allgemeinenkeine Bandstruktur, sondern sind voll besetzt. Im schlimmsten Fall haben wir also SpeicheraufwandO(n2) zur Speicherung von L, U und P , wogegen die Ausgangsmatrix A mit Aufwand O(n) ge-speichert werden kann. Man bezeichnet dieses Phanomen als Fill-In und vermeidet in der Praxisdas Gauß-Verfahren mit Pivotsuche fur Matrizen mit Bandstruktur.

Bemerkung (Berechnung der Determinante). Ist die Faktorisierung PA = LU bekannt, sogilt nach Multiplikationsregel fur die Determinante det(A) = (−1)ℓ

∏nj=1 ujj, wobei ℓ ∈ N0 die

Anzahl der Zeilenvertauschungen ist, die P durchfuhrt. Es gelten namlich det(L) = 1, det(U) =∏nj=1 ujj sowie det(P ) = (−1)ℓ.

Gauß-Verfahren in MatlabMatlabMatlab

In Matlab wird die LU-Zerlegung mit dem vorimplementierten Befehl lu berechnet. Intern wirddazu das Gauß-Verfahren verwendet – wahlweise mit oder ohne Pivotsuche (abhangig von derAnzahl der Ausgabeparameter).

3.4 Cholesky-Zerlegung

Definition. Eine Matrix A ∈ Kn×n heißt SPD-Matrix, wenn sie selbstadjungiert, d.h. A = A

T,

und positiv definit ist, d.h. Ax · x > 0 fur alle x ∈ Kn\0.

Da die positive Definitheit der Matrix die Injektivitat impliziert, ist jede SPD-Matrix insbesondereregular. Fur SPD-Matrizen gilt die folgende spezielle LU-Zerlegung mit oberer Dreiecksmatrix

U = LT.

Satz 3.12. Ist A ∈ Kn×n eine SPD-Matrix, so existiert eine eindeutige untere Dreiecksmatrix

L ∈ Kn×n mit A = LL

Tund ℓkk > 0 fur alle k ∈ 1, . . . , n. Diese Faktorisierung heißt Cholesky-

Zerlegung. Fur die Konditionszahlen gilt cond2(L) = cond2(LT) =

√cond2(A).

Beweis. Wir beweisen die eindeutige Existenz durch Induktion nach n. Fur n = 1 gilt nachVoraussetzung 0 < ax · x = a|x|2 fur alle x ∈ K\0. Es folgt a > 0, und deshalb verifiziert ℓ =

√a

den Induktionsanfang.

Im Induktionsschritt nehmen wir an, dass fur die Untermatrix An−1 die Faktorisierung An−1 =Ln−1(Ln−1)

T mit unterer Dreiecksmatrix Ln−1 und ℓkk > 0 fur k ∈ 1, . . . , n − 1 gilt. Mit demAnsatz

A =

(An−1 b

bT

ann

)!=

(Ln−1 0cT α

)((Ln−1)

T c0 α

)= LL

T(3.6)

ist zu zeigen, dass ein eindeutiger Vektor c ∈ Kn−1 und ein eindeutiger Skalar α > 0 existieren,

sodass (3.6) gilt. Unter der Induktionsvoraussetzung ist (3.6) aquivalent zu den Gleichungen

Ln−1c = b

cT c+ α2 = ann.

35

Page 40: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Die Regularitat von Ln−1 zeigt die eindeutige Existenz von c. Insbesondere existiert (mindestens)ein α ∈ C, sodass (3.6) gilt, und es folgt

det(A) = det(L) det(LT) = α2

( n−1∏

j=1

ℓjj

)2.

Da A eine SPD-Matrix ist, gilt det(A) > 0: Zum Beweis beachte man, dass alle Eigenwerte λj

von A reell und positiv sind und stets (uber C) det(A) =∏n

j=1 λj gilt. Da die ℓjj > 0 sind, folgt

insgesamt α2 > 0, und deshalb existiert ein eindeutiges α > 0, das (3.6) erfullt.

Der Beweis fur die Konditionszahlen folgt in mehreren kleinen Schritten. Zunachst einmal haben

LTL und LL

Tdieselben Eigenwerte uber C, und deshalb gilt fur den Spektralradius

ρ(LTL) = ρ(LL

T).

Mit der Charakterisierung der Spektralnorm folgt ‖L‖2 = ‖LT ‖2. Dasselbe Argument zeigt ‖L−1‖2

= ‖(LT)−1‖2 wegen (L

T)−1 = (L−1)T . Hieraus folgt zunachst cond2(L) = cond2(L

T).

Schließlich ist nur noch cond2(LT) =

√cond2(A) zu zeigen: Die Selbstadjungiertheit von A zeigt

‖LT ‖2 =

√ρ(LL

T) =

√ρ(A) =

√‖A‖2.

Fur die inverse Abbildung gilt

‖(LT)−1‖2 = ‖L−1‖2 =

√ρ((LL

T)−1) =

√ρ(A−1) =

√‖A−1‖2,

da auch A−1 selbstadjungiert ist. Es folgt cond2(LT) =

√cond2(A).

Bemerkung. Die Konditionsgleichheit zeigt, dass bei der Cholesky-Zerlegung die Instabilitat, diebei der einfachen LU-Zerlegung durch den Standardfehler auftreten konnte, nicht auftreten kann.Man spricht von der Stabilitat der Cholesky-Zerlegung.

Algorithmus 3.13: Cholesky-Zerlegung

Input: SPD-Matrix A ∈ Kn×n

for k = 1:n

ℓkk =(akk −

∑k−1j=1 |ℓkj|2

)1/2

for i = k+1:n

ℓik =(aik −∑k−1

j=1 ℓijℓkj

)/ℓkk

end

end

Output: Eintrage ℓjk fur 1 ≤ k ≤ j ≤ n der Matrix L der Cholesky-Zerlegung.

36

Page 41: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Behauptung. Algorithmus 3.13 ist wohldefiniert und berechnet in (asymptotisch) n3/3 Operatio-nen die Eintrage ℓjk fur 1 ≤ k ≤ j ≤ n der Matrix L. Die Berechnung erfordert nur die Eintrageajk fur j ≥ k. Die Elemente ℓjk konnen ajk uberschreiben, d.h. es wird kein zusatzlicher Speicherbenotigt.

Beweis. Wegen A = LLT

und ℓkj = 0 fur k < j gilt fur Indizes 1 ≤ k ≤ i ≤ n

aik =

n∑

j=1

ℓijℓkj =

k∑

j=1

ℓijℓkj

und wegen ℓkk ∈ R>0 deshalb insbesondere

aik = ℓikℓkk +

k−1∑

j=1

ℓijℓkj und akk = ℓ2kk +

k−1∑

j=1

|ℓkj|2.

Auflosen nach ℓik und ℓkk verifiziert die Formeln in Algorithmus 3.13.

Zur Wohldefiniertheit beachte man, dass der Algorithmus spaltenweise von links nach rechts durch-gefuhrt wird. Der Spaltenindex j in den Summen lauft aber nur bis k − 1, wenn k die aktuelleSpalte ist. Außerdem beachte man, dass aik lediglich zur Berechnung von ℓik benotigt wird unddeshalb mit dem berechneten Wert uberschrieben werden kann.

Cholesky-Zerlegung in MatlabMatlabMatlab

In Matlab ist die Cholesky-Zerlegung vorimplementiert und steht mit dem Befehl chol zurVerfugung.

3.5 QR-Zerlegung

Definition. Zu einer Matrix A ∈ Km×n mit m ≥ n ist die QR-Zerlegung eine Faktorisierung

A = QR mit einer orthogonalen Matrix Q ∈ Km×m und einer verallgemeinerten oberen Drei-

ecksmatrix R ∈ Km×n, d.h. rjk = 0 fur j > k.

Eine verallgemeinerte obere Dreiecksmatrix lasst sich nach Definition gerade in der Form

R =

(R0

)(3.7)

schreiben mit einer oberen Dreiecksmatrix R ∈ Kn×n und der Nullmatrix 0 ∈ K

(m−n)×n.

Bemerkung. Die QR-Zerlegung wird zur Losung schlecht konditionierter Gleichungssysteme ein-gesetzt. Fur eine regulare Matrix A ∈ K

n×n mit Faktorisierung A = QR lost man das Gleichungs-

system Ax = b dann in der Form Rx = QTb. Wegen cond2(A) = cond2(R) fuhrt das Verfahren auf

keine weitere Fehlerverstarkung aufgrund der Faktorisierung, d.h. die Losung von Ax = b mittelsQR-Zerlegung ist stabil.

37

Page 42: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Bemerkung. Bisweilen bezeichnet man fur A ∈ Km×n, m ≥ n, auch eine Faktorisierung A = QR

als QR-Zerlegung, wenn R ∈ Kn×n eine obere Dreiecksmatrix ist und die Spalten von Q ∈ K

m×n

orthonormal sind. Beide Definitionen sind aquivalent:(i) Ist A = QR eine QR-Zerlegung gemaß unserer Definition, so partitionieren wir die Matrizenin der Form (3.7) und Q = (Q |V ) mit Q ∈ K

m×n und V ∈ Km×(m−n). Offensichtlich gilt dann

A = QR.(ii) Ist A = QR eine QR-Zerlegung im zweiten Sinn, so definieren wir R gemaß (3.7) und bemerken,dass wir Q zu einer orthogonalen Matrix Q = (Q |V ) ∈ K

m×m erganzen konnen: Die Spaltenq1, . . . , qn ∈ K

m von Q sind orthonormal. Jedes Orthonormalsystem kann zu einer Orthonormalbasisq1, . . . , qm von K

m erganzt werden. Die Vektoren qn+1, . . . qm bilden die Spalten von V .1

Die letzte Bemerkung zeigt, dass man im allgemeinen keine Eindeutigkeit der QR-Zerlegung be-weisen kann. Zumindest fur regulare Matrizen ist die QR-Zerlegung aber eindeutig, wenn man dieVorzeichen der Diagonale von R vorschreibt:

Satz 3.14. Fur m = n und A ∈ Kn×n regular sowie einen fixierten Vorzeichenvektor σ ∈ K

n,|σj | = 1, existiert eine eindeutige QR-Zerlegung A = QR mit rjj = σj|rjj | fur alle j = 1, . . . , n.

Beweis der Eindeutigkeit. Es seien QR = A = QR zwei QR-Zerlegungen von A. Da A regularist, sind auch R, R regular, und es gilt

D := Q−1Q = RR−1

Die Matrix D ist eine orthogonale obere Dreiecksmatrix. Daraus folgt bereits, dass D dann eineDiagonalmatrix ist: Man betrachte die erste Spalte: Es gilt aj1 = 0 fur alle j > 1. Da die Spalteeuklidische Lange 1 hat, folgt |a11| = 1. Da auch die erste Zeile euklidische Lange 1 hat, folgta1j = 0 fur alle j > 1. Induktives Vorgehen zeigt die Behauptung.

Es gilt also D = diag(d11, . . . , dnn) mit |djj | = 1. Genaueres Hinschauen, vgl. (3.1), verifiziertdjj = rjj/rjj und deshalb |rjj| = |rjj|. Gelten nun rjj = σj|rjj | und rjj = σj |rjj|, so folgt rjj = rjjund deshalb D = III. Schließlich erhalten wir Q = Q und R = R.

Die Existenz einer QR-Zerlegung beweisen wir konstruktiv mit Hilfe des Householder-Verfahrensfur jede Matrix A ∈ K

m×n mit m ≥ n.

Lemma 3.15. (i) Zu w ∈ Kn definiere die Matrix W := wwT ∈ K

n×n, d.h. wjk = wjwk. Dann

gilt W = WT

und Wx = (x · w)w fur alle x ∈ Kn.

(ii) ist w ∈ Kn mit ‖w‖2 = 1 so ist H := III − 2wwT selbstadjungiert, d.h. H = H

T, und

involutorisch, d.h. H2 = III. Insbesondere ist H also orthogonal.

Beweis. (i) Offensichtlich gilt W = WT

und

(Wx)j =

n∑

k=1

wjkxk = wj

n∑

k=1

xkwk = (x · w)wj fur alle j = 1, . . . , n.

1Ein elementarer Beweis: Die q1, . . . , qn sind orthonormal, insb. linear unabhangig. Also existieren Vektoreneqn+1, . . . , eqm, sodass q1, . . . , qn, eqn+1, . . . , eqm eine Basis von K

m bilden. Mit dem Gram-Schmidt-Verfahren erhaltman eine Orthonormalbasis q1, . . . , qm von K

m.

38

Page 43: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

(ii) Mit (i) folgt H = HT. Ferner zeigt elementare Rechnung

H2 = (III − 2wwT )(III − 2wwT ) = III − 4wwT + 4(wwT )(wwT ),

und wegen wTw = ‖w‖22 = 1 heben sich die letzten beiden Terme weg.

Die Matrix H aus Lemma 3.15 bezeichnet man als Householder-Transformation. Geometrischhandelt es sich bei der Householder-Transformation um eine Spiegelung an der Hyperebene E =x ∈ K

n∣∣x · w = 0

. Der Vektor w ist definitionsgemaß gerade ein Normalenvektor auf E. Das

folgende Lemma zeigt, dass man w so wahlen kann, dass ein vorgegebener Vektor x auf ein Vielfachesdes Einheitsvektors e1 abgebildet wird.

Lemma 3.16. Es seien x ∈ Kn\spane1 und λ ∈ K mit |λ| = 1 und λx1 = |x1|. Definiert man

w :=x+ σe1

‖x+ σe1‖2mit σ := λ‖x‖2,

so gilt ‖w‖2 = 1 und Hx := (III − 2ωωT )x = −σe1.

Beweis. Der Vektor w ist wegen x+ σe1 6= 0 wohldefiniert, denn x 6∈ spane1. Es gilt

‖x+ σe1‖22 = ‖x‖2

2 + 2Re (σe1 · x) + |σ|2 = 2(x+ σe1) · x,

wobei |σ|2 = ‖x‖22 = x · x und σe1 · x = σx1 = λx1‖x‖2 ∈ R benutzt wurde. Es folgt

2w · x = 2(x+ σe1) · x‖x+ σe1‖2

= ‖x+ σe1‖2 ∈ R

und insbesondere w · x = x · w. Damit ergibt sich

2wwTx = 2(x · w)w = x+ σe1.

Insgesamt folgt Hx = x− 2wwTx = −σe1.

Bemerkung. (i) Die Wahl von λ als Vorzeichen von x1 verhindert Ausloschung in dem Fall, dass|x1| ≈ ‖x‖2 und x 6∈ spane1 gelten.(ii) Geometrisch interpretiert, ist der Vektor w aus Lemma 3.16 gerade der Richtungsvektor derWinkelhalbierenden zwischen x und σe1.

Algorithmus 3.17: Householder-Verfahren zur Berechnung der QR-Zerlegung

Input: A ∈ Km×n, m ≥ n

1. Schritt: Falls die erste Spalte a1 ∈ Km von A ein Vielfaches von e1 ∈ K

m ist, definiereH := IIIKm .Anderenfalls wahle eine Householder-Transformation H ∈ K

m×m mit Ha1 ∈ spane1. Definiere

39

Page 44: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

die Matrix

Q(1) := H ∈ Km×m

und erhalte A(1) ∈ Km×n durch

A(1) := Q(1)A =

a(1)11 a

(1)12 . . . a

(1)1n

0 a(1)22 . . . a

(1)2n

......

...

0 a(1)m2 . . . a

(1)mn

2. Schritt: Betrachte nun die Matrix B ∈ K(m−1)×(n−1):

B =

a(1)22 . . . a

(1)2n

......

a(1)m2 . . . a

(1)mn

Falls die erste Spalte b1 ∈ Km−1 von B ein Vielfaches von e1 ∈ K

m−1 ist, definiere H := IIIKm−1 .Anderenfalls wahle eine Householder-Transformation H ∈ K

(m−1)×(m−1) mit Hb1 ∈ spane1.Definiere die Matrix

Q(2) :=

(IIIK 00 H

)∈ K

m×m

und erhalte A(2) ∈ Km×n durch

A(2) := Q(2)A(1) =

a(1)11 a

(1)12 a

(1)13 . . . a

(1)1n

0 a(2)22 a

(2)23 . . . a

(2)2n

0 0 a(2)33 . . . a

(2)3n

......

......

0 0 a(2)m3 . . . a

(2)mn

Man beachte, dass die Multiplikation mit Q(2) die erste Zeile der Matrix A(1) nicht andert.

3. Schritt: Betrachte nun die Matrix B ∈ K(m−2)×(n−2):

B =

a(2)33 . . . a

(2)3n

......

a(2)m3 . . . a

(2)mn

Falls die erste Spalte b1 ∈ Km−2 von B ein Vielfaches von e1 ∈ K

m−2 ist, definiere H := IIIKm−2 .Anderenfalls wahle eine Householder-Transformation H ∈ K

(m−2)×(m−2) mit Hb1 ∈ spane1.Definiere die Matrix

Q(3) :=

(IIIK2 00 H

)∈ K

m×m

40

Page 45: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

und erhalte A(3) := Q(3)A(2) ∈ Km×n. Man beachte, dass die Multiplikation mit Q(3) die ersten

zwei Spalten von A(2) nicht andert:

A(3) := Q(3)A(2) =

a(1)11 a

(1)12 a

(1)13 a

(1)14 . . . a

(1)1n

0 a(2)22 a

(2)23 a

(2)24 . . . a

(2)2n

0 0 a(3)33 a

(3)34 . . . a

(3)3n

0 0 0 a(3)44 . . . a

(4)4n

......

......

...

0 0 0 a(3)m4 . . . a

(4)mn

kkk-ter Schritt: Betrachte die Matrix B ∈ K(m−k+1)×(n−k+1):

B =

a(k−1)kk . . . a

(k−1)kn

......

a(k−1)mk . . . a

(k−1)mn

Falls die erste Spalte b1 ∈ Km−k+1 von B ein Vielfaches von e1 ∈ K

m−k+1 ist, definiere H :=IIIKm−k+1. Anderenfalls wahle eine Householder-Transformation H ∈ K

(m−k+1)×(m−k+1) mit Hb1 ∈spane1. Definiere die Matrix

Q(k) :=

(IIIKk−1 0

0 H

)∈ K

m×m

und erhalte A(k) := Q(k)A(k−1) ∈ Km×n. Man beachte, dass bei der Matrix-Multiplikation mit Q(k)

die ersten k − 1 Spalten von A(k−1) nicht verandert werden.

Output: Nach n Schritten erhalte R := A(n) ∈ Km×n, Q := Q(1) · · ·Q(n) ∈ K

m×m.

Behauptung. Fur A ∈ Km×n mit m ≥ n ist das Householder-Verfahren durchfuhrbar und liefert

nach n Schritten eine QR-Zerlegung von A.Beweis. Die Wohldefiniertheit des Householder-Verfahrens ist offensichtlich, die Matrix R = A(n)

ist eine verallgemeinerte obere Dreiecksmatrix. Es gilt

R = A(n) = Q(n)A(n−1) = Q(n)Q(n−1)A(n−2) = · · · = Q(n) · · ·Q(1)A.

Da die Matrizen Q(j) involutorisch sind, folgt

A = (Q(n) · · ·Q(1))−1R = Q(1) · · ·Q(n)R,

und die Matrix Q = Q(1) . . . Q(n−1) ist orthogonal.

Bemerkung. Im Fall m = n berechnet das Householder-Verfahren eine QR-Zerlegung von A ∈K

n×n naturlich in n− 1 Schritten, da die n-te Spalte nicht mehr behandelt werden muss.

41

Page 46: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Bemerkung. (i) Bei der Implementierung fallen Matrix-Matrix-Multiplikationen in der Form

A(k+1) =

(IIIKk 00 H

)(U X0 B

)=

(U X0 HB

)

an, wobei U ∈ Kk×k eine obere Dreiecksmatrix ist, X ∈ K

k×(n−k) eine im Allgemeinen vollbe-setzte Matrix und B ∈ K

(m−k)×(n−k) der Matrixblock, der umgeformt wird. H ∈ K(m−k)×(m−k)

ist entweder die Identitat oder eine geeignete Householder-Transformation. Gegebenenfalls tre-ten also Matrix-Matrix-Multiplikationen vom Typ HB = (III − 2wwT )B auf, die in der Form(III − 2wwT )B = B − wvT mit v := 2BTw realisiert werden. Dieses Vorgehen reduziert den arith-metischen Aufwand wesentlich gegenuber der direkten Matrix-Matrix-Multiplikation (fur die manH gegebenenfalls erst noch aufbauen musste).(ii) Bei der Realisierung wird zusatzlicher Speicherplatz benotigt: In der Regel speichert man die

Diagonalelemente (a(1)11 , . . . , a

(n−1)n−1,n−1) in einem Vektor und nutzt den Speicherplatz von (ajj, . . . , amj),

um den Vektor w(j) ∈ Km−j im j-ten Schritt zu speichern.

(iii) Der asymptotische Aufwand fur die Berechnung der QR-Zerlegung einer n × n-Matrix be-tragt 4/3n3, d.h. die Berechnung der QR-Zerlegung ist doppelt so teuer wie die Berechnung derLU-Zerlegung und viermal so teuer wie die Berechnung der Cholesky-Zerlegung. Sie ist aber stetsberechenbar und stabil.

QR-Zerlegung in MatlabMatlabMatlab

In Matlab steht die QR-Zerlegung mit dem vorimplementierten Befehl qr zur Verfugung.

3.6 Lineare Ausgleichsprobleme

Definition. Es seien eine Matrix A ∈ Km×n und eine rechte Seite b ∈ K

m gegeben, d.h. dasSystem Ax = b kann unterbestimmt (n > m) oder uberbestimmt (n < m) sein. Das LineareAusgleichsproblem (LAP) besteht darin, einen Vektor x ∈ K

n mit ‖Ax− b‖2 = miny∈Kn

‖Ay − b‖2

zu finden.

Beispiel. Gegeben seien Daten (aj , bj) fur j = 1, . . . ,m. Gesucht ist ein Polynom p(a) =∑n

k=0 xkak,

das∑m

j=1 |p(aj) − bj |2 minimiert. Im einfachsten Fall ist eine Ausgleichsgrade gesucht, d.h. n = 1.

Definiert man die Matrix A ∈ Km×(n+1) sowie die Vektoren x ∈ K

n+1 und b ∈ Km durch

A =

1 a11 . . . an

1...

......

1 a1m . . . an

m

, x =

x0...xn

, b =

b1...bm

,

so gelten p(aj) =∑n

k=0 xkakj = (Ax)j und ‖Ax − b‖2

2 =∑m

j=1 |p(aj) − bj|2, d.h. das Problem lasstsich als lineares Ausgleichsproblem formulieren.

Satz 3.18. (i) Das lineare Ausgleichsproblem hat mindestens eine Losung x ∈ Kn.

(ii) Ein Vektor x ∈ Kn lost das lineare Ausgleichsproblem genau dann, wenn er Losung der

Gaußschen Normalgleichungen ATAx = A

Tb ist.

(iii) Fur m ≥ n und rg(A) = n hat das lineare Ausgleichsproblem eine eindeutige Losung x ∈ Kn.

42

Page 47: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Beweis. Der Beweis wird in mehreren Schritten erbracht. Die (ggf. eindeutige) Losbarkeit von(LAP) wird uber die Gaußschen Normalgleichungen bewiesen. Dazu benotigen wir die folgendeOrthogonalzerlegung des K

m.

1. Schritt. Es gilt Bild(A)⊥ = Kern(AT). Definitionsgemaß gelten Bild(A) =

Ax∣∣x ∈ K

n≤

Km und

Bild(A)⊥ =y ∈ K

m∣∣ ∀z ∈ Bild(A) y · z = 0

=y ∈ K

m∣∣∀x ∈ K

n y · Ax = 0

=y ∈ K

m∣∣ ∀x ∈ K

n (ATy) · x = 0

=y ∈ K

m∣∣AT

y = 0

= Kern(AT).

Um die vorletzte Gleichheit zu erhalten, wahle man x = ATy ∈ K

n und beachte 0 = (ATy) · x =

‖ATy‖2

2.

2. Schritt. Das Problem (GNG) hat mindestens eine Losung x ∈ Kn. Wegen

Km = Bild(A) ⊕ Bild(A)⊥

existieren zu b ∈ Km (eindeutige) v ∈ Bild(A) und w ∈ Bild(A)⊥ mit b = v+w. Wahle x ∈ K

n mit

Ax = v. Dann gilt ATb = A

Tv = A

TAx.

3. Schritt. Fur m ≥ n und rg(A) = n hat (GNG) genau eine Losung x ∈ Kn. Nach Voraussetzung

ist A injektiv. Insbesondere ist ATA eine SPD-Matrix, denn fur x 6= 0 gilt

(ATAx) · x = (Ax) · (Ax) = ‖Ax‖2

2 > 0.

Da positiv definite Matrizen regular sind, folgt die Behauptung.

4. Schritt. Jede Losung x ∈ Kn von (GNG) lost auch (LAP). Sei y ∈ K

n beliebig. Dann gilt

Ay − Ax = A(y − x) ∈ Bild(A). Nach Voraussetzung gilt Ax− b ∈ Kern(AT) = Bild(A)⊥, und es

folgt mit Satz von Pythagoras

‖Ay − b‖22 = ‖A(y − x) + (Ax− b)‖2

2 = ‖A(y − x)‖22 + ‖Ax− b‖2

2 ≥ ‖Ax− b‖22,

d.h. x lost auch (LAP).

Der abschließende Beweisschritt benotigt ein paar elementare Ergebnisse uber Extremwerte vonFunktionen im R

m, die vermutlich in Analysis 2 bewiesen worden sind.

Bemerkung. Eine Abbildung f : X → Y zwischen zwei normierten Raumen X und Y heißt(Frechet-) differenzierbar in x ∈ X, wenn gilt

∃T ∈ L(X;Y ) limh→0h∈X

‖f(x+ h) − f(x) − Th‖Y

‖h‖X= 0.

Dabei bezeichnet L(X;Y ) den Raum der linearen und stetigen Funktionen von X nach Y . DerOperator T ist in diesem Fall eindeutig und wird mit Df(x) bezeichnet.

• Fur X = Kn und Y = K

m ist Df(x) ∈ Km×n gerade die Jacobi-Matrix.

43

Page 48: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

• Ist f : X → R in x ∈ X differenzierbar (uber R) und nimmt in x auch ein (lokales) Extremuman, so gilt Df(x) = 0 ∈ L(X; R) = X∗.

Wir zeigen die Aussage uber die Extrema. Ohne Beschrankung der Allgemeinheit sei x eine Mini-malstelle von f . Es sei y ∈ X mit ‖y‖X = 1 ein beliebiger Richtungsvektor. Nach Voraussetzunggilt mit T = Df(x)

0 = limt→0t∈R

f(x+ ty) − f(x) − T (ty)

|t| = limt→0t∈R

(f(x+ ty) − f(x)

|t| − t

|t| Ty).

Man beachte, dass der erste Bruch auf der rechten Seite stets positiv ist und der zweite Bruchgerade das Vorzeichen von t ist. Betrachtet man die zwei Falle t→ 0+ und t→ 0−, so gilt

±Ty = limt→0±

f(x+ ty) − f(x)

|t| ≥ 0.

Daraus folgt zwingend Ty = 0.

5. Schritt. Jede Losung x ∈ Kn von (LAP) ist auch Losung von (GNG). Wir betrachten die

Funktion f(x) = ‖Ax− b‖22, deren Minimalstelle x ist, und zeigen, dass f differenzierbar ist:

Th := 2Re(h · (AT

Ax−ATb))

= 2Re((Ah) · (Ax− b)

)

definiert eine R-lineare Abbildung T : Kn → R. Es gilt

f(x+ h) − f(x) = (Ax− b+Ah) · (Ax− b+Ah) − (Ax− b) · (Ax− b)

= 2Re((Ah) · (Ax− b)

)+ (Ah) · (Ah) = Th+ ‖Ah‖2

2.

Also zeigt die elementare Abschatzung

|f(x+ h) − f(x) − Th|‖h‖2

≤ ‖A‖22‖h‖2

die Differenzierbarkeit in x. Da f in x sein Minimum annimmt, folgt Th = 0 fur alle h ∈ Kn und

deshalb ATAx−A

Tb = 0.

Im Fall m ≥ n und rg(A) = n konnen wir die eindeutige Losung des linearen Ausgleichsproblems

entweder mit Hilfe einer Cholesky-Zerlegung von ATA oder einer QR-Zerlegung von A berechnen.

Die Stabilitatsanalyse beider Verfahren benotigt als technisches Hilfsmittel die Singularwertzerle-gung, die in Abschnitt 3.7 vorgestellt wird.

Bemerkung. Im Fall m ≥ n und rg(A) = n kann die Cholesky-Zerlegung von ATA verwendet

werden, um die eindeutige Losung von (GNG) und (LAP) zu berechnen.

Bemerkung. Es sei m ≥ n, rg(A) = n und A = QR eine QR-Zerlegung von A. Partitioniere

R ∈ Km×n und Q

Tb ∈ K

m in der Form

R =

(R0

), Q

Tb =

(zr

)

44

Page 49: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

mit R ∈ Kn×n regularer oberer Dreiecksmatrix und Vektoren z ∈ K

n, r ∈ Km−n. Dann gilt

‖Ax− b‖22 = ‖Rx−Q

Tb‖2

2 = ‖Rx− z‖22 + ‖r‖2

2.

Da R regular ist, ist die eindeutige Losung x ∈ Kn von Rx = z die eindeutige Losung von (LAP),

und es gilt miny∈Kn

‖Ay − b‖2 = ‖r‖2.

Allgemein kann man eine Losung des linearen Ausgleichsproblems uber die Pseudo-Inverse von Aberechnen. Der Zusammenhang von Pseudo-Inverser und dem Ausgleichsproblem wird im folgendenAbschnitt ausgearbeitet.

Lineare Ausgleichsprobleme in MatlabMatlabMatlab

Lineare Ausgleichsprobleme konnen in Matlab einfach mittels Backslash-Operator gelost werden.

3.7 Singularwertzerlegung

Satz 3.19. (i) Zu A ∈ Km×n existieren orthogonale Matrizen U ∈ K

m×m, V ∈ Kn×n und

eine verallgemeinerte Diagonalmatrix Σ ∈ Rm×n, d.h. Σjk = σjδjk mit A = UΣV

Tund

σ1 ≥ σ2 ≥ · · · ≥ σminm,n ≥ 0. Diese Faktorisierung heißt Singularwertzerlegung von A. Dieσj heißen Singularwerte.

(ii) Die Matrix Σ ∈ Rm×n der Singularwertzerlegung ist eindeutig, σ2

j ist Eigenwert von ATA.

(iii) Gilt rg(A) = r, so folgt σ1 ≥ · · · ≥ σr > 0 = σr+1 = · · · = σminm,n.(iv) Es gilt ‖A‖2 = σ1.(v) Bezeichnen uj ∈ K

m und vj ∈ Kn die j-ten Spalten von U bzw. V , so folgt

A =

rg(A)∑

j=1

σjujvTj .

Bemerkung. Nach (ii) ist die numerische Berechnung der Singularwertzerlegung im wesentlichenein Eigenwertproblem. Die numerische Losung von Eigenwertproblemen wird in der Vorlesung Nu-merik von Differentialgleichungen behandelt.

Beweis von Satz 3.19. (ii) Ist A = UΣVT

in Singularwertzerlegung gegeben, so gilt ATA =

V ΣT ΣV −1, d.h. ATA und D := ΣTΣ sind ahnlich und haben deshalb dieselben Eigenwerte. D ist

eine Diagonalmatrix D = diag(σ21 , . . . , σ

2n) mit σj = 0 fur j ≥ minm,n. Durch die Sortierung

σ1 ≥ · · · ≥ σminm,n sind die Eintrage der Matrix Σ also eindeutig festgelegt.(iii) Die Matrix Σ hat offensichtlich denselben Rang wie A.(iv) folgt offensichtlich aus (ii) und der Charakterisierung der Spektralnorm.(v) Mit r = rg(A) gilt

A = (UΣ)VT

=(σ1u1, . . . , σrur, 0, . . . , 0

)

vT1...vT

n

=

r∑

j=1

σjujvTj ,

45

Page 50: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

wobei die Schreibweise spalten- bzw. zeilenweise zu verstehen ist.

(i) Die Matrix ATA ∈ K

n×n ist selbstadjungiert. Deshalb existiert eine Orthonormalbasis v1, . . . , vn

von Kn aus Eigenvektoren zu A

TA, und die Eigenwerte µj zu vj sind nicht-negativ. Ohne Be-

schrankung der Allgemeinheit gilt

µ1 ≥ µ2 ≥ · · · ≥ µr > 0 = µr+1 = · · · = µn

mit r = rg(ATA). Definiere σj :=

√µj und S := diag(σ1, . . . , σr) ∈ R

r×r. Definiere die orthogonaleMatrix V = (v1, . . . , vn) ∈ K

n×n und partitioniere V in der Form V = (V1 |V2) mit V1 ∈ Kn×r und

V2 ∈ Kn×(n−r). Dann gelten

• S ist regular.

• ATAvj = σ2

j vj , da vj Eigenvektor zum Eigenwert µj = σ2j ist, also

• ATAV1 = V1S

2.

Wir definieren die Matrix U1 := AV1S−1 ∈ K

m×r. Dann gilt

UT1 U1 = S−1V

T1 (A

TAV1)S

−1 = S−1VT1 (V1S

2)S−1 = IIIKr×r .

Also sind die Spalten u1, . . . , ur ∈ Km von U1 orthonormal, d.h. wir konnen U1 zu einer orthogonalen

Matrix U = (U1 |U2) ∈ Km×m erganzen. Abschließend ist nur noch

UTAV =

(S 00 0

)=: Σ (3.8)

zu zeigen. Dann folgt A = UΣVT. Wir zeigen diese Gleichheit blockweise:

UTAV =

(U

T1

UT2

)A(V1 V2

)=

(U

T1AV1 U

T1AV2

UT2AV1 U

T2AV2

)

Nach Definition von U1 gilt AV1 = U1S, und deshalb folgt UT1AV1 = U

T1 U1S = S. Da die Spalten

von U = (U1 |U2) orthonormal sind, gilt UT2AV1 = U

T2 U1S = 0. Da die Spalten von V2 Eigenvekto-

ren von ATA zum Eigenwert 0 sind, gilt A

TAV2 = 0. Deshalb folgt 0 = V

T2A

TAV2 = (AV2)

TAV2.

Insgesamt erhalten wir B := AV2 = 0, denn ware rg(B) ≥ 1, so folgte BTB 6= 0. Also ist die zweite

Block-Spalte von UTAV ebenfalls Null.

46

Page 51: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Korollar 3.20. (i) Zu A ∈ Km×n existiert eine eindeutige Matrix A+ ∈ K

n×m mit den folgendenvier Eigenschaften:

(I1) A+A = A+AT,

(I2) AA+ = AA+T,

(I3) AA+A = A,(I4) A+AA+ = A+.Diese heißt Pseudo-Inverse oder Moore-Penrose-Inverse von A.(ii) Ist A ∈ K

n×n regular, so gilt A+ = A−1.(iii) Ist Σ ∈ K

m×n verallgemeinerte Diagonalmatrix mit Σjk = σjδjk, so ist Σ+ ebenfalls eineverallgemeinerte Diagonalmatrix, und es gilt

Σ+jk = τjδjk mit τj =

σ−1

j , falls σj 6= 0,

0, sonst.(3.9)

(iv) Ist A = UΣVT ∈ K

m×n als Singularwertzerlegung gegeben, so gilt A+ = V Σ+UT.

Beweis. Der Existenzbeweis fur die Pseudo-Inverse ergibt sich mit (iii) und (iv) als Folgerungzur Singularwertzerlegung. Die Eindeutigkeit folgt mit elementarer algebraischer Manipulation ausden Regeln (I1)–(I4).

1. Schritt. Beweis der Eindeutigkeit. Es seien U, V Matrizen mit den Eigenschaften (I1)–(I4).

U = UAU = U(AV A)U = UA(V AV )(AV A)U = UATV A

TV AV

TAU

T

= (AUATV

T)V (V

TAUA

T) = (A

TV

T)V (V

TA

T) = (V A

TV )AV

T= (V AV )AV

= V AV = V

2. Schritt. Beweis der Existenz gemaß (iii) und (iv). Fur eine verallgemeinerte Diagonalmatrixrechnet man leicht nach, dass die Matrix Σ+ aus (3.9) die Eigenschaften (I1)–(I4) besitzt. Daraus

lasst sich dann unmittelbar folgern, dass V Σ+UT

die Pseudo-Inverse von A = UΣVT

ist.

3. Schritt. Verallgemeinerung des Begriffs der Inversen. Offensichtlich erfullt die Inverse A−1 dieEigenschaften (I1)–(I4).

Ubung. Zu einem Teilraum V von Kn bezeichnet V ⊥ :=

x ∈ K

n∣∣ ∀y ∈ V x · y = 0

das

orthogonale Komplement. V ⊥ ist ein Teilraum von Kn, und es gilt K

n = V ⊕V ⊥. Insbesondereexistiert eine eindeutige lineare Abbildung P : K

n → Kn mit P |V = III und KernP = V ⊥, bezeichnet

als Orthogonalprojektion auf V . Fur eine Matrix A ∈ Km×n gilt:

(i) A+A ist die Orthogonalprojektion auf Kern(A)⊥ ≤ Kn.

(ii) AA+ ist die Orthogonalprojektion auf Bild(A) ≤ Km.

47

Page 52: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Satz 3.21. Zu A ∈ Km×n und b ∈ K

m sei

A :=x ∈ K

n∣∣ ‖Ax− b‖2 = min

y∈Kn‖Ay − b‖2

6= ∅

die Losungsmenge zum linearen Ausgleichsproblem. Dann existiert ein eindeutiges x ∈ A mit‖x‖2 = min

y∈A‖y‖2, die sog. Minimum-Norm-Losung des linearen Ausgleichsproblems. Die

Pseudo-Inverse erfullt gerade x = A+b.

Beweis. Es sei A = UΣVT

eine Singularwertzerlegung, x ∈ Kn. Dann gilt

‖Ax− b‖2 = ‖ΣV Tx− U

Tb‖2.

Da VT

orthogonal ist, ist x also genau dann Minimum-Norm-Losung zu (A, b), wenn z := VTx

Minimum-Norm-Losung zu (Σ, UTb) ist. Mit r := rg(A) und uj ∈ K

m der j-ten Spalte von U gilt

‖Σz − UTb‖2

2 =

r∑

j=1

|σjzj − b · uj|2 +

m∑

j=r+1

|b · uj |2.

Also definiert

z ∈ Kn, zj =

σ−1

j b · uj fur j ≤ r,

0 sonst,

die eindeutige Minimum-Norm-Losung zu (Σ, UTb). Damit ist x = V z die eindeutige Minimum-

Norm-Losung zu (A, b). Mit vj ∈ Kn der j-ten Spalte von V gilt

x = V z =r∑

j=1

σ−1j (b · uj)vj =

( r∑

j=1

σ−1j vju

Tj

)b = A+b,

denn die Summe ist eine Darstellung von A+ = V Σ+UT.

Singularwertzerlegung in MatlabMatlabMatlab

In Matlab kann die Singularwertzerlegung einer Matrix A mit dem Befehl svd berechnet werden.Das folgende Beispiel ist eine nette Anwendung der Singularwertzerlegung fur die Kompression vonBildern.

MatlabMatlabMatlab-Beispiel: Bildkompression als Anwendung der Singularwertzerlegung

load clown.mat

[U,S,V] = svd(X);

colormap(’gray’);

for k = 5:5:30

figure(k);

48

Page 53: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

image(U(:,1:k)*S(1:k,1:k)*V(:,1:k)’);

end

Kondition und Stabilitat des linearen Ausgleichsproblems

Uber die Pseudo-Inverse lasst sich die Konditionszahl von regularen Matrizen auf rechteckige odersingulare Matrizen verallgemeinern.

Definition. Es sei A ∈ Km×n eine beliebige Matrix mit rg(A) = r und Singularwerten σj. Dann

bezeichnet cond2(A) := ‖A‖2‖A+‖2 = σ1/σr die Konditionszahl von A (bezuglich der Spektral-norm).

Das folgende Lemma untersucht die Kondition des Linearen Ausgleichsproblems. Es zeigt sich, dassder relative Fehler in x sehr groß sein kann, falls der Anteil bA von b, der im Bild von A liegt, sehr

klein ist. Es kann namlich trotz ‖b−eb‖2

‖b‖2≪ 1 noch ‖bA−ebA‖2

‖bA‖2≫ 1 gelten.

Lemma 3.22. Es seien A ∈ Km×n und b, b ∈ K

m sowie x, x ∈ Kn Minimum-Norm-Losungen zu

(A, b) bzw. (A, b). Es gibt eindeutige bA, bA ∈ Bild(A) und bN , bN ∈ Bild(A)⊥ = Kern(AT) mit

b = bA + bN und b = bA + bN . Dann gilt

‖x− x‖2

‖x‖2≤ cond2(A)

‖bA − bA‖2

‖bA‖2.

Beweis. Nach Voraussetzung gilt c := bN − bN ∈ Bild(A)⊥. Es folgt ‖Ay − c‖22 = ‖Ay‖2

2 + ‖c‖22,

und die rechte Seite ist minimal fur y ∈ Kern(A). Die Minimum-Norm-Losung von (A, c) ist alsoder Null-Vektor, d.h. A+c = 0. Deshalb folgt x− x = A+b−A+b = A+(bA − bA) und daraus

‖x− x‖2 ≤ ‖A+‖2‖bA − bA‖2.

Ferner gilt bA = Ax, da ‖Ax− b‖22 = ‖Ax− bA‖2

2 + ‖bN‖22 nach Voraussetzung minimal ist. Es folgt

‖bA‖2 ≤ ‖A‖2‖x‖2.

Die Kombination beider Abschatzungen zeigt die Behauptung.

Im vorausgegangenen Abschnitt haben wir gesehen, dass man das lineare Ausgleichsproblem furm ≥ n und rg(A) = n sowohl mit Cholesky-Zerlegung fur die Gaußschen Normalgleichungen alsauch mit QR-Zerlegung von A losen kann. Das folgende Lemma zeigt, dass die Losung von (LAP)

mittels Cholesky-Zerlegung von ATA im Allgemeinen nicht stabil ist, denn es gilt cond2(A

TA) =

cond2(A)2: Wahrend Rundungsfehler unvermeidlich mit einem Faktor cond2(A) verstarkt werden,

vgl. Lemma 3.22, konnen die Rundungsfehler beim Losen von ATAx = A

Tbmit cond2(A)2 verstarkt

werden.

Lemma 3.23. Fur A ∈ Km×n mit m ≥ n gilt cond2(A

TA) = cond2(A)2.

49

Page 54: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 3. ELIMINATIONSVERFAHREN

Beweis. Es sei A = UΣVT

eine Singularwertzerlegung von A. Dann ist ATA = V DV

Tmit D :=

ΣT Σ = diag(σ21 , . . . , σ

2n) eine Singularwertzerlegung von A

TA. Mit r = rg(A) folgt cond2(A

TA) =

σ21/σ

2r = cond2(A)2.

Verwendet man die QR-Zerlegung von A zur Losung des Linearen Ausgleichsproblems, so ist diesesVerfahren stabil, da lediglich Fehlerverstarkung mit Faktor cond2(A) auftritt.

Lemma 3.24. Es sei A ∈ Km×n, m ≥ n mit gegebener QR-Zerlegung A = QR. Es gelte

R =

(R0

)

mit einer oberen Dreiecksmatrix R ∈ Kn×n. Dann gilt cond2(A) = cond2(R) = cond2(R).

Beweis. Es sei A = UΣVT

eine Singularwertzerlegung von A. Dann ist R = WΣVT

mit W :=

QTU ∈ K

m×m eine Singularwertzerlegung von R, und es folgt cond2(A) = cond2(R). Partitioniere

Q = (Q1 |Q2), U = (U1 |U2), Σ =

(Σ0

)

mit Q1, U1 ∈ Km×n, Q2, U2 ∈ K

m×(m−n) und Σ ∈ Kn×n. Dann gilt A = QR = Q1R und deshalb

R = QT1A = Q

T1 UΣV

T= Q

T1 U1ΣV

T,

d.h. mit der orthogonalen Matrix W := QT1 U1 ∈ K

n×n ist R = W ΣVT

eine Singularwertzerlegungvon R. Da Σ die volle Diagonale von Σ enthalt, folgt cond2(A) = cond2(R).

50

Page 55: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 4

Interpolation

Bei einem Interpolationsproblem sind im einfachsten Fall Paare (xj , yj) gegeben und einfacheFunktionen p mit p(xj) = yj gesucht. Dabei sind einfache Funktionen beispielsweise Polynome,Splines (stuckweise Polynome) oder rationale Funktionen. Verwandt, aber mathematisch schwieri-ger ist das Thema Approximation. Gegeben sind dabei eine Norm ‖ · ‖ und eine Funktion f , diein der Regel unbekannt ist, z.B. als exakte Losung einer Differentialgleichung. Gesucht ist wiedereine einfache Funktion p, die jetzt aber im Sinne der Norm eine gute Approximation ist, z.B. weil‖f − p‖ minimal ist im Vergleich mit anderen einfachen Funktionen.

4.1 Lagrange-Polynominterpolation

Definition. Gegeben seien n + 1 paarweise verschiedene Stutzstellen x0, . . . , xn ∈ [a, b] undzugehorige Funktionswerte y0, . . . , yn ∈ K. Bei der Lagrange-Interpolationsaufgabe wird einPolynom p ∈ Pn := Polynome vom Grad ≤ n gesucht, dessen Werte an den Stutzstellen mitden vorgegebenen Funktionswerten ubereinstimmen, d.h. p(xj) = yj fur alle j = 0, . . . , n. DiesesPolynom p bezeichnet man als Lagrange-Interpolationspolynom.

Lemma 4.1. (i) Pn ist ein K-Vektorraum der Dimension dimPn = n+ 1.(ii) Die Monome pj(x) = xj fur 0 ≤ j ≤ n bilden eine Basis von Pn.(iii) Die Lagrange-Polynome

Lj(x) :=

n∏

k=0k 6=j

x− xk

xj − xk∈ Pn fur 0 ≤ j ≤ n

bilden eine Basis von Pn, und mit dem Kronecker-Delta δjk gilt Lj(xk) = δjk.(iv) Die Newton-Polynome, definiert durch

qj(x) :=

j−1∏

k=0

(x− xk) ∈ Pj ⊆ Pn fur 0 ≤ j ≤ n,

bilden eine Basis von Pn.

51

Page 56: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Beweis. (i), (ii) Die Monome sind linear unabhangig (uber K) und spannen den Raum derPolynome auf, d.h. Pn = span

pj

∣∣ j = 0, . . . , n.

(iii) Offensichtlich gilt die Gleichheit Lj(xk) = δjk. Also ist nur zu zeigen, dass die Lagrange-Polynome L0, . . . , Ln linear unabhangig sind: Sei µj ∈ K mit

∑nj=0 µjLj(x) = 0 fur alle x ∈ R.

Durch Einsetzen von x = xk erhalt man µk = 0.(iv) folgt analog zu (iii) durch sukzessives Testen mit x = xj fur j = 0, . . . , n.

Ubung. (i) Es sei q0, . . . , qn ⊆ Pn mit der Eigenschaft qj(xk) = δjk, so folgt schon, dass es sichdabei um die Lagrange-Polynome handeln muss: qj = Lj.(ii) Es existiert eine Basis q0, . . . , qn ⊆ Pn mit q′j(xk) = δjk. Diese Basis wird Runge-Kutta-Basis genannt.

Der folgende Satz zeigt Existenz und Eindeutigkeit des Lagrange-Interpolationspolynoms.

Satz 4.2. (i) Zu fixierten Stutzstellen a ≤ x0 < . . . < xn ≤ b existiert fur alle y0, . . . , yn ∈ K eineindeutiges interpolierendes Polynom p ∈ Pn mit der Eigenschaft p(xj) = yj fur alle j = 0, . . . , n.Dieses wird gegeben durch p =

∑nj=0 yjLj.

(ii) Ist q0, . . . , qn ⊆ Pn eine Basis und das Polynom dargestellt als p =∑n

j=0 λjqj, dann erhaltman den Vektor λ := (λ0, . . . , λn) als eindeutige Losung des Gleichungssystems

q0(x0) . . . qn(x0)...

. . ....

q0(xn) . . . qn(xn)

λ =

y0...yn

. (4.1)

Die Matrix dieses Gleichungssystems ist regular. Sie wird als Vandermonde-Matrix bezeichnet.

Beweis. Offensichtlich ist p =∑n

j=0 µjLj genau dann Losung des Interpolationsproblems, wennµj = yj gilt. Dies zeigt die eindeutige Existenz des Interpolationspolynoms. Es wird also eine lineareAbbildung P : K

n+1 → Pn durch die Forderung (Py)(xj) = yj fur alle j = 0, . . . , n wohldefiniert.Man definiere ferner die lineare Abbildung T , die ein Polynom an den Stutzstellen auswertet,

T : Pn → Kn+1, p 7→

(p(x0), . . . , p(xn)

).

Es gilt TP = III, also ist T bijektiv und invers zu P . Die Matrix in (4.1) ist gerade die darstellendeMatrix zur linearen Abbildung T .

Bemerkung. Die Kondition der obigen Vandermonde-Matrix hangt stark von der gewahlten Basisab. Die Monombasis fuhrt im Allgemeinen auf eine erschreckend große Konditionszahl.

Haufig ist yj = f(xj) das Bild von xj unter einer Funktion f . Der folgende Satz liefert fur hinrei-chend glatte Funktionen f eine Darstellung des bei der Polynominterpolation auftretenden Fehlerssowie eine elementare Abschatzung.

52

Page 57: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Satz 4.3. Es seien die reellwertige Funktion f ∈ Cn+1[a, b] sowie paarweise verschiedene Stutz-stellen x0, . . . , xn ∈ [a, b] gegeben, und p ∈ Pn sei das Interpolationspolynom mit p(xj) = f(xj) furalle 0 ≤ j ≤ n. Es sei x ∈ [a, b] und I ⊆ [a, b] ein Intervall mit x0, . . . , xn, x ∈ I. Dann existiertein ξ ∈ I, sodass der Interpolationsfehler an der Stelle x dargestellt werden kann durch

f(x) − p(x) =f (n+1)(ξ)

(n+ 1)!

n∏

j=0

(x− xj).

Beweis. Mit dem Polynom

ω(y) :=

n∏

j=0

(y − xj) ∈ Pn+1

definieren wir eine Funktion F : I → K durch

F (y) :=(f(x) − p(x)

)ω(y) −

(f(y) − p(y)

)ω(x).

Die Funktion F hat im Intervall I mindestens n+ 2 paarweise verschiedene Nullstellen (bei xj fur0 ≤ j ≤ n und bei x). Laut Voraussetzung gilt F ∈ Cn+1(I), und nach dem Mittelwertsatz hat dieerste Ableitung F ′ ∈ Cn(I) noch n+ 1 Nullstellen in I. Mittels Induktion folgt weiter, dass F (n+1)

noch eine Nullstelle ξ ∈ I besitzt, d.h.

0 = F (n+1)(ξ) =(f(x) − p(x)

)(n+ 1)! − f (n+1)(ξ)ω(x)

Durch Umformen der letzten Gleichung folgt die Behauptung.

In einem ersten Schritt zeigen wir, dass man auch fur komplexwertige Funktionen den Interpolati-onsfehler kontrollieren kann.

Korollar 4.4. Es seien die reell- oder komplexwertige Funktion f ∈ Cn+1[a, b] sowie paarweiseverschiedene Stutzstellen x0, . . . , xn ∈ [a, b] gegeben, und p ∈ Pn sei das Interpolationspolynom mitp(xj) = f(xj) fur alle 0 ≤ j ≤ n. Fur x ∈ [a, b] gilt dann

|f(x) − p(x)| ≤ CK

‖f (n+1)‖∞,[a,b]

(n+ 1)!

n∏

j=0

|x− xj|, (4.2)

wobei CK = 1 ist, falls f reellwertig ist, und CK =√

2, falls f komplexwertig ist.

Beweis. Wir betrachten Real- und Imaginarteil getrennt: Die Polynome Re p, Im p ∈ Pn interpo-lieren die Funktionen Re f, Im f ∈ Cn+1[a, b]. Also gilt mit geeigneten Zwischenstellen ξ1, ξ2 ∈ [a, b]

f(x) − p(x) =Re f (n+1)(ξ1) + i Im f (n+1)(ξ2)

(n+ 1)!

n∏

j=0

(x− xj).

Betrachtet man nun den Betrag und geht zur Supremumsnorm von f (n+1) uber, so folgt die Feh-lerabschatzung (4.2).

53

Page 58: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Das folgende Korollar zeigt, dass beliebig oft differenzierbare Funktionen mit gleichmaßig be-schrankten Ableitungen durch interpolierende Polynome gut approximiert werden. Uberraschen-derweise ist dabei die Wahl der Stutzstellen beliebig.

Korollar 4.5. Sei die reellwertige Funktion f unendlich oft differenzierbar, d.h. f ∈ C∞[a, b], mitgleichmaßig beschrankten Ableitungen ‖f (k)‖∞ ≤ M < ∞ fur alle k ∈ N. Fur alle n ∈ N seien

paarweise verschiedene x(n)0 , . . . , x

(n)n ∈ [a, b] gegeben (d.h. es gibt eine Folge von Unterteilungen

des Intervalls) und pn ∈ Pn mit pn(x(n)j ) = fn(x

(n)j ) fur alle 0 ≤ j ≤ n. Dann folgt

limn→∞

‖f − pn‖∞ = 0,

d.h. die Folge der interpolierenden Polynome (pn) konvergiert gleichmaßig gegen f .

Beweis. Mit Abschatzung (4.2) gilt

‖f − pn‖∞ ≤ ‖f (n+1)‖∞(n+ 1)!

(b− a)n+1 ≤M(b− a)n+1

(n+ 1)!,

und der Quotient auf der rechten Seite verschwindet fur n→ ∞.

Lagrange-Polynominterpolation in MatlabMatlabMatlab

In Matlab sind Funktionen zur Lagrange-Polynominterpolation vorimplementiert. Mit der Funk-tion polyfit werden die Koeffizienten des Interpolationspolynoms bezuglich der Monombasis be-stimmt. Dies geschieht intern durch Losen des Vandermonde-Systems 4.1. Wir haben bereits obenangemerkt, dass dieses Vorgehen im allgemeinen nicht numerisch stabil ist. Mittels polyval kanndas Interpolationspolynom an beliebigen Stellen ausgewertet werden.

Anhang: Approximation durch Polynome

In den Anwendungen ist haufig eine glatte Funktion f gegeben, aber die numerische Behandlungbzw. Realisierung erfordert eine diskrete Approximation der Funktion f , zum Beispiel bei dernumerischen Integration von f .

Satz 4.6 (Satz von Weierstraß). Fur jede stetige Funktion f ∈ C[a, b] existiert eine Folge(pn)n∈N von Polynomen mit

limn→∞

‖f − pn‖∞ = 0.

Dass diese Folge im Allgemeinen keine Folge von Interpolationspolynomen ist, zeigt der folgende

Satz 4.7 (Satz von Faber). Zu jeder Folge von Zerlegungen (x(n)0 , . . . , x

(n)n )n∈N des Intervalls

[a, b] existiert eine stetige Funktion f ∈ C[a, b] derart, dass die Folge (pn)n∈N der zugehorigenInterpolationspolynome divergiert.

54

Page 59: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Beispiel (Runge 1901). Man betrachtet die Funktion

f(x) =1

1 + x2auf [a, b] = [−5, 5]

sowie die aquidistanten Stutzstellen

x(n)j := a+ j

b− a

nfur 0 ≤ j ≤ n, n ∈ N.

Dann konvergiert die Folge der Interpolationspolynome nicht gegen die Funktion f : Am Rand desIntervalls treten starke Oszillationen auf.

MatlabMatlabMatlab-Beispiel: Implementierung des Interpolationsproblems nach Runge

Die folgende Matlab-Funktion realisiert das Interpolationsproblem von Runge (1901).

function [ft,pt] = runge(n,t);

% compute interpolating polynomial

x = linspace(-5,5,n+1);

fx = 1./(1 + x.^2);

lambda = polyfit(x,fx,n);

% evaluate polynomial and Runge function

t = linspace(-5,5,1000);

ft = 1./(1 + t.^2);

pt = polyval(lambda,t);

Diese Funktion kann wie folgt aufgerufen werden:

t = linspace(-5,5,1000);

n = 10; [ft,pt] = runge(n,t);

plot(t,ft,’b’); hold on;

plot(t,pt,’r’); hold off;

legend(’f(x)’,’p(x)’);

Satz 4.8. Zu einer stetigen Funktion f ∈ C[a, b] existiert ein eindeutiges Polynom p ∈ Pn mitder Eigenschaft

‖f − p‖∞ = minq∈Pn

‖f − q‖∞,

die sogenannte Bestapproximation von f in Pn bezuglich ‖ · ‖∞.

Die Eindeutigkeit dieses bestapproximierenden Polynoms ist nicht einfach zu zeigen, folgt aberaus dem Alternantensatz von Cebysev, siehe Plato [5, §15.5, §15.7]. Die Existenz ist jedochelementar und folgt aus dem folgenden Lemma.

55

Page 60: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Lemma 4.9. Seien X ein normierter Raum und V ≤ X ein endlichdimensionaler Teilraum.Dann existiert zu jedem x ∈ X ein v ∈ V mit ‖x− v‖ = min

ev∈V‖x− v‖.

Beweis. Sei (vn) ⊆ V eine Folge mit

limn→∞

‖x− vn‖ = infev∈V

‖x− v‖.

Dann gilt wegen der Dreiecksungleichung

‖vn‖ ≤ ‖x‖ + ‖x− vn‖,

und insbesondere ist die Folge (vn) gleichmaßig beschrankt, weil ‖x−vn‖ konvergiert. Da V ein end-lichdimensionaler Teilraum ist, hat jede beschrankte Folge in V eine konvergente Teilfolge (Satz vonBolzano-Weierstraß). O.B.d.A. kann also durch Ubergang zu einer Teilfolge angenommen werden,dass (vn) gegen ein v ∈ V konvergiert. Die Stetigkeit der Norm zeigt abschließend

‖x− v‖ = limn→∞

‖x− vn‖ = infev∈V

‖x− v‖.

Bemerkung. Die Bestapproximation p ∈ Pn der Funktion f kann mit dem Remez-Algorithmusiterativ berechnet werden, was aber sehr aufwandig ist (siehe Quarteroni [6, §10.8]). In der Praxisverwendet man daher Interpolationspolynome zu

”geschickt“ gewahlten Knoten: Diese werden so

gewahlt, dass gilt

maxx∈[a,b]

n∏

j=0

|x− xj| = mint0,...,tn∈[a,b]

maxx∈[a,b]

n∏

j=0

|x− tj |.

Im folgenden Abschnitt werden wir sehen, dass die Cebysev-Knoten tj diese Bedingung erfullen.

4.2 Cebysev-Knoten

In der Fehlerabschatzung der Lagrange-Interpolation tritt der Term

maxx∈[a,b]

n∏

j=0

|x− xj|

auf. In diesem Abschnitt untersuchen wir, wie man die paarweise verschiedenen Stutzstellen x0, . . . , xn ∈[a, b] so wahlt, dass dieser Term minimal wird. Es wird sich zeigen, dass die optimalen Stutzstellendurch die transformierten Nullstellen des (n+ 1)-ten Cebysev-Polynoms gegeben sind.

Definition. Fur n ∈ N0 definiere die Cebysev-Polynome (der ersten Art) durch

Tn(t) := cos(n arccos t) fur t ∈ [−1, 1].

56

Page 61: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Lemma 4.10. Fur die Cebysev-Polynome gelten die folgenden Aussagen:(i) Tn(cos θ) = cos(nθ) fur θ ∈ [0, π] und n ∈ N0.(ii) Auf dem Intervall [−1, 1] gelten die Identitaten

T0(x) = 1, T1(x) = x und Tn+1(x) = 2xTn(x) − Tn−1(x).

(iii) Der Leitkoeffizient von Tn ∈ Pn[−1, 1] ist fur n ≥ 1 gleich 2n−1.(iv) ‖Tn‖∞ = 1.(v) Das Cebysev-Polynom Tn besitzt im Intervall [−1, 1] insgesamt (n+ 1) lokale Extrema:

Tn(s(n)j ) = (−1)j fur s

(n)j := cos

(jπn

), 0 ≤ j ≤ n.

(vi) Das Cebysev-Polynom Tn besitzt im Intervall [−1, 1] insgesamt n einfache Nullstellen:

Tn(t(n)j ) = 0 fur t

(n)j := cos

((2j − 1)π

2n

), 1 ≤ j ≤ n.

Beweis. (i) ist klar, (iv), (v) und (vi) folgen aus (i). (iii) folgt offensichtlich induktiv aus (ii).(ii) Die Darstellungen fur T0 und T1 ergeben sich offensichtlich aus (i). Fur die Herleitung derRekursionsformel in (ii) wird das folgende Additionstheorem verwendet:

cos(x) + cos(y) = 2 cos(x+ y

2

)cos(x− y

2

)fur x, y ∈ R.

Fur t = cos θ ∈ [−1, 1] folgt dann mit (i) x = (n+ 1)θ sowie y = (n− 1)θ

2tTn(t) − Tn−1(t) = 2 cos(nθ) cos(θ) − cos((n− 1)θ) = cos((n + 1)θ) = Tn+1(t).

Der folgende Satz liefert die wesentliche Aussage dieses Abschnitts. Man beachte, dass fur dieGultigkeit des Satzes die Stutzstellen nicht notwendig verschieden sein mussen.

Satz 4.11. Mit der affinen Transformation Ψ : [−1, 1] → [a, b]

Ψ(t) :=1

2

[a+ b+ t(b− a)

].

und den n+ 1 Nullstellen t(n+1)1 , . . . , t

(n+1)n+1 von Tn+1 gilt

minx0,...,xn∈[a,b]

maxx∈[a,b]

n∏

j=0

|x− xj | = maxx∈[a,b]

n∏

j=0

∣∣x− Ψ(t(n+1)j+1

)∣∣ =(b− a

2

)n+1 1

2n.

Die Knoten ψ(t(n+1)1 ), . . . , ψ(t

(n+1)n+1 ) heißen Cebysev-Knoten der Ordnung n in [a, b].

Beweis. Der Beweis folgt in vier Schritten, wobei zunachst [a, b] = [−1, 1] betrachtet wird.

1. Schritt. Es gilt maxx∈[−1,1]

∏nj=0

∣∣x− t(n+1)j+1

∣∣ = 1/2n. Aus Lemma 4.10 (iii) und (vi) folgt

Tn+1(x) = 2nn∏

j=0

(x− t

(n+1)j+1

).

57

Page 62: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Mit Lemma 4.10 (iv) folgt daraus

1 = ‖Tn+1‖∞ = maxx∈[−1,1]

2nn∏

j=0

∣∣x− t(n+1)j+1

∣∣.

2. Schritt. Es gilt 1/2n ≤ infx0,...,xn∈[−1,1]

maxx∈[−1,1]

∏nj=0 |x − xj|. Wir beweisen die Ungleichung durch

Widerspruch: Angenommen, es existieren Zahlen x0, . . . , xn ∈ [−1, 1], sodass bei Definition vonω(x) :=

∏nj=0(x− xj) die Abschatzung

‖ω‖∞,[−1,1] = maxx∈[−1,1]

n∏

j=0

|x− xj | <1

2n

erfullt ist. Definiere das Polynom p ∈ Pn+1 mit p := 12nTn+1 − ω. Zunachst gilt sofort p ∈ Pn, denn

12nTn+1 und ω haben als Leitkoeffizienten 1. Ferner hat p mindestens (n + 1) Vorzeichenwechsel,also (n+ 1) Nullstellen, denn nach Lemma (4.10) gilt

1

2nTn+1

(s(n+1)j

)=

(−1)j

2n,∣∣ω(s(n+1)j

)∣∣ < 1

2nfur 0 ≤ j ≤ n+ 1

Da p ∈ Pn also n + 1 paarweise verschiedene Nullstellen hat, folgt p ≡ 0 – im Widerspruch zu

p(s(n+1)j

)6= 0. Also gilt, wie behauptet,

‖ω‖∞,[−1,1] ≥1

2n.

Damit ist Satz 4.11 fur [a, b] = [−1, 1] bewiesen.

3. Schritt. Es gilt maxx∈[a,b]

∏nj=0

∣∣x− Ψ(t(n+1)j+1

)∣∣ =(

b−a2

)n+1 12n . Dies folgt unmittelbar aus

maxx∈[a,b]

n∏

j=0

∣∣x− Ψ(t(n+1)j+1

)∣∣ = maxt∈[−1,1]

n∏

j=0

∣∣Ψ(t) − Ψ(t(n+1)j+1

)∣∣, (4.3)

da Ψ eine Bijektion ist.

4. Schritt. Es gilt(

b−a2

)n+1 12n ≤ inf

x0,...,xn∈[a,b]

maxx∈[a,b]

∏nj=0 |x − xj |. Existieren x0, . . . , xn ∈ [a, b] mit

maxx∈[a,b]

∏nj=0 |x − xj| <

(b−a2

)n+1 12n , so folgt mit den Stutzstellen tj := Ψ−1(xj) ∈ [−1, 1] und (4.3)

ein Widerspruch zu Schritt 2.

Bemerkung. (i) Beim Remez-Algorithmus zur Berechnung des bestapproximierenden Polynomsnimmt man in der Regel das Interpolationspolynom zu den Cebysev-Knoten als Start-Approxima-tion.(ii) Man kann zeigen, dass fur jede Lipschitz-stetige Funktion f : [a, b] → R die Folge der Interpo-lationspolynome zu den Cebysev-Knoten gleichmaßig auf [a, b] gegen f konvergiert.

Praktische Ubung. Nach Mittelwertsatz ist jede C1-Funktion auf [a, b] auch Lipschitz-stetig.Nimmt man also die Cebysev-Knoten (anstatt der aquidistanten Stutzstellen) bei der Realisierungdes Runge-Beispiels, so erhalt man gleichmaßige Konvergenz. Man verifiziere dies numerisch, indemman die Interpolationspolynome zu den Cebysev-Knoten der Ordnungen n = 1, . . . , 20 berechneund zusammen mit f(x) = 1/(1 + x2) uber [−5, 5] plotte.

58

Page 63: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

4.3 Auswertung von Lagrange-Interpolationspolynomen

Im Folgenden werden Algorithmen zur Berechnung der Werte des interpolierenden Polynoms an-gegeben. Es seien paarweise verschiedene Stutzstellen x0, . . . , xn, Funktionswerte y0, . . . , yn ∈ K

sowie das interpolierende Polynom p ∈ Pn mit p(xj) = yj gegeben. Zielsetzung dieses Abschnittsist die Herleitung eines Verfahrens, das das interpolierende Polynom mit dem folgenden Aufwandauswertet:

• Eine Anlaufrechnung benotigt O(n2) arithmetische Operationen.

• Nachdem die Anlaufrechnung durchgefuhrt ist, benotigt die Auswertung des Polynoms p(x)an der Stelle x noch O(n) arithmetische Operationen.

Zunachst wird ein direktes Verfahren zur Berechnung von p(x) fur ein fixiertes x ∈ R vorgestellt.

Satz 4.12 (Neville-Verfahren). Fur j,m ≥ 0 mit j + m ≤ n sei pj,m ∈ Pm das eindeutigePolynom mit

pj,m(xk) = yk fur j ≤ k ≤ j +m.

Dann gilt die Rekursionsformel

pj,0(x) = yj

pj,m(x) =(x− xj)pj+1,m−1(x) − (x− xj+m)pj,m−1(x)

xj+m − xjfur m > 0

und insgesamt p0,n(x) = p(x).

Beweis. Die Identitat pj,0 ≡ yj ist wegen pj,0 ∈ P0 mit pj,0(xj) = yj offensichtlich richtig. Seiq(x) als rechte Seite der zweiten Identitat des Satzes definiert:

q(x) :=(x− xj)pj+1,m−1(x) − (x− xj+m)pj,m−1(x)

xj+m − xj.

Es gilt q ∈ Pm wegen pj+1,m−1, pj,m−1 ∈ Pm−1. Außerdem gelten die Gleichheiten

q(xj) = pj,m−1(xj) = yj

und

q(xj+m) = pj+1,m−1(xj+m) = yj+m.

Fur j + 1 ≤ k ≤ j +m− 1 gilt

q(xk) =(xk − xj)yk − (xk − xj+m)yk

xj+m − xj= yk.

Aufgrund der Eindeutigkeit des Interpolationspolynoms gilt daher die Identitat pj,m = q.

59

Page 64: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Die Abhangigkeiten gemaß der Rekursionsformel sind im folgenden Neville-Schema dargestellt.

y0 = p0,0(x) −→ p0,1(x) −→ p0,2(x) −→ . . . −→ p0,n(x) = p(x)ր ր ր

y1 = p1,0(x) −→ p1,1(x)ր ր

y2 = p2,0(x) −→ ......

...... ր

yn−1 = pn−1,0(x) −→ pn−1,1(x)ր

yn = pn,0(x)

(4.4)

Bemerkung. Fur ein fixiertes x ∈ R betragt der Aufwand zur Berechnung von p(x) mit dem

Neville-Schema asymptotisch 72n

2 arithmetische Operationen. Genauer sind 7n(n+1)2 Operationen

notig: Die Berechnung von pj,m(x) im Rekursionsschritt benotigt 4 Subtraktionen, 2 Multiplikatio-

nen und 1 Division. Der Faktor n(n+1)2 stammt von den unbekannten Eintragen der (n+1)× (n+1)

Dreiecksmatrix im Schema.

Bemerkung. (i) Beim Neville-Verfahren handelt es sich um ein Einschrittverfahren: Die Be-rechnung des Vektors (p0,k(x), . . . , pn−k,k(x)) erfordert lediglich die Werte aus dem vorausgegangenSchritt (p0,k−1(x), . . . , pn−k+1,k−1(x)) . Dadurch ist bei Realisierung kein zusatzlicher Speicherplatznotig, wenn man stets die

”alten“ Werte (und insbesondere den y-Vektor) uberschreibt.

(ii) Es ist problemlos moglich, einen weiteren Interpolationspunkt (xn+1, yn+1) hinzuzufugen. In die-sem Fall muss lediglich die Diagonale (pn,0(x), pn−1,1(x), . . . , p0,n(x)) aus dem Neville-Schema (4.4)zur Verfugung stehen, d.h. man muss diese ggf. speichern.

Bei der folgenden Realisierung werden die Funktionswerte yj mit den Werten aus dem Neville-Verfahren uberschrieben, um keinen zusatzlichen Speicher zu benutzen.

Algorithmus 4.13: Neville-Verfahren

Input: Stutzstellen x ∈ Rn, Funktionswerte y ∈ K

n+1, Auswertungspunkt t ∈ R

for m = 1:n

for j = 0:n-m

yj =(t− xj)yj+1 − (t− xj+m)yj

xj+m − xjend

end

Output: p(t) = y0.

60

Page 65: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Definition. Bei einem Polynom p ∈ Pn, dargestellt in der Monombasis p(x) =∑n

k=0 λkxk bezeich-

nen wir den Koeffizienten von xn als fuhrenden Koeffizienten bezuglich Pn. Der Leitkoeffizientvon p ist gerade der Koeffizient λj , fur den λj 6= 0 und λk = 0 fur k > j gelten.

Satz 4.14 (Dividierte Differenzen). Fur j,m ≥ 0 mit j +m ≤ n definiere

yj,0 := yj

yj,m :=yj+1,m−1 − yj,m−1

xj+m − xjfur m > 0.

Dann gilt

(i) yj,m ist der fuhrende Koeffizient von pj,m ∈ Pm aus dem Neville-Verfahren.

(ii) Mit λj := y0,j gilt folgende Darstellung bezuglich der Newton-Basis:

p(x) =

n∑

j=0

λj

j−1∏

k=0

(x− xk).

Beweis. (i) folgt offensichtlich induktiv wegen

pj,0 ≡ yj und pj,m(x) =(x− xj)pj+1,m−1(x) − (x− xj+m)pj,m−1(x)

xj+m − xj.

(ii) Betrachte das Polynom qk := p0,k − p0,k−1 ∈ Pk: qk ∈ Pk hat den fuhrenden Koeffizienten y0,k

und die k Nullstellen x0, . . . , xk−1. Deshalb gilt

qk = y0,k

k−1∏

j=0

(x− xj).

Unter Verwendung der Teleskopsumme folgt schließlich die Identitat in (ii):

p = p0,n = q0 +

n∑

k=1

qk =

n∑

k=0

y0,k

k−1∏

j=0

(x− xj).

Die Abhangigkeiten gemaß der Rekursionsformel sind im folgenden Schema der DividiertenDifferenzen dargestellt. Gemaß Satz 4.14 ist der schematische Aufbau identisch mit dem Neville-Schema.

y0 = y0,0 −→ y0,1 −→ y0,2 −→ . . . −→ y0,n

ր ր րy1 = y1,0 −→ y1,1

ր րy2 = y2,0 −→ ......

...... ր

yn−1 = yn−1,0 −→ yn−1,1

րyn = yn,0

(4.5)

61

Page 66: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Bemerkung. (i) Das Verfahren der Dividierten Differenzen berechnet in 32n(n+1) arithmetischen

Operationen die Koeffizienten λj bezuglich der Newton-Basis.(ii) Man kann den Algorithmus der Dividierten Differenzen so formulieren, dass kein weiterer Spei-cherplatz benotigt wird.(iii) De facto ist das Verfahren der Dividierten Differenzen ein Eliminationsverfahren fur dasVandermonde-System (4.1) bezuglich der Newton-Basis. Dieser direkte Loser nutzt die zusatzli-che Struktur der Vandermonde-Matrix aus, um den eigentlichen Aufwand O(n3), vgl. Kapitel 3,auf O(n2) zu reduzieren.

Praktische Ubung. Man formuliere einen Algorithmus fur das Verfahren der Dividierten Differen-zen, bei dem kein weiterer Speicher benotigt wird, sondern der y-Vektor uberschrieben wird (vgl.die algorithmische Formulierung des Neville-Verfahrens).

Mit der Darstellung p(x) =∑n

j=0 λj∏j−1

k=0(x− xk) des Interpolationspolynoms gilt:

p(x) = λ0 + (x− x0)[λ1 + (x− x1)[λ2 + (x− x2)[. . . [λn−1 + (x− xn−1)λn] . . .]

Das Horner-Schema wertet das Polynom p gemaß dieser Formel bei x ∈ R aus. Dazu wird dieKlammer von hinten nach vorne ausgerechnet.

Algorithmus 4.15: Horner-Schema

Input: λj als Ergebnis der Dividierten Differenzen, Auswertnungsstelle t ∈ R

y = λn

for k = n-1:-1:0

y = (t− xk)y + λk

end

Output: p(t) = y.

Behauptung. Das Horner-Schema berechnet in 3n arithmetischen Operationen den Funktionswertp(x) = y.Beweis. Dass der Algorithmus 3n arithmetischer Operationen bedarf, ist offensichtlich. Es gilt

[. . . [[(x− xn−1)λn + λn−1](x− xn−2) + λn−2](x− xn−3) + . . .+ λ1](x− x0) + λ0!= p(x).

Bemerkung. Will man p(x) nur an einer Stelle auswerten, so verwendet man in der Regel dasNeville-Verfahren. Soll p(x) an mehreren Stellen ausgewertet werden, so verwendet man die Divi-dierten Differenzen in Verbindung mit dem Horner-Schema: Fur die Auswertung des Interpolati-onspolynoms p(x(j)) bei x(1), . . . , x(N) mittels Neville-Verfahren betragt der Aufwand ANeville =72Nn(n+ 1), mittels Dividierter Differenzen (und Horner-Schema) lediglich ANewton = 3

2n(n+ 1)+3Nn. Bestechenderweise gilt fur N ≥ 1 stets ANewton ≤ ANeville, aber das Neville-Verfahren ist(ein wenig) stabiler gegenuber Rundungsfehlern.

62

Page 67: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

4.4 Hermite-Polynominterpolation

Bei der Hermite-Interpolation werden neben den Funktionswerten auch noch vorgegebene Wer-te fur die Ableitung interpoliert. Wir zeigen in diesem kurzen Abschnitt nur, dass das Hermite-Interpolationsproblem eine eindeutige Losung besitzt und beweisen die Fehlerabschatzung fur einenSpezialfall.

Satz 4.16. Gegeben seien paarweise verschiedene Stutzstellen x0, . . . , xn und zugehorige Funk-

tionswerte y(k)j ∈ K fur 0 ≤ j ≤ n und 0 ≤ k ≤ nj. Definiere

N :=[ n∑

j=0

(nj + 1)]− 1.

Dann existiert ein eindeutiges Polynom p ∈ PN mit

p(k)(xj) = y(k)j fur 0 ≤ j ≤ n und 0 ≤ k ≤ nj.

Beweis. Wir definieren die lineare Abbildung T : PN → KN+1 durch

Tp :=(p(x0), . . . , p

(n0)(x0), p(x1), . . . , p(n1)(x1), . . . , p(xn), . . . , p(nn)(xn)

)

Wenn man zeigen kann, dass T bijektiv ist, ist T−1 der gesuchte Losungsoperator und die eindeutigeLosbarkeit ist damit bewiesen. Wegen dimPN = N + 1 genugt es zu zeigen, dass T injektiv ist: Seip ∈ PN mit Tp = 0, d.h. p(k)(xj) = 0 fur alle 0 ≤ j ≤ n und 0 ≤ k ≤ nj. Nach Polynomdivisionhat p die Form

p(x) = q(x)

n∏

j=0

(x− xj)nj+1

mit einem geeigneten Polynom q, d.h. p hat, gemaß ihrer Vielfachheit gezahlt, N + 1 Nullstellen.Deshalb folgt p ≡ 0, d.h. KernT = 0.

Wie bei der Lagrange-Interpolation lasst sich der Interpolationsfehler abschatzen, wenn die Funk-

tionswerte y(k)j durch eine hinreichend glatte Funktion gegeben werden. Den Spezialfall nj = 1

benotigen wir spater fur die Fehlerabschatzung bei der Gauß-Quadratur in Kapitel 5.

Satz 4.17 (Interpolationsfehler). Unter den Voraussetzungen von Satz 4.16 sei p ∈ PN das

Hermite-Interpolationspolynom fur y(k)j = f (k)(xj) mit reellwertiger Funktion f ∈ CN+1([a, b]). Ist

x ∈ [a, b] und I ⊆ [a, b] ein Intervall mit x0, . . . , xn, x ∈ I, so existiert ein ξ ∈ I, sodass fur denInterpolationsfehler in x gilt

f(x) − p(x) =f (N+1)(ξ)

(N + 1)!

n∏

j=0

(x− xj)nj+1.

Beweis. Wir definieren die Funktion

F (y) :=(f(x) − p(x)

)ω(y) −

(f(y) − p(y)

)ω(x) mit ω(y) :=

n∏

j=0

(y − xj)nj+1 ∈ PN+1.

63

Page 68: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Die Funktion F ∈ CN+1(I) hat an der Stutzstelle xj eine (nj + 1)-fache Nullstelle und bei x eineeinfache Nullstelle. Gemaß Vielfachheit hat F also N +2 Nullstellen. Induktives Vorgehen mit demMittelwertsatz zeigt die Existenz einer Nullstelle ξ ∈ I von F (N+1) ∈ C(I). Es gilt also

0 = F (N+1)(ξ) =(f(x) − p(x)

)(N + 1)! − f (N+1)(ξ)ω(x).

Ubung. Man beweise fur reell- und komplexwertige f ∈ CN+1[a, b] die Fehlerabschatzung

|f(x) − p(x)| ≤√

2‖f (N+1)‖∞(N + 1)!

n∏

j=0

|x− xj |nj+1,

wobei wir die Notation aus Satz 4.17 verwenden.

Das Neville-Verfahren und das Verfahren der Dividierten Differenzen lassen sich auch fur dasHermite-Interpolationsproblem verallgemeinern.

4.5 Spline-Interpolation

Die Polynominterpolation erfordert hohe Annahmen an die Glatte, damit die Folge der Interpo-lationspolynome gleichmaßig gegen die Funktion konvergiert. Eine Alternative ist es, stuckweisePolynome zu betrachten, im einfachsten Fall stuckweise affine Funktionen.

Beispiel. Zu Stutzstellen a = x0 < x1 < · · · < xn = b und einer Funktion f ∈ C[a, b] ist einestetige Funktion s ∈ C[a, b] gesucht, die stuckweise affin ist, d.h.

s|[xj−1,xj ] ∈ P1 fur j = 1, . . . , n

und f in den Knoten xj interpoliert, d.h.

s(xj) = f(xj) fur j = 0, . . . , n.

Dieser affine Interpolationsspline ist offensichtlich (eindeutig) stuckweise gegeben durch

s(x) = f(xj−1)x− xj

xj−1 − xj+ f(xj)

x− xj−1

xj − xj−1fur x ∈ [xj−1, xj ]. (4.6)

Wir beweisen im Folgenden erste Fehlerabschatzungen fur die Spline-Interpolation mit affinen Spli-nes.

Lemma 4.18. Zu a = x0 < x1 < · · · < xn = b und f ∈ C2[a, b] definiere den Spline s ∈ C[a, b]durch (4.6). Ferner sei die lokale Netzweite h : [a, b] → R definiert durch h|[xj−1,xj) = xj−xj−1.Dann gilt

‖f − s‖∞ ≤√

2

8‖h2f ′′‖∞.

64

Page 69: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Beweis. Auf einem Teilintervall I = [xj−1, xj ] ist s das eindeutige Interpolationspolynom vomGrad 1. Also liefert die Fehlerabschatzung fur x ∈ I

|f(x) − s(x)| ≤√

2‖f ′′‖∞

2|(x− xj−1)(x− xj)|.

Die Funktion ω(x) = |(x− xj−1)(x− xj)| nimmt ihr Maximum fur x = (xj−1 + xj)/2 an. Also giltmaxx∈I

|ω(x)| = h2j/4. Damit ergibt sich

‖f − s‖∞,I ≤√

2

8h2

j‖f ′′‖∞,I ,

und es folgt die Behauptung.

Betrachtet man statt der Maximumsnorm auf C[a, b] die L2L2L2-Norm

‖f‖2 := 〈f ; f〉1/22 mit 〈f ; g〉2 :=

∫ b

afg dx,

so erhalt man auch Fehlerabschatzungen fur f ∈ C1[a, b].

Lemma 4.19. Unter den Voraussetzungen von Lemma 4.18 gelten

‖f − s‖2 ≤ ‖hf ′‖2 fur f ∈ C1[a, b],

‖f − s‖2 ≤ ‖h2f ′′‖2 fur f ∈ C2[a, b].

Beweis. Definiere Ij := [xj−1, xj ] und betrachte F = f − s ∈ C1(Ij). Wegen F (xj−1) = 0 gilt

|F (x)| =∣∣∣∫ x

xj−1

F ′ dx∣∣∣ ≤ h

1/2j ‖F ′‖2,Ij

nach Cauchy-Schwarz-Ungleichung. Integration uber Ij zeigt

‖F‖2,Ij≤ hj‖F ′‖2,Ij

. (4.7)

Aufgrund der Interpolationseigenschaft gilt∫IjF ′ dx = 0. Da s′|Ij

konstant ist, folgt s′|Ij=

(1/hj)∫Ijf ′ dx und deshalb 〈f ′ ; s′〉2,Ij

= ‖s′‖22,Ij

. Es ergibt sich

‖F ′‖22,Ij

= ‖f ′‖22,Ij

− 2Re 〈f ′ ; s′〉2,Ij+ ‖s′‖2

2,Ij= ‖f ′‖2

2,Ij− ‖s′‖2

2,Ij≤ ‖f ′‖2

2,Ij.

Kombination mit (4.7) zeigt

‖F‖2,Ij≤ hj‖f ′‖2,Ij

,

und Summation uber die Teilintervalle liefert die erste Abschatzung. Um die zweite Abschatzungzu beweisen, mussen wir nur noch ‖F ′‖2,Ij

≤ hj‖F ′′‖2,Ijzeigen, denn es gilt F ′′ = f ′′, da s affin

ist auf Ij. Wegen F (xj−1) = 0 = F (xj) hat F ′ eine Nullstelle ζ ∈ Ij. Analoges Vorgehen wie obenzeigt

|F ′(x)| ≤ (ζ − xj−1)1/2‖F ′′‖2,Ij

≤ h1/2j ‖F ′′‖2,Ij

fur xj−1 ≤ x ≤ ζ

65

Page 70: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

sowie

|F ′(x)| ≤ (xj − ζ)1/2‖F ′′‖2,Ij≤ h

1/2j ‖F ′′‖2,Ij

fur ζ ≤ x ≤ xj.

Integration uber Ij liefert

‖F ′‖2,Ij≤ hj‖F ′′‖2,Ij

= hj‖f ′′‖2,Ij. (4.8)

Kombination mit (4.7) und Summation uber die Teilintervalle zeigt die Behauptung.

Definition. Es sei ∆ = (x0, . . . , xn) eine Zerlegung von [a, b], d.h. a = x0 < x1 < · · · < xn = b.Zu gegebenen p, q ∈ N0 heißt eine Abbildung s : [a, b] → K Spline vom Grad ppp und Glattheitqqq bezuglich ∆∆∆, falls s|[xj−1,xj ] ∈ Pp und s ∈ Cq[a, b] gelten. Wir verwenden im Folgenden dieSchreibweise s ∈ S

pq(∆). Im Spezialfall q = p− 1 schreiben wir S

p(∆) := Spp−1(∆).

Die wichtigsten Beispiele sind lineare Splines S1(∆), quadratische Splines S

2(∆) und kubischeSplines S

3(∆). Mehrdimensionale Splines, d.h. der Definitionsbereich ist ein Gebiet im Rd anstatt

eines Intervalls, bezeichnet man als Finite Elemente. Dort hangt die Zulassigkeit der Kombinationvon Polynomgrad/Glattheit von der Form der Elemente der Zerlegung ab, d.h. eventuell enthaltder Finite-Elemente-Raum nur die konstanten Funktionen.

Bei Interpolationssplines gibt es zwei Moglichkeiten, den Fehler ‖f − s‖ zu verringern:

• Verfeinerung der Zerlegung, sog. hhh-Methode,

• Erhohung des Polynomgrads, sog. ppp-Methode.

In der Regel verwendet man die p-Methode dort, wo f glatt ist, in Kombination mit der h-Methodean den Intervallbereichen, wo f nicht glatt ist, sog. hphphp-Methode.

Satz 4.20. Es sei ∆ = (x0, . . . , xn) eine Zerlegung von [a, b]. Mit den Monomen pj(x) = xj undden Funktionen qk(x) := maxx− xk, 0m definiert

B :=pj , qk

∣∣ j = 0, . . . ,m, k = 1, . . . , n− 1

(4.9)

eine Basis von Sm(∆). Insbesondere gilt also dim S

m(∆) = m+ n.

Beweis. Offensichtlich gilt pj , qk ∈ Sm(∆). Es ist also nur zu zeigen, dass B linear unabhangig

ist und Sm(∆) ⊆ spanB gilt.

1. Schritt. B ist linear unabhangig. Seien Skalare ζj, µk ∈ K mit 0 =∑m

j=0 ζjpj +∑n−1

k=1 µkqkgegeben. Auf dem Teilintervall [x0, x1] gilt qk = 0 fur alle 1 ≤ k ≤ n − 1, also

∑mj=0 ζjpj = 0

auf [x0, x1]. Es folgt ζj = 0 fur alle j = 0, . . . ,m, da die Monome linear unabhangig sind. Auf[x1, x2] gilt demnach 0 =

∑n−1k=1 µkqk = µ1q1, also µ1 = 0. Induktives Vorgehen liefert µk = 0 fur

1 ≤ k ≤ n− 1.

2. Schritt. Es gilt Sm(∆) ⊆ spanB. Zu s ∈ S

m(∆) sei z1 ∈ Pm mit s|[x0,x1] = z1|[x0,x1]. Furk = 2, . . . , n definiere sukzessive

zk := zk−1 + ηkqk−1 ∈ spanB mit ηk :=s(xk) − zk−1(xk)

qk−1(xk)∈ R. (4.10)

66

Page 71: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Wir zeigen s = zn ∈ spanB. Nach Definition gilt zk(xk) = s(xk), d.h. das Residuum r := s − znerfullt r(xk) = 0 fur alle Knoten xk.

• Auf [x0, x1] gilt r = z1 − zn und z1 = zn, also r|[x0,x1] = 0.

• Auf [x1, x2] gilt r ∈ Pm und r(x1) = 0 = r(x2). Wegen r ∈ Cm−1[a, b] und r|[x0,x1] = 0, mussx1 eine m-fache Nullstelle sein, d.h. r hat m+ 1 Nullstellen in [x1, x2]. Es folgt r|[x1,x2] = 0

Induktives Vorgehen zeigt r|[a,b] = 0.

Gegeben sei eine Zerlegung ∆ = (x0, . . . , xn) von [a, b]. Gesucht ist ein Interpolationsspline s ∈S

m(∆) mit s(xj) = yj fur alle j = 0, . . . , n. Wegen dimSm(∆) = m + n, sind weitere m − 1

Nebenbedingungen zu formulieren. Dies geschieht in der Regel in Form von Randbedingungenan die Ableitungen von s. Wir beschranken uns auf den Fall, dass m−1 gerade ist, d.h. m−1 = 2rfur ein r ∈ N0, und stellen die Randbedingungen symmetrisch bei a und b.

(H) Hermite-Randbedingungen (oder: vollstandige Randbedingungen):s(j)(a), s(j)(b) fur j = 1, . . . , r sind zusatzlich vorgegeben.

(N) Naturliche Randbedingungen:Man fordert s(j)(a) = 0 = s(j)(b) fur j = r + 1, . . . , 2r und r ≤ n.

(P) Periodische Randbedingungen:Man fordert s(j)(a) = s(j)(b) fur j = 1, . . . , 2r.

Die Forderung von r ≤ n im Fall von (N) ist beweistechnischer Natur. In der Regel gilt aber ohnehinn≫ r.Fur kubische Splines, d.h. m = 3 und r = 1, lauten die Randbedingungen also:

(H) s′(a), s′(b) sind zusatzlich vorgegeben.

(N) s′′(a) = 0 = s′′(b).

(P) s′(a) = s′(b) und s′′(a) = s′′(b).

Zusammen mit diesen Randbedingungen lasst sich die eindeutige Existenz eines Interpolations-splines beweisen.

Satz 4.21. (i) Zu m − 1 = 2r vorgegebenen Randbedingungen (H), (P) oder (N) existiert eineindeutiger interpolierender Spline s ∈ S

m(∆), der diese Randbedingung erfullt.(ii) Erfullt g ∈ C(r+1)[a, b] sowohl die Interpolationsbedingung g(xj) = s(xj) fur alle Knoten xj

sowie dieselben Randbedingungen wie der Interpolationsspline s, so gilt die Orthogonalitatseigen-schaft

‖g(r+1) − s(r+1)‖22 = ‖g(r+1)‖2

2 − ‖s(r+1)‖22. (4.11)

Insbesondere minimiert also s das Energiefunktional E(g) = ‖g(r+1)‖2 uber alle zulassigen Funk-tionen (d.h. interpolierend mit derselben Randbedingung), d.h. es gilt die Minimaleigenschaft‖s(r+1)‖2 ≤ ‖g(r+1)‖2.

67

Page 72: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Beweis. Wie ublich mussen wir nur entweder Existenz oder Eindeutigkeit beweisen. Der wesentli-che Schritt zum Nachweis der Eindeutigkeit ist der Nachweis der Orthogonalitatseigenschaft (4.11).Wegen |x− y|2 = |x|2 − |y|2 − 2Re (x− y)y folgt

‖g(r+1) − s(r+1)‖22 = ‖g(r+1)‖2

2 − ‖s(r+1)‖22 − 2Re

∫ b

a(g(r+1) − s(r+1))s(r+1) dx.

Wir zeigen nun, dass das letzte Integral verschwindet. Dazu verwenden wir mehrfache partielleIntegration. Induktiv gilt

∫ b

a(g(r+1) − s(r+1))s(r+1) dx =

[(g(r) − s(r))s(r+1)

]ba−∫ b

a(g(r) − s(r))s(r+2) dx

=[(g(r) − s(r))s(r+1)

]ba−[(g(r−1) − s(r−1))s(r+2)

]ba

+

∫ b

a(g(r−1) − s(r−1))s(r+3) dx

=

r−1∑

j=0

(−1)j[(g(r−j) − s(r−j))s(r+j+1)

]ba

+ (−1)r∫ b

a(g′ − s′)s(2r+1) dx.

Wegen s ∈ Sm(∆) mit m = 2r + 1 ist σj := s(2r+1)|(xj ,xj+1) ∈ K konstant. Aufgrund der Interpola-

tionseigenschaft (g − s)(xj) = 0 fur alle j = 0, . . . , n folgt

∫ b

a(g′ − s′)s(2r+1) dx =

n−1∑

j=0

σj

∫ xj+1

xj

(g − s)′ dx =

n−1∑

j=0

σj

[g − s

]xj+1

xj= 0.

Ferner gilt[(g(r−j) − s(r−j))s(r+j+1)

]ba

= 0 fur j = 0, . . . , r − 1,

denn im Fall von (H) oder (P) verschwindet der erste Faktor und fur (N) verschwindet der zweiteFaktor. Damit ist (4.11) bewiesen, und wir wenden uns dem Beweis von (i) zu: Nach (ii) gilt furzwei interpolierende Splines s, s ∈ S

m(∆) mit derselben Randbedingung ‖s(r+1) − s(r+1)‖22 = 0,

also (s − s)(r+1) = 0, d.h. ρ := s − s ∈ Pr ist ein Polynom vom Grad r. Wir unterscheiden dieverschiedenen Randbedingungen:

(H) Es gilt ρ(j)(a) = 0 fur j = 0, . . . , r, d.h. ρ hat eine (r+1)-fache Nullstelle bei a. Wegen ρ ∈ Pr

folgt also ρ = 0.

(N) Es gelten ρ(xj) = 0 fur j = 0, . . . , n sowie r ≤ n. Also hat ρ mindestens (r + 1) Nullstellen,und es folgt ρ = 0.

(P) Es gilt ρ(j)(a) = ρ(j)(b) fur j = 1, . . . , 2r. Wegen ρ ∈ Pr gilt ρ(r−1) ∈ P1. Aus ρ(r−1)(a) =ρ(r−1)(b) folgt deshalb, dass ρ(r−1) konstant ist, d.h. ρ(r−1) ∈ P0. Also gilt bereits ρ ∈ Pr−1.Induktives Vorgehen mit demselben Argument zeigt ρ ∈ P0. Wegen s(a) = s(a) folgt ρ(a) = 0,also ρ = 0.

Damit ist die Eindeutigkeit gezeigt. Die Existenz eines Interpolationssplines folgt aus Dimensions-grunden.

Bemerkung. Wir merken an, dass im Fall von naturlichen Randbedingungen (N) keine weiterenVoraussetzungen (in Form von Randbedingungen) an die Funktion g in (4.11) notig sind.1

1Eigentlich ware es auch ganz nett, an dieser Stelle zumindest die allgemeinen Fehlerabschatzungen zu zitieren,wenn sie schon nicht bewiesen werden.

68

Page 73: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

4.6 Diskrete und Schnelle Fourier-Transformation

Definition. Eine Abbildung p : [0, 2π] → C, p(x) =∑n−1

j=0 cj exp(ijx), mit Koeffizienten cj ∈ C

bezeichnet man als trigonometrisches Polynom vom Grad ≤ n − 1. Hier und im Folgendenbezeichnet i =

√−1 die imaginare Einheit. Es sei Tn−1 der C-Vektorraum der trigonometrischen

Polynome vom Grad ≤ n− 1.

Lemma 4.22. Es gilt dim Tn−1 = n, und zu paarweise verschiedenen Stutzstellen x0, . . . , xn−1

in [0, 2π) und Funktionswerten yj ∈ C existiert ein eindeutiges trigonometrisches Interpolations-polynom p ∈ Tn−1 mit p(xj) = yj fur alle j = 0, . . . , n− 1.

Beweis. Es sei p(x) =∑n−1

j=0 cj exp(ijx) ein Polynom in Tn−1 mit p(xj) = 0 fur alle j =0, . . . , n− 1. Mit zk := exp(ixk) gilt

0 = p(xk) =

n−1∑

j=0

cj exp(ijxk) =

n−1∑

j=0

cj zjk = p(zk) mit p(z) :=

n−1∑

j=0

cj zj

d.h. das Polynom p ∈ Pn−1 hat die n Nullstellen z0, . . . , zn−1. Deshalb folgt p = 0, also cj = 0 fur allej = 0, . . . , n− 1. Insbesondere folgt nun die lineare Unabhangigkeit der Funktionen x 7→ exp(ijx),d.h. dimTn−1 = n. Ferner haben wir gezeigt, dass die (lineare) Auswertung

Tn−1 → Kn, p 7→ (p(x0), . . . , p(xn−1))

injektiv ist. Wie in den vorausgegangen Abschnitten folgt deshalb die eindeutige Losbarkeit desInterpolationsproblems.

Im Rest des Abschnitts werden wir nur noch aquidistante Stutzstellen

xk :=2πk

nfur k = 0, . . . , n− 1

betrachten. Dies fuhrt auf zusatzliche Struktur in der Vandermonde-Matrix, die schließlich mit derSchnellen Fourier-Transformation (sog. Fast Fourier Transform, FFT) optimal genutztwird.

69

Page 74: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Satz 4.23. Es seien xk = 2πk/n und yk ∈ C fur k = 0, . . . , n − 1 gegeben. Es sei p(x) :=∑n−1j=0 cj exp(ijx) das Interpolationspolynom p ∈ Tn−1 mit p(xk) = yk fur alle k. Mit der n-ten

Einheitswurzel

ωn := exp(− 2πi

n

)(4.12)

und der Fourier-Matrix (oder DFT-Matrix)

Vn ∈ Cn×n, Vn := (ωjk

n )n−1j,k=0, (4.13)

sowie den Vektoren c := (c0, . . . , cn−1), y := (y0, . . . , yn−1) ∈ Cn gilt

1

nVny = c,

d.h. 1nVn bildet die Funktionswerte auf die zugehorigen Koeffizienten von p ab, und es gilt cj =

1n

∑n−1k=0 ω

jkn yk. Die skalierte Matrix 1√

nVn ist symmetrisch und orthogonal, d.h.

(1√nVn

)−1=

1√nV n. Insbesondere gilt also V −1

n = 1n V n.

Beweis. Der Vektor c ist Losung des Vandermonde-Systems Wc = y mit

W :=

p0(x0) . . . pn−1(x0)...

...p0(xn−1) . . . pn−1(xn−1)

∈ C

n×n mit pj(x) := exp(ijx).

Die Eintrage der Matrix W = (Wjk)n−1j,k=0 erfullen

Wjk = exp(2πi

njk)

= exp(2πi

n

)jk= ω−jk

n = ωjkn .

Insbesondere folgen Vn = W und die Symmetrie von W und Vn. Es sei W (k) := (Wjk)n−1j=0 die k-te

Spalte von W . Zunachst gilt

W (k) ·W (k) =

n−1∑

j=0

WjkW jk =

n−1∑

j=0

|Wjk|2 =

n−1∑

j=0

|ωn|−2jk = n.

Ferner erhalten wir fur k 6= ℓ

W (k) ·W (ℓ) =

n−1∑

j=0

WjkW jℓ =

n−1∑

j=0

ωj(ℓ−k)n =

1 − ωn(ℓ−k)n

1 − ωℓ−kn

= 0,

d.h. die Spalten von W sind orthogonal und haben (euklidische) Lange√n. Insbesondere ist 1√

nW

eine symmetrische orthogonale Matrix mit Inverser(

1√nW)−1

= 1√nW

T= 1√

nVn.

Definition. Die Abbildung Fn : Cn → C

n, Fn(x) = Vnx bezeichnet man als Diskrete Fourier-Transformation (DFT) der Lange n. Zu aquidistanten Stutzstellen ist 1

n Fn(y) gerade der Ko-effizientenvektor des trigonometrischen Interpolationspolynoms. Die inverse Abbildung F−1

n heißtDiskrete Fourier-Rucktransformation.

70

Page 75: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Bemerkung. Die Fourier-Matrix Vn hat nur n verschiedene Eintrage, namlich ωℓn fur ℓ = 0, . . . , n−

1. Die Berechnung von Fn(x) benotigt daher die einmalige Berechnung der n−1 Skalare ωn, ω2n, . . . ω

n−1n

und anschließend eine Matrix-Vektor-Multiplikation mit Vn, die in n(2n − 1) arithmetischen Ope-rationen durchgefuhrt wird. Insgesamt betragt der Aufwand bei direkter Realisierung also O(n2).Die FFT realisiert die Matrix-Vektor-Multiplikation rekursiv mit einem Aufwand 3

2n log2(n), sodassinsgesamt lediglich O(n log n) Operationen notwendig sind.

Bemerkung. Die Skalierung von Fn ist in der Literatur uneinheitlich. Wir verwenden Fn(x) = Vnx.Bisweilen findet man aber auch 1√

nVn bzw. 1

n Vn bei der Definition von Fn.

Satz 4.24. Fur p ∈ N, n = 2p und m = n/2 sei wieder ωn = exp(−2πi/n) die n-te Einheitswurzel.Wir definieren die Permutation

σn : Cn → C

n, σn(x) = (x1, x3, . . . , xn−1, x2, x4, . . . , xn).

Fur x ∈ Cn folgt dann mit den Vektoren a, b ∈ C

n/2,

aj = xj + xj+m, bj = (xj − xj+m)ωj−1n fur j = 1, . . . ,m = n/2,

die Gleichheit

σn(Fn(x)) =(Fm(a),Fm(b)

)∈ C

n, (4.14)

d.h. die Auswertung von Fn ist auf die zweifache Auswertung von Fn/2 zuruckgefuhrt.

Korollar 4.25. Als Fast Fourier Transform (FFT) bezeichnet man die rekursive Berechnungvon Fn(x) gemaß Satz 4.24. Die Berechnung erfordert zunachst O(n) Operationen um alle Poten-zen ωℓ

n, ℓ = 0, . . . , n− 1 zu berechnen. Man beachte, dass ωℓn/2 = ω2ℓ

n gilt, sodass alle auftretendenEinheitswurzeln bereits zu Anfang berechnet werden. Die gesamte Rekursion benotigt weniger als32n log2(n) Operationen.

Beweis. Wir beweisen den Aufwand des Rekursionsverfahrens durch Induktion nach p. Sei ap

die Gesamtanzahl an Additionen/Subtraktionen und mp die Gesamtanzahl an Multiplikationen zurBerechnung von Fn(x), n = 2p. Dann gelten ap = p 2p und mp ≤ 1

2 p 2p. Der Induktionsanfangp = 1 ist klar: a1 = 2, m1 = 0. Betrachte nun den Fall p + 1: Es gilt n = 2p+1, m = n/2 = 2p.Neben der Auswertung von Fm(a) und Fm(b) sind jeweils m = 2p Additionen zur Berechnung derVektoren a bzw. b notig sowie m = 2p Multiplikationen zur Berechnung von b. Es folgt

ap+1 = 2ap + 2 · 2p = (p+ 1) 2p+1 sowie mp+1 = mp + 2p ≤ 1

2p 2p + 2p ≤ 1

2(p+ 1)2p+1.

Insgesamt erhalten wir mit n = 2p also ap +mp ≤ 32p 2p = 3

2 n log2(n).

Beweis von Satz 4.24. Nach Definition gilt

Fn(y0, . . . , yn−1) =( n−1∑

ℓ=0

ωjℓn yℓ

∣∣∣ j = 0, . . . , n− 1).

71

Page 76: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Nach Indexverschiebung fur j und ℓ ergibt sich

Fn(x1, . . . , xn) =( n−1∑

ℓ=0

ω(j−1)ℓn xℓ+1

∣∣∣ j = 1, . . . , n).

1. Schritt. Es gilt (Fn(x))2j−1 = (Fm(a))j . Nach Definition der Einheitswurzeln gilt

ω2n = ωm, ωm

m = 1.

Deshalb ergibt sich

(Fn(x))2j−1 =

n−1∑

ℓ=0

ω(2j−2)ℓn xℓ+1 =

m−1∑

ℓ=0

ω2(j−1)ℓ

n xℓ+1 + ω2(j−1)(ℓ+m)n xℓ+m+1

=

m−1∑

ℓ=0

ω(j−1)ℓm

xℓ+1 + xℓ+m+1

︸ ︷︷ ︸

=aℓ+1

= (Fm(a))j

2. Schritt. Es gilt (Fn(x))2j = (Fm(b))j . Mit den Einheitswurzeln gilt

ω(2j−1)ℓn = ω2(j−1)ℓ

n ωℓn = ω(j−1)ℓ

m ωℓn

sowie wegen ω(2j−1)mn = (ωm

n )(2j−1) = (−1)(2j−1) = −1

ω(2j−1)(ℓ+m)n = ω2ℓ(j−1)

n ωℓnω

(2j−1)mn = −ωℓ(j−1)

m ωℓn.

Analog zum ersten Schritt erhalten wir nun

(Fn(x))2j =

n−1∑

ℓ=0

ω(2j−1)ℓn xℓ+1 =

m−1∑

ℓ=0

ω(2j−1)ℓ

n xℓ+1 + ω(2j−1)(ℓ+m)n xℓ+m+1

=

m−1∑

ℓ=0

ωℓ(j−1)m

xℓ+1 − xℓ+m+1

ωℓ

n︸ ︷︷ ︸=bℓ+1

= (Fm(b))j

Die Kombination von Schritt 1 und Schritt 2 beweist gerade (4.14).

Die FFT kann man auch als schnelle Matrix-Vektor-Multiplikation Fn(x) = Vnx mit der Fourier-Matrix Vn deuten. Anstatt eines Aufwands von O(n2) fur normale dichtbesetzte Matrizen, erlaubtdie Struktur von Vn die Matrix-Vektor-Multiplikation mit einem Aufwand von O(n log(n)).

Ubung. Eine Matrix A ∈ Kn×n heißt zirkulant, wenn es einen Vektor (a0, . . . , an−1) ∈ K

n gibt,sodass die Eintrage von A durch

Ajk = a(j−k)mod (n)

gegeben sind. Schematisch gilt also

A =

a0 an−1 an−2 . . . a1

a1 a0 an−1 . . . a2

a2 a1 a0 . . . a3...

......

. . ....

an−1 an−2 an−3 . . . a0

.

72

Page 77: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

Eine zirkulante Matrix A ∈ Kn×n wird durch die Fourier-Matrix Vn diagonalisiert:

VnAV−1n = diag(p(1), p(ωn), . . . , p(ωn−1

n )) =: D

mit dem Polynom p(x) =∑n

j=0 ajxj. Will man das Gleichungssystem Ax = b losen, so geschieht

dies wegen A = V −1n DVn in drei Schritten:

• Berechne b = Vnb.

• Lose Dy = b.

• Berechne x = V −1n y.

Dann gilt b = V −1n b = V −1

n Dy = V −1n DVnx = Ax. Mit der FFT lassen sich b = Vnb und z = Vny

in O(n log n) Operationen berechnen. Es gilt V −1n y = 1

nV ny = 1nz. Da D diagonal ist, benotigt das

Losen im zweiten Schritt O(n) Operationen. Insgesamt haben wir damit ein Eliminationsverfahrenfur Ax = b konstruiert, das lediglich O(n log n) arithmetische Operationen benotigt – anstelle O(n3)wie die Eliminationsverfahren in Kapitel 3. Da die Matrizen 1√

nVn und

√nV −1

n orthogonal sind,

folgt cond2(D) = cond2(A), sodass die Losung von Ax = b mit diesem Verfahren stabil ist.

Die Diskrete Fourier-Transformation verdankt ihren (bisher nicht motivierten) Namen der Verbin-dung zur Fourier-Transformation: Fur eine Riemann-integrierbare Funktion f : [0, 2π] → C mitf(0) = f(2π) gilt

f(x) =∞∑

k=−∞ck exp(kix) in L2(0, 2π) (4.15)

mit Fourier-Koeffizienten

ck =1

∫ 2π

0f(y) exp(−kiy) dy. (4.16)

Ein Beweis findet sich zum Beispiel in Forster [3, Abschnitt 23]. Die Reihe in (4.15) bezeichnetman als Fourier-Reihe.

Aus der Kenntnis der ersten Fourier-Koeffizienten einer glatten periodischen Funktion kann manunter Verwendung der Fourier-Rucktransformation Naherungen fur aquidistante Funktionswertegewinnen:

Satz 4.26. Es sei f ∈ C2[0, 2π] mit f(0) = f(2π), h := 2π/n und xj := jh fur 0 ≤ j ≤ n − 1.Mit den Fourier-Koeffizienten (4.16) gilt dann

‖nF−1n (c0, . . . , cn−1) − (f(x0), . . . , f(xn−1))‖2 = O(h3/2).

Beweis. Wir betrachten den Integranden

gk ∈ C2[0, 2π], gk(y) := f(y) exp(−iky)

73

Page 78: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 4. INTERPOLATION

des k-ten Fourier-Koeffizienten. Nach Kapitel 1 gilt fur die summierte Trapezregel

Ingk :=h

2

g(0) + 2

n−1∑

j=1

g(xj) + g(2π)

=2π

n

n−1∑

j=0

g(xj)

die a priori Fehlerabschatzung

∣∣2π ck − Ingk| =∣∣∣∫ 2π

0gk dx− Ingk

∣∣∣ = O(h2),

und deshalb folgt

∣∣∣ck − 1

n

n−1∑

j=0

gk(xj)∣∣∣ = O(h2) fur alle k = 0, . . . , n− 1.

Es gilt

1

n

n−1∑

j=0

gk(xj) =1

n

n−1∑

j=0

f(xj) exp(−ikxj) =1

n

n−1∑

j=0

f(xj)ωjkn =

( 1

nFn(f(x0), . . . , f(xn−1))

)k.

Insgesamt ergibt sich mit der Orthogonalitatseigenschaft von Fn

‖nF−1n (c) − (f(x0), . . . , f(xn−1))‖2

2 = ‖c− 1n Fn(f(x0), . . . , f(xn−1))‖2

2 = nO(h4) = O(h3).

mit dem Vektor c = (c0, . . . , cn−1).

Bemerkung. Manchmal werden auch trigonometrische Polynome

p(x) =

n−1∑

k=−n

ck exp(ikx)

betrachtet. In diesem Fall liefert Indexverschiebung

p(x) =

2n−1∑

k=0

ck−n exp(i(k − n)x

)= exp(−inx)

2n−1∑

k=0

ck−n exp(ikx).

Fur aquidistante Knoten xj = 2πj/(2n) folgt dann exp(−inxj) = exp(−πij) = (−1)j , also besitztdie Interpolationsaufgabe p(xj) = yj eine eindeutige Losung. Dies folgt z.B. sofort aus Satz 4.22.Auch alle anderen Resultate konnen entsprechend umgeschrieben werden.

Bemerkung. Anstatt die komplexe Exponentialfunktion zu verwenden, kann man die Fourier-Transformation auch uber R mittels Sinus und Cosinus formulieren. Die Notation wird dann aberaufwandiger, vgl. Plato [5, Kapitel 3].

74

Page 79: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 5

Extrapolation

5.1 Richardson-Extrapolation

Bei einem Interpolationsproblem versucht man, den Funktionswert Φ(x) zu approximieren, wobeider Auswertungspunkt x zwischen gegebenen Stutzstellen liegt, z.B. x ∈ [x0, xn] mit x0 < · · · < xn,wobei Φ(xj) bekannt ist. Bei einem Extrapolationsproblem liegt x außerhalb des Intervalls [x0, xn].

In diesem Abschnitt lautet die abstrakte Formulierung wie folgt. Gegeben sei eine stetige FunktionΦ : [0, 1] → K. Fur gewisse hj ∈ (0, 1] sei Φ(hj) bekannt. Ziel ist es, eine Approximation von Φ(0)zu berechnen.

Beispiel. Ist f eine stetig differenzierbare Funktion, so betrachten wir bei der numerischen Diffe-rentiation den Differenzenquotienten

Φ(h) =f(x+ h) − f(x)

hfur h > 0, (5.1)

um die unbekannte Ableitung Φ(0) = f ′(x) zu berechnen. Ist die Funktion f hinreichend glatt, sozeigt eine Taylor-Entwicklung

f(x+ h) =

n+1∑

j=0

f (j)(x)

j!hj + O(hn+2),

und damit folgt

Φ(h) =n+1∑

j=1

f (j)(x)

j!hj−1 + O(hn+1) = Φ(0) +

n∑

k=1

f (k+1)(x)

(k + 1)!hk + O(hn+1),

d.h. wir erhalten eine asymptotische Entwicklung von Φ(h).

Unter der Voraussetzung, dass wir zu Stutzstellen 1 ≥ h0 > · · · > hn > 0 die Funktionswerte Φ(hj)kennen, wollen wir eine Approximation von Φ(0) berechnen: Aus naiver Sichtweise ist Φ(hn) die bes-te berechnete Approximation von Φ(0). Dabei vernachlassigen wir aber die zusatzliche Informationvon Φ(hj) fur j = 0, . . . , n − 1.

75

Page 80: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 5. EXTRAPOLATION

Algorithmus 5.1: Richardson-Extrapolation

Die Funktion Φ : [0, 1] → K lasse sich in der Form

Φ(h) = Φ(0) +n∑

k=1

akhαk + O(hα(n+1)) fur h > 0 (5.2)

entwickeln, wobei der Skalar α > 0 bekannt und neben dem gesuchten Wert Φ(0) auch dieKoeffizienten a1, . . . , an ∈ K unbekannt seien. Sind fur h0, . . . , hn ∈ (0, 1] die FunktionswerteΦ(hj) bekannt, so existiert das eindeutige Interpolationspolynom p ∈ Pn mit p(hα

j ) = Φ(hj) furj = 0, . . . , n. Der Funktionswert p(0) kann mit dem Neville-Verfahren berechnet werden und isteine Approximation von Φ(0).

Bemerkung. Falls Φ(h) eine asymptotische Entwicklung (5.2) besitzt, so gilt |Φ(h) − Φ(0)| =O(hα), und fur a1 6= 0 ist α maximal: Gilt |Φ(h) − Φ(0)| = O(hβ), so folgt β ≤ α.

Nach dem vorausgegangenen Beispiel erfullt der einseitige Differenzenquotient (5.1) die Vorausset-zung (5.2) mit α = 1. Bevor wir die Konvergenz der Richardson-Extrapolation beweisen, geben wirnoch einige weitere Beispiele.

Beispiel. Wir betrachten den zentralen Differenzenquotienten

Φ(h) =f(x+ h) − f(x− h)

2hfur h > 0 (5.3)

zur numerischen Berechnung von Φ(0) = f ′(x). Ist f hinreichend glatt, so gilt nach Taylorentwick-lung um x

f(x+ h) =

2n+2∑

j=0

f (j)(x)

j!hj + O(h2n+3) und f(x− h) =

2n+2∑

j=0

f (j)(x)

j!(−h)j + O(h2n+3).

Damit ergibt sich

Φ(h) =1

2h

( 2n+2∑

j=0

f (j)(x)

j!(hj − (−h)j) + O(h2n+3)

)

=1

2h

(2

n+1∑

ℓ=1

f (2ℓ−1)(x)

(2ℓ− 1)!h2ℓ−1 + O(h2n+3)

)

=

n+1∑

ℓ=1

f (2ℓ−1)(x)

(2ℓ− 1)!h2ℓ−2 + O(h2n+2)

= f ′(x) +

n∑

k=1

f (2k+1)(x)

(2k + 1)!h2k + O(h2(n+1)).

76

Page 81: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 5. EXTRAPOLATION

Insgesamt erfullt Φ(h) also (5.2) mit α = 2.

Beispiel (Romberg-Verfahren). Als Romberg-Verfahren bezeichnet man die Richardson-Extra-polation der summierten Trapezregel

Φ(h) =h

2

(f(a) + 2

n−1∑

j=1

f(xj) + f(b)

)mit h =

b− a

nund Stutzstellen xj = a+ jh (5.4)

zur Approximation des Integrals Φ(0) =∫ ba f(x) dx. In Kapitel 1 haben wir uns bereits uberlegt,

dass |Φ(h) − Φ(0)| = O(h2) gilt. Die Entwicklung von Φ(h) in der Form (5.2) mit α = 2 heißtEuler-MacLaurin’sche Summenformel, siehe Plato [5, Abschnitt 6.9].

Beispiel (Explizites Euler-Verfahren). Auch die numerische Losung von Anfangswertproble-men passt in unseren abstrakten Rahmen. Zu gegebener rechter Seite f(x, y) betrachten wir dasAnfangswertproblem

y′(x) = f(x, y) in [0, 1] mit gegebenem Anfangswert y(0) = y0 (5.5)

und gesuchter Losung y ∈ C1[0, 1]. In der Regel interessiert man sich fur das Endzeitverhalten y(1).Das einfachste Verfahren zur numerischen Losung von (5.5) ist das explizite Eulerverfahren. Zu n ∈N und h := 1/n fixiere Stutzstellen xj = jh fur j = 0, . . . , n. Ziel ist die Berechnung von yj ≈ y(xj).Dazu ersetzt man die exakte Ableitung y′(xj) in (5.5) durch den einseitigen Differenzenquotienten

y′(xj) ≈ yj+1−yj

h . Umformulierung fuhrt auf das explizite Einschrittverfahren

yj+1 := yj + hf(xj , yj) fur j = 1, . . . , n. (5.6)

In diesem Fall ist

Φ(h) = yn ≈ y(1) = Φ(0), (5.7)

und Φ(h) erfullt (5.2) mit α = 1. Details folgen in der Vorlesung zur Numerik von Differentialglei-chungen bzw. finden sich in Plato [5, Abschnitt 7.5, 7.6].

Der folgende Satz zeigt, dass die Richardson-Extrapolation exponentiell mit dem Polynomgrad nkonvergiert.

Satz 5.2. Mit einer Konstante c1 > 0 und α > 0 erfulle Φ : [0, 1] → K die Entwicklung

Φ(h) = Φ(0) +

n∑

j=1

ajhαj + an+1(h) mit |an+1(h)| ≤ c1h

α(n+1) fur h > 0. (5.8)

Es sei ρ ∈ (0, 1), und die Auswertungspunkte hk seien gegeben durch hk := ρk fur k = 0, . . . , n.Es sei p ∈ Pn das Interpolationspolynom mit p(hα

k ) = Φ(hk) fur alle k = 0, . . . , n. Dann existierteine Konstante c2 > 0, die nur von c1, ρ und α abhangt, mit

|p(0) − Φ(0)| ≤ c2 ραn(n+1)/2. (5.9)

77

Page 82: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 5. EXTRAPOLATION

Bemerkung. Nach Satz 5.2 gilt also |p(0)−Φ(0)| = O(ραn(n+1)/2). Naive Realisierung mit hn := ρn

fuhrt lediglich auf |Φ(hn)−Φ(0)| = O(ραn).Man beachte, dass der Exponent in diesem Fall lediglichlinear in n ist und nicht – wie bei der Richardson-Extrapolation – quadratisch in n. Man sagt des-halb, die Richardson-Extrapolation vermindere Ausloschungseffekte, da man fur dieselbe Genauig-keit der numerischen Losung wesentlich großere hj betrachten kann. Die Richardson-Extrapolationist aber nur dann anwendbar (und sinnvoll), wenn man die (maximale) Ordnung α des Verfahrenskennt.

Beweis von Satz 5.2. Es sei xℓ := hαℓ = ρℓα und Lℓ ∈ Pn das zugehorige Lagrange-Polynom

Lℓ(x) =

n∏

k=0k 6=ℓ

x− xk

xℓ − xk.

1. Schritt. Es gilt |p(0)−Φ(0)| ≤ c1∑n

ℓ=0 ρℓα(n+1)|Lℓ(0)|. Das Polynom p wird als Linearkombina-

tion der Lagrange-Polynome dargestellt, p(x) =∑n

ℓ=0 Φ(hℓ)Lℓ(x). Einsetzen der Entwicklung (5.8)liefert

p(x) = Φ(0)

n∑

ℓ=0

Lℓ(x) +

n∑

j=1

aj

n∑

ℓ=0

hαjℓ Lℓ(x) +

n∑

l=0

an+1(hℓ)Lℓ(x)

= Φ(0) +

n∑

j=1

ajxj +

n∑

ℓ=0

an+1(hℓ)Lℓ(x).

Dabei wurde ausgenutzt, dass mit der eindeutigen Losbarkeit der Polynominterpolation gerade∑nℓ=0 Lℓ(x) = 1 und

∑nℓ=0 h

αjℓ Lℓ(x) =

∑nℓ=0 x

jℓLℓ(x) = xj gelten. Fur x = 0 ergibt sich deshalb

|p(0) − Φ(0)| ≤n∑

ℓ=0

|an+1(hℓ)||Lℓ(0)|.

Mit hα(n+1)ℓ = ρℓα(n+1) folgt die Behauptung.

2. Schritt. |Lℓ(0)| = ρ−ℓα(n+1)ραn(n+1)/2n∏

k=0k 6=ℓ

1

|1 − ρ(k−ℓ)α| . Elementare Umformung zeigt

|Lℓ(0)| =n∏

k=0k 6=ℓ

|xk||xℓ − xk|

=

∏k 6=ℓ

ραk

∏k 6=ℓ

|ραℓ − ραk| =

∏k 6=ℓ

ραk

∏k 6=ℓ

(ραℓ|1 − ρα(k−ℓ)|

) =

n∏k=0

ραk

ρℓα(n+1)∏k 6=ℓ

|1 − ρα(k−ℓ)|

Beachtet man

n∏

k=0

ρkα = ραPn

k=0 k = ραn(n+1)/2,

so folgt die Behauptung.

78

Page 83: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 5. EXTRAPOLATION

3. Schritt. Es giltn∏

k=0k 6=ℓ

1

|1 − ρ(k−ℓ)α| ≤ ραℓ(ℓ+1)/2n∏

k=1

1

(1 − ρkα)2.

Die wesentliche Idee ist es, die Menge der positiven und negativen ρ-Potenzen getrennt zu betrach-ten. Es gilt

k − ℓ∣∣ k = 0, . . . n; k 6= ℓ

= −ℓ, . . . ,−1, 1, . . . , n − ℓ,

und deshalb folgt

n∏

k=0k 6=ℓ

|1 − ρ(k−ℓ)α| =( ℓ∏

k=1

|1 − ρ−kα|)( n−ℓ∏

k=1

|1 − ρkα|). (5.10)

Das zweite Produkt in (5.10) kann mittels

n−ℓ∏

k=1

|1 − ρkα| =

n−ℓ∏

k=1

(1 − ρkα) ≥n∏

k=1

(1 − ρkα)

abgeschatzt werden. Fur das erste Produkt in (5.10) gilt mit |1 − ρ−kα| = 1−ρkα

ρkα

ℓ∏

k=1

|1 − ρ−kα| =( ℓ∏

k=1

ρ−kα)( ℓ∏

k=1

(1 − ρkα))≥ ρ−αℓ(ℓ+1)/2

n∏

k=1

(1 − ρkα),

wobei wir wie oben∏ℓ

k=1 ρ−kα = ρ−αℓ(ℓ+1)/2 benutzt haben. Insgesamt folgt damit

n∏

k=0k 6=ℓ

|1 − ρ(k−ℓ)α| ≥ ρ−αℓ(ℓ+1)/2n∏

k=1

(1 − ρkα)2.

4. Schritt. Es gilt

n∏

k=1

1

(1 − ρkα)2≤ exp

( 2ρα

(1 − ρα)2

). Zum Beweis schatzen wir den Logarithmus

der linken Seite ab,

log( n∏

k=1

1

(1 − ρkα)2

)= 2

n∑

k=1

log( 1

1 − ρkα

)= 2

n∑

k=1

log(1 +

ρkα

1 − ρkα

).

Mit den elementaren Abschatzungen log(1 + t) ≤ t und 11−ρkα ≤ 1

1−ρα folgt weiter

≤ 2

1 − ρα

n∑

k=1

ρkα.

Mit der geometrischen Reihe∑∞

k=1 ρkα = 1

1−ρα − 1 = ρα

1−ρα folgt insgesamt

log( n∏

k=1

1

(1 − ρkα)2

)≤ 2ρα

(1 − ρα)2.

79

Page 84: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 5. EXTRAPOLATION

Anwenden der Exponentialfunktion liefert die Behauptung.

5. Schritt. Die Kombination der vorausgegangenen Abschatzungen verifiziert (5.9). Mit demersten und zweiten Beweisschritt erhalten wir

|p(0) − Φ(0)| ≤ c1ραn(n+1)/2

n∑

ℓ=0

n∏

k=0k 6=ℓ

1

|1 − ρ(k−ℓ)α|

Die Summanden werden mit dem dritten und vierten Beweisschritt abgeschatzt zu

n∏

k=0k 6=ℓ

1

|1 − ρ(k−ℓ)α| ≤ ραℓ(ℓ+1)/2 exp( 2ρα

(1 − ρα)2

).

Damit erhalten wir

|p(0) − Φ(0)| ≤ c1ραn(n+1)/2 exp

( 2ρα

(1 − ρα)2

) n∑

ℓ=0

ραℓ(ℓ+1)/2 ≤ c2ραn(n+1)/2

mit der Konstanten c2 =c1

1 − ρexp

( 2ρα

(1 − ρα)2

).

Die Folge der Stutzstellen hk := ρk mit fixiertem ρ ∈ (0, 1) bezeichnet man als Romberg-Folge.Alternativ kann man auch die harmonische Folge hk = 1/(k + 1) oder die Bulirsch-Folgenehmen.

5.2 Aitkinsches ∆2 - Verfahren

Beim ∆2-Verfahren von Aitkin handelt es sich um ein Verfahren zur Konvergenzbeschleuni-gung von Folgen. Es sei (xj)j∈N eine konvergente Folge in K mit Grenzwert x ∈ K. Ziel ist dieKonstruktion einer Folge (yj)j∈N, sodass gilt

limj→∞

yj − x

xj − x= 0, (5.11)

d.h. die Folge (yj)j∈N konvergiert schneller gegen x als (xj)j∈N.

Bemerkung. Fur eine Folge (ζj)j∈N definieren wir den Differenzenoperator ∆ durch

∆ζj := ζj+1 − ζj fur j ∈ N. (5.12)

Es sei (xj)j∈N eine geometrisch konvergente Folge mit Limes x ∈ K, d.h. es existiert ein Skalark ∈ K mit |k| < 1 und

xj+1 − x = k(xj − x) fur j ∈ N. (5.13)

Dann gilt limj→∞

xj = x, und unter der Voraussetzung xj 6= x fur alle j ∈ N folgt

x = xj −(∆xj)

2

∆2xj= xj −

(xj+1 − xj)2

xj+2 − 2xj+1 + xj, (5.14)

80

Page 85: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 5. EXTRAPOLATION

d.h. x kann aus drei aufeinanderfolgenden Folgengliedern xj , xj+1, xj+2 berechnet werden.

Ubung. Man folgere die vorausgegangene Bemerkung aus dem folgenden Konvergenzsatz.

Satz 5.3. Die Folge (xj)j∈N erfulle xj 6= x und xj+1 − x = (k + δj)(xj − x) mit einer Nullfolge(δj)j∈N und einem Skalar k ∈ K mit |k| < 1, d.h. asymptotisch ist die Folge (xj)j∈N geometrischkonvergent. Dann gilt lim

j→∞xj = x. Ferner existiert ein Index j0 ∈ N, sodass

yj := xj −(∆xj)

2

∆2xj(5.15)

fur alle j ≥ j0 wohldefiniert ist, d.h. ∆2xj 6= 0, und es gilt (5.11), limj→∞

yj − x

xj − x= 0.

Beweis. Es sei q ∈ (|k|, 1). Da (δj)j∈N eine Nullfolge ist, existiert ein Index j1 ∈ N, sodass|δj | < q − |k| fur alle j ≥ j1 gilt. Ohne Beschrankung der Allgemeinheit sei j1 = 1. Insbesonderefolgt |k + δj | ≤ q < 1. Induktiv erhalten wir |xj+1 − x| ≤ qj |x1 − x|, und mit lim

j→∞qj = 0 folgt die

Konvergenz von (xj)j∈N.

Wir betrachten nun den Fehlerterm ej := xj − x. Nach Voraussetzung gilt ej+1 = (k + δj)ej , unddeshalb folgt fur den Nenner der Aitkin-Folge (yj)j∈N

∆2xj = xj+2 − 2xj+1 + xj = ej+2 − 2ej+1 + ej

= ej((k + δj+1)(k + δj) − 2(k + δj) + 1

)

= ej((k − 1)2 + (δjδj+1 + k(δj + δj+1) − 2δj)

)

Wegen ej 6= 0, (k − 1)2 6= 0 und µj := δjδj+1 + k(δj + δj+1) − 2δjj→∞−−−→ 0 existiert also ein Index

j0 ∈ N, so dass yj fur j ≥ j0 wohldefiniert ist. Fur den Zahler der Aitkin-Folge gilt

∆xj = xj+1 − xj = ej+1 − ej = ej((k + δj) − 1).

Insgesamt ergibt sich damit

yj − x = ej −e2j(k − 1 + δj)

2

ej((k − 1)2 + µj)= ej

(1 − (k − 1 + δj)

2

(k − 1)2 + µj

).

Division durch ej zeigt die Behauptung, denn der Bruch konvergiert gegen 1 fur j → ∞.

81

Page 86: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 6

Quadratur

6.1 Konvergenz von Quadraturverfahren

Im ganzen Kapitel seien a, b ∈ R ∪ ±∞. Es sei ω ∈ L1(a, b) eine Gewichtsfunktion mit

ω > 0 fast uberall in (a, b) und

∫ b

a|x|jω(x) dx <∞ fur alle j ∈ N. (6.1)

Die numerische Integration bzw. Quadratur ist die approximative Berechnung des Integrals

Q : Cb(a, b) → K, Qf :=

∫ b

af(x)ω(x) dx (6.2)

fur klassische Funktionen, z.B. f ∈ Cb(a, b) :=g ∈ C(a, b)

∣∣ ‖g‖∞ <∞. Da Cb(a, b) ein Unterraum

von L∞(a, b) ist, existiert das Integral Qf . Durch die zweite Voraussetzung an ω ist sichergestellt,dass Qp fur alle Polynome p ∈ P(a, b) existiert.

Bemerkung. Soll eine Funktion g : (a, b) → K integriert werden, so zerlegt man g in das Produktg(x) = f(x)ω(x), wobei f der glatte Anteil von g ist und ω der nicht-glatte Anteil. Fur g(x) =sin(x)/

√1 − x2 ware beispielsweise f(x) = sin(x) und ω(x) = 1/

√1 − x2.

Definition. Gegeben seien paarweise verschiedene Stutzstellen (bzw. Knoten) xj ∈ R mit a ≤x0, . . . , xn ≤ b und Gewichte ω0, . . . , ωn ∈ K. Die Abbildung

Qn : Cb(a, b) → K, Qnf :=

n∑

j=0

ωjf(xj) (6.3)

heißt Quadraturformel auf (a, b) der Lange n ∈ N (oder: vom Grad n). Im Folgenden wirdder Index n immer die Lange (d.h. die Anzahl an Stutzstellen ist n + 1) der Quadraturformel Qn

bezeichnen. Qn hat Exaktheitsgrad m ∈ N0 (oder: ist exakt vom Grad m ∈ N0), falls Polynomevom Grad m noch exakt integriert werden, d.h.

Qnp = Qp fur alle p ∈ Pm(a, b). (6.4)

82

Page 87: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Das folgende Lemma stellt erste triviale Eigenschaften von Quadraturformeln zusammen.

Lemma 6.1. (i) Q,Qn sind lineare und stetige Funktionale auf Cb(a, b), d.h. Q,Qn ∈ Cb(a, b)∗,

und fur die Operatornormen gelten ‖Q‖ = ‖ω‖L1(a,b), ‖Qn‖ =∑n

j=0 |ωj |.(ii) Der maximale Exaktheitsgrad von Qn ist 2n + 1.(iii) Ist Qn exakt auf P2n+1, so gibt es kein Polynom p ∈ P2n+2 vom Grad 2n+ 2 mit Qp = Qnp.(iv) Ist Qn exakt vom Grad 0, so folgt

∑nj=0 ωj = ‖ω‖L1(a,b).

(v) Im Spezialfall ω(x) = 1 und a, b ∈ R gilt∑n

j=0 ωj = b−a und∑n

j=0 ωjxj = (b2−a2)/2, sofernQn exakt vom Grad 1 ist.

Beweis. (i) Offensichtlich sind Q,Qn lineare Funktionale, und es ist lediglich die Operatornormzu berechnen. Mit Holder-Ungleichung gilt

|Qf | ≤ ‖f‖L∞(a,b)‖ω‖L1(a,b),

also ‖Q‖ ≤ ‖ω‖L1(a,b). Mit der konstanten 1l-Funktion folgt Gleichheit Q1l = ‖ω‖L1(a,b). Fur Qn

folgt mit Dreiecksungleichung

|Qnf | ≤n∑

j=0

|ωj||f(xj)| ≤ ‖f‖∞n∑

j=0

|ωj|, (6.5)

also ‖Qn‖ ≤∑nj=0 |ωj |. Um die Gleichheit zu zeigen, mussen wir wieder eine Funktion f ∈ Cb(a, b)

mit ‖f‖∞ = 1 und Qnf =∑n

j=0 |ωj | konstruieren. Ohne Beschrankung der Allgemeinheit giltx0 < · · · < xn. Nun wahle f auf [x0, xn] als affinen Spline mit der Eigenschaft

|f(xj)| = 1, f(xj)ωj = |ωj| fur alle j = 0, . . . , n

und setze f auf (a, x0] und [xn, b) konstant fort. Dann gilt offensichtlich f ∈ Cb(a, b) und |f(x)| ≤ 1fur alle x ∈ (a, b) mit Gleichheit in (6.5).

(ii) Zum Beweis mussen wir lediglich ein Polynom p ∈ P2n+2 konstruieren, das nicht exakt integriertwird. Definiere

p(x) =

n∏

j=0

(x− xj)2 ∈ P2n+2. (6.6)

Dann gilt Qnp = 0. Andererseits gilt p(x)ω(x) > 0 fur fast alle x ∈ (a, b) und deshalb Qp > 0.

(iii) Das Residuum Rn := Q−Qn : P2n+2 → K ist eine lineare Abbildung und erfullt Rn|P2n+1 = 0.Sei B ⊆ P2n+1 eine Basis. Ist q ein Polynom vom Grad 2n+ 2, so ist B ∪ q eine Basis von P2n+2.Ware Rnq = 0, so folgte deshalb Rn|P2n+2 = 0. Andererseits gilt aber Rnp > 0 mit dem Polynomp ∈ P2n+2 aus (6.6).

(iv) Die konstante Funktion 1l ∈ P0 wird exakt integriert. Es gilt ‖ω‖L1(a,b) = Q1l = Qn1l =∑n

j=0 ωj.

(v) Nach (iv) gilt∑n

j=0 ωj = b − a. Die identische Funktion ist in P1 und wird deshalb exakt

integriert, d.h. es gilt∑n

j=0 ωjxj =∫ ba x dx = b2/2 − a2/2.

83

Page 88: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Bemerkung. Bisweilen ist in der Literatur (z.B. Plato [5]) der Laufindex j = 1, . . . , n stattj = 0, . . . , n. Das hat naturlich Konsequenzen fur den optimalen Exaktheitsgrad in (ii), (iii). DieGauß’schen Quadraturformeln haben maximalen Exaktheitsgrad 2n+ 1, siehe Abschnitt 6.3.

Bemerkung. In der Literatur werden Quadraturformeln auf Standardintervallen gegeben, z.B. aufdem Intervall [0, 1] oder auf [−1, 1], siehe z.B. Abramovitz oder Secrest, Stroud. Um darausQuadraturformeln auf [a, b] fur a, b ∈ R zu erhalten, nutzt man Transformationen, z.B.

Φ : [−1, 1] → [a, b], Φ(t) =1

2

a+ b+ t(b− a)

. (6.7)

Mit Transformationssatz gilt dann

∫ b

afω dx =

∫ 1

−1f(Φ(t))ω(Φ(t)) |detDΦ(t)| dt =

b− a

2

∫ 1

−1f(Φ(t))ω(Φ(t)) dt.

Ist Qng =∑n

j=0 ωjg(xj) eine Quadraturformel auf [−1, 1] zur Gewichtsfunktion ω Φ, so definiertQnf :=

∑nj=0 ωjf(xj) mit ωj = (b − a)ωj/2 und xj := Φ(xj) eine Quadraturformel auf [a, b]. Da

die Abbildung Φ affin ist, hat Qn denselben Exaktheitsgrad wir Qn.

Der folgende Satz beweist die Konvergenz von Quadraturformeln, sofern die Polynome asympto-tisch korrekt integriert werden. Da der Beweis die Dichtigkeit von Polynomen ausnutzt, ist er aufkompakte Intervalle [a, b] mit a, b ∈ R beschrankt.

Satz 6.2. Zu a, b ∈ R und n ∈ N sei Qnf =∑n

j=0 ω(n)j f(x

(n)j ) eine Quadraturformel der Lange

n. Dann sind die folgenden beiden Aussagen aquivalent:

(i) Es gilt Qf = limn→∞

Qnf fur alle f ∈ C[a, b].

(ii) Es gilt Qp = limn→∞

Qnp fur alle Polynome p ∈ P[a, b] sowie ferner supn∈N

n∑

j=0

|ω(n)j | <∞.

Beweis. Wir betrachten den Banach-Raum X = (C[a, b], ‖·‖∞). Nach dem Satz von Weierstraßist D := P[a, b] ein dichter Teilraum von X, d.h.

∀ε > 0∀x ∈ X∃d ∈ D ‖x− d‖∞ ≤ ε. (6.8)

Mit Lemma 6.1 konnen wir die Aussagen abstrakt formulieren:

(i) limn∈N

Qnx = Qx fur alle x ∈ X.

(ii) limn∈N

Qnd = Qd fur alle d ∈ D und supn∈N

‖Qn‖X∗ <∞.

Nach dem Satz von Banach-Steinhaus gilt

C := supn∈N

‖Qn‖X∗ <∞ ⇐⇒ ∀x ∈ X supn∈N

|Qnx| <∞,

d.h. Beschranktheit bezuglich der Operatornorm (sog. gleichmaßige Beschranktheit) ist aquivalentzur punktweisen Beschranktheit. Daraus folgt unmittelbar die Implikation (i) ⇒ (ii). Fur die um-gekehrte Implikation seien x ∈ X und ε > 0. Nach (6.8) existiert ein d ∈ D mit ‖x− d‖∞ ≤ ε/M

84

Page 89: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

mit M := 2(‖Q‖X∗ + C). Wegen (ii) existiert ein n0 ∈ N mit ‖Qnd−Qd‖∞ ≤ ε/2 fur alle n ≥ n0.Es folgt

|Qx−Qnx| ≤ |Qx−Qd| + |Qd−Qnd| + |Qnd−Qnx| ≤ ‖x− d‖∞(‖Q‖X∗ + C) + ε/2 ≤ ε.

Dies zeigt die behauptete Konvergenz.

Bemerkung. Fur ein unbeschranktes Intervall (a, b) ist die Bedingung (ii) eine notwendige Bedin-gung, denn X = Cb(a, b) ist ein abgeschlossener Unterraum von L∞(a, b) und deshalb vollstandig.Man kann also den Beweis der Implikation (i) ⇒ (ii) ubernehmen.

Bemerkung. Die erste Bedingung in (ii)

Qp = limn→∞

Qnp fur alle p ∈ P(a, b)

ist fur interpolatorische Quadraturformeln Qn erfullt, siehe Abschnitt 6.2. Die zweite Bedingung

supn∈N

n∑

j=0

|ω(n)j | <∞

ist schwieriger zu erfullen, da auch negative Gewichte auftreten konnen. Fur die Gaußschen Qua-draturformel aus Abschnitt 6.3 sind aber die Gewichte positiv, und deshalb folgt

n∑

j=0

|ω(n)j | =

n∑

j=0

ω(n)j = ‖ω‖L1(a,b)

nach Lemma 6.1.

6.2 Interpolatorische Quadraturformeln

Wir verwenden die Notation aus Abschnitt 6.1 mit K ∈ R,C.

Definition. Eine Quadraturformel Qn ist interpolatorisch (oder: Interpolationsquadratur)

auf (a, b), falls fur jede stetige Funktion f ∈ Cb(a, b) mit∫ b1 |f |ω dx <∞ gilt

Qnf = Qp,

wobei p ∈ Pn das eindeutige Lagrange-Interpolationspolynom mit p(xj) = f(xj) fur alle j = 0, . . . , nist.

Im Folgenden bezeichnen wieder Lj ∈ Pn fur j = 0, . . . , n die Lagrange-Polynome

Lj(x) =n∏

k=0j 6=k

x− xk

xj − xk.

Der folgende Satz zeigt insbesondere, dass zu gegebenen Stutzstellen xj eine eindeutige Interpo-lationsquadratur existiert. Wenn der Exaktheitsgrad von Qn maximal werden soll, so muss Qn

zwangslaufig als Interpolationsquadratur gewahlt werden.

85

Page 90: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Satz 6.3. Fur eine Quadraturformel Qnf =∑n

k=0 ωkf(xk) sind aquivalent:(i) Qn ist interpolatorisch.

(ii) Fur die Gewichte ωj gilt ωj =∫ ba Ljω dx.

(iii) Qn ist mindestens exakt vom Grad n.

Beweis. (i) ⇒ (ii): Nach Voraussetzung gilt fur die Lagrange-Polynome gerade

∫ b

aLjω dx = Q(Lj) = Qn(Lj) =

n∑

k=0

ωkLk(xj) = ωj.

(ii) ⇒ (i): Das Interpolationspolynom p ∈ Pn ist gegeben durch p =∑n

j=0 f(xj)Lj . Mit ωj =∫ ba Ljω dx gilt also Qnf = Qp.

(ii) ⇒ (iii): Nach Definition ist Qn exakt fur alle Lagrange-Polynome. Da die Lagrange-PolynomeL0, . . . , Ln eine Basis von Pn bilden, ist Qn aufgrund der Linearitat schon exakt auf Pn.(iii) ⇒ (ii): Da Qn exakt vom Grad n ist, werden insbesondere die Lagrange-Polynome exaktintegriert.

Beispiel (Abgeschlossene Newton-Cotes-Formeln). Die Interpolationsquadraturen Qn aufeinem kompakten Intervall [a, b] zu den aquidistanten Knoten xj := a+(b−a) j/n und j = 0, . . . , nnennt man abgeschlossene Newton-Cotes-Formeln. Einige dieser Formeln haben spezielle Namen:

• Trapezregel fur n = 1.

• Simpson-Regel oder Kepler’sche Fassregel fur n = 2.

• Newton’sche 3/83/83/8-Regel fur n = 3.

• Milne-Regel fur n = 4.

Beispiel (Offene Newton-Cotes-Formeln). Bei den abgeschlossenen Newton-Cotes-Formelnsind die Intervallgrenzen a, b ∈ R Stutzstellen. Dies verbietet die Anwendung fur Integranden mitschwacher Singularitat am Rand. Als offene Newton-Cotes-Formeln bezeichnet man die Interpola-tionsquadraturen Qn auf [a, b] zu den aquidistanten Knoten xj := a + (b − a)(j + 1)/(n + 2) furj = 0, . . . , n, d.h. a, b sind gerade keine Stutzstellen der Quadraturformel.

Beispiel (MacLaurin-Formeln). Die Interpolationsquadraturen Qn zu den aquidistanten Kno-ten xj := a+ (b− a)(j + 1/2)/(n + 1) bezeichnet man als MacLaurin-Formeln.

Bemerkung. Die Gewichte ωj einer Interpolationsquadratur Qn konnen durch Losen eines linearenGleichungssystems berechnet werden. Es sei p0, . . . , pn eine Basis von Pn. Es gilt

∫ b

apjω dx =

n∑

k=0

pj(xk)ωk fur alle j = 0, . . . , n.

Diese Gleichung lasst sich als lineares Gleichungssystem formulieren:

p0(x0) · · · p0(xn)...

...pn(x0) · · · pn(xn)

ω0...ωn

=

∫ ba p0ω dx

...∫ ba pnω dx.

(6.9)

86

Page 91: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Die Matrix auf der linken Seite von (6.9) ist eine transponierte Vandermonde-Matrix und deshalbregular, vgl. Satz 4.2. Das Gleichungssystem hat als eindeutige Losung den Vektor (ω0, . . . , ωn) ∈R

n+1.

MatlabMatlabMatlab-Beispiel:

Wir betrachten das kompakte Intervall [0, 1] mit der Monombasis und Gewichtsfunktion ω(x) = 1.Das Gleichungssystem (6.9) lautet nun

1 · · · 1x1

0 · · · x1n

......

xn0 · · · xn

n

ω0......ωn

=

11/2...

1/(n + 1)

,

und fur xj = j/n erhalten wir die Gewichte der zugehorigen abgeschlossenen Newton-Cotes-Gewichte. Die folgende Matlab-Funktion berechnet die Stutzstellen xj und die zugehorigen Ge-wichte ωj.

function [x,omega] = ClosedNewtonCotes(n)

x = [0:n] / n;

A = ( ones(n+1,1)*x ) .^ ( [0:n]’*ones(1,n+1) );

b = 1 ./ [1:n+1]’;

omega = A\b;

Fur n ≥ 8 treten auch negative Gewichte auf. Der Satz von Kusmin besagt sogar, dass gilt

limn→∞

n∑

j=0

|ω(n)j | = ∞,

d.h. nach Satz 6.2 bekommen wir also im Allgemeinen keine Konvergenz der Quadratur Qnf gegendas Integral Qf .

Bemerkung. Wie bei der Polynominterpolation ist ein hoher Grad n ∈ N nur fur glatte Funktionensinnvoll. Im allgemeinen bewahrt es sich aber eher, das Integrationsgebiet zu zerlegen,

∫ b

af dx =

N∑

j=0

∫ bj

aj

f dx mit a = a0 < b0 = a1 < · · · < bN = b,

und auf den Teilintervallen Quadraturformeln niederer Ordnung zu betrachten. Man erhalt dannsogenannte summierte Quadraturformeln. Dies ist quasi das Analogon zur Interpolation mitSplines anstatt polynomialer Interpolation.

Der folgende Satz gilt fur alle bisherigen Beispiele. Wir sehen, dass man unter gewissen Voraus-setzungen an die Stutzstellen und die Gewichtsfunktion einen hoheren Exaktheitsgrad erhalten

87

Page 92: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

kann.

Satz 6.4. Es seien a, b ∈ R, und es gelten die Symmetriebedingungen xj = a + b − xn−j furj = 0, . . . , n sowie ω(x) = ω(a + b − x) fur fast alle x ∈ [a, b]. Ferner sei Qnf :=

∑nj=0 ωjf(xj)

die induzierte Interpolationsquadratur. Dann gelten:(i) Die Gewichte von Qn sind ebenfalls symmetrisch, d.h. ωj = ωn−j fur j = 0, . . . , n.(ii) Ist n gerade, so ist Qn exakt auf Pn+1.

Beweis. (i) Wir betrachten die Quadraturformel Qnf :=∑n

j=0 ωn−jf(xj). Wir zeigen, dass

Qn exakt ist auf Pn. Dann folgt mit der Eindeutigkeit der Interpolationsquadratur die GleichheitQn = Qn und Einsetzen der Lagrange-Polynome zeigt (i). Dazu definieren wir die Polynome

pk(x) =(x− (a+ b)/2

)ksowie pk(x) = pk(a+ b− x) fur k = 0, . . . , n. (6.10)

Es gilt pk(x) =((a+ b)/2 − x

)k= (−1)kpk(x) und deshalb mit der Symmetrie der Knoten

Qnpk =

n∑

j=0

ωn−jpk(xj) =

n∑

ℓ=0

ωℓpk(xn−ℓ) =

n∑

ℓ=0

ωℓpk(xℓ) = Qnpk = Qpk.

Nun nutzen wir die Symmetrie der Gewichtsfunktion ω(x) und Substitution und erhalten

Qpk =

∫ b

apk(a+ b− x)ω(x) dx =

∫ b

apk(a+ b− x)ω(a+ b− x) dx =

∫ b

apk(y)ω(y) dy = Qpk.

Es folgt Qnpk = Qpk, und da p0, . . . , pn eine Basis von Pn bilden, ist Qn exakt auf Pn. Wie bereitsvorausgenommen, folgt die Behauptung.

(ii) Es sind lediglich die Gleichheiten Qnpn+1 = 0 = Qpn+1 zu zeigen. Da n gerade ist und aufgrundder Symmetrie der xj, folgt xn/2 = (a+ b)/2. Insbesondere gilt mit pn+1(xn/2) = 0

Qnpn+1 =

n/2∑

j=1

ωn/2−j

(xn/2−j − (a+ b)/2

)n+1+

n/2∑

j=1

ωn/2+j

(xn/2+j − (a+ b)/2

)n+1

=

n/2∑

j=1

ωn/2−j

(xn/2−j − (a+ b)/2

)n+1+

n/2∑

j=1

ωn/2+j

((a+ b)/2 − xn/2−j

)n+1

Mit ωn/2−j = ωn/2+j und(xn/2−j − (a + b)/2

)= (−1)

((a + b)/2 − xn/2−j

)sieht man, dass die

beiden Summen bis auf Vorzeichen ubereinstimmen, denn n+ 1 ist ungerade. Wie behauptet folgtQnpn+1 = 0. Fur das Integral gilt mit pn+1 = −pn+1 und Substitution

Qpn+1 =

∫ b

apn+1(x)ω(x) dx = −

∫ b

apn+1(x)ω(x) dx

= −∫ b

apn+1(a+ b− x)ω(a+ b− x) dx

= −∫ b

apn+1(y)ω(y) dy = −Qpn+1,

88

Page 93: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

und deshalb folgt Qpn+1 = 0.

Aus den Fehlerabschatzungen fur die Polynominterpolation lassen sich Fehlerabschatzungen fur dieQuadratur herleiten. Wir betrachten als einfache Beispiele die Trapezregel und die Simpson-Regelfur ω(x) = 1 auf einem Kompaktum [a, b].

Satz 6.5. Es seien a, b ∈ R und Qf :=∫ ba f dx. Wir betrachten die Trapezregel (n = 1) und die

Simpson-Regel (n = 2) fur die konstante Gewichtsfunktion ω(x) = 1,

Q1f =b− a

2

[f(a) + f(b)

]und Q2f =

b− a

6

[f(a) + 2 f

(a+ b

2

)+ f(b)

]

(i) Fur eine Funktion f ∈ C2[a, b] gilt

∣∣∣Qf −Q1f∣∣∣ ≤

√2

(b− a)3

12‖f ′′‖∞.

(ii) Fur eine Funktion f ∈ C4[a, b] gilt

∣∣∣Qf −Q2f∣∣∣ ≤

√2

(b− a)5

2880‖f (4)‖∞.

Beweis. Man beachte, dass die Quadraturen Q1 und Q2 abgeschlossene Newton-Cotes-Formelnsind, insbesondere also interpolatorisch. Es sei p ∈ P1 mit f(a) = p(a) und f(b) = p(b). Dann giltQ1f = Qp sowie die Interpolationsfehlerabschatzung

|f(x) − p(x)| ≤√

2‖f ′′‖∞

2|x− a||x− b|.

Damit erhalten wir

|Q1f −Qf | ≤∫ b

a|p(x) − f(x)| dx ≤ ‖f ′′‖∞

2

∫ b

a(x− a)(b− x) dx =

‖f ′′‖∞2

(b− a)3

6.

Dies zeigt (i). Zum Beweis von (ii) sei p ∈ P3 das eindeutige Interpolationspolynom mit f(a) = p(a),f(a+b

2 ) = p(a+b2 ) und f(b) = p(b) sowie f ′(a+b

2 ) = p′(a+b2 ). Trivialerweise gilt Q2f = Q2p. Da Q2

aber auch exakt auf P3 ist (und nicht nur auf P2), folgt weiter Q2p = Qp. Insgesamt folgt

|Q2f −Qf | ≤∫ b

a|p(x) − f(x)| dx ≤

√2‖f (4)‖∞

4!

∫ b

a|x− a|

∣∣∣x− a+ b

2

∣∣∣2|x− b| dx

=(b− a)5

2880‖f (4)‖∞

aus der Abschatzung des Interpolationsfehlers fur diese Hermite-Interpolationsaufgabe.

6.3 Gauß’sche Quadraturformeln

In diesem Abschnitt sollen die sogenannten Gauß’schen Quadraturformeln hergeleitet werden, diegerade maximalen Exaktheitsgrad 2n + 1 haben. Wir verwenden die Notation aus Abschnitt 6.1,wobei die Theorie sich zunachst auf K = R beschrankt. Der Hauptsatz 6.8 gilt jedoch auch fur

89

Page 94: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

K = C und wird dann auch fur K ∈ R,C bewiesen. Zur Herleitung der Theorie definieren wir(uber R) den Innenproduktraum

H :=f : (a, b) → R integrierbar

∣∣ ‖f‖ <∞, (6.11)

mit der Norm ‖f‖ := 〈f ; f〉1/2, die durch das Skalarprodukt

〈f ; g〉 :=

∫ b

afgω dx fur f, g ∈ H (6.12)

definiert wird. Aufgrund der Zusatzvoraussetzung (6.1) gilt Pn(a, b) ⊂ H fur alle n ∈ N0. Wirverwenden nun Gram-Schmidt-Orthogonalisierung, um die sogenannten Orthogonalpolynome zuerhalten.

Das Gram-Schmidt-Verfahren zur Orthogonalisierung lasst sich leicht durch vollstandige Induktionverifizieren. Vermutlich wurde der Beweis ohnehin in der Vorlesung zur Linearen Algebra erbracht.

Lemma 6.6 (Gram-Schmidt-Orthogonalisierung). Es sei H ein Innenproduktraum undx0, . . . , xn ∈ H seien linear unabhangig. Definiert man dann induktiv

p0 := x0, pk := xk −k−1∑

j=0

〈xk ; pj〉‖pj‖2

pj fur k = 1, . . . , n.

Dann sind die Vektoren p0, . . . , pn ∈ H\0 orthogonal, d.h. es gilt 〈pj ; pk〉 = 0 fur j 6= k undinsbesondere linear unabhangig, und spanp0, . . . , pn = spanx0, . . . , xn.

Definition. Es sei (pj)j∈N0 die Folge der Polynome pj ∈ Pj, die durch Gram-Schmidt-Ortho-gonalisierung der Monome (xj)j∈N0 im (reellen) Innenproduktraum (6.11) gewonnen wird. Manbezeichnet pj als j-tes Orthogonalpolynom.

Man beachte, dass alle Orthogonalpolynome (wie die Monome) nach Definition den Leitkoeffizient1 haben. Insbesondere gilt stets p0(x) = 1.

Beispiel (Orthogonalpolynome). Modulo multiplikativer Konstanten gelten die folgenden Aus-sagen: 1

• [a, b] = [−1, 1], ω = 1 fuhrt auf die Legendre-Polynome

pn(x) =n!

(2n)!

dn

dxn

((x2 − 1)n

). (6.13)

• [a, b] = [−1, 1], ω(x) = (1 − x2)−1/2 fuhrt auf die Cebysev-Polynome

pn(x) =1

2n−1cos(n arccos x). (6.14)

1Vielleicht sollte man auch gleich die 3-Term-Rekursionen dazuschreiben, damit man die Quadraturgewichte und-stutzstellen spater auch einfach berechnen kann. Fur die Cebysev-Polynome steht das ubrigens schon in Kapitel 4.

90

Page 95: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

• [a, b] = [0,∞), ω(x) = exp(−x) fuhrt auf die Laguerre-Polynome

pn(x) = (−1)n exp(x)dn

dxn

(xn exp(−x)

). (6.15)

• [a, b] = (−∞,∞), ω(x) = exp(−x2) fuhrt auf die Hermite-Polynome.

Fur die Gauß-Quadratur der Lange n nehmen wir als Stutzstellen die n+1 Nullstellen des (n+1)-tenOrthogonalpolynoms pn+1 ∈ Pn+1. Dazu mussen wir zunachst zeigen, dass alle Nullstellen einfachsind und im offenen Intervall (a, b) liegen.

Lemma 6.7. Es seien x0, . . . , xn ∈ C die gemaß Vielfachheit gezahlten Nullstellen des Orthogo-nalpolynoms pn+1 ∈ Pn+1. Dann gelten die folgenden Aussagen:(i) Alle Nullstellen sind einfach, d.h. x0, . . . , xn sind paarweise verschieden.(ii) xj ∈ (a, b), d.h. die Nullstellen sind reell und liegen im Inneren des Integrationsintervalls.(iii) Mit dem zu xj gehorigen Lagrange-Polynom gilt xj = 〈xLj ; Lj〉/‖Lj‖2.

Beweis. Es seien x0, . . . , xk die paarweise verschiedenen reellen Nullstellen ungerader Vielfachheitvon pn+1 und q(x) :=

∏kj=0(x − xj) bzw. q(x) := 1, falls keine solchen Nullstellen existieren.

Insbesondere hat das Polynom p := pn+1q keinen Vorzeichenwechsel in (a, b). Wir nehmen an, esgilt k < n und fuhren dies zum Widerspruch: Wegen k < n gilt q ∈ Pn und deshalb 0 = 〈pn+1 ; q〉 =∫ ba pn+1qω dx. Da ωpn+1q = ωp keinen Vorzeichenwechsel in (a, b) hat, folgt ωp = 0 fast uberall

in (a, b). Da p nicht-trivial ist, musste also ω = 0 fast uberall gelten. Dieser Widerspruch zeigtk = n, und es folgen (i) und (ii). Um (iii) zu zeigen, verwenden wir Polynomdivision und erhaltenein Polynom q ∈ Pn\0 mit pn+1 = (x− xj)q. Es folgt

0 = 〈pn+1 ; q〉 = 〈xq ; q〉 − xj〈q ; q〉und deshalb xj = 〈xq ; q〉/‖q‖2. Die Polynome q und Lj haben dieselben Nullstellen. Deshalbexistiert eine Konstante c 6= 0 mit q = cLj . Einsetzen zeigt die Behauptung.

Im folgenden Hauptsatz uber die Gauß-Quadratur lassen wir wieder den Fall K ∈ R,C zu.Die eindeutige Gauß-Quadraturformel Qn hat maximalen Exaktheitsgrad 2n + 1 und ist daherinsbesondere interpolatorisch. Dies liefert im Beweis die Eindeutigkeit. Qn ist ferner numerischgunstig, da alle Gewichte ωj positiv sind. Wegen

∑nj=0 |ωj| =

∑nj=0 ωj = ‖ω‖L1(a,b) ist (zumindest

fur a, b ∈ R) die erste Voraussetzung im Konvergenzsatz 6.2 erfullt. Die zweite Voraussetzung istklar, da Qn interpolatorisch ist, d.h. es gilt Konvergenz Qnf → Qf fur alle f ∈ C[a, b], a, b ∈ R.

Satz 6.8 (Existenz und Eindeutigkeit der Gauß-Quadratur). (i) Es existiert eine eindeu-tige Quadraturformel Qn der Lange n auf (a, b) mit maximalem Exaktheitsgrad 2n+ 1.(ii) Die Knoten xj von Qn sind die n+ 1 Nullstellen des Orthogonalpolynoms pn+1 ∈ Pn+1.

(iii) Die Gewichte ωj von Qn erfullen ωj =∫ ba Ljω dx =

∫ ba L

2jω dx > 0 mit den Lagrange-

Polynomen Lj.(iv) Fur a, b ∈ R und f ∈ C2n+2[a, b] gilt

|Qf −Qnf | ≤√

2‖f (2n+2)‖∞(2n + 2)!

∫ b

aω(x)

n∏

j=0

(x− xj)2 dx (6.16)

91

Page 96: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Beweis der Existenz. Wir definieren Qnf :=∑n

j=0 ωjf(xj) mit xj den Nullstellen von pn+1

und ωj :=∫ ba Ljω dx, wobei die Interpolationsgewichte durch die Stutzstellen und den gewunschten

Exaktheitsgrad 2n + 1 ≥ n eindeutig festgelegt sind. Nun ist fur q ∈ P2n+1 noch Qnq = Qq zuzeigen. Nach Polynomdivision existieren Polynome α, β ∈ Pn mit q = αpn+1 + β. Es gilt

Qq = 〈q ; 1〉 = 〈α ; pn+1〉︸ ︷︷ ︸=0

+〈β ; 1〉 = Qβ.

Ferner gilt Qnq = Qnβ, denn Qn(αpn+1) = 0 aufgrund von pn+1(xj) = 0. Nach Definition ist Qn

interpolatorisch und damit exakt auf Pn, also folgt Qnq = Qnβ = Qβ = Qq.

Beweis der Eindeutigkeit. Es sei Qn =∑n

j=0 ωjf(xj) eine weitere Quadraturformel mit Exakt-heitsgrad 2n+ 1. Wir zeigen nun xj ∈ x0, . . . , xn fur alle j = 0, . . . , n. Dann folgt x0, . . . , xn =

x0, . . . , xn und damit Qn = Qn, denn die Gewichte sind durch die Stutzstellen eindeutig festge-legt. Um zu zeigen, dass xj auch Stutzstelle von Qn ist, definieren wir das Polynom

q(x) := n∏

k=0

(x− xk) n∏

k=0k 6=j

(x− xk)∈ P2n+1.

Dann gilt

0 = Qnq = Qq = Qnq = ωjq(xj) = ωj︸︷︷︸6=0

n∏

k=0

(xj − xk) n∏

k=0k 6=j

(xj − xk)

︸ ︷︷ ︸6=0

,

und daher existiert ein Index k = 0, . . . , n mit xk = xj , was den Beweis der Eindeutigkeit beschließt.

Beweis der zusatzlichen Eigenschaften. (i) und (ii) sind bereits bewiesen, und es gilt

ωj =∫ ba Ljω dx = Q(Lj) = Qn(Lj). Wegen Lj(xk) = δjk = L2

j(xk) folgt Qn(Lj) = Qn(L2j ), und

aufgrund von L2j ∈ P2n erhalten wir also ωj = Qn(Lj) = Qn(L2

j) = Q(L2j) =

∫ ba L

2jω dx > 0.

Dies zeigt (iii). Um (iv) zu zeigen, sei q ∈ P2n+1 das eindeutige Hermite-Interpolationspolynommit q(xj) = f(xj) und q′(xj) = f ′(xj) fur 0 ≤ j ≤ n. Nach Fehlerabschatzung fur das Hermite-Interpolationsproblem gilt

|f(x) − q(x)| ≤√

2‖f (2n+2)‖∞(2n + 2)!

n∏

j=0

(x− xj)2 fur x ∈ [a, b].

Mit Qnf = Qnq = Qq erhalten wir also

|Qf −Qnf | =∣∣∣∫ b

af(x) − q(x)ω(x) dx

∣∣∣ ≤√

2‖f (2n+2)‖∞(2n+ 2)!

∫ b

aω(x)

n∏

j=0

(x− xj)2 dx

aus der Monotonie des Integrals.

92

Page 97: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Berechnung von Gauß’schen Quadraturformeln

Zum Abschluss dieses Abschnitts wollen wir noch kurz zeigen, dass die numerische Berechnungvon Gauß’schen Quadraturformeln auf ein Eigenwertproblem mit symmetrischer Tridiagonalmatrix

A ∈ R(n+1)×(n+1)sym fuhrt. Der Beweis basiert im Wesentlichen auf der folgenden 3-Term-Rekursion

zur Berechnung der Orthogonalpolynome.

Lemma 6.9 (3-Term-Rekursion fur Orthogonalpolynome). Das Orthogonalpolynom pj

ist eindeutig durch die folgende 3-Term-Rekursion

p0(x) := 1, p1(x) := x− β0, pn+1(x) := (x− βn)pn(x) − γ2npn−1(x) fur n ≥ 1 (6.17)

mit (reellen) Koeffizienten βn := 〈xpn ; pn〉/‖pn‖2, γn := ‖pn‖/‖pn−1‖ gegeben.

Beweis. Der Beweis wird durch Induktion nach n gefuhrt. Der Induktionsanfang n = 0, 1 istklar. Im Induktionsschritt definieren wir fur n ≥ 1 das Polynom

qn+1(x) := (x− βn)pn(x) − γ2npn−1(x)

und zeigen, dass qn+1 mit dem Orthogonalpolynom pn+1 aus dem Gram-Schmidt-Verfahren uberein-stimmt. Offensichtlich haben qn+1, pn+1 ∈ Pn+1 den Leitkoeffizienten 1, also ist r := pn+1 − qn+1 ∈Pn. Damit ist nur noch zu zeigen, dass r ∈ P

⊥n ist (mit Orthogonalitat bezuglich dem Skalarprodukt

in H), und es folgt daraus r = 0. Nach Definition des Gram-Schmidt-Verfahrens gilt pn+1 ∈ P⊥n ,

also ist nur noch qn+1 ∈ P⊥n zu zeigen. Dazu mussen wir nur nachweisen, dass qn+1 orthogonal ist

zu p0, . . . , pn, denn diese bilden eine Basis von Pn:

• Fur k = 0, . . . , n− 2 gilt

〈qn+1 ; pk〉 = 〈pn ; xpk〉︸ ︷︷ ︸=0

−βn 〈pn ; pk〉︸ ︷︷ ︸=0

−γ2n 〈pn−1 ; pk〉︸ ︷︷ ︸

=0

= 0.

• Fur k = n− 1 gilt

〈qn+1 ; pn−1〉 = 〈pn ; xpn−1〉 − βn 〈pn ; pn−1〉︸ ︷︷ ︸=0

− γ2n〈pn−1 ; pn−1〉︸ ︷︷ ︸

=〈pn ; pn〉

= 〈pn ; xpn−1 − pn︸ ︷︷ ︸∈Pn−1

〉 = 0.

• Fur k = n gilt

〈qn+1 ; pn〉 = 〈xpn ; pn〉 − βn〈pn ; pn〉︸ ︷︷ ︸=0

−γ2n 〈pn−1 ; pn〉︸ ︷︷ ︸

=0

= 0.

Insgesamt folgt also qn+1 ∈ P⊥n , also r = pn+1 − qn+1 ∈ P

⊥n ∩ Pn und deshalb pn+1 = qn+1.

93

Page 98: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Satz 6.10. Mit den Konstanten der 3-Term-Rekursion (6.17) sind die Eigenwerte der Matrix

A =

β0 −γ1 0 . . . 0

−γ1 β1 −γ2. . .

...

0 −γ2. . .

. . . 0...

. . .. . .

. . . −γn

0 . . . 0 −γn βn

∈ R(n+1)×(n+1)sym (6.18)

genau die Nullstellen x0, . . . , xn des (n+1)-ten Orthogonalpolynoms pn+1. Die zugehorigen Gauß-Gewichte werden gegeben durch

ωk =(∫ b

aω dx

)( n∑

j=0

τ2j p

2j(xk)

)−1fur k=0,. . . ,n (6.19)

mit τ0 := 1 und τj = (−1)j/(γ1 · · · γj) fur j = 1, . . . , n.

Beweis. Aus notationstechnischen Grunden werden Vektoren und Matrizen im Beweis mit j, k =0, . . . , n indiziert, und wir definieren τn+1 := 0.1. Schritt. Mit v(k) :=

(τjpj(xk)

)nj=0

∈ Rn+1 gilt Av(k) = xkv

(k), d.h. v(k) ist Eigenvektor zum

Eigenwert xk, denn v(k)0 = τ0p0(xk) = 1, d.h. v(k) 6= 0. Mit (6.17) fur p1(x) gilt

(Av(k))0 = β0 v(k)0︸︷︷︸=1

−γ1v(k)1 = β0 − γ1τ1︸︷︷︸

=−1

p1(xk)︸ ︷︷ ︸=xk−β0

= xk = xkv(k)0 .

Fur j = 1, . . . , n− 1 folgt mit (6.17) fur pj+1(x)

(Av(k))j = −γjv(k)j−1 + βjv

(k)j − γj+1v

(k)j+1

= − γjτj−1︸ ︷︷ ︸=−γ2

j τj

pj−1(xk) + βjτjpj(xk) − γj+1τj+1︸ ︷︷ ︸=−τj

pj+1(xk)

= τjγ2

j pj−1(xk) + βjpj(xk) + pj+1(xk)︸ ︷︷ ︸=xkpj(xk)

= τjxkpj(xk) = xkv(k)j .

Dasselbe Argument mit τn+1 = 0 zeigt (Av(k))n = xkv(k)n , d.h. Av(k) = xkv

(k).

2. Schritt. Es gilt v(j) · v(k) = 0 fur j 6= k, denn Eigenvektoren symmetrischer Matrizen zuverschiedenen Eigenwerten sind orthogonal: Aus xj 6= xk folgt wegen

xjv(j) · v(k) = Av(j) · v(k) = v(j) ·Av(k) = xkv

(j) · v(k)

umgehend v(j) · v(k) = 0.

3. Schritt. Es gilt ωk =( ∫ b

a ω dx)/‖v(k)‖2

2. Fur j = 0, . . . , n gilt mit der Gauß-Quadratur Qn

δj0

∫ b

aω dx = 〈pj ; p0〉 =

∫ b

apjω dx = Qpj = Qnpj =

n∑

ℓ=0

ωℓpj(xℓ).

94

Page 99: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 6. QUADRATUR

Wegen τ20 p0(xk) = 1 fur alle k = 0, . . . , n ergibt sich fur fixiertes k

∫ b

aω dx =

n∑

j=0

τ2j pj(xk)

n∑

ℓ=0

ωℓpj(xℓ) =

n∑

ℓ=0

ωℓ

n∑

j=0

τ2j pj(xk)pj(xℓ) =

n∑

ℓ=0

ωℓ v(k) · v(ℓ)

= ωk‖v(k)‖22

nach Schritt 2.

Fur großes n erfolgt die Berechnung der xk numerisch. Verfahren werden in der Vorlesung Nu-merik von Differentialgleichungen vorgestellt bzw. finden sich in der einfuhrenden Literatur zurNumerischen Mathematik, z.b. Plato [5, Kapitel 12,13].

95

Page 100: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Kapitel 7

Iterative Losung von linearen undnichtlinearen Gleichungssystemen

7.1 Fixpunktprobleme

Im folgenden Abschnitt bezeichnet das Tripel (X,Φ, x∗) ein Iterationsverfahren: X ist ein me-trischer Raum, Φ : X → X ist die Iterationsvorschrift und x∗ ∈ X ist die gesuchte Losung, d.h.ein Fixpunkt x∗ = Φ(x∗) von Φ. Zu einem Startwert x0 ∈ X definieren wir die Iteriertenfolge(xk)k∈N induktiv durch xk := Φ(xk−1).

Bemerkung. Ist x = limk→∞

xk der Limes der Iteriertenfolge und Φ stetig bei x, so gilt Φ(x) =

limk→∞

Φ(xk) = limk→∞

xk+1 = x, d.h. x ist Fixpunkt von Φ.

Ist X ein normierter Raum und F : X → X, so wird die Losung eines Gleichungssystems F (x∗) = 0[gegeben als Nullstellenproblem] als Fixpunktproblem umformuliert: Mit Φ(x) := x − F (x) giltoffensichtlich genau dann Φ(x) = x, wenn auch F (x) = 0 gilt.

Beispiel. Die nicht-lineare Gleichung x2 + exp(x) = 2 hat eine eindeutige Losung x∗ > 0. Esgilt x∗ ≈ 0.53627. Um x∗ iterativ zu berechnen, kann das Problem auf verschiedene Weisen inFixpunktform geschrieben werden, z.B.

Φ1(x) = x±(x2 + exp(x) − 2

), Φ2(x) =

√2 − exp(x), Φ3(x) = log(2 − x2).

Leider erweisen sich die Iterationsverfahren zu Φ1 und Φ2 als nicht konvergent. Lediglich die Itera-tionsvorschrift Φ3 fuhrt auf eine konvergente Iteriertenfolge. Dies hangt, wie wir mit Satz 7.3 sehen

werden, mit den Ableitungen Φ(k)ℓ (x∗) zusammen. Es gilt

Φ′1(x) = 1 ±

(2x+ exp(x)

), Φ′

2(x) = − exp(x)

2√

2 − exp(x), Φ′

3(x) = − 2x

2 − x2

und deshalb Φ′1(x

∗) ≈ 1 ± 2.79, Φ′2(x

∗) ≈ 1.59 sowie Φ′3(x

∗) ≈ 0.63.

Beispiel (Richardson-Iteration). Ist A ∈ Kn×n eine regulare Matrix und b ∈ K

n, so gilt

Ax∗ = b ⇐⇒ 0 = F (x∗) := Ax∗ − b ⇐⇒ x∗ = Φ(x∗) := (III −A)x∗ + b.

96

Page 101: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Wir werden spater mit Hilfe des Banach’schen Fixpunktsatzes beweisen, dass die Richardson-Iteration genau dann gegen den eindeutigen Fixpunkt x∗ von Φ konvergiert, wenn der Spektralradiusρ(III −A) < 1 erfullt, vgl. Satz 7.9.

Satz 7.1 (Banach’scher Fixpunktsatz). Es sei X ein vollstandiger metrischer Raum undΦ : X → X eine Kontraktion, d.h. es existiert eine Lipschitz-Konstante L < 1 mit

d(Φ(x),Φ(y)) ≤ Ld(x, y) fur alle x, y ∈ X. (7.1)

Dann existiert ein eindeutiges x∗ ∈ X mit Φ(x∗) = x∗, und unabhangig vom Startwert x0 ∈ Xkonvergiert die Iteriertenfolge xk := Φ(xk−1) gegen x∗. Es gelten also insbesondere

d(xk, x∗) ≤ Ld(xk−1, x

∗) (7.2)

sowie die beiden Fehlerabschatzungen

d(xk, x∗) ≤ L

1 − Ld(xk, xk−1) ≤

Lk

1 − Ld(x1, x0). (7.3)

Beweis. Φ hat hochstens einen Fixpunkt, denn aus der Kontraktivitat

d(x∗, y∗) = d(Φ(x∗),Φ(y∗)) ≤ Ld(x∗, y∗)

folgt notwendig x∗ = y∗. Wir haben bereits gesehen, dass die Iteriertenfolge gegebenenfalls gegeneinen Fixpunkt von Φ konvergiert. Da X vollstandig ist, ist also nur noch zu zeigen, dass dieIteriertenfolge fur jeden Startwert x0 ∈ X eine Cauchy-Folge ist. Induktiv zeigt man zunachstd(xk, xk+1) ≤ Lkd(x0, x1). Dann folgt fur Indizes m ≤ n mit Hilfe der geometrischen Reihe

d(xm, xn) ≤n−1∑

k=m

d(xk, xk+1) ≤ d(x0, x1)

n−1∑

k=m

Lk = d(x0, x1)Lm 1 − Ln−m

1 − L≤ d(x0, x1)

Lm

1 − L,

und die rechte Seite verschwindet fur m,n→ ∞. Dies zeigt die eindeutige Existenz von x∗. Um dieFehlerabschatzung (7.3) zu erhalten, nutzen wir

d(xk, x∗) = d(Φ(xk−1),Φ(x∗)) ≤ Ld(xk−1, x

∗) ≤ Ld(xk−1, xk) + Ld(xk, x∗)

und erhalten die erste Abschatzung in (7.3) durch Umordnen. Die zweite Abschatzung folgt ausd(xk−1, xk) ≤ Lk−1d(x0, x1).

Bemerkung. (i) Die zweite Abschatzung d(xk, x∗) ≤ Lk

1−L d(x1, x0) in (7.3) bezeichnet man alsa priori Fehlerabschatzung, da man ohne Kenntnis der exakten Losung x∗ zu gegebener Tole-ranz ε > 0 eine Hochstanzahl k ∈ N a priori angeben kann, sodass d(xk, x

∗) ≤ ε gilt.(ii) Die erste Abschatzung d(xk, x

∗) ≤ L1−L d(xk, xk−1) in (7.3) bezeichnet man als a posteriori

Fehlerabschatzung, da man zu gegebenem ε > 0 ohne Kenntnis von x∗ nach Berechnung vonxk weiß, ob d(xk, x

∗) ≤ ε gilt. In der Regel sind a posteriori Abschatzungen scharfer (und rea-listischer) als a priori Abschatzungen, da bei der Fehlerschatzung bereits mehr Information zurVerfugung steht.

97

Page 102: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

(iii) In der Praxis interessiert man sich fur a priori Fehlerabschatzungen, um mathematisch die Kon-vergenz eines Verfahrens garantieren zu konnen. A posteriori Fehlerabschatzungen sind notwendig,um effiziente Abbruchbedingungen (und effiziente Algorithmen) zu entwickeln.

Definition. Ein Iterationsverfahren (X,Φ, x∗) heißt(i) global konvergent, falls gilt

∀x0 ∈ X limk→∞

xk = x∗,

(ii) lokal konvergent, falls gilt

∃ε > 0∀x0 ∈ Uε(x∗) lim

k→∞xk = x∗,

(iii) linear konvergent bzw. von Konvergenzordnung p = 1p = 1p = 1, falls gilt

∃c ∈ [0, 1)∃ε > 0∀x0 ∈ Uε(x∗)∀k ∈ N d(xk, x

∗) ≤ c d(xk−1, x∗),

(iv) von Konvergenzordnung p > 1p > 1p > 1, falls gilt

∃c > 0∃ε > 0∀x0 ∈ Uε(x∗)∀k ∈ N d(xk, x

∗) ≤ c d(xk−1, x∗)p.

Iterationsverfahren von Konvergenzordnung p = 2 nennt man quadratisch konvergent. Dieoffene Umgebung Uε(x

∗) =x ∈ X

∣∣ d(x, x∗) < ε

bezeichnet man als Konvergenzbereich desIterationsverfahrens.

Mit der neu eingefuhrten Notation, konnen wir den Banach’schen Fixpunktsatz neu formulieren.

Beispiel (Banach’scher Fixpunktsatz). Eine Kontraktion Φ : X → X auf einem vollstandi-gen metrischen Raum hat einen eindeutigen Fixpunkt x∗ ∈ X. Das Iterationsverfahren (X,Φ, x∗)konvergiert global linear.

Lemma 7.2. Es sei (X,Φ, x∗) ein Iterationsverfahren der Konvergenzordnung p ≥ 1. Dann ist(X,Φ, x∗) lokal konvergent und auch von jeder Konvergenzordnung q ∈ [1, p].

Beweis. Ist (X,Φ, x∗) linear konvergent, so gilt nach Induktion

d(xk, x∗) ≤ ck d(x0, x

∗) fur alle k ∈ N,

und wegen c ∈ [0, 1) verschwindet die rechte Seite fur k → ∞. Jedes linear konvergente Verfahrenist also auch lokal konvergent. Nun sei (X,Φ, x∗) von der Konvergenzordnung p > 1. Wahle ε > 0und c > 0 gemaß Definition und setze

δ := minε, (1/2c)1/(p−1)

.

Es sei x0 ∈ Uδ(x∗). Wir zeigen induktiv, dass dann gilt

d(xk, x∗) ≤ 2−k d(x0, x

∗) ≤ δ fur alle k ∈ N0. (7.4)

98

Page 103: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Der Induktionsanfang k = 0 ist klar. Im Induktionsschritt gilt also

d(xk+1, x∗) ≤ c d(xk, x

∗)p ≤ c 2−kp d(x0, x∗)p−1d(x0, x

∗) ≤ c 2−kp δp−1 d(x0, x∗)

≤ 2−(kp+1) d(x0, x∗)

≤ 2−(k+1) d(x0, x∗) ≤ δ.

Damit ist (7.4) bewiesen, und es folgt insbesondere die lineare Konvergenz, denn

d(xk, x∗) ≤ c d(xk−1, x

∗)p−1d(xk−1, x∗) ≤ c δp−1d(xk−1, x

∗) ≤ 1

2d(xk−1, x

∗).

Dasselbe Vorgehen zeigt fur q ∈ (1, p),

d(xk, x∗) ≤ c d(xk−1, x

∗)p−qd(xk−1, x∗)q ≤ cδp−q d(xk−1, x

∗)q

und damit Konvergenz der Ordnung q.

Globale Konvergenz tritt in der Praxis bei nichtlinearen Iterationsverfahren nicht auf. Da x∗ inder Regel unbekannt ist, interessiert man sich fur Verfahren, bei denen der Konvergenzbereich(d.h. ε > 0) moglichst groß ist. Die Konvergenzordnung eines Iterationsverfahrens hangt von denAbleitungswerten Φ(k)(x∗) ab. Der folgende Satz wird hier nur fur X = R bewiesen. Er gilt auchfur X = R

d, ist dann aber wesentlich komplizierter zu beweisen, siehe z.B. Brokate [1, Abschnitt10].

Satz 7.3. Es sei (R,Φ, x∗) ein Iterationsverfahren, dessen Iterationsvorschrift Φ lokal um denFixpunkt x∗ p-mal stetig differenzierbar sei.(i) Gilt p = 1 und |Φ′(x∗)| < 1, so ist (R,Φ, x∗) linear konvergent.(ii) Gilt |Φ(k)(x∗)| = 0 fur k = 1, . . . , p− 1, so hat (R,Φ, x∗) mindestens Konvergenzordnung p.(iii) Gilt neben (i) oder (ii) zusatzlich Φ(p)(x∗) 6= 0, so hat (R,Φ, x∗) maximal die Konvergenzord-nung p, d.h. das Iterationsverfahren hat keine hohere Ordnung als p.(iv) Gilt |Φ′(x∗)| > 1, so gilt

∃C > 1∃ε > 0∀x ∈ Uε(x∗) |x∗ − Φ(x)| ≥ C |x∗ − x|. (7.5)

In diesem Fall ist die Iteriertenfolge i.a. also nicht konvergent!

Beweis. (i), (ii) Eine Taylor-Entwicklung von Φ um x∗ zeigt

Φ(x) =

p∑

k=0

Φ(k)(x∗)k!

(x− x∗)k + O(|x− x∗|p) = x∗ +Φ(p)(x∗)

p!(x− x∗)p + O(|x− x∗|p),

wobei wir die Voraussetzungen an die Ableitungen sowie x∗ = Φ(x∗) benutzt haben. Also gilt

limx→x∗

Φ(x) − x∗

(x− x∗)p=

Φ(p)(x∗)p!

,

d.h. zu ε > 0 existiert ein δ > 0, sodass gilt

∣∣∣Φ(x) − x∗

(x− x∗)p− Φ(p)(x∗)

p!

∣∣∣ ≤ ε fur alle x ∈ Uδ(x∗). (7.6)

99

Page 104: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Insbesondere folgt aus der Dreiecksungleichung

|Φ(x) − x∗| ≤ c(p, ε) |x − x∗|p mit c(p, ε) :=∣∣∣Φ

(p)(x∗)p!

∣∣∣+ ε.

Dies ist fur p > 1 gerade die Konvergenz der Ordnung p mit der Konstanten c = c(p, ε). Fur p = 1muss man ε > 0 klein genug wahlen, sodass c(1, ε) < 1 gilt.

(iii) Nach (7.6) gilt insbesondere

|Φ(x) − x∗| ≥ C(p, ε) |x− x∗|p mit C(p, ε) :=∣∣∣Φ

(p)(x∗)p!

∣∣∣− ε. (7.7)

Ohne Beschrankung der Allgemeinheit sei ε > 0 klein genug, sodass C(p, ε) > 0 gilt. Falls (R,Φ, x∗)die Konvergenzordnung q besitzt, so folgt deshalb fur xk+1 = Φ(xk)

|xk − x∗|p ≤ C(p, ε)−1|xk+1 − x∗| ≤ C(p, ε)−1c |xk − x∗|q

mit c > 0 gemaß Definition von Konvergenz der Ordnung q. Wegen limk→∞

|xk − x∗| = 0 folgt q ≤ p,

da die obere Schranke nicht schneller gegen Null konvergieren kann als die untere.

(iv) Wahlt man ε > 0 klein genug, sodass in (7.7) die Konstante C(1, ε) > 1, erfullt, so folgt (7.5)mit C = C(1, ε).

Bemerkung. Man kann das Aitkin’sche ∆2-Verfahren verwenden, um die Konvergenzordnungeines Iterationsverfahrens (R,Φ, x∗) zu erhohen, sog. Verfahren von Steffensen . Angewendetauf die Iteriertenfolge xk = Φ(xk−1) liefert das Aitkin-Verfahren (bei leichter Modifikation) unterder Voraussetzung |Φ′(x∗)| < 1 ein neues Iterationsverfahren (R,Ψ, x∗), und es gilt

• Φ hat Konvergenzordnung p = 1 =⇒ Ψ hat mindestens Konvergenzordnung 2,

• Φ hat Konvergenzordnung p > 1 =⇒ Ψ hat mindestens Konvergenzordnung 2p − 1.

Der Beweis findet sich im Buch von Stoer [7, Abschnitt 5.10].

Beispiel (Newton-Verfahren). Es sei f : R → R eine differenzierbare Funktion mit Nullstellex∗. Um diese Nullstelle zu approximieren, konstruieren wir eine Folge (xk)k∈N ausgehend von einemStartpunkt x0 ∈ R induktiv: Zu gegebenem xk sei xk+1 die Nullstelle der Tangente an den Graphenvon f im Punkt (xk, f(xk)), d.h. x = xk+1 erfullt 0 = f(xk)+f ′(xk) (x−xk). Auflosen nach x zeigt

xk+1 = Φ(xk) mit Φ(x) = x− f ′(x)−1f(x). (7.8)

Im folgenden Abschnitt werden wir das Newton-Verfahren im Rd eingehender untersuchen. Die

(lokal) quadratische Konvergenz des Newton-Verfahrens in R folgt unmittelbar aus Satz 7.3:

Korollar 7.4. Es sei f lokal um x∗ zweimal stetig differenzierbar und f(x∗) = 0 sowie f ′(x∗) 6= 0.Dann ist das Newton-Verfahren wohldefiniert und (mindestens) quadratisch konvergent.

100

Page 105: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Beweis. Wegen f ′(x∗) 6= 0 ist Φ lokal um x∗ stetig differenzierbar. Die erste Ableitung erfullt

Φ′(x) = 1 − f ′(x)2 − f(x)f ′′(x)f ′(x)2

=f(x)f ′′(x)f ′(x)2

.

Aus f(x∗) = 0 folgt Φ′(x∗) = 0, und Satz 7.3 zeigt die Behauptung.

Beispiel (Sekantenverfahren). Es sei f : R → R eine Funktion mit Nullstelle x∗. Um dieseNullstelle zu approximieren, konstruieren wir induktiv eine Folge (xk)k∈N ausgehend von zwei ver-schiedenen Punkten x0, x1 ∈ R: Zu gegebenen (verschiedenen) xk−1 und xk sei xk+1 die Nullstelleder Gerade durch die beiden Punkte (xk−1, f(xk−1)) und (xk, f(xk)), d.h. x = xk+1 erfullt

0 = f(xk) +f(xk) − f(xk−1)

xk − xk−1(x− xk),

d.h. mit der Steigung bk :=f(xk)−f(xk−1)

xk−xk−1gilt also

xk+1 = xk − b−1k f(xk). (7.9)

Im abstrakten Rahmen ist also X = R2. Das Sekantenverfahren gehort in die Klasse der Quasi-

Newton-Verfahren. Man kann zeigen, dass das Sekantenverfahren fur eine C2-Funktion f mit derOrdnung des Goldenen Schnitts (1 +

√5)/2 ≈ 1.618 konvergiert, siehe Carstensen [2, Abschnitt

3.2].

Beispiel (Bisektionsverfahren). Es sei f : [a, b] → R eine stetige Funktion mit f(a)f(b) ≤ 0.Dann hat f eine Nullstelle x∗ ∈ [a, b]. Diese kann durch Intervallhalbierung approximiert werden.Wir definieren eine Folge (ak, bk)k∈N ausgehend von (a0, b0) = (a, b) induktiv durch

ck−1 :=ak−1 + bk−1

2, und (ak, bk) =

(ak−1, ck−1), falls f(ak−1)f(ck−1) ≤ 0

(ck−1, bk−1), sonst.

Besitzt f in [a, b] eine eindeutige Nullstelle x∗, so ist das Bisektionsverfahren linear konvergentgegen (x∗, x∗), denn in jedem Schritt wird das betrachtete Intervall halbiert.

Ubung. Man formuliere das Bisektionsverfahren in abstrakter Form (X,Φ, x∗) und beweise, dass(X,Φ, x∗) linear mit Konstante c = 1/2 gegen x∗ konvergiert, sofern x∗ die einzige Nullstelle von fin [a, b] ist.

Numerische Bestimmung der Konvergenzordnung

Es sei (xk)k∈N die (konvergente) Iteriertenfolge zu einem Iterationsverfahren (X,φ, x∗) mit Startwertx0 und Konvergenzordnung p. Mit dk := d(xk, x

∗) und dem Ansatz

dk = c dpk−1 und dk−1 = c dp

k−2

erhalten wir durch Division dk/dk−1 = (dk−1/dk−2)p und deshalb

p =log(dk/dk−1)

log(dk−1/dk−2)sowie c =

dk

dpk−1

(7.10)

101

Page 106: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

In der Regel ist aber x∗ unbekannt, sodass die benotigten Werte dk−2, dk−1, dk nicht exakt berechnetwerden konnen. Mit Dreiecksungleichung gelten

d(xk, xk+1) ≤ d(xk, x∗) + c d(xk, x

∗)p und d(xk, x∗) ≤ d(xk, xk+1) + c d(xk, x

∗)p.

Im Fall p > 1 ist d(xk, x∗)p verglichen mit d(xk, x

∗) von hoherer Ordnung, und insbesondere giltasymptotisch d(xk, xk+1) ≈ d(xk, x

∗) = dk. Im Fall p = 1 gilt nach vorausgegangener Ungleichung

d(xk, xk+1) ≤ (1 + c) d(xk, x∗) und d(xk, x

∗) ≤ 1

1 − cd(xk, xk+1),

d.h. auch in diesem Fall verhalt sich d(xk, xk+1) ∼ d(xk, x∗) = dk. Mit dem Differenzenoperator

∆k := d(xk, xk+1) konnen die experimentelle Konvergenzordnung p sowie die Konstante c von(X,Φ, x∗) also durch

p =log(∆k/∆k−1)

log(∆k−1/∆k−2)und c =

∆k

∆pk−1

(7.11)

berechnet werden. Die Bestimmung benotigt also die Berechnung von vier aufeinanderfolgendenApproximationen xk−2, xk−1, xk, xk+1.

MatlabMatlabMatlab-Beispiel: Berechnung der experimentellen Konvergenzordnung

Es sei x eine Folge von skalaren Approximationen aus einem skalarwertigen Iterationsverfahren(R,Φ, x∗). Dann berechnet die folgende Matlab-Funktion die experimentelle Konvergenzordnungp sowie die Konstante c.

function [p,c] = convorder(x)

n = length(x);

p = zeros(n,1);

c = zeros(n,1);

for j = 4:n

p(j) = log( abs(x(j)-x(j-1)) / abs(x(j-1)-x(j-2)) ) / ...

log( abs(x(j-1)-x(j-2)) / abs(x(j-2)-x(j-3)) );

c(j) = abs(x(j)-x(j-1)) / abs(x(j-1)-x(j-2))^p(j);

end

Numerische Realisierung von Verfahren zur Nullstellensuche

Als Anwendung betrachten wir die numerische Bestimmung der Nullstelle x∗ ≈ 1/2 der Funktion

f(x) = x2 + exp(x) − 2. (7.12)

Die Konvergenz jedes iterativen Verfahrens lasst sich in drei Phasen unterteilen:

102

Page 107: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Schritt xxx |f(x)||f(x)||f(x)| ppp ccc

1 1.0000000000e + 00 1.7183e + 002 6.3582467285e − 01 2.9285e − 013 5.4315669270e − 01 1.6452e − 024 5.3729735863e − 01 6.3824e − 05 2.02 7.11e − 015 5.3727444952e − 01 9.7391e − 10 2.01 6.96e − 016 5.3727444917e − 01 0.0000e + 00 2.00 6.68e − 01

Tabelle 7.1: Numerische Ergebnisse zur Bestimmung der Nullstelle x∗ von f aus (7.12) mittels Newton-Verfahrenund Startwert x0 = 1. Die optimale Konvergenzordnung 2 stellt sich ein, und das Newton-Verfahren konvergiert in 6Schritten gegen die exakte Losung.

• Vorasymptotische Phase. Der Startwert x0 ist i.a. zufallig gewahlt und liegt daher inaller Regel nicht im Konvergenzbereich des Verfahrens. Es ist daher fur x0, . . . , xk−1 keineKonvergenz zu beobachten.

• Asymptotische Phase. Nach k Iterationen, liegt xk im Konvergenzbereich des Verfahrens,und die Folgenglieder xk, . . . , xℓ zeigen das asymptotische Konvergenzverhalten.

• Nachasymptotische Phase. Nach endlich vielen Iterationen unterscheiden sich die xm furm ≥ ℓ nur noch aufgrund von Rechenfehlern. Es ist also nicht mehr mit einer Verbesserungder numerischen Losung zu rechnen. Das Iterationsverfahren sollte beendet werden.

Zum Abbruch eines Iterationsverfahrens zur Nullstellenbestimmung verwenden wir die folgendeHeuristik: Wir berechnen zunachst Folgenglieder x0, . . . , xk, bis das Residuum |F (xk)| wesentlichkleiner ist als das Anfangsresiduum |F (x0)|, z.B.

• Berechne x1, . . . , xk, bis fur das Residuum gilt

|F (xk)| ≤ maxτabs, τrel|F (x0)|,

wobei die absolute und relative Toleranz τabs, τrel > 0 gegebene Parameter sind, z.B.τabs = 10−12, τrel = 10−6.

Wenn dies der Fall ist, ist davon auszugehen, dass wir bereits in die asymptotischen Phase einge-treten sind. Nun berechnen wir weitere Folgenglieder xk, . . . , xℓ, bis |F (xℓ)| hinreichend genau istund sich die Iterierten xℓ nur noch wenig unterscheiden.

• Berechne xk, . . . , xℓ, bis gilt

|F (xℓ)| ≤ τabs und |xℓ − xℓ−1| ≤ τabs max1, |xℓ|,

wobei wir bei der letzten Bedingung berucksichtigt haben, dass xℓ = 0 gelten konnte.

103

Page 108: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

MatlabMatlabMatlab-Beispiel: Newton-Verfahren

Die Funktion f sowie ihre Ableitung f ′ mussen als Matlab-Funktionen zur Verfugung stehen. SeitMatlab 7 geschieht dies fur die Funktion f aus (7.12) beispielsweise in der Form

f = @(x) x^2+exp(x)-2;

fprime = @(x) 2*x+exp(x);

Die folgende Funktion realisiert das Newton-Verfahren (inkl. Abbruchbedingung):

function x = newton_method(f,fprime,x,tau_abs,tau_rel)

while abs( f(x(end)) ) > max([tau_abs,tau_rel*abs( f(x(1)) )])

x(end+1) = newton(x(end),f,fprime);

end

while abs( f(x(end)) ) > tau_abs | ...

abs( x(end)-x(end-1) ) > tau_abs*max(1,abs(x(end)))

x(end+1) = newton(x(end),f,fprime);

end

function x = newton(x,f,fprime)

x = x - f(x)/fprime(x);

Der Aufruf x = newton_method(f,fprime,1,1e-12,1e-6); liefert die numerischen Ergebnisseaus Tabelle 7.1.

Bemerkung. Quadratische Konvergenz bedeutet asymptotisch, dass sich pro Iterationsschritt dieAnzahl der Stellen, die von xn und x∗ ubereinstimmen, verdoppelt, vgl. Tabelle 7.1. Sobald man indie asymptotische Phase eingetreten ist, sind also nur sehr wenige Iterationsschritte notig, bis derFehler ‖xn − x∗‖/‖x∗n‖ ≈ ε auf Rundungsfehlerniveau ist.

104

Page 109: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Schritt xxx |f(x)||f(x)||f(x)| ppp ccc

1 0.0000000000e + 00 1.0000e + 002 1.0000000000e + 00 1.7183e + 003 3.6787944117e − 01 4.2000e − 014 4.9203942515e − 01 1.2225e − 01 3.55 6.32e − 015 5.4301666517e − 01 1.6058e − 02 0.55 1.60e − 016 5.3709785645e − 01 4.9191e − 04 2.42 7.92e + 007 5.3727377565e − 01 1.8764e − 06 1.63 7.64e − 018 5.3727444925e − 01 2.2073e − 10 1.58 5.91e − 019 5.3727444917e − 01 0.0000e + 00 1.63 8.57e − 01

Tabelle 7.2: Numerische Ergebnisse zur Bestimmung der Nullstelle x∗ von f aus (7.12) mittels Sekanten-Verfahrenund Startwert x0 = 0, x1 = 1. Die erwartete Konvergenzrate 1.618 ist im wesentlichen sichtbar. Das Verfahrenkonvergiert in 9 Schritten gegen die exakte Losung.

Schritt xxx |f(x)||f(x)||f(x)| ppp ccc

1 5.0000000000e − 01 1.0128e − 0111 5.3759765625e − 01 9.0061e − 04 1.00 5.00e − 0121 5.3727483749e − 01 1.0818e − 06 1.00 5.00e − 0131 5.3727444960e − 01 1.1817e − 09 1.00 5.00e − 0141 5.3727444917e − 01 2.5557e − 13 1.00 5.00e − 01

Tabelle 7.3: Numerische Ergebnisse zur Bestimmung der Nullstelle x∗ von f aus (7.12) mittels Bisektionsverfahrenauf dem Intervall [0, 1]. Wie erwartet beobachten wir lineare Konvergenz mit Konstante 1/2. Nach 41 Schritten istdie Nullstelle x∗ mit einer Genauigkeit von 10−12 approximiert.

Schritt xxx |f(x)||f(x)||f(x)| ppp ccc

1 1.0000000000e + 00 1.7183e + 0011 5.4137916241e − 01 1.1467e − 02 0.97 5.66e − 0121 5.3731367149e − 01 1.0927e − 04 1.00 6.27e − 0131 5.3727482282e − 01 1.0409e − 06 1.00 6.28e − 0141 5.3727445273e − 01 9.9158e − 09 1.00 6.28e − 0151 5.3727444921e − 01 9.4457e − 11 1.00 6.28e − 0161 5.3727444917e − 01 8.9972e − 13 1.00 6.30e − 01

Tabelle 7.4: Numerische Ergebnisse zur Bestimmung der Nullstelle x∗ von f aus (7.12) mit Hilfe der IterationΦ(x) = log(2 − x2) und Startwert x0 = 1. Wir erhalten lineare Konvergenz mit einer Konstanten c ≈ 0.63 ≈ Φ′(x∗).Deshalb konvergiert das Verfahren noch langsamer als das Bisektionsverfahren. Erst nach 61 Schritten erhalten wireine Approximation von x∗ mit einer Genauigkeit von 10−12.

105

Page 110: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

MatlabMatlabMatlab-Beispiel: Einfache Iterationsverfahren

Die folgenden Funktionen realisieren jeweils einen Iterationsschritt des Sekanten- bzw. Bisektions-verfahrens

function x = sekante(x0,x1,f)

b = (f(x1)-f(x0))/(x1-x0);

x = x1-f(x1)/b;

function [a,b] = bisektion(a,b,f)

c = (a+b)/2;

if f(a)*f(c) <= 0

b=c;

else

a=c;

end

Die anfangs beschriebene Iteration Φ3(x) = log(2−x2) kann am Matlab-Prompt definiert werden

phi3 = @(x) log(2-x^2);

106

Page 111: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

7.2 Newton-Verfahren zur Losung nichtlinearer GLS

Das (klassische) Newton-Verfahren in Rd ist durch

x0 ∈ Rn, xn := xn−1 −DF (xn−1)

−1F (xn−1) fur n ∈ N (7.13)

gegeben. Der folgende Satz betrachtet auch den allgemeineren Fall von sogenannten gedampftenNewton-Verfahren, die im Anschluss diskutiert werden sollen.

Satz 7.5. Es sei ‖·‖ eine Norm auf Rd, Ω ⊆ R

d offen, F ∈ C2(Ω; Rd) und x∗ ∈ Ω eine Nullstellevon F derart, dass die Jacobi-Matrix DF (x∗) regular ist. Ist λ ∈ (0, 1] und λn ∈ [λ, 1], so existiertein ε > 0 derart, dass die folgenden Aussagen gelten:(i) Fur x ∈ Uε(x

∗) ist DF (x) regular.(ii) Fur jeden Startwert x0 ∈ Uε(x

∗) ist die Iteriertenfolge xn := xn−1 − λnDF (xn−1)−1F (xn−1)

wohldefiniert, d.h. xn ∈ Uε(x∗), und es existiert eine Konstante c ∈ (0, 1) mit

‖xn − x∗‖ ≤ c ‖xn−1 − x∗‖ fur n ∈ N, (7.14)

d.h. das gedampfte Newton-Verfahren ist wohldefiniert und konvergiert linear.(iii) Fur jeden Startwert x0 ∈ Uε(x

∗) ist die Iteriertenfolge xn := xn−1 − DF (xn−1)−1F (xn−1)

wohldefiniert, d.h. xn ∈ Uε(x∗), und es existiert eine Konstante c > 0 mit

‖xn − x∗‖ ≤ c ‖xn−1 − x∗‖2 fur n ∈ N, (7.15)

d.h. das Newton-Verfahren ist wohldefiniert und quadratisch konvergent.

Beweis. Wir gliedern den Beweis wieder in mehrere Beweisschritte, wobei wir uns ohne Be-schrankung der Allgemeinheit auf die euklidische Norm ‖ · ‖2 beschranken.1. Schritt. Es existiert ein ε > 0 mit der Eigenschaft, dass die Jacobi-Matrix DF (x) regular istfur alle x ∈ Uε(x

∗). Falls A ∈ Rd×d regular ist und B ∈ R

d×d mit ‖B−A‖2 < ‖A−1‖−12 , so ist auch

B regular. Also ist U :=A ∈ R

d×d∣∣A regular

eine offene Teilmenge von R

d×d mit DF (x∗) ∈ U .Die Ableitung DF : Ω → R

d×d ist nach Voraussetzung stetig. Dies zeigt die Behauptung.

2. Schritt. Es existiert ein ε > 0, sodass die Suprema

M := supx∈Uε(x∗)

‖DF (x)−1‖2 und M := supx∈Uε(x∗)

( d∑

j,k,ℓ=1

∣∣∣ ∂2Fj

∂xk∂xℓ(x)∣∣∣2)1/2

endlich sind, d.h. M,M <∞. Wir nehmen ε := ε/2 mit ε aus Schritt 1. Dann ist Uε(x∗) kompaktund in Ueε(x∗) enthalten. Da stetige Funktionen auf Kompakta ihr Supremum annehmen, folgt

M <∞. Wegen F ∈ C2(Ω; Rd) folgt mit demselben Argument M <∞.

3. Schritt. Fur alle x, y ∈ Uε(x∗) gilt ‖F (y) − F (x) − DF (x)(y − x)‖2 ≤ fM

2 ‖y − x‖22. Wir

verwenden denselben Beweis wir fur die Mittelwertsatz in Rd. Fur fixierte x, y ∈ Uε(x

∗) definierenwir die Funktion f : [0, 1] → R

d, f(t) := F (x + t(y − x)). Mit der komponentenweisen Ableitung

107

Page 112: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

von f zeigt partielle Integration

∫ 1

0(1 − t)f ′′(t) dt = f ′(1) − f ′(0) −

∫ 1

0tf ′′(t) dt = f ′(1) − f ′(0) −

[tf ′(t)

]1t=0

+

∫ 1

0f ′(t) dt

= f(1) − f(0) − f ′(0)

= F (y) − F (x) −DF (x)(y − x),

denn aus der Kettenregel folgt f ′(t) = DF (x+t(y−x))(y−x), insbesondere also f ′(0) = DF (x)(y−x). Insbesondere erhalten wird

‖F (y) − F (x) −DF (x)(y − x)‖2 ≤∫ 1

0(1 − t)‖f ′′(t)‖2 dt.

Nun mussen wir noch die zweiten Ableitungen von f ′′ berechnen und abschatzen,

f ′j(t) =(DF (x+ t(y − x))(y − x)

)j

=

d∑

k=1

∂Fj

∂xk(x+ t(y − x))(yk − xk),

f ′′j (t) =

d∑

k=1

(yk − xk)D∂Fj

∂xk(x+ t(y − x))(y − x)

=d∑

k,ℓ=1

(yk − xk)∂2Fj

∂xk∂xℓ(x+ t(y − x))(yℓ − xℓ).

Mit der Cauchy-Schwarz-Ungleichung folgt

‖f ′′(t)‖22 =

d∑

j=1

|f ′′j (t)|2 ≤d∑

j=1

( d∑

k,ℓ=1

∣∣∣ ∂2Fj

∂xk∂xℓ(x+ t(y − x))

∣∣∣2)( d∑

k,ℓ=1

∣∣(yk − xk)(yℓ − xℓ)∣∣2)

≤ M2‖x− y‖42.

Damit erhalten wir

‖DF (x)−1(F (y) − F (x) −DF (x)(y − x))‖2M‖x− y‖22

∫ 1

0(1 − t) dt.

Dies zeigt die Behauptung.

4. Schritt. Zu x ∈ Uε(x∗) und λ ∈ [λ, 1] definiere y := x− λDF (x)−1F (x). Dann gilt

‖y − x∗‖2 ≤

(1 − λ) +MM

2‖x− x∗‖2

‖x− x∗‖2. (7.16)

Wegen F (x∗) = 0 gilt

y − x∗ = x− x∗ − λDF (x)−1F (x) − F (x∗)= (1 − λ)(x− x∗) − λDF (x)−1

(F (x) − F (x∗)

)−DF (x)(x− x∗)

.

108

Page 113: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Mit Schritt 3 folgt deshalb

‖y − x∗‖2 ≤ (1 − λ)‖x− x∗‖2 + λMM

2‖x− x∗‖2

2 ≤(1 − λ) +

MM

2‖x− x∗‖2

‖x− x∗‖2.

5. Schritt. Wahlt man ε > 0 klein genug, sodass (1 − λ) + M fM2 ε =: c < 1, so ist das (gedampf-

te) Newton-Verfahren mit Startwert x0 ∈ Uε(x∗) wohldefiniert. Das gedampfte Newton-Verfahren

konvergiert linear, das klassische Newton-Verfahren konvergiert quadratisch. Die Aussage folgt in-duktiv aus Schritt 4: Ist xn ∈ Uε(x

∗), so erhalten wir mit x = xn und y = xn+1 die Abschatzung‖xn+1 − x∗‖2 ≤ c ‖x − x∗‖2 < ε, d.h. insbesondere gilt xn+1 ∈ Uε(x

∗). Dies zeigt zum einen dieWohldefiniertheit und zum anderen die lineare Konvergenz. Fur λ = λn = 1 folgt aus Schritt 4sogar ‖xn+1 − x∗‖2 ≤ c ‖x− x∗‖2

2

Ubung. Es sei U :=A ∈ K

n×n∣∣A regular

. Man zeige, dass die Abbildung inv : U → U , A 7→ A−1

Frechet-differenzierbar und insbesondere stetig ist.Hinweis. Die Abbildung b : L(X) × L(X) → L(X), b(A,B) = AB ist bilinear und deshalbFrechet-differenzierbar mit Db(A,B)(H,K) = AK +HB. Es sei U ⊆ L(X) die offene Menge allerbijektiven Operatoren. Wir betrachten die Abbildungen g : U → U × U , g(A) = (A,A−1) undf : U → U , f = b g. Es gilt f(A) = III. Unter der Voraussetzung, dass inv : U → U Frechet-differenzierbar ist, gilt Dg(A)(B) = (B,Dinv(A)(B)). Mit der Kettenregel folgt

0 = Df(A)(B) = Db(A,A−1)(B,Dinv(A)(B)) = ADinv(A)(B) +BA−1.

Umformen zeigt also, dass Dinv(A)(B) = −A−1BA−1 gelten muss, falls die Inversion Frechet-differenzierbar ist.

Bei der Konstruktion eines Abbruchkriteriums fur eine Nullstellensuche in Abschnitt 7.1 haben wirsowohl die Schrittweite ‖xn+1 −xn‖ als auch die Norm des Residuums ‖F (xn)‖ herangezogen. Furdas Newton-Verfahren kann man zeigen, dass sich ‖F (xn)‖ genauso verhalt wie der Fehler ‖xn−x∗‖und insbesondere ebenfalls quadratisch konvergiert.

Korollar 7.6. Fur das Newton-Verfahren existieren Konstanten c1, c2, c3 > 0 mit

c1‖xn − x∗‖ ≤ ‖F (xn)‖ ≤ c2‖xn − x∗‖ und ‖F (xn)‖ ≤ c3‖F (xn−1)‖2 (7.17)

fur alle n ∈ N, sofern der Startwert x0 ∈ Uε(x∗) mit hinreichend kleinem ε > 0 erfullt.

Beweis. Da xn ∈ Uε(x∗) gilt, reicht es, wenn wir die Aussage fur ein beliebiges y ∈ Uε(x

∗) zeigen.Nach Schritt 3 im Beweis von Satz 7.5 existiert eine Konstante C > 0 mit

‖(y − x) −DF (x)−1(F (y) − F (x))‖ ≤ C ‖y − x‖2 fur alle x, y ∈ Uε(x∗).

Wir nehmen an, dass Cε ≤ 1/2 gilt. Fur x = x∗ und y ∈ Uε(x∗) folgt mit der Dreiecksungleichung

‖y − x∗‖ ≤ C ‖y − x∗‖2 + ‖DF (x∗)−1F (y)‖ ≤ 1

2‖y − x∗‖ + ‖DF (x∗)−1‖‖F (y)‖,

d.h. c1 = 2 ‖DF (x∗)−1‖. Ferner gilt wieder mit Dreiecksungleichung

‖F (y)‖ ≤ ‖DF (x∗)‖‖DF (x∗)−1F (y)‖ ≤ ‖DF (x∗)‖C ‖y − x∗‖2 + ‖y − x∗‖

109

Page 114: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

und damit c2 = 32 ‖DF (x∗)‖. Abschließend folgt damit auch

‖F (xn)‖ ≤ c2‖xn − x∗‖ ≤ c2c0‖xn−1 − x∗‖2 ≤ c1c2c0‖F (xn−1)‖2,

wobei c0 > 0 die Konstante aus der quadratischen Konvergenz des Newton-Verfahrens sei.

Selbst fur hubsche Funktionen kann man beim Newton-Verfahren keine globale Konvergenz erwar-ten.

Ubung. Der Arcustangens ist streng monoton wachsend mit eindeutiger Nullstelle bei x∗ = 0. Manzeige, dass das Newton-Verfahren divergiert, falls der Startwert x0 betragsmaßig großer ist als diepositive Losung y ≈ 1.37 der Gleichung 2y = (1 + y2) arctan(y). Man mache sich die Behauptungzunachst anhand einer Skizze klar.

Um (zumindest fur den Arcustangens) globale Konvergenz des Newton-Verfahrens zu erhalten, mussman mit einer Dampfung arbeiten. Im Arcustangens-Beispiel ist die Crux gerade, dass die Tangentezu flach ist und die Norm des Residuums deshalb von Schritt zu Schritt wachst. Wir zeigen nun,dass man den Dampfungsparameter so wahlen kann, dass das Residuum in jedem Schritt garantiertkleiner wird.

Lemma 7.7. Es sei Ω ⊂ Rd offen, F ∈ C2(Ω,Rd) mit DF (x) regular fur alle x ∈ Ω und K ⊂ Ω

kompakt. Dann existieren Konstanten λmax, γ > 0 mit

‖F(x− λDF (x)−1F (x)

)‖22 ≤

(1 + γλ2 − 2λ

)‖F (x)‖2

2 fur alle x ∈ K,λ ∈ [0, λmax], (7.18)

d.h. durch λ > 0 hinreichend klein kann ‖F (xn)‖2 < ‖F (xn−1)‖2 erreicht werden.

Beweis. Da K kompakt ist, sind die beiden folgenden Suprema endlich,

c1 := supx∈K

‖F (x)‖2, c2 := supx∈K

‖DF (x)−1‖2,

und wir definieren

λmax := min

1,1

2c1c2dist(K,∂Ω)

,

wobei dist(K,∂Ω) := inf‖x−y‖2

∣∣x ∈ K, y ∈ ∂Ω

den Abstand von K zum Rand von Ω bezeichne.Da K kompakt ist, ist dist(K,∂Ω) > 0, denn die Abbildung x 7→ dist(x, ∂Ω) ist stetig. Nunbetrachten wir die kompakte Menge

K :=x− λp

∣∣x ∈ K, p ∈ Rd, ‖p‖2 ≤ c1c2, λ ∈ [0, λmax]

⊂ Ω,

wobei die Inklusion K ⊂ Ω aus ‖λp‖2 ≤ 12 dist(K,∂Ω) folgt. Wegen F ∈ C2(Ω,Rd) definiert

f(y) := ‖F (y)‖22 eine Funktion f ∈ C2(Ω). Nun seien x ∈ K und λ ∈ [0, λmax] fixiert und

p := DF (x)−1F (x).

110

Page 115: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Um die Abschatzung (7.18) zu zeigen, definieren wir g(t) := f(x− tλp). Beachte g ∈ C2[0, 1] undx− tλp ∈ K fur t ∈ [0, 1]. Partielle Integration zeigt

g(1) = g(0) + g′(0) +

∫ 1

0(1 − t)g′′(t) dt. (7.19)

Offensichtlich gelten

g(1) = f(x− λp) = ‖F (x− λp)‖22 sowie g(0) = f(x) = ‖F (x)‖2

2.

Zur Berechnung von g′(0) beachten wir f(y) = F (y) · F (y) und erhalten mit der KettenregelDf(y) = 2F (y)TDF (y). Mit g′(t) = −Df(x− tλp)(λp) ergibt sich nach Definition von p

g′(0) = −2F (x)TDF (x)(λp) = −2λ‖F (x)‖22.

Die zweite Ableitung von g erfullt g′′(t) = (λp)·D2f(x−tλp)(λp) mit der Hesse-Matrix D2f ∈ Rd×d

und lasst sich deshalb mittels

|g′′(t)| ≤ c3λ2‖p‖2

2 ≤ c22c3λ2‖F (x)‖2

2, c3 := supy∈ eK

‖D2f(y)‖2 <∞,

abschatzen. Insgesamt erhalten wir aus (7.19) also die Abschatzung

‖F (x− λp)‖22 ≤ ‖F (x)‖2

2 − 2λ‖F (x)‖22 + c22c3λ

2‖F (x)‖22,

d.h. es gilt (7.18) mit γ = c22c3.

Ubung. Man rekapituliere, dass die Funktion x 7→ dist(x, ∂Ω) stetig ist. Man beweise, dass die Men-ge K aus dem Beweis von Lemma 7.7 kompakt ist und verifiziere alle aufgetretenen Ableitungen.

Um quadratische Konvergenz zu bekommen, sollte man moglichst λn = 1 wahlen. Wie uns aberdas arctan-Beispiel zeigt, sollten wir stets bemuht sein, uber die Wahl des Dampfungsparametersλn gleichzeitig ‖F (xn+1)‖2 < ‖F (xn)‖2 sicherzustellen. Dazu verwenden wir folgende Idee:

• Fixiere q ∈ (0, 1).

• In jedem Newton-Schritt suche ein moglichst kleines ℓ ∈ N0, sodass gilt

‖F(xn − qℓDF (xn)−1F (xn)

)‖2 < ‖F (xn)‖2.

• Definiere dann λn := qℓ.

Da dieses Vorgehen unter Umstanden in jedem Schritt viele F -Auswertungen nach sich ziehen kann,berucksichtigen wir noch, dass sich λn und λn+1 nicht stark unterscheiden werden, d.h. wir nehmenmin1, λn/q ≥ λn als erste Schatzung fur λn+1. Im folgenden Algorithmus fuhren wir zusatzlichden Parameter λmin ein und brechen die Nullstellensuche ab, wenn der Dampfungsparameter λn

kleiner als λmin wird.

111

Page 116: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Algorithmus 7.8: Gedampftes Newton-Verfahren

Input: Funktion F (x) mit Nullstelle x∗ ∈ Rd, x0 ∈ R

d Startwert, q ∈ (0, 1), λmin ∈ (0, 1).

k := 0, λ0 := 1repeat

Berechne A := DF (xk), b := −F (xk)Lose das Gleichungssystem Apk = bwhile ( λk ≥ λmin and ‖F (xk + λkpk)‖2 ≥ ‖F (xk)‖2 )

λk := qλk

end

if λk < λmin

Abbruch mit Fehlermeldungelse

xk+1 := xk + λkpk, λk+1 := min1, λk/q, k := k + 1end

until ( Approximation xk+1 von x∗ hinreichend genau )

Bemerkung. Wir betrachten den Fall λmin = 0. Fuhrt die while-Schleife zur Bestimmung desDampfungsparameters auf eine Endlosschleife, so ist nach Lemma 7.7 die Jacobi-Matrix DF (xk)nicht regular. Anderenfalls wurde bewiesenermaßen irgendwann ‖F (xk+λkpk)‖2 < ‖F (xk)‖2 gelten.Fur d = 1 konvergiert unser gedampftes Newton-Verfahren also entweder gegen eine Nullstelle x∗

von F oder gegen ein x∗ mit F ′(x∗) = 0, d.h. gegen ein Extremum bzw. einen Wendepunkt.

Bemerkung. Da die Berechnung von DF (xk) im Extremfall auf Aufwand O(n2) fuhrt, interessiertman sich manchmal fur Verfahren, die zwar langsamer konvergieren, aber in jedem Iterationsschrittnumerisch gunstiger sind.

• Vereinfachte Newton-Verfahren (engl. fast frozen Newton). Die Jacobi-MatrixDF (xk)wird nicht mehr in allen Iterationsschritten berechnet. Im Extremfall betrachten wir also

xn := xn−1 −DF (x0)−1F (xn−1) fur n ∈ N.

Eine Konvergenzanalysis findet sich beispielsweise in Heuser [4, Kapitel 189].

• Quasi-Newton-Verfahren. Man ersetzt die Matrix DF (xn) durch eine billigere Approxi-mation Bn, d.h.

xn := xn−1 −B−1n−1F (xn−1) fur n ∈ N.

Beispiele hierfur sind das Sekantenverfahren in R oder das Broyden-Verfahren in Rd, vgl.

Stoer [7, Kapitel 5.4.3].

112

Page 117: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

7.3 Stationare Iterationsverfahren zur Losung linearer GLS

In diesem Abschnitt sei A ∈ Kn×n eine regulare Matrix, b ∈ K

n und x∗ ∈ Kn die exakte Losung

von Ax∗ = b. Bei stationaren linearen Iterationsverfahrens konstruiert man eine MatrixM ∈ K

n×n und einen Vektor c ∈ Kn, sodass x∗ der eindeutige Fixpunkt der Iterationsvorschrift

Φ(x) := Mx + c ist. Mit dem Banach’schen Fixpunktsatz zeigt man, dass das Iterationsverfahren(Rn,Φ, x∗) genau dann global linear konvergiert, wenn fur den Spektralradius ρ(M) < 1 gilt,siehe Satz 7.9. Bei einem instationaren linearen Iterationsverfahren variieren die Matrix Mund/oder der Vektor c in jedem Iterationsschritt.

Bemerkung. (i) Die iterative Losung eines linearen Gleichungssystems ist dann notig, wenn Azwar schwach besetzt ist (d.h. vorwiegend Null-Eintrage hat), aber A keine weitere erkennbareStruktur besitzt (z.B. Bandstruktur), sodass das direkte Losen mittels Eliminationsverfahren aufeinen Aufwand O(n3) fuhrt. Dies ist bereits fur n = 103 wenig akzeptabel.(ii) Iterative Verfahren liefern in der Regel

”zuverlassigere“ Losungen von Gleichungssystemen mit

schlechter Kondition, da Rechenfehler nicht storen, solange die berechneten Approximationen imKonvergenzbereich des Verfahrens bleiben. Man sagt deshalb auch, dass iterative Verfahren sichselbst stabilisieren.

Beispiel (Richardson-Iteration). Bei der Richardson-Iteration ist M = III − λA und b = c,wobei der Parameter λ ∈ K geeignet gewahlt werden muss, sodass ρ(M) < 1 gilt.

Ubung. Man uberlege sich ein moglichst einfaches Beispiel A, sodass die Iterationsmatrix M derRichardson-Iteration unabhangig von λ stets ρ(M) ≥ 1 erfullt. In diesem Fall ist nach Satz 7.9 imallgemeinen mit der Divergenz des Verfahrens zu rechnen.

Der Nachteil bei der Richardson-Iteration ist der, dass man ρ(III−λA) < 1 de facto nicht uberprufenkann. In diesem Abschnitt wollen wir daher noch weitere Verfahren betrachten, bei denen manleichter sehen kann, ob das Verfahren konvergiert oder nicht.

Im gesamten Abschnitt bezeichne D ∈ Kn×n die Diagonale von A,

djk =

ajj fur j = k,

0 fur j 6= k,

L ∈ Kn×n die Eintrage unterhalb der Diagonale

ℓjk =

ajk fur j > k,

0 fur j ≤ k,

U ∈ Kn×n die Eintrage oberhalb der Diagonale

ujk =

ajk fur j < k,

0 fur j ≤ k.

Es gilt also insbesondere A = D + L+ U .

113

Page 118: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Beispiel. Bei der Jacobi-Iteration ist M := −D−1(A−D), c := D−1b. Dann gilt

b = Ax = Dx+ (A−D)x ⇐⇒ Dx = −(A−D)x+ b,

d.h. x∗ ist der eindeutige Fixpunkt von Φ(x) = Mx+c. Da D eine Diagonalmatrix ist, hangt x(ℓ+1)j

von x(ℓ)1 , . . . , x

(ℓ)n ab. Man nennt die Jacobi-Iteration deshalb auch Gesamtschrittverfahren. Ein

Iterationsschritt besteht also aus

• Berechnung von y = −(A−D)x+ c in O(n2) arithmetischen Operationen,

• direktes Losen des Gleichungssystems Dx = y in O(n) arithmetischen Operationen.

Jeder Iterationsschritt erfordert also O(n2) arithmetische Operationen.

Beispiel. Bei der Gauß-Seidel-Iteration ist M := −(L+D)−1U , c := (L+D)−1b. Dann gilt

b = Ax = (L+D)x+ Ux ⇐⇒ (L+D)x = −Ux+ b,

d.h. x∗ ist der eindeutige Fixpunkt von Φ(x) = Mx + c. Da L + D eine untere Dreiecksmatrix

ist (Vorwartsubstitution!), hangt x(ℓ+1)j von x

(ℓ+1)1 , . . . , x

(ℓ+1)j−1 , x

(ℓ)j , . . . , x

(ℓ)n ab. Man spricht deshalb

auch vom Einzelschrittverfahren. Ein Iterationsschritt besteht aus

• Berechnung von y = −Ux+ b in O(n2) arithmetischen Operationen,

• direktes Losen des Gleichungssystems (L+D)x = y in O(n2) arithmetischen Operationen.

Ein Iterationsschritt erfordert also wieder nur O(n2) arithmetische Operationen.

7.3.1 Konvergenz der stationaren linearen Iteration

Der folgende Satz charakterisiert die Konvergenz von stationaren linearen Iterationsverfahren undzeigt insbesondere sofort, dass wir fur die Richardson-Iteration ρ(III − λA) < 1 benotigen, umKonvergenz erwarten zu konnen.

Satz 7.9. Fur eine Matrix M ∈ Kn×n sind die folgenden beiden Aussagen aquivalent:

(i) Der Spektralradius erfullt ρ(M) < 1,(ii) Fur alle c ∈ K

n und Φ(x) := Mx + c ist das Iterationsverfahren (Kn,Φ, x∗) global linearkonvergent, und hat einen eindeutigen Fixpunkt x∗.

Beweis von Satz 7.9, (ii) =⇒ (i)(ii) =⇒ (i)(ii) =⇒ (i) fur K = CK = CK = C. Wir definieren die Iterationsvorschrift Φ(x) :=Mx+ c. Es sei ‖ · ‖ eine beliebige Norm auf C

n. Wahle den Startwert so, dass x0 − x∗ Eigenvektorzum Eigenwert λ ∈ C ist mit |λ| = ρ(M). Induktiv zeigt man, dass gilt

xk − x∗ = Φ(xk−1) − Φ(x∗) = M(xk−1 − x∗) = Mk(x0 − x∗) = λk(x0 − x∗).

Nach Voraussetzung gilt deshalb

ρ(M)k‖x0 − x∗‖ = |λk|‖x0 − x∗‖ = ‖xk − x∗‖ → 0 fur k → ∞,

und es folgt ρ(M) < 1.

114

Page 119: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Beweis von Satz 7.9, (ii) =⇒ (i)(ii) =⇒ (i)(ii) =⇒ (i) fur K = RK = RK = R. Wir mussen nur zeigen, dass die Voraussetzung(ii) auch fur C gilt. Dazu sei c ∈ C

n gegeben und x0 = a0 + ib0 ∈ Cn ein beliebiger Startvektor

mit a0, b0 ∈ Rn. Es gilt ak := Rexk = M(Re xk−1) + Re c sowie bk := Imxk = M(Imxk−1) + Im c,

da die Eintrage von M reell sind. Nach Voraussetzung konvergieren die reellen Folgen ak, bk ∈ Rn

unabhangig von a0, b0 gegen eindeutige Grenzwerte a, b ∈ Rn. Insgesamt konvergiert also xk gegen

den eindeutigen Grenzwert x∗ = a+ ib ∈ Cn unabhangig von x0, und es gilt x∗ = Mx∗ + b.

Der Beweis der Implikation (i) =⇒ (ii) benotigt neben dem Banachschen Fixpunktsatz noch eineCharakterisierung des Spektralradius.

Lemma 7.10. Fur jede Matrix M ∈ Kn×n gilt

ρ(M) = inf‖M‖

∣∣ ‖ · ‖ Operatornorm, die von einer Norm auf Cn induziert wird

.

Beweis. Um ≤ zu beweisen, sei λ ∈ C ein Eigenwert mit |λ| = ρ(M) und x ∈ Kn ein zugehoriger

Eigenvektor. Dann gilt fur jede Norm ‖ · ‖ auf Cn

ρ(M)‖x‖ = ‖Mx‖ ≤ ‖M‖‖x‖.

Die Abschatzung ≥ ist weniger elementar. Nach Linearer Algebra ist jede Matrix uber C trigona-lisierbar, d.h. es existiert eine regulare Matrix T ∈ C

n×n, sodass gilt

R := T−1MT =

r11 r12 . . . r1n

0 r22 . . . r2n...

. . .. . .

...0 . . . 0 rnn

.

Da R und M ahnlich sind, haben sie dieselben Eigenwerte. Da die Eigenwerte von R auf derDiagonalen stehen, gilt insbesondere

ρ(M) = ρ(R) = maxj=1,...,n

|rjj |.

Zu ε > 0 definieren wir die Diagonalmatrix Dε := diag(1, ε, . . . , εn−1) ∈ Rn×n und eine zugehorige

Norm ‖x‖ε := ‖D−1ε T−1x‖∞ auf C

n. Die induzierte Operatornorm auf Cn×n erfullt gerade ‖M‖ε =

‖D−1ε T−1MTDε‖∞ = ‖D−1

ε RDε‖∞ und lasst sich daher als Zeilensummennorm berechnen. Mit

D−1ε RDε =

r11 εr12 . . . εn−1r1n

0 r22 . . . εn−2r2n...

. . .. . .

...0 . . . 0 rnn

erhalten wir

‖M‖ε = maxj=1,...,n

(|rjj| +

n∑

k=j+1

εk−j|rjk|)

ε→0−−−→ maxj=1,...,n

|rjj| = ρ(M).

Der Grenzubergang fur ε→ 0 beschließt den Beweis.

115

Page 120: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Ubung. Es seien D ∈ Kn×n eine regulare Matrix, und ‖ · ‖ notiere sowohl eine Norm auf K

n alsauch die induzierte Operatornorm. Dann definiert auch ‖x‖D := ‖Dx‖ eine Norm auf K

n, und dieinduzierte Operatornorm erfullt ‖M‖D = ‖DMD−1‖.

Beweis von Satz 7.9, (i) =⇒ (ii)(i) =⇒ (ii)(i) =⇒ (ii). Wegen ρ(M) < 1 existiert nach Lemma 7.10 eine induzierteOperatornorm mit ‖M‖ < 1. Damit definiert Φ(x) := Mx+c eine Kontraktion auf K

n, denn ‖Φ(x)−Φ(y)‖ = ‖Mx−My‖ ≤ ‖M‖‖x−y‖. Die Behauptung folgt aus dem Banachschen Fixpunktsatz 7.1.

7.3.2 Konvergenz von Jacobi- und Gauß-Seidel-Iteration

Um die Konvergenz der Richardson-Iteration mathematisch zu beweisen, muss der Spektralradi-us der Iterationsmatrix bestimmt werden. Dies ist im Allgemeinen nicht analytisch moglich undnumerisch sehr aufwandig. Es ist daher das Ziel, aus einfacheren algebraischen Eigenschaften derMatrix A auf die Konvergenz der Jacobi- bzw Gauß-Seidel-Iteration zu schließen. Anders als inSatz 7.9 sind die Ergebnisse in diesem Abschnitt hinreichende Konvergenzbedingungen, i.a. abernicht notwendig.

Definition. Eine Matrix A ∈ Kn×n ist diagonaldominant, falls

n∑

k=1k 6=j

|ajk| ≤ |ajj| (7.20)

fur alle Zeilen j = 1, . . . , n gilt, wobei die Ungleichung fur mindestens einen Index 1 ≤ j0 ≤ nstrikt ist, d.h. es gilt < in (7.20). Die Matrix A ist strikt diagonaldominant, falls die strikteUngleichung < in (7.20) fur alle Indizes j = 1, . . . , n gilt.

Satz 7.11. Die Matrix A ∈ Kn×n sei strikt diagonaldominant. Dann ist A bijektiv, und

Jacobi-Verfahren und Gauß-Seidel-Verfahren sind wohldefiniert und konvergent. BezeichnenM (J),M (GS) ∈ K

n×n die Verfahrensmatrizen fur das Jacobi- bzw. das Gauß-Seidel-Verfahren,so gilt fur die Zeilensummennormen ‖M (GS)‖∞ ≤ ‖M (J)‖∞ < 1, d.h. es gilt ρ(M (GS)) ≤ ρ(M (J))und damit ist das Gauß-Seidel-Verfahren tendenziell schneller konvergent.

Beweis. Falls A strikt diagonaldominant ist, gilt insbesondere ajj 6= 0 fur alle j = 1, . . . , n, unddeshalb sind die Matrizen M (J) = −D−1(A−D) und M (GS) = −(L+D)−1U wohldefiniert. Fernergilt nach Definition von M (J)

n∑

k=1j 6=k

|M (J)jk | =

n∑

k=1j 6=k

|ajk||ajj|

< 1 fur alle j = 1, . . . , n.

Mit der Zeilensummenorm folgt ρ(M (J)) ≤ ‖M (J)‖∞ < 1 und daraus die Konvergenz des Jacobi-Verfahrens. Insgesamt ist nun nur noch zu zeigen, dass ‖M (GS)‖∞ ≤ ‖M (J)‖∞ gilt. Wir zeigen diesin mehreren Schritten.

116

Page 121: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

1. Schritt. Ist M ∈ Kn×n mit ρ(M) < 1, so ist III −M regular, und die Inverse lasst sich uber die

Neumann’sche Reihe darstellen, (III−M)−1 =∑∞

k=0Mk. Wegen ρ(M) < 1 existiert eine induzierte

Operatornorm mit ‖M‖ < 1, und

∥∥∥∑

k=MN

Mk∥∥∥ ≤

N∑

k=M

‖M‖k M,N→∞−−−−−−→ 0

zeigt die Existenz von∑∞

k=0Mk. Multiplikation der Reihe mit (III −M) beweist

(III −M)∞∑

k=0

Mk =∞∑

k=0

Mk −∞∑

k=1

Mk = III.

Hieraus folgt die Behauptung.

Im Folgenden bezeichne ||| · ||| den komponentenweisen Betrag von Matrizen und Vektoren, und auch≤ sei komponentenweise verstanden.

2. Schritt. Es gilt ρ(D−1L) = 0 = ρ(|||D−1L|||). Die Matrizen D−1L und |||D−1L||| sind Dreiecksma-trizen mit trivialer Diagonale. Da die Eigenwerte einer Dreiecksmatrix auf der Diagonalen stehen,folgt die Behauptung.

3. Schritt. Es gelten |||(III +D−1L)−1||| ≤ (III −|||D−1L|||)−1 sowie III ≤ (III −|||D−1L|||)−1. Aufgrund vonSchritt 2 konnen wir die Inverse als Neumann’sche Reihen darzustellen. Es gelten

|||(III +D−1L)−1||| =∣∣∣∣∣∣∣∣∣

∞∑

k=0

(−D−1L)k∣∣∣∣∣∣∣∣∣ ≤

∞∑

k=0

|||D−1L|||k = (III − |||D−1L|||)−1

sowie

(III − |||D−1L|||)−1 = III +

∞∑

k=1

|||D−1L|||k ≥ III.

4. Schritt. Wegen ‖M (J)‖∞ ≤ 1 gilt ‖M (GS)‖∞ ≤ ‖M (J)‖∞. Mit e = (1, . . . , 1) ∈ Kn gilt

‖M‖∞ = ‖|||M|||e‖∞. Also ist |||M (GS)|||e ≤ ‖M (J)‖∞e zu zeigen. Da die Matrizen L und U keinegemeinsamen nicht-trivialen Eintrage haben, gilt

|||M (J)||| = |||D−1L+D−1U||| = |||D−1L||| + |||D−1U|||.

Ferner gilt D + L = D(III +D−1L), also

(D + L)−1 = (III +D−1L)−1D−1.

Zusammen mit der komponentenweisen Abschatzung |||ST ||| ≤ |||S||||||T ||| und Schritt 3 erhalten wir

|||M (GS)||| = |||(D + L)−1U||| = |||(III +D−1L)−1D−1U|||≤ |||(III +D−1L)−1||||||D−1U|||≤ (III − |||D−1L|||)−1

[(|||M (J)||| − III) + (III − |||D−1L|||)

]

= III + (III − |||D−1L|||)−1(|||M (J)||| − III).

117

Page 122: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Mit dem Vektor e = (1, . . . , 1) ∈ Kn folgt fur die Zeilensummenorm ‖M‖∞ = ‖|||M|||e‖∞. Deshalb

erhalten wir

|||M (GS)|||e ≤ e + (III − |||D−1L|||)−1(|||M (J)||| − III)e ≤ e + (III − |||D−1L|||)−1(‖M (J)‖∞e − e)

= e + (‖M (J)‖∞ − 1)(III − |||D−1L|||)−1e

≤ e + (‖M (J)‖∞ − 1)e

= ‖M (J)‖∞e,

wobei wir in der letzten Abschatzung ‖M (J)‖∞ ≤ 1 und (III − |||D−1L|||)−1 ≥ III ausgenutzt haben.Abschließend folgt also ‖M (GS)‖∞ = ‖|||M (GS)|||e‖∞ ≤ ‖M (J)‖∞.

Satz 7.12. Ist AT strikt diagonaldominant, so ist das Jacobi-Verfahren wohldefiniert und kon-vergent.

Beweis. Analog zum vorherigen Beweis gilt fur die transponierte Verfahrensmatrix ρ(M (J)) ≤‖M (J)‖1 = ‖(M (J))T ‖∞ < 1, denn die Spaltensummennorm von M (J) ist gerade die Zeilensum-mennorm der transponierten Matrix.

Die strikte Diagonaldominanz ist eine starke Voraussetzung an Matrizen, die bereits von den Ma-trizen bei der Spline-Interpolation verletzt wird. Diese sind aber wenigstens diagonaldominant undferner irreduzibel.

Definition. Eine Matrix A ∈ Kn×n heißt reduzibel, falls es nichtleere Indexmengen J,K gibt

mit J ∩ K = ∅, J ∪ K = 1, . . . , n sowie ajk = 0 fur alle j ∈ J und k ∈ K. Eine Matrix heißtirreduzibel, falls sie nicht reduzibel ist.

Beispiel. Die Matrix

1 2 03 4 05 6 7

ist reduzibel mit J = 1, 2 und K = 3.

Bemerkung. Ist eine regulare Matrix A ∈ Kn×n reduzibel, so lasst sich das Losen des Gleichungs-

systems Ax = b in zwei Schritte aufteilen:

• Im ersten Schritt losen wir fur j ∈ J das Gleichungssystem bj =∑n

ℓ=1 ajℓxℓ =∑

ℓ∈J ajℓxℓ.

• Fur k ∈ K gilt bk =∑

ℓ∈J akℓxℓ +∑

ℓ∈K akℓxℓ. Da die Summanden der ersten Summe allebekannt sind, losen wir im zweiten Schritt bk −∑ℓ∈J akℓxℓ =

∑ℓ∈K akℓxℓ fur alle k ∈ K.

Ubung. Die Matrix A ∈ Rn×n sei irreduzibel und diagonaldominant, und fur die Diagonalelemente

gelte ajj > 0 fur j = 1, . . . , n. Dann gilt Reλ > 0 fur alle (komplexen) Eigenwerte λ von A. Ist Azusatzlich symmetrisch, so ist A positiv definit.

Satz 7.13. Ist A ∈ Kn×n irreduzibel und diagonaldominant, so sind Jacobi- und Gauß-Seidel-

Verfahren wohldefiniert und konvergent.

118

Page 123: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Zum Beweis von Satz 7.13 werden wir direkt den Spektralradius der beiden Verfahrensmatrizenabschatzen. Die wesentliche Beobachtung dabei ist, dass jede irreduzible und diagonaldominanteMatrix bereits regular ist.

Lemma 7.14. Jede irreduzible und diagonaldominante Matrix M ∈ Kn×n ist regular und erfullt

mjj 6= 0 fur alle j = 1, . . . , n.

Beweis. Wir nehmen an, M sei nicht regular, d.h. es existiert ein x ∈ Kn\0 mit Mx = 0.

Insbesondere folgt aus der Dreiecksungleichung

|mjj||xj | ≤n∑

ℓ=1ℓ 6=j

|mjℓ||xℓ| fur alle j = 1, . . . , n. (7.21)

Wir definieren die Indexmengen J :=j∣∣ |xj | = ‖x‖∞

und K :=

k∣∣ |xk| < ‖x‖∞

. Offensichtlich

gilt J ∩K = ∅, J ∪K = 1, . . . , n und J 6= ∅. Ware K = ∅, so konnte man in (7.21) die xj- undxℓ-Terme herausstreichen und erhielte einen Widerspruch zur Diagonaldominanz. Also gilt auchK 6= ∅, und aufgrund der Irreduzibilitat von M existieren Indizes j ∈ J und k ∈ K mit mjk 6= 0.Mit diesen ergibt sich

|mjj| ≤∑

ℓ=1ℓ 6=j

|mjℓ||xℓ||xj |

<∑

ℓ=1ℓ 6=j

|mjℓ|,

denn der Quotient ist stets ≤ 1 wegen |xj | = ‖x‖∞ und < 1 fur ℓ = k ∈ K. Also erhaltenwir einen Widerspruch zur Diagonaldominanz von M , d.h. M ist regular. Gabe es schließlich eintriviales Diagonalelement mjj = 0, so folgte aus der Diagonaldominanz, dass bereits die j-te Zeiledie Nullzeile ware. Da M regular ist, folgt insbesondere mjj 6= 0 fur alle j = 1, . . . , n.

Beweis von Satz 7.13 fur das Jacobi-Verfahren. Wegen ajj 6= 0 fur alle j = 1, . . . , n istM (J) = −D−1(A−D) wohldefiniert. Um ρ(M (J)) < 1 zu zeigen, beweisen wir, dass M := M (J)−λIIIfur λ ∈ C mit |λ| ≥ 1 regular ist. Da A irreduzibel ist, ist auch A −D irreduzibel, denn es wirdlediglich die Diagonale verandert. M (J) entsteht durch zeilenweise Multiplikation von A − D mitWerten 6= 0. Deshalb ist auch M (J) irreduzibel. Da M und M (J) sich nur auf der Diagonaleunterscheiden, ist M irreduzibel. Aufgrund der Diagonaldominanz von A gilt

n∑

k=1j 6=k

|mjk| =

n∑

k=1j 6=k

|m(J)jk | =

n∑

k=1j 6=k

|ajk||ajj|

≤ 1 ≤ |λ| = |mjj| fur alle j = 1, . . . , n,

und fur mindestens einen Index j gilt diese Ungleichung strikt. Also ist M auch diagonaldominantund nach Lemma 7.14 insgesamt regular.

Beweis von Satz 7.13 fur das Gauß-Seidel-Verfahren. Die Wohldefiniertheit von M (GS) =−(L+D)−1U ist wieder klar. Wir betrachten M := M (GS)−λIII fur λ ∈ C mit |λ| ≥ 1. Durch Multi-

plikation mit −(L+D) sieht man, dass M genau dann regular ist, wenn M := U+λL+λD regular

ist. Offensichtlich erbt M die Irreduzibilitat von A = D + L+ U . Ferner ist M diagonaldominant,

119

Page 124: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

denn es gilt

n∑

k=1k 6=j

|mjk| = |λ|j−1∑

k=1

|ajk| +n∑

k=j+1

|ajk| ≤ |λ|n∑

k=1k 6=j

|ajk| ≤ |λ||ajj | = |mjj| fur j = 1, . . . , n

mit strikter Ungleichung fur mindestens einen Index j. Nach Lemma 7.14 ist M regular. Insgesamterhalten wir wie zuvor ρ(M (GS)) < 1.

7.4 Krylov-Verfahren zur Losung linearer GLS

Im gesamten Abschnitt sei A ∈ Rn×n eine regulare Matrix, b ∈ R

n und x∗ ∈ Rn mit Ax∗ = b.

Bemerkung. Es kommt haufig vor, dass die Matrix A in einem komprimierten Datenformat vor-liegt, das keinen schnellen Zugriff auf auf die Eintrage Ajk erlaubt, dennoch aber z.B. die Matrix-Vektor-Multiplikation in O(n log(n)) Operationen durchfuhren lasst. In diesem Fall verbieten sichdie Jacobi- und die Gauß-Seidel-Iteration, bei denen ja in jedem Schritt ein einfacheres linearesProblem direkt gelost werden muss. Man interessiert sich deshalb fur iterative Loser, die lediglichvon der Matrix-Vektor-Multiplikation Gebrauch machen, aber keine explizite Kenntnis der EintrageAjk erfordern.

Definition. Fur ℓ ∈ N bezeichnet man die Vektorraume

Kℓ := Kℓ(A, b) := spanb,Ab,A2b, . . . , Aℓ−1b ⊆ Rn

als Krylov-Raume bezuglich (A, b).

Lemma 7.15. Fur ℓ ∈ N sind aquivalent:(i) dimKℓ+1 ≤ ℓ,(ii) Kℓ = Kℓ+1,(iii) A(Kℓ) ⊆ Kℓ,(iv) x∗ ∈ Kℓ.Insbesondere existiert also ein ℓ ∈ N mit x∗ ∈ Kℓ. Definiere ℓ∗ = min

ℓ ∈ N

∣∣x∗ ∈ Kℓ

.

Beweis. (i)⇒(ii): Wir wahlen den minimalen Index m < ℓ, sodass die Menge b,Ab, . . . , Aℓblinear abhangig ist. Dann existieren Skalare λj ∈ R mit Amb =

∑m−1j=0 λjA

jb. Insbesondere folgtalso

Aℓb = Aℓ−m(Amb) =

m−1∑

j=0

λjAℓ−m+jb ∈ spanAℓ−mb, . . . , Aℓ−1b ⊆ Kℓ.

(ii)⇒(iii): Fur j = 0, . . . , ℓ − 1 gilt A(Ajb) ∈ Kℓ+1 = Kℓ. Da Kℓ durch diese Vektoren aufgespanntwird, folgt A(Kℓ) ⊆ Kℓ.

(iii)⇒(iv): Die Abbildung A : Kℓ → Kℓ ist wohldefiniert, linear und injektiv. Insbesondere istA : Kℓ → Kℓ bijektiv. Wegen Ax∗ = b ∈ Kℓ folgt x∗ ∈ Kℓ.

120

Page 125: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

(iv)⇒(i): Es gilt x∗ ∈ Kℓ = spanb,Ab,A2b, . . . , Aℓ−1b, also b = Ax∗ ∈ spanAb,A2b, . . . , Aℓb.Insbesondere ist also b,Ab,A2b, . . . , Aℓb linear abhangig, und es folgt dimKℓ+1 ≤ ℓ.

Das folgende Lemma ist ein Standardresultat fur Hilbert-Raume und gilt grundsatzlich auch imFall unendlich-dimensionaler Raume. Fur endlich-dimensionale Hilbert-Raume kann der Beweiselementar gefuhrt werden.

Lemma 7.16. Es sei X ein endlich-dimensionaler Hilbert-Raum und Y ein Teilraum von X. Zux ∈ X existiert ein eindeutiges Px ∈ Y mit

‖x− Px‖X = infy∈Y

‖x− y‖X . (7.22)

Man bezeichnet Px ∈ Y als Bestapproximation von xxx in YYY . Der Operator P : X → Y istlinear und erfullt

Py = y und 〈x ; y〉 = 〈Px ; y〉 fur alle y ∈ Y und x ∈ X. (7.23)

P heißt Orthogonalprojektion auf YYY . Ist y1, . . . , yn eine Orthonormalbasis von Y , so gilt

Px =

n∑

j=1

〈x ; yj〉yj. (7.24)

Insbesondere gilt die Parseval-Gleichung ‖Px‖2X =

∑nj=1 |〈x ; yj〉|2 fur alle x ∈ X.

Beweis. Wir gliedern den Beweis lediglich in die einzelnen Schritte und uberlassen deren Verifi-kation dem geneigten Leser:1. Schritt. Aufgrund eines Kompaktheitsschlusses gibt es ein Element Px ∈ Y , das (7.22) lost.2. Schritt. Ein Element Px ∈ Y erfullt genau dann (7.22), wenn gilt ∀y ∈ Y 〈x− Px ; y〉 = 0.3. Schritt. Das Px ∈ Y mit (7.22) ist eindeutig, insbesondere ist P : X → Y wohldefiniert.4. Schritt. Die Abbildung P : X → Y ist linear und besitzt die Eigenschaften (7.23).5. Schritt. Schreibt man Px als Linearkombination der yj, so folgen (7.24) und insbesondere dieParseval-Gleichung.

Bemerkung. Fur eine SPD-Matrix A ∈ Rn×nsym definiert

〈x ; y〉A := 〈x ; Ay〉2 fur x, y ∈ Rn (7.25)

ein Skalarprodukt auf Rn. Die zugehorige Norm ist ‖x‖A = 〈x ; x〉1/2

A . Das CG-Verfahren (con-jugate gradient method) besteht darin, fur ℓ ∈ N die Bestapproximation xℓ ∈ Kℓ(A, b) von x∗

bezuglich ‖ · ‖A zu bestimmen, d.h.

finde xℓ ∈ Kℓ(A, b) mit ‖x∗ − xℓ‖A = miny∈Kℓ(A,b)

‖x∗ − y‖A. (7.26)

Lemma 7.16 garantiert die eindeutige Existenz von xℓ. Die Berechnung von xℓ ist moglich, ohnex∗ zu kennen: Dazu konstruieren wir mittels Gram-Schmidt-Orthogonalisierung in Satz 7.17 eine

121

Page 126: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Folge d0, . . . , dℓ−1 von paarweise 〈· ; ·〉A-orthogonalen Vektoren mit Kℓ(A, b) = spand0, . . . , dℓ−1.Mit (7.24) folgt dann

xℓ =ℓ−1∑

j=0

〈x∗ ; dj〉A〈dj ; dj〉A

dj =ℓ−1∑

j=0

〈b ; dj〉2〈dj ; dj〉A

dj .

In dieser Formulierung sieht man, dass xℓ allein aus der Kenntnis von b berechnet werden kann,d.h. die unbekannte exakte Losung x∗ wird nicht benotigt.

Ubung. Es sei X ein endlich-dimensionaler Hilbert-Raum mit Basis x1, . . . , xn ∈ X. Man zeige,dass dann die Massenmatrix M ∈ R

n×n, definiert durch Mjk := 〈xj ; xk〉, eine SPD-Matrix ist.

Bemerkung. Fur eine regulare Matrix A ∈ Rn×n besteht das CGNR-Verfahren (cg norm resi-

dual method) in der Verwendung des CG-Verfahrens zur Losung von ATAx∗ = AT b. Es gilt

‖x∗ − y‖2AT A = 〈x∗ − y ; ATA(x∗ − y)〉2 = 〈A(x∗ − y) ; A(x∗ − y)〉2 = ‖b−Ay‖2

2,

und deshalb folgt fur die Iteriertenfolge

xℓ ∈ Kℓ(ATA,AT b) mit ‖b−Axℓ‖2 = min

y∈Kℓ(AT A,AT b)‖b−Ay‖2. (7.27)

Die Berechnung von xℓ erfordert also offensichtlich nicht die Kenntnis von x∗, sondern lediglich dieder rechten Seite b. Die eindeutige Existenz von xℓ folgt aus dem CG-Verfahren.

Bemerkung. Fur eine regulare Matrix A ∈ Rn×n besteht das GMRES-Verfahren (generalized

minimal residual method) darin,

xℓ ∈ Kℓ(A, b) mit ‖b−Axℓ‖2 = miny∈Kℓ(A,b)

‖b−Ay‖2 fur ℓ ∈ N0 (7.28)

zu berechnen. Bei der Definition der Iteriertenfolge handelt es sich also in jedem Schritt um einlineares Ausgleichsproblem. Da die Restriktion von A auf Kℓ(A, b) injektiv ist, konnen wir Satz 3.18anwenden und erhalten die eindeutige Existenz von xℓ.

Wegen x∗ ∈ Kℓ∗ berechnen alle drei Verfahren in ℓ∗ Schritten die exakte Losung xℓ∗ = x∗. Man kanndiese sog. Krylov-Verfahren also nicht nur als iterative Verfahren, sondern auch als Eliminations-verfahren deuten. Im Folgenden betrachten wir nur das CG-Verfahren. Fur das GMRES-Verfahrenverweisen wir auf die Literatur, z.B. Plato [5, Abschnitte 11.6, 11.7, 11.8], oder auf die VorlesungIterative Losung großer Gleichungssysteme.

Satz 7.17. Es seien A ∈ Rn×nsym eine SPD-Matrix und xℓ ∈ Kℓ mit (7.26) fur ℓ ≥ 1. Es bezeichne

r0 := b und rℓ := b−Axℓ fur ℓ ∈ N, ℓ ≤ ℓ∗

das Residuum. Offensichtlich gilt genau dann rℓ = 0, wenn xℓ = x∗ gilt, d.h. ℓ = ℓ∗. Dannist r0, . . . , rℓ−1 eine Basis von Kℓ. Das Gram-Schmidt-Verfahren liefert eine Orthogonalbasisd0, . . . , dℓ−1 von Kℓ bezuglich 〈· ; ·〉A. Fur ℓ < ℓ∗ gelten dann die folgenden Aussagen:(i) d0 = b, dℓ+1 = rℓ+1 + βℓdℓ mit βℓ := ‖rℓ+1‖2

2/‖rℓ‖22.

(ii) xℓ+1 = xℓ + αℓdℓ, rℓ+1 = rℓ − αℓAdℓ mit αℓ := ‖rℓ‖22/‖dℓ‖2

A.

Bevor wir Satz 7.17 beweisen, formulieren wir unsere Erkenntnis in Form eines Algorithmus.

122

Page 127: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Algorithmus 7.18: CG-Verfahren

Input: SPD-Matrix A ∈ Rn×n, Vektor b ∈ R

n

Definiere r0 := b, d0 := b, x0 := 0, ℓ = 0.(1) Abbruch, falls rℓ = 0.(2) Definiere αℓ := ‖rℓ‖2

2/‖dℓ‖2A, xℓ+1 = xℓ + αℓdℓ, rℓ+1 = rℓ − αℓAdℓ.

(3) Definiere βℓ := ‖rℓ+1‖22/‖rℓ‖2

2, dℓ+1 := rℓ+1 + βℓdℓ.(4) Update ℓ 7→ ℓ+ 1, Rucksprung nach (1).

Output: Losung x∗ = xℓ von Ax∗ = b sowie Index ℓ∗ = ℓ.

Bemerkung. Algorithmus 7.18 bricht (mathematisch, nicht numerisch) nach endlich vielen Schrit-ten ab und bestimmt dabei ℓ∗. Bei der Implementierung sollte die Bedingung rℓ = 0 in (1) durcheine geeignete Abbruchbedingung ersetzt werden, z.B. |rℓ| ≤ τabs mit gegebener absoluter Toleranzτabs > 0.

Bemerkung. Nach (i) und (v) aus Satz 7.17 gilt

‖x∗ − xℓ+1‖A = minλ∈R

‖x∗ − (xℓ + λdℓ)‖A,

d.h. die Schrittweite λ = αℓ ist optimal.

Beweis von Satz 7.17. Wir gliedern den Beweis der Ubersicht halber wieder in mehrereSchritte.1. Schritt. Es gilt 〈rk ; y〉2 = 0 fur y ∈ Kk. Insbesondere ist r0, . . . , rℓ−1 eine Orthogonalbasisvon Kℓ bezuglich dem euklidischen Skalarprodukt. Offensichtlich gelten rk ∈ Kk+1 und

〈rk ; y〉2 = 〈A(x∗ − xk) ; y〉2 = 〈x∗ − xk ; y〉A = 0 fur all y ∈ Kk.

Insbesondere sind die rk also paarweise ℓ2-orthogonal und damit linear unabhangig. Wegen r0, . . . , rℓ−1 ⊆Kℓ und dimKℓ = ℓ folgt die Behauptung.

2. Schritt. Gram-Schmidt-Orthogonalisierung von r0, . . . , rℓ−1 liefert eine 〈· ; ·〉A-Orthogonal-basis d0, . . . , dℓ−1 von Kℓ mit d0 = r0 = b und dk+1 = rk+1 + βkdk, βk := −〈rk+1 ; dk〉A/‖dk‖2

A.Ferner gilt nach Definition des Gram-Schmidt-Verfahrens 〈dk ; y〉A = 0 fur y ∈ Kk. Nach Gram-Schmidt-Orthogonalisierung gelten d0 = r0 und

dk+1 = rk+1 −k∑

j=0

〈rk+1 ; dj〉A‖dj‖2

A

dj induktiv fur k ≥ 0.

Wegen rj ∈ Kj+1 gilt induktiv dj ∈ Kj+1. Fur j ≤ k − 1 folgt dj ∈ Kk, also Adj ∈ Kk+1 und mitSchritt 1 deshalb

〈rk+1 ; dj〉A = 〈rk+1 ; Adj〉2 = 0 fur j ≤ k − 1,

123

Page 128: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

d.h. die Summe reduziert sich auf den letzten Summanden fur j = k.

3. Schritt. Mit αk := 〈x∗ ; dk〉A/‖dk‖2A gelten xk+1 = xk + αkdk und rk+1 = rk − αkAdk. Mit der

Orthogonalbasis d0, . . . , dk von Kk+1 konnen wir xk+1 explizit schreiben als

xk+1 =k∑

j=0

〈x∗ ; dj〉A‖dj‖2

A

dj = xk +〈x∗ ; dk〉A‖dk‖2

A

dk,

denn xk besitzt dieselbe Darstellung mit Laufindex j = 0, . . . , k − 1. Dies zeigt xk+1 = xk + αkdk,und nach Definition rk+1 = b−Axk+1 folgt unmittelbar rk+1 = rk − αkAdk.

Damit ist der Beweis de facto abgeschlossen. Es fehlt nur noch, die Gleichheiten αk = αk undβk = βk nachzurechnen.

4. Schritt. Es gilt αk := 〈x∗ ; dk〉A/‖dk‖2A = ‖rk‖2

2/‖dk‖2A =: αk. Nach Schritt 2 gilt dk =

rk + βk−1dk−1. Wegen Schritt 1 und dk−1 ∈ Kk gilt 〈rk ; dk−1〉2 = 0. Deshalb folgt

‖rk‖22 = 〈rk ; rk〉2 = 〈rk ; dk〉2 = 〈b−Axk ; dk〉2 = 〈x∗ − xk ; dk〉A = 〈x∗ ; dk〉A,

denn es gilt xk ∈ Kk und damit 〈xk ; dk〉A = 0.

5. Schritt. Es gilt βk := −〈rk+1 ; dk〉A/‖dk‖2A = ‖rk+1‖2

2/‖rk‖22 =: βk. Nach Schritt 3 und 4 gilt

rk+1 = rk − αkAdk. Mit 〈rk+1 ; rk〉2 = 0 folgt

‖rk+1‖22 = −αk〈rk+1 ; Adk〉2 = −αk〈rk+1 ; dk〉A = βk‖rk‖2

2

nach Definition von βk und αk. Umstellen zeigt die Behauptung.

Im Gegensatz zu den stationaren linearen Iterationsverfahren aus Abschnitt 7.3 kann man furdas CG-Verfahren a priori angeben, wie viele Iterationsschritte hochstens notwendig sind, um einegewunschte Genauigkeit zu erreichen.

Satz 7.19. Unter den Voraussetzungen des CG-Verfahrens gilt mit κ :=√

cond2(A) fur alleℓ ∈ N die relative a priori Fehlerabschatzung

‖x∗ − xℓ‖A ≤ 2‖x∗‖A

(κ− 1

κ+ 1

)ℓ(7.29)

und

‖x∗ − xℓ‖2 ≤ 2κ‖x∗‖2

(κ− 1

κ+ 1

)ℓ. (7.30)

Beweis. Jede symmetrische Matrix ist diagonalisierbar uber R, d.h. es existiert eine 〈· ; ·〉2-Orthonormalbasis v1, . . . , vn von R

n aus Eigenvektoren zu A. Es sei λj > 0 der Eigenwert zumEigenvektor vj . Ohne Einschrankung gilt λ1 ≥ · · · ≥ λn > 0. Aufgrund der Symmetrie folgtcond2(A) = λ1/λn, denn ‖A‖2 = ρ(A) = λ1 und ‖A−1‖2 = ρ(A−1) = λn. Fur einen Vektorx =

∑nj=1 αjvj ∈ R

n gilt dann

‖x‖22 =

n∑

j=1

α2j und ‖x‖2

A = 〈Ax ; x〉2 =

n∑

j=1

λjα2j (7.31)

124

Page 129: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

KAPITEL 7. ITERATIVE LOSUNG VON GLEICHUNGSSYSTEMEN

Deshalb folgt die Normaquivalenz

√λn ‖x‖2 ≤ ‖x‖A ≤

√λ1 ‖x‖2 fur x ∈ R

d

und fur x∗ 6= 0 daraus die Abschatzung

‖x∗ − x‖2

‖x∗‖2≤

√λ1√λn

‖x∗ − x‖A

‖x∗‖A= κ

‖x∗ − x‖A

‖x∗‖A.

Es ist also nur (7.29) zu zeigen. Im Fall cond2(A) = λ1/λn = 1 folgt A = λ1III und deshalb sofortx1 = x∗. Also konnen wir ohne Beschrankung der Allgemeinheit κ > 1 annehmen. Die Verifikationvon (7.29) folgt in 2 Schritten:

1. Schritt. Es gilt ‖x∗ − xℓ‖A ≤ ‖x∗‖A infp∈Pℓ,p(0)=1

maxj=1,...,n

|p(λj)|. Es sei p ∈ Pℓ mit p(0) = 1. Da

das Polynom 1 − p dann eine Nullstelle bei t = 0 hat, gilt

q ∈ Pℓ−1, q(t) :=1 − p(t)

t

nach Polynomdivision. Definiere x := q(A)b ∈ Kℓ. Es gilt

p(A)x∗ = (1 −Aq(A))x∗ = x∗ − q(A)Ax∗ = x∗ − x.

Mit der Darstellung x∗ =∑n

j=1 αjvj folgt p(A)x∗ =∑n

j=1 αjp(A)vj =∑n

j=1 αjp(λj)vj . Mit (7.31)erhalten wir daraus

‖x∗ − x‖2A = ‖p(A)x∗‖2

A =

n∑

j=1

λjα2jp(λj)

2 ≤ maxk=1,...,ℓ

|p(λk)|2n∑

j=1

λjα2j

= maxk=1,...,ℓ

|p(λk)|2 ‖x∗‖2A.

2. Schritt. Es gibt ein Polynom p ∈ Pℓ mit p(0) = 1 und p(λj) ≤ 2(κ− 1

κ+ 1

)ℓfur alle j = 1, . . . , n.

Mit dem Cebysev-Polynom Tℓ(t) := arccos(ℓ cos(t)) ∈ Pℓ erster Art auf [0, 1] definieren wir

p(λ) :=q(λ)

q(0), q(λ) := Tℓ

(λ1 + λn − 2λ

λ1 − λn

)

Offensichtlich gilt p ∈ Pℓ mit p(0) = 1. Wegen ‖Tℓ‖∞,[−1,1] = 1 und κ = λ1/λn gilt

maxλn≤λ≤λ1

|p(λ)| ≤∣∣∣Tℓ

(λ1 + λn

λ1 − λn

)∣∣∣−1

=∣∣∣Tℓ

(cond2(A) + 1

cond2(A) − 1

)∣∣∣−1.

Direkte Rechnung fur das Cebysev-Polynom Tℓ zeigt schließlich

∣∣∣Tℓ

(κ2 + 1

κ2 − 1

)∣∣∣ ≥ 1

2

(κ+ 1

κ− 1

)ℓ,

siehe Plato [5, Lemma 11.18]. Hieraus folgt die Behauptung.

125

Page 130: Numerische Mathematik - asc.tuwien.ac.atpraetorius/download/notes/numerik.pdf · Eigentlich wollte ich noch Matlab-Implementierungen undnumerische Beispiele zu den einzelnen Kapiteln

Literaturverzeichnis

[1] M. Brokate: Praktische Analysis, Vorlesungsskript Christian-Albrechts-Universitat zu Kiel,1998.

[2] C. Carstensen: Numerische Mathematik 2, Vorlesungsskript TU Wien, 2002.

[3] O. Forster: Analysis 1, Vieweg 41992.

[4] H. Heuser: Lehrbuch der Analysis, Teil 2, Teubner Stuttgart 81993.

[5] R. Plato: Numerische Mathematik kompakt, Vieweg 2000

[6] A. Quarteroni, R. Sacco, F. Saleri: Numerical Mathematics, Springer 2000

[7] Stoer: Numerische Mathematik, Springer 71994.

126