26.12.2013 Aufrufe

Einführung in die Numerische Mathematik - Lehrstuhl Numerische ...

Einführung in die Numerische Mathematik - Lehrstuhl Numerische ...

Einführung in die Numerische Mathematik - Lehrstuhl Numerische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Numerische</strong> <strong>Mathematik</strong><br />

Thomas Richter<br />

thomas.richter@iwr.uni-heidelberg.de<br />

Thomas Wick<br />

thomas.wick@iwr.uni-heidelberg.de<br />

Universität Heidelberg<br />

21. März 2013


Inhaltsverzeichnis<br />

Literaturverzeichnis<br />

ii<br />

1 E<strong>in</strong>leitung 1<br />

1.1 Konditionierung von numerischen Problemen . . . . . . . . . . . . . . . . . 5<br />

1.2 Rundungsfehleranalyse und Stabilität von numerischer Algorithmen . . . . 15<br />

2 Nullstellenbestimmung 19<br />

2.1 Motivation und E<strong>in</strong>ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

2.2 Stabilität und Kondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2.3 Intervallschachtelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.4 Das Newton-Verfahren <strong>in</strong> 1D . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.4.1 Das klassische Newton-Verfahren . . . . . . . . . . . . . . . . . . . . 27<br />

2.4.2 Das Newton-Verfahren als Defekt-Korrektur . . . . . . . . . . . . . . 32<br />

2.4.3 Das vere<strong>in</strong>fachte Newton-Verfahren . . . . . . . . . . . . . . . . . . . 33<br />

2.4.4 Das gedämpfte Newton-Verfahren . . . . . . . . . . . . . . . . . . . 33<br />

2.5 Weitere Verfahren zur Nullstellensuche . . . . . . . . . . . . . . . . . . . . . 34<br />

2.6 Konvergenzbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

2.7 Vier Verfahren im Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

3 Interpolation und Approximation 47<br />

3.1 Polynom<strong>in</strong>terpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

3.1.1 Lagrangesche Darstellung . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

3.1.2 Newtonsche Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

3.1.3 Interpolation von Funktionen und Fehlerabschätzungen . . . . . . . 54<br />

3.2 Spl<strong>in</strong>e Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

3.3 <strong>Numerische</strong> Differentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

3.4 Richardson Extrapolation zum Limes . . . . . . . . . . . . . . . . . . . . . . 67<br />

3.5 <strong>Numerische</strong> Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

3.5.1 Interpolatorische Quadratur . . . . . . . . . . . . . . . . . . . . . . . 73<br />

3.5.2 Stückweise <strong>in</strong>terpolatorische Quadraturformeln . . . . . . . . . . . . 77<br />

3.5.3 Gauß-Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

3.5.4 Romberg-Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />

3.6 Approximationstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

3.6.1 Gauss-Approximation: Beste Approximation <strong>in</strong> der L 2 -Norm . . . . 99<br />

4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra 109<br />

4.1 Grundlagen der l<strong>in</strong>earen Algebra . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

i


Inhaltsverzeichnis<br />

4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme . . . . . . . . . . . . . . . 116<br />

4.2.1 Störungstheorie & Stabilitätsanalyse von l<strong>in</strong>earen Gleichungssystemen117<br />

4.2.2 Das Gauß’sche Elim<strong>in</strong>ationsverfahren und <strong>die</strong> LR-Zerlegung . . . . . 120<br />

4.2.3 LR-Zerlegung für diagonaldom<strong>in</strong>ante Matrizen . . . . . . . . . . . . 131<br />

4.2.4 Die Cholesky-Zerlegung für positiv def<strong>in</strong>ite Matrizen . . . . . . . . . 132<br />

4.2.5 Dünn besetzte Matrizen und Bandmatrizen . . . . . . . . . . . . . . 134<br />

4.3 Nachiteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140<br />

4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung . . . . . . . . . . . . . 145<br />

4.4.1 Das Gram-Schmidt Verfahren . . . . . . . . . . . . . . . . . . . . . . 146<br />

4.4.2 Householder-Transformationen . . . . . . . . . . . . . . . . . . . . . 149<br />

4.4.3 Givens-Rotationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155<br />

4.5 Überbestimmte Gleichungssysteme, Gauß’sche Ausgleichrechnung . . . . . . 158<br />

4.6 Berechnung von Eigenwerten . . . . . . . . . . . . . . . . . . . . . . . . . . 164<br />

4.6.1 Konditionierung der Eigenwertaufgabe . . . . . . . . . . . . . . . . . 165<br />

4.6.2 Direkte Methode zur Eigenwertberechnung . . . . . . . . . . . . . . 168<br />

4.6.3 Iterative Verfahren zur Eigenwertberechnung . . . . . . . . . . . . . 169<br />

4.6.4 Das QR-Verfahren zur Eigenwertberechnung . . . . . . . . . . . . . 174<br />

4.6.5 Reduktionsmethoden zur Eigenwertbestimmung . . . . . . . . . . . . 176<br />

5 <strong>Numerische</strong> Iterationsverfahren 181<br />

5.1 Der Banachsche Fixpunktsatz . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />

5.2 Fixpunkt-Iterationen zum Lösen von nichtl<strong>in</strong>earen Gleichungen . . . . . . . 186<br />

5.2.1 Newton-Verfahren im R n . . . . . . . . . . . . . . . . . . . . . . . . 186<br />

5.2.2 Newton-Kantorovich . . . . . . . . . . . . . . . . . . . . . . . . . . . 187<br />

5.2.3 Vere<strong>in</strong>fachtes und gedämpftes Newton-Verfahren . . . . . . . . . . . 192<br />

5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme . . . . . . . . . . . 195<br />

5.3.1 Konstruktion von Fixpunktverfahren . . . . . . . . . . . . . . . . . . 198<br />

5.3.2 Konvergenzkriterium für Jacobi- und Gauß-Seidel-Iteration . . . . . 199<br />

5.3.3 Relaxationsverfahren: das SOR-Verfahren . . . . . . . . . . . . . . . 204<br />

5.3.4 Praktische Aspekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207<br />

5.3.5 Abstiegs & Gra<strong>die</strong>ntenverfahren . . . . . . . . . . . . . . . . . . . . 209<br />

6 Anwendungsbeispiel: dünner Balken 221<br />

6.1 Modellierung e<strong>in</strong>es elastischen Balkens . . . . . . . . . . . . . . . . . . . . . 222<br />

6.2 Diskretisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223<br />

6.2.1 Diskretes Modell mit globaler Interpolation . . . . . . . . . . . . . . 225<br />

6.2.2 Diskretes Modell mit stückweiser Interpolation . . . . . . . . . . . . 225<br />

6.2.3 Vergleich und Diskussion der beiden Modelle . . . . . . . . . . . . . 226<br />

6.3 Lösungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227<br />

6.4 E<strong>in</strong> Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228<br />

6.4.1 Globaler Polynomansatz . . . . . . . . . . . . . . . . . . . . . . . . . 228<br />

6.4.2 Stückweiser Polynomansatz . . . . . . . . . . . . . . . . . . . . . . . 230<br />

6.4.3 Analyse und Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . 233<br />

ii


Literaturverzeichnis<br />

[1] Jörg Bewersdorff. Algebra für E<strong>in</strong>steiger: Von der Gleichungsauflösung zur Galois-<br />

Theorie. Wiesbaden, 2004.<br />

[2] J.F. Epperson. An <strong>in</strong>troduction to numerical methods and analysis. John Wiley &<br />

Sons, 2007.<br />

[3] J. Douglas Faires and Richard L. Burdon. <strong>Numerische</strong> Methoden. Spektrum Akademischer<br />

Verlag, 1994.<br />

[4] A. Grama, A. Gupta, G. Karypis, and V. Kumar. Introduction to Parallel Comput<strong>in</strong>g.<br />

Addison-Wesley, 2003. 2nd edition.<br />

[5] G. Hämmerl<strong>in</strong> and K.-H. Hoffmann. <strong>Numerische</strong> <strong>Mathematik</strong>. Spr<strong>in</strong>ger Verlag, 1992.<br />

[6] M. Hanke-Bourgeois. Grundlagen der numerischen <strong>Mathematik</strong> und des Wissenschaftlichen<br />

Rechnens. Vieweg-Teubner Verlag, 2009.<br />

[7] IEEE. IEEE 754-2008: Standard for float<strong>in</strong>g-po<strong>in</strong>t arithmetic. Technical report, IEEE<br />

Standards Association, 2008. doi:10.1109/IEEESTD.2008.4610935.<br />

[8] Ra<strong>in</strong>er Kress. Numerical Analysis. Spr<strong>in</strong>ger Verlag, 1998.<br />

[9] R. Rannacher. <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> numerische mathematik. Technical report, Universität<br />

Heidelberg, 2006. http://numerik.uni-hd.de/˜lehre/notes.<br />

[10] R. Rannacher. Numerik partieller Differentialgleichungen. Technical report, Universität<br />

Heidelberg, 2008. http://numerik.uni-hd.de/˜lehre/notes.<br />

[11] R. Rannacher. Numerik gewöhnlicher Differentialgleichungen. Technical report, Universität<br />

Heidelberg, 2011. http://numerik.uni-hd.de/˜lehre/notes.<br />

[12] T. Richter. Numerik partieller Differentialgleichungen. Technical report, Universität<br />

Heidelberg, 2011. http://numerik.uni-hd.de/˜richter/teach<strong>in</strong>g.shtml.<br />

[13] H. R. Schwarz and N. Köckler. <strong>Numerische</strong> <strong>Mathematik</strong>. Vieweg-Teubner Verlag,<br />

2011.<br />

[14] Dirk Werner. Funktionalanalysis. Spr<strong>in</strong>ger, 2004.<br />

iii


Literaturverzeichnis<br />

iv


1 E<strong>in</strong>leitung<br />

In der numerischen <strong>Mathematik</strong> werden Verfahren zum konkreten “Lösen” von mathematischen<br />

Problemen entworfen und analysiert. Dabei ist <strong>die</strong> numerische <strong>Mathematik</strong> eng<br />

mit anderen Zweigen der <strong>Mathematik</strong> verbunden und kann auch nicht von dem Anwendungsgebiet,<br />

also z.B. der Chemie, Physik oder Mediz<strong>in</strong> getrennt werden. Der übliche Weg<br />

von Problem zur Lösung ist lang:<br />

1. Mathematische Modellierung Das zugrundeliegende Problem wird mathematisch erfasst,<br />

es werden Gleichungen entwickelt, <strong>die</strong> das Problem beschreiben. Ergebnis des<br />

mathematischen Modells kann e<strong>in</strong> l<strong>in</strong>eares Gleichungssystem se<strong>in</strong>, aber z.B. auch<br />

e<strong>in</strong>e Differentialgleichung.<br />

2. Analyse des Modells Das mathematische Modell muss auf se<strong>in</strong>e Eigenschaften untersucht<br />

werden: existiert e<strong>in</strong>e Lösung, ist <strong>die</strong>se Lösung e<strong>in</strong>deutig? Hier kommen alle<br />

Teilgebiete der <strong>Mathematik</strong> zum E<strong>in</strong>satz, von der L<strong>in</strong>earen Algebra über Statistik,<br />

Gruppentheorie zur Theorie von partiellen Differentialgleichungen.<br />

3. <strong>Numerische</strong> Verfahrensentwicklung E<strong>in</strong> numerisches Lösungs- oder Approximationsverfahren<br />

wird für das Modell entwickelt. Viele mathematische Modelle (etwa Differentialgleichungen)<br />

können nicht exakt gelöst werden und oft kann e<strong>in</strong>e Lösung,<br />

auch wenn sie existiert, nicht angegeben werden. Die Lösung e<strong>in</strong>er Differentialgleichung<br />

ist e<strong>in</strong>e Funktion f : [a, b] → R und zur genauen Beschreibung müsste der<br />

Funktionswert an den unendlich-vielen Punkten des Intervalls [a, b] bestimmt werden.<br />

Jede durchführbare Verfahrensvorschrift kann allerd<strong>in</strong>gs nur aus endlich vielen<br />

Schritten bestehen. Das Problem muss zunächst diskretisiert werden, also auf e<strong>in</strong><br />

endlich-dimensionales reduziert werden. Die <strong>Numerische</strong> <strong>Mathematik</strong> befasst sich<br />

mit der Analyse der numerischen Verfahren, also mit Untersuchung von Konvergenz<br />

und Approximationsfehlern.<br />

4. Implementierung Das numerische Verfahren muss auf e<strong>in</strong>em Computer implementiert<br />

werden. Zur effizienten Implementierung müssen spezielle Algorithmen entwickelt<br />

werden. Um moderne Computer-Architekturen nutzen zu können muss das<br />

Verfahren z.B. für <strong>die</strong> Verwendung von Parallelrechnern modifiziert werden.<br />

5. Auswertung Die numerischen Ergebnisse (etwa das Simulationsergebnis e<strong>in</strong>er Flugzeugumströmung)<br />

müssen ausgewertet werden. Dies be<strong>in</strong>haltet e<strong>in</strong>e grafische Darstellung<br />

der Ergebnisse sowie <strong>in</strong> technischen Anwendungen z.B. <strong>die</strong> Auswertung von<br />

Kräften <strong>die</strong> nur <strong>in</strong>direkt gegeben s<strong>in</strong>d. Anhand von Plausibilitätsanalysen muss <strong>die</strong><br />

Qualität der Ergebnisse beurteilt werden. Unter Umständen führt <strong>die</strong>se Überprüfung<br />

zu neuen mathematischen Modellen oder modifizierten numerischen Verfahren.<br />

1


1 E<strong>in</strong>leitung<br />

Die Teilaspekte dürfen nicht getrennt vone<strong>in</strong>ander gesehen werden. E<strong>in</strong> effizienter Algorithmus<br />

ist nichts wert, wenn das zugrundeliegende Problem überhaupt ke<strong>in</strong>e wohldef<strong>in</strong>ierte<br />

Lösung hat, e<strong>in</strong> numerisches Verfahren für e<strong>in</strong> Anwendungsproblem ist wertlos, wenn der<br />

Computer <strong>in</strong> absehbarer Zeit zu ke<strong>in</strong>er Lösung kommt.<br />

Das Ergebnis e<strong>in</strong>er numerischen Aufgabe ist im Allgeme<strong>in</strong>en e<strong>in</strong>e Zahl, oder e<strong>in</strong>e endliche<br />

Menge von Zahlen. Beispiele für numerische Aufgaben s<strong>in</strong>d das Berechnen der Nullstellen<br />

e<strong>in</strong>er Funktion, <strong>die</strong> Berechnung von Integralen, <strong>die</strong> Berechnung der Ableitung e<strong>in</strong>er<br />

Funktion <strong>in</strong> e<strong>in</strong>em Punkt, aber auch komplexere Aufgaben wie das Lösen e<strong>in</strong>er Differentialgleichung.<br />

Zum Lösen von numerischen Aufgaben werden wir unterschiedliche Verfahren kennenlernen.<br />

Wir grenzen zunächst e<strong>in</strong>:<br />

Def<strong>in</strong>ition 1.1 (<strong>Numerische</strong>s Verfahren, Algorithmus). E<strong>in</strong> numerisches Verfahren ist e<strong>in</strong>e<br />

Vorschrift zum Lösen oder zur Approximation e<strong>in</strong>er mathematischen Aufgabe. E<strong>in</strong> numerisches<br />

Verfahren heißt direkt, falls <strong>die</strong> Lösung bis auf Rundungsfehler exakt berechnet<br />

werden kann. E<strong>in</strong> Verfahren heißt approximativ falls <strong>die</strong> Lösung nur angenähert werden<br />

kann. E<strong>in</strong> Verfahren heißt iterativ, falls <strong>die</strong> Näherung durch mehrfache Ausführung des<br />

Verfahrens verbessert werden kann.<br />

Beispiele für direkte Lösungsverfahren s<strong>in</strong>d <strong>die</strong> p/q-Formel zur Berechnung von Nullstellen<br />

quadratischer Polynome (siehe Kapitel 2) oder der Gauß’sche Elim<strong>in</strong>ationsalgorithmus<br />

(Kapitel 4) zum Lösen von l<strong>in</strong>earen Gleichungssysteme. Approximative Verfahren müssen<br />

z.B. zum Bestimmen von komplizierten Integralen oder auch zum Berechnen von Nullstellen<br />

allgeme<strong>in</strong>er Funktionen e<strong>in</strong>gesetzt werden. Wir betrachten e<strong>in</strong> Beispiel e<strong>in</strong>es direkten<br />

Verfahrens:<br />

Beispiel 1.2 (Polynomauswertung). Es sei durch<br />

p(x) = a 0 + a 1 x + · · · + a n x n<br />

e<strong>in</strong> Polynom gegeben. Dabei sei n ∈ N sehr groß. Wir werten p(x) <strong>in</strong> e<strong>in</strong>em Punkt x 0 ∈ R<br />

mit dem trivialen Verfahren aus:<br />

Algorithmus 1.3 (Polynom-Auswertung).<br />

1. Für i = 0, 1, . . . , n berechne y i := a i x i 0<br />

2. Berechne p = ∑ N<br />

i=0 y i .<br />

Wir berechnen den Aufwand zur Polynom-Auswertung: In Schritt 1. des Algorithmus s<strong>in</strong>d<br />

zur Berechnung der y i i Multiplikationen notwendig, <strong>in</strong>sgesamt<br />

0 + 1 + 2 + · · · + n =<br />

n(n + 1)<br />

2<br />

= n2<br />

2 + n 2 .<br />

2


In Schritt 2 weitere n Additionen notwendig. Der Gesamtaufwand des Algorithmus beträgt<br />

demnach n 2 /2 + n/2 Multiplikationen sowie n Additionen. Wir fassen e<strong>in</strong>e Addition und<br />

e<strong>in</strong>e Multiplikation zu e<strong>in</strong>er elementaren Operation zusammen und erhalten zusammen<br />

als Aufwand der trivialen Polynomauswertung<br />

elementare Operationen.<br />

Wir schreiben das Polynom um<br />

A 1 (n) = n2<br />

n + n 2<br />

p(x) = a 0 + x(a 1 + x(a 2 + · · · + x(a n−1 + xa n ) . . . ))<br />

und leiten hieraus e<strong>in</strong>en weiteren Algorithmus her:<br />

Algorithmus 1.4 (Horner-Schema).<br />

1. Setze p := a n<br />

2. In Schritt i = n − 1 bis 0 berechne p := a i + x · p<br />

Jeder der n Schritte des Verfahrens benötigt e<strong>in</strong>e Multiplikation sowie e<strong>in</strong>e Addition, also<br />

ergibt sich e<strong>in</strong> Aufwand von<br />

A 2 (n) = n<br />

elementare Operationen. Das Horner-Schema benötigt für <strong>die</strong> gleiche Aufgabe wesentlich<br />

weniger Operationen, man denke nur an Polynome n ≫ 1000.<br />

Def<strong>in</strong>ition 1.5 (<strong>Numerische</strong>r Aufwand). Der Aufwand e<strong>in</strong>es numerischen Verfahrens ist<br />

<strong>die</strong> Anzahl der notwendigen elementaren Operationen. E<strong>in</strong>e elementare Operation ist e<strong>in</strong>e<br />

Addition und e<strong>in</strong>e Multiplikation.<br />

Meist hängt der Aufwand e<strong>in</strong>es Verfahrens von der Problemgröße ab. Die Problemgröße<br />

N ∈ N wird von Problem zu Problem def<strong>in</strong>iert, beim Lösen e<strong>in</strong>es l<strong>in</strong>earen Gleichungssystems<br />

Ax = b mit e<strong>in</strong>er Matrix A ∈ R N×N ist <strong>die</strong> Größe der Matrix <strong>die</strong> Problemgröße.<br />

Beim Auswerten e<strong>in</strong>es Polynoms p(x) = a n x n + a n−1 x n−1 + · · · + a 0 <strong>in</strong> e<strong>in</strong>em Punkt x ist<br />

<strong>die</strong> Problemgröße <strong>die</strong> Anzahl der Koeffizienten n.<br />

Zur e<strong>in</strong>fachen Schreibweise def<strong>in</strong>ieren wir:<br />

3


1 E<strong>in</strong>leitung<br />

Def<strong>in</strong>ition 1.6 (Landau-Symbole). (i) Es sei g(n) e<strong>in</strong>e Funktion mit g → ∞ für n → ∞.<br />

Dann ist f ∈ O(g) genau dann, wenn<br />

lim sup<br />

n→∞<br />

f(n)<br />

∣ g(n) ∣ < ∞<br />

sowie f ∈ o(g) genau dann, wenn<br />

lim<br />

n→∞ ∣<br />

f(n)<br />

g(n) ∣ = 0.<br />

(ii) Sei g(h) e<strong>in</strong>e Funktion mit g(h) → 0 für h → 0. Wir def<strong>in</strong>ieren wie oben f ∈ O(g)<br />

sowie f ∈ o(g).<br />

E<strong>in</strong>fach gesprochen: f ∈ O(g), falls f höchstens so schnell gegen ∞ konvergiert wie g und<br />

f ∈ o(g), falls g schneller als f gegen ∞ geht. Entsprechend gilt für g → 0. dass f ∈ O(g),<br />

falls f m<strong>in</strong>destens so schnell gegen Null konvergiert wie g und f ∈ o(g) falls f schneller<br />

als g gegen Null konvergiert. Mit Hilfe der Landau-Symbole lässt sich der Aufwand<br />

e<strong>in</strong>es Verfahrens e<strong>in</strong>facher charakterisieren. Im Fall der trivialen Polynomauswertung <strong>in</strong><br />

Algorithmus 1.3 gilt für den Aufwand A 1 (n) <strong>in</strong> Abhängigkeit der Polynomgröße n:<br />

A 1 (n) ∈ O(n 2 ),<br />

und im Fall des Horner-Schema’s von Algorithmus 1.4<br />

A 2 (n) ∈ O(n).<br />

Wir sagen: der Aufwand der trivialen Polynomauswertung wächst quadratisch, der Aufwand<br />

des Horner-Schema’s l<strong>in</strong>ear. Weiter können mit den Landau-Symbolen Konvergenzbegriffe<br />

quantifiziert und verglichen werden. In den entsprechenden Kapiteln kommen wir<br />

auf <strong>die</strong>sen Punkt zurück.<br />

<strong>Numerische</strong> Lösungen s<strong>in</strong>d oft mit Fehlern behaftet. Fehlerquellen s<strong>in</strong>d zahlreich: <strong>die</strong> E<strong>in</strong>gabe<br />

kann mit e<strong>in</strong>em Messfehler versehen se<strong>in</strong>, das numerische Verfahren approximiert<br />

<strong>die</strong> Lösung nur (ist also ke<strong>in</strong> direktes Verfahren), <strong>die</strong> Aufgabe kann nur mit Hilfe e<strong>in</strong>es<br />

Computers oder Taschenrechners gelöst werden und ist mit Rundungsfehlern versehen.<br />

Wir def<strong>in</strong>ieren:<br />

Def<strong>in</strong>ition 1.7 (Fehler). Sei ˜x ∈ R <strong>die</strong> Approximation e<strong>in</strong>er Größe x ∈ R. Mit |δx| =<br />

|˜x − x| bezeichnen wir den absoluten Fehler und mit |δx|/|x| den relativen Fehler.<br />

Üblicherweise ist <strong>die</strong> Betrachtung des relativen Fehlers von größerer Bedeutung: denn e<strong>in</strong><br />

absoluter Messfehler von 100m ist kle<strong>in</strong>, versucht man den Abstand zwischen Erde und<br />

Sonne zu bestimmen, jedoch groß, soll der Abstand zwischen Mensa und <strong>Mathematik</strong>gebäude<br />

gemessen werden.<br />

4


1.1 Konditionierung von numerischen Problemen<br />

Messung 0.58s 0.61s 0.62s 0.54s 0.64s 0.598s<br />

Messfehler (rel) 4% 0.5% 2% 10% 6% 1%<br />

Größe 1.65m 1.82m 1.89m 1.43m 2.01m 1.76m<br />

Fehler (abs) 0.15m 0.02m 0.09m 0.37m 0.21m 0.04m<br />

Fehler (rel) 8% 1 % 5% 21% 12% 2%<br />

Tabelle 1.1: Experiment 1: Größenbestimmung durch Fallenlassen e<strong>in</strong>es Balles.<br />

Messung 1.60s 1.48s 1.35s 1.53s 1.45s 1.482s<br />

Messfehler (rel) 5% 2.5% 11%


1 E<strong>in</strong>leitung<br />

Mittelwert aller Messergebnisse gewählt. Dies geschieht <strong>in</strong> der Hoffnung den Messfehler<br />

zu optimieren.<br />

Wir führen nun Algorithmus 2 durch und messen 5 mal (exakte Lösung h = 1.80m und t 0 ≈<br />

1.519s). In Tabelle 1.2 s<strong>in</strong>d <strong>die</strong> Messergebnisse und ermittelten Größen zusammengefasst.<br />

In der letzten Spalte wird wieder der Mittelwert aller Messergebnisse betrachtet.<br />

Trotz anfänglicher Zweifel erweist sich Algorithmus 1 als stabiler. Mögliche Fehlerquellen<br />

s<strong>in</strong>d der Messfehler bei der Bestimmung der Zeit t 0 sowie bei Algorithmus 2 <strong>die</strong> Genauigkeit<br />

beim Erreichen der Höhe von 2m. In Algorithmus 1 führt der Messfehler zu etwa dem<br />

doppelten relativen Fehler <strong>in</strong> der Höhe. Bei Algorithmus 2 führen selbst kle<strong>in</strong>e Fehler<br />

≤ 1% <strong>in</strong> den Messungen zu wesentlich größeren Fehlern im Ergebnis. Der immer noch<br />

kle<strong>in</strong>e Fehler von 5% bei der ersten Messung führt zu e<strong>in</strong>em Ergebnisfehler von etwa 40%.<br />

Auch bei Betrachtung des Mittelwerts über alle Messwerte ist <strong>die</strong> ermittelte Größe von<br />

1.49m ke<strong>in</strong>e gute Näherung.<br />

Wir wollen nun untersuchen, welche Auswirkung der Fehler <strong>in</strong> der E<strong>in</strong>gabe e<strong>in</strong>es Algorithmus<br />

auf das Ergebnis hat. Hierzu sei <strong>die</strong> Aufgabe wieder allgeme<strong>in</strong> durch <strong>die</strong> Vorschrift<br />

A : x ↦→ y beschrieben. Die E<strong>in</strong>gabe x sei mit e<strong>in</strong>em Fehler δx behaftet. Die gestörte<br />

E<strong>in</strong>gabe ˜x = x + δx liefert e<strong>in</strong> gestörtes Ergebnis ỹ = y + δy:<br />

ỹ = A(˜x),<br />

δy = ỹ − y = A(˜x) − A(x) = A(x + δx) − A(x).<br />

Wir teilen durch y = A(x) und erweitern rechts mit δx sowie mit x<br />

δy<br />

y<br />

=<br />

A(x + δx) − A(x)<br />

δx<br />

x<br />

A(x)<br />

Auf der l<strong>in</strong>ken Seite verbleibt der relative Fehler im Ergebnis, rechts steht der relative<br />

E<strong>in</strong>gabefehler multipliziert mit e<strong>in</strong>em Differenzenquotienten für <strong>die</strong> ersten Ableitung der<br />

Aufgabe. Wir approximieren:<br />

und nennen <strong>die</strong> Größe<br />

∣<br />

δy<br />

y<br />

∣ ∣∣∣ ∣ ≈ ∂A(x) x<br />

∂x A(x) ∣ ·<br />

∣<br />

κ A,x := ∂A(x)<br />

∂x<br />

δx<br />

x<br />

x<br />

A(x) ,<br />

<strong>die</strong> Konditionszahl der Aufgabe A(·) <strong>in</strong> Bezug auf <strong>die</strong> E<strong>in</strong>gabe x. Die Konditionszahl<br />

beschreibt <strong>die</strong> relative Fehlerverstärkung e<strong>in</strong>er Aufgabe <strong>in</strong> Bezug auf e<strong>in</strong>e E<strong>in</strong>gabegröße.<br />

Wir def<strong>in</strong>ieren:<br />

Def<strong>in</strong>ition 1.9 (Konditionszahl). Es sei A : R n → R m . Wir nennen<br />

κ i,j := ∂A i(x)<br />

∂x j<br />

x j<br />

A i (x)<br />

<strong>die</strong> relative Konditionszahl der Aufgabe. E<strong>in</strong>e Aufgabe heißt schlecht konditioniert, falls<br />

|κ i,j | ≫ 1, ansonsten gut konditioniert. Im Fall |κ i,j | < 1 spricht man von Fehlerdämpfung,<br />

ansonsten von Fehlerverstärkung.<br />

∣ ,<br />

δx<br />

x<br />

6


1.1 Konditionierung von numerischen Problemen<br />

Wir setzen das Beispiel zur experimentellen Größenbestimmung fort:<br />

Beispiel 1.10 (Größenbestimmung, Fortsetzung).<br />

1. Verfahren 1: Zum Durchführen des Verfahrens h(t 0 ) als E<strong>in</strong>gabe <strong>die</strong> gemessene Zeit<br />

t 0 erforderlich. Für <strong>die</strong> Konditionszahl gilt:<br />

κ h,t0 := ∂h(t 0)<br />

∂t 0<br />

t 0<br />

h(t 0 ) = gt 0<br />

t 0<br />

1<br />

2 gt2 0<br />

= 2.<br />

E<strong>in</strong> relativer Fehler <strong>in</strong> der E<strong>in</strong>gabe δt 0 /t 0 kann demnach e<strong>in</strong>en doppelt so großen<br />

relativen Fehler <strong>in</strong> der Ausgabe verursachen.<br />

2. Verfahren 2: Wir bestimmen <strong>die</strong> Konditionszahl <strong>in</strong> Bezug auf <strong>die</strong> Geschw<strong>in</strong>digkeit<br />

<strong>die</strong> Zeit t 0 :<br />

κ h,t0 = (gt 0 − v 0 )<br />

t 0<br />

1<br />

2 gt2 0 − v = 2 gt 0 − v 0<br />

0t 0 gt 0 − 2v 0<br />

Wir wissen, dass bei exaktem Wurf und ohne Messfehler, der Ball t 0 ≈ 1.519 s<br />

unterwegs ist bei e<strong>in</strong>er Startgeschw<strong>in</strong>digkeit von v 0 ≈ 6.26m/s. Dies ergibt:<br />

κ h,t0 ≈ κ h,v0 ≈ 8.<br />

Fehler <strong>in</strong> der E<strong>in</strong>gaben δt 0 /t 0 sowie δv 0 /v 0 werden um den Faktor 8 verstärkt. Die<br />

durch <strong>die</strong> Konditionszahlen vorhergesagten Fehlerverstärkungen lassen sich <strong>in</strong> Tabellen<br />

1.1 und 1.2 zu Beispiel 1.8 gut wiederf<strong>in</strong>den.<br />

Die Analyse von Fehlern und Fehlerfortpflanzungen spielen e<strong>in</strong>e zentrale Rolle <strong>in</strong> der numerischen<br />

<strong>Mathematik</strong>. Fehler treten vielfältig auf, auch ohne ungenaue E<strong>in</strong>gabewerte.<br />

Oft s<strong>in</strong>d numerische Algorithmen sehr komplex, setzen sich aus vielen Operationen zusammen.<br />

Bei der Approximation mit dem Computer treten unweigerlich Rundungsfehler<br />

auf. Da der Speicherplatz im Computer, bzw. <strong>die</strong> Anzahl der Ziffern auf dem Taschenrechner<br />

beschränkt s<strong>in</strong>d, treten Rundungsfehler schon bei der bloßen Darstellung e<strong>in</strong>er Zahl<br />

auf. Auch wenn es für <strong>die</strong> numerische Aufgabe<br />

x 2 = 2, ⇔ x = ± √ 2,<br />

mit x = ± √ 2 e<strong>in</strong>e e<strong>in</strong>fach anzugebene Lösung gibt, so kann <strong>die</strong>se auf e<strong>in</strong>em Computer<br />

nicht exakt dargestellt werden:<br />

√<br />

2 = 1.41421356237309504880 . . .<br />

Der naheliegende Grund für e<strong>in</strong>en zw<strong>in</strong>genden Darstellungsfehler ist der beschränkte Speicher<br />

e<strong>in</strong>es Computers. E<strong>in</strong> weiterer Grund liegt <strong>in</strong> der Effizienz. E<strong>in</strong> Computer kann nicht<br />

mit beliebig langen Zahlen rechnen. Grund ist <strong>die</strong> beschränkte Datenbandbreite (das s<strong>in</strong>d<br />

<strong>die</strong> 8-Bit, 16-Bit, 32-Bit oder 64-Bit der Prozessoren). Operationen mit Zahlen <strong>in</strong> längerer<br />

Darstellung müssen zusammengesetzt werden, ähnlich dem schriftlichen Multiplizieren<br />

oder Ad<strong>die</strong>ren aus der Schule.<br />

7


1 E<strong>in</strong>leitung<br />

Computer speichern Zahlen gerundet <strong>in</strong> B<strong>in</strong>ärdarstellung, also zur Basis 2:<br />

n 2 ∑<br />

rd(x) = ± a i 2 i , a i ∈ {0, 1}.<br />

i=−n 1<br />

Die Genauigkeit der Darstellung, somit der Rundungsfehler hängt von der Anzahl der<br />

Ziffern, also von n 1 und n 2 ab. Die Fixkommadarstellung der Zahl im B<strong>in</strong>ärsystem lautet:<br />

rd(x) = [a n2 a n2 −1 . . . a 1 a 0 .a −1 a −2 . . . a −n1 ] 2<br />

Praktischer ist <strong>die</strong> Gleitkommadarstellung von Zahlen. Hierzu wird <strong>die</strong> B<strong>in</strong>ärdarstellung<br />

normiert und e<strong>in</strong> geme<strong>in</strong>samer Exponent e<strong>in</strong>geführt:<br />

⎛<br />

⎞<br />

0∑<br />

rd(x) = ± ⎝ a i+n2 2 i ⎠ 2 n 2<br />

, a i ∈ {0, 1}.<br />

i=−n 1 −n 2<br />

Der führende Term (<strong>die</strong> a i ) heißt <strong>die</strong> Mantisse und wird von uns mit M bezeichnet, den<br />

Exponenten bezeichnen wir mit E. Der Exponent kann dabei e<strong>in</strong>e positive oder negative<br />

Zahl se<strong>in</strong>. Zur Vere<strong>in</strong>fachung wird der Exponenten E als E = e − b, mit e<strong>in</strong>er positiven<br />

Zahl e ∈ N und dem Bias b ∈ N geschrieben. Der Biaswert b wird <strong>in</strong> e<strong>in</strong>er konkreten<br />

Zahldarstellung fest gewählt. Der variable Exponentanteil e wird selbst im B<strong>in</strong>ärformat<br />

gespeichert. Es bleibt, <strong>die</strong> Anzahl der B<strong>in</strong>ärstellen für Mantisse und Exponent zu wählen.<br />

H<strong>in</strong>zu kommt e<strong>in</strong> Bit für das Vorzeichen S ∈ {+, −}. Die Gleitkommadarstellung im<br />

B<strong>in</strong>ärsystem lautet:<br />

rd(x) = S · [m 0 .m −1 m −2 . . . m −#m ] 2 · 2 [e #e...e 1 e 0 ] 2 −b<br />

Die Mantisse wird üblicherweise mit m 0 = 1 normiert zu M ∈ [1, 2). D.h., <strong>die</strong> führende<br />

Stelle muss nicht explizit gespeichert werden.<br />

Auf modernen Computern hat sich das IEEE 754 -Format zum Speichern von Zahlen<br />

etabliert:<br />

8


1.1 Konditionierung von numerischen Problemen<br />

Def<strong>in</strong>ition 1.11 (Normalisierte Gleitkommazahlen im IEEE 754-Format). Das IEEE-754<br />

Format [7] beschreibt <strong>die</strong> Gleitkommadarstellung e<strong>in</strong>er Zahl im B<strong>in</strong>ärformat:<br />

x = s · M · 2 E−b ,<br />

mit e<strong>in</strong>em Vorzeichen s ∈ {+, −}, e<strong>in</strong>er Mantisse M ∈ [1, 2) sowie e<strong>in</strong>em Exponenten<br />

E ∈ N mit Bias b ∈ N. Die Gleitkommazahl wird <strong>in</strong> B<strong>in</strong>ärdarstellung gespeichert:<br />

se #e . . . e 2 e 1 m #m . . . m 2 m 1<br />

mit #e Bit für den Exponenten und #m Bit für <strong>die</strong> Mantisse. Der Bias wird im Allgeme<strong>in</strong>en<br />

als 2 #e−1 − 1 gewählt. Die Interpretation der Zahlen hängt vom Exponenten<br />

ab:<br />

Null Im Fall E = 0 und M = 0 ist x = ±0. Die Unterscheidung zwischen +0 und −0<br />

entsteht beim Runden kle<strong>in</strong>en Zahlen zur Null. Im direkten Vergleich gilt +0 = −0.<br />

Unendlich Im Fall E = 2 #e − 1 (also alle Bit im Exponenten gleich 1) und M = 0 ist<br />

x = ±∞. Unendlich entsteht etwa beim Teilen durch 0 (mit Vorzeichen!) oder falls<br />

das Ergebnis zu groß (oder negativ zu kle<strong>in</strong>) ist um darstellbar zu se<strong>in</strong>.<br />

NaN Im Fall E = 2 #e − 1 und M > 0 steht der Wert für Not a Number und tritt zum<br />

Beispiel bei der Operation 0/0 oder ∞ − ∞ auf.<br />

Normalisierte Zahl Im Fall 0 ≤ E < 2 #e−1 steht <strong>die</strong> Zahl für<br />

s · 1.m #e . . . m 2 m 1 · 2 E−b .<br />

Das Rechnen mit Gleitkommazahlen kann im Computer effizient realisiert werden. Im<br />

IEEE-754 Format wird <strong>die</strong> Gleitkommadarstellung durch denormalisierte Zahlen erweitert.<br />

Wir erwähnen <strong>die</strong>s zur Vollständigkeit:<br />

Bemerkung 1.12 (Denormalisierte Zahlen). Denormalisierte Zahlen <strong>die</strong>nen zum Schließen<br />

der Lücke zwischen Null und der kle<strong>in</strong>sten positiven darstellbaren Zahl 1.0 . . . 001·2 −b .<br />

Im Fall E = 0 und M > 0 wird <strong>die</strong> Zahl <strong>in</strong>terpretiert als:<br />

s · 0.m #e . . . m 2 m 1 · 2 1−b .<br />

Die Genauigkeit bei der Rechnung mit denormalisierten Zahlen ist reduziert.<br />

In Tabelle 1.3 s<strong>in</strong>d verschiedene Gleitkommadarstellungen zusammengefasst, <strong>die</strong> historisch<br />

und aktuell benutzt werden. Derzeit wird fast ausschließlich das IEEE-Format verwendet.<br />

Hier s<strong>in</strong>d zwei Darstellungen üblich, s<strong>in</strong>gle-precision (<strong>in</strong> C++ float) und double-precision<br />

(<strong>in</strong> C++ double). Durch <strong>die</strong> Normierung der Mantisse wird e<strong>in</strong> Bit, das sogenannte hiddenbit<br />

gewonnen. Historisch wurden <strong>in</strong> Rechensystemern jeweils unterschiedliche Zahlendarstellungen<br />

gewählt. Während <strong>die</strong> ersten Computer noch im Prozessor <strong>in</strong>tegrierte Rechene<strong>in</strong>heiten<br />

für Gleitkomma-Arithmetik, <strong>die</strong> sogenannte float<strong>in</strong>g-po<strong>in</strong>t process<strong>in</strong>g unit (FPU)<br />

9


1 E<strong>in</strong>leitung<br />

Größe Vorzeichen Exponent Mantisse Bias<br />

e<strong>in</strong>fache Genauigkeit (s<strong>in</strong>gle) 32 Bit 1 Bit 8 Bit 23+1 Bit 127<br />

doppelte Genauigkeit (double) 64 Bit 1 Bit 11 Bit 52+1 Bit 1023<br />

Zuse Z1 (1938) 24 Bit 1 Bit 7 Bit 15 Bit —<br />

IBM 704 (1954) 36 Bit 1 Bit 8 Bit 27 Bit 128<br />

i8087 Coprozessor (1980) Erste Verwendung von IEEE (s<strong>in</strong>gle + double)<br />

Intel 486 (1989)<br />

Erste <strong>in</strong>tegrierte FPU <strong>in</strong> Standard PC<br />

NVIDIA G80 (2007)<br />

GPU (s<strong>in</strong>gle)<br />

NVIDIA Fermi (2010) GPU (double)<br />

Tabelle 1.3: IEEE-754 Format <strong>in</strong> e<strong>in</strong>facher und doppelter Genauigkeit sowie Gleitkommaformate<br />

<strong>in</strong> aktueller und historischer Hardware.<br />

hatten, verschwand <strong>die</strong>se zunächst wieder aus den üblichen Computern und war nur <strong>in</strong><br />

speziellen Rechnern vorhanden. In Form von Coprozessoren konnte e<strong>in</strong>e FPU nachgerüstet<br />

werden (z.B. der Intel 8087 zum Intel 8086). Der “486er” war der erste Prozessor für<br />

Heimcomputer mit <strong>in</strong>tegrierter FPU. Heute können Gleitkommaberechnungen effizient auf<br />

Grafikkarten ausgelagert werden. Die Prozessoren der Grafikkarten, <strong>die</strong> graphics process<strong>in</strong>g<br />

unit (GPU) ist speziell für solche Berechnungen ausgelegt (z.B. schnelle Berechnungen<br />

von Lichtbrechungen und Spiegelungen, Abbilden von Mustern auf 3D-Oberflächen). Spezielle<br />

Steckkarten (z.B. NVIDIA Tesla), welche gleich mehrere GPU’s enthalten werden <strong>in</strong><br />

Höchstleistungssystemen e<strong>in</strong>gesetzt. Die Genauigkeit der Darstellung ist im Wesentlichen<br />

von den <strong>in</strong> der Mantisse zu Verfügung stehenden Stellen bestimmt. Größte und kle<strong>in</strong>ste<br />

darstellbare Zahlen s<strong>in</strong>d durch <strong>die</strong> Stellen im Exponenten bestimmt. In numerischen Verfahren<br />

ist <strong>die</strong> Verwendung von doppelt-genauer Zahlendarstellung (double) üblich. Die<br />

Rechene<strong>in</strong>heiten moderner Computer nutzen <strong>in</strong>tern e<strong>in</strong>e erhöhte Genauigkeit zum Durchführen<br />

von elementaren Operationen. (80 Bit bei modernen Intel-CPU’s). Gerundet wird<br />

erst nach Berechnung des Ergebnis.<br />

Beispiel 1.13 (Gleitkommadarstellung). Wir gehen von vierstelliger Mantisse und vier<br />

Stellen im Exponent aus mit Bias 2 4−1 − 1 = 7.<br />

• Die Zahl x = −96 hat zunächst negatives Vorzeichen, also S = 1. Die B<strong>in</strong>ärdarstellung<br />

von 96 ist<br />

normalisiert<br />

96 10 = 1 · 64 + 1 · 32 + 0 · 16 + 0 · 8 + 0 · 4 + 0 · 2 + 0 · 1 = 1100000 2 ,<br />

64 10 = 1.1000 2 · 2 6 10<br />

= 1.1 2 · 2 13 10−7 10<br />

= 1.1 2 · 2 1101 2−b .<br />

Als Gleitkommadarstellung ergibt sich 111011000 2 .<br />

• Die Zahl x = −384 hat wieder negatives Vorzeichen und S = 1. Die B<strong>in</strong>ärdarstellung<br />

von 384 ist:<br />

384 10 = 1 · 256 + 1 · 128 + 0 · 64 + 0 · 32 + 0 · 16 + 0 · 8 + 0 · 4 + 0 · 2 + 0 · 1 = 110000000 2 ,<br />

10


1.1 Konditionierung von numerischen Problemen<br />

also normalisiert<br />

384 10 = 1.1000 · 2 8 10<br />

= 1.1000 · 2 15 10−7 10<br />

= 1.1000 2 · 2 1111 2−b .<br />

Alle Bits im Exponenten s<strong>in</strong>d 1. Der spezielle Wert E = 1111 2 ist jedoch zur Speicherung<br />

von NaN (Not a Number) vorgesehen. Die Zahl 384 ist zu groß um <strong>in</strong> <strong>die</strong>sem<br />

Zahlenformat gespeichert zu werden. Stattdessen wird −∞ oder B<strong>in</strong>är 111110000 2<br />

gespeichert.<br />

• Die Zahl x = 1/3 = 0.33333 . . . ist positiv, also S = 0. Die B<strong>in</strong>ärdarstellung von<br />

1/3 ist<br />

1<br />

3 = 0.01010101 . . . 2 .<br />

Normalisiert, mit vierstelliger Mantisse erhalten wir<br />

1<br />

3 ≈ 1.0101 2 · 2 −2 = 1.0101 2 · 2 5 2−7 2<br />

= 1.0101 2 · 2 0101 2−b ,<br />

also <strong>die</strong> B<strong>in</strong>ärdarstellung 001010101 2 . Wir mussten bei der Darstellung runden und<br />

erhalten rückwärts<br />

1.0101 2 · 2 0101 2−7 = 1.3125 · 2 −2 = 0.328125,<br />

mit dem relativen Fehler:<br />

1<br />

3 − 1.0101 2 · 2 0101 2−b<br />

∣<br />

1<br />

∣ ≈ 0.016<br />

3<br />

• Die Zahl x = √ 2 ≈ 1.4142135623 . . . ist positiv, also S = 0. Gerundet gilt:<br />

√<br />

2 ≈ 1.01112<br />

Diese Zahl liegt bereits normalisiert vor. Mit Bias b = 7 gilt für den Exponenten<br />

e = 0 = 7 − 7 √<br />

2 ≈ 1.01112 · 2 0111 2−b ,<br />

also 001110111. Rückwärts <strong>in</strong> Dezimaldarstellung erhalten wir<br />

1.0111 2 · 2 0111 2−b = 1.4375,<br />

mit dem relativen Darstellungsfehler<br />

√ ∣ 2 − 1.4375∣∣∣∣<br />

√ ≈ 0.016.<br />

∣ 2<br />

• Schließlich betrachten wir <strong>die</strong> Zahl x = −0.003. Mit S = 1 gilt:<br />

0.003 10 ≈ 0.00000000110001 2<br />

11


1 E<strong>in</strong>leitung<br />

und normalisiert<br />

0.003 10 ≈ 1.10001 2 · 2 −9 = 1.110001 2 · 2 −2−7 .<br />

Der Exponent −9 = −2−b ist zu kle<strong>in</strong> und kann <strong>in</strong> <strong>die</strong>sem Format (also vier Stellen<br />

für den Exponenten) nicht dargestellt werden. Die Zahl kann h<strong>in</strong>gegen denormalisiert<br />

dargestellt werden als:<br />

0.003 10 ≈ ·0.0110 2 · 2 0−7 .<br />

B<strong>in</strong>är ergibt <strong>die</strong>s 100000110 2 . Umrechnen <strong>in</strong> Dezimaldarstellung liefert:<br />

0.0110 2 · 2 0−7 = 0.375 · 2 −7 ≈ 0.0029,<br />

mit dem relativen Darstellungsfehler<br />

0.003 − 0.0029<br />

∣ 0.003 ∣ ≈ 0.033.<br />

Aus der begrenzten Anzahl von Ziffern ergibt sich zwangläufig e<strong>in</strong> Fehler bei der Durchführung<br />

von numerischen Algorithmen. Der relative Fehler, der bei der Computer-Darstellung<br />

˜x e<strong>in</strong>er Zahl x ∈ R entstehen kann<br />

∣<br />

rd(x) − x<br />

x<br />

ist durch <strong>die</strong> sogenannte Masch<strong>in</strong>engenauigkeit beschränkt:<br />

∣<br />

Def<strong>in</strong>ition 1.14 (Masch<strong>in</strong>engenauigkeit). Die Masch<strong>in</strong>engenauigkeit eps ist der maximale<br />

relative Rundungsfehler der Zahldarstellung und wird bestimmt als:<br />

eps := <strong>in</strong>f{x > 0 : rd(1 + x) > 1}.<br />

S<strong>in</strong>d im Zahlenformat denormalisierte Zahlen vorgesehen, so verschlechtert sich <strong>die</strong> Genauigkeit<br />

für x → 0.<br />

Da Rundungsfehler zwangsläufig auftreten, gelten grundlegende mathematische Gesetze<br />

wie das Assoziativgesetz oder das Distributivgesetz <strong>in</strong> Computern nicht mehr. Aufgrund<br />

von Rundungsfehlern spielt <strong>die</strong> Reihenfolge, <strong>in</strong> denen Operationen ausgeführt werden e<strong>in</strong>e<br />

wichtige Rolle und verfälscht das Ergebnis. Auch e<strong>in</strong> e<strong>in</strong>facher Vergleich von Zahlen ist oft<br />

nicht möglich, <strong>die</strong> Abfrage if (3.8/10.0==0.38) kann durch Rundung das falsche Ergebnis<br />

liefern und muss durch Abfragen der Art if ( |3.8/10.0 − 0.38| < eps) ersetzt werden.<br />

Bemerkung 1.15. Die Masch<strong>in</strong>engenauigkeit hat nichts mit der kle<strong>in</strong>sten Zahl zu tun,<br />

welche auf e<strong>in</strong>em Computer darstellbar ist. Diese ist wesentlich durch <strong>die</strong> Anzahl der Stellen<br />

im Exponenten bestimmt. Die Masch<strong>in</strong>engenauigkeit wird durch <strong>die</strong> Anzahl der Stellen<br />

<strong>in</strong> der Mantisse bestimmt. Bei der üblichen Gleitkommadarstellung mit doppelter Genauigkeit<br />

(double <strong>in</strong> c++) gilt eps ≈ 10 −16 , bei e<strong>in</strong>facher Genauigkeiten, z.B. auf Grafikkarten<br />

gilt eps ≈ 10 −8 .<br />

12


1.1 Konditionierung von numerischen Problemen<br />

Rundungsfehler treten bei jeder elementaren Operation auf. Daher kommt der Konditionierung<br />

der Grundoperationen, aus denen alle Algorithmen aufgebaut s<strong>in</strong>d, e<strong>in</strong>e entscheidende<br />

Bedeutung zu:<br />

Beispiel 1.16 (Konditionierung von Grundoperationen, Auslöschung).<br />

1. Addition, Subtraktion: A(x, y) = x + y:<br />

∣ κ A,x =<br />

x<br />

∣∣∣∣ ∣x + y ∣ = 1<br />

1 + y ∣<br />

x<br />

Im Fall x ≈ −y kann <strong>die</strong> Konditionszahl der Addition (x ≈ y bei der Subtraktion)<br />

beliebig groß werden. E<strong>in</strong> Beispiel mit vierstelliger Rechnung:<br />

x = 1.021, y = −1.019 ⇒ x + y = 0.002.<br />

Jetzt sei ỹ = 1.020 gestört. Der relative Fehler <strong>in</strong> y ist sehr kle<strong>in</strong>: |1.019−1.020|/|1.019| ≤<br />

0.1%. Wir erhalten das gestörte Ergebnis<br />

x + ỹ = 0.001,<br />

und e<strong>in</strong>en Fehler von 100%. Die enorme Fehlerverstärkung bei der Addition von<br />

Zahlen mit etwa gleichem Betrag wird Auslöschung genannt. Hier gehen wesentliche<br />

Stellen verloren. Auslöschung tritt üblicherweise dann auf, wenn das Ergebnis e<strong>in</strong>er<br />

numerischen Operation verglichen mit den E<strong>in</strong>gabewerten e<strong>in</strong>en sehr kle<strong>in</strong>en Betrag<br />

hat. Kle<strong>in</strong>e relative Fehler <strong>in</strong> der E<strong>in</strong>gabe verstärken sich zu großen relativen Fehlern<br />

im Ergebnis.<br />

2. Multiplikation: A(x, y) = x · y. Die Multiplikation zweier Zahlen ist stets gut konditioniert:<br />

κ A,x =<br />

∣ y x xy ∣ = 1.<br />

3. Division: A(x, y) = x/y. Das selbe gilt für <strong>die</strong> Division:<br />

1 x<br />

κ A,x =<br />

∣y<br />

∣ = 1, κ x y<br />

A,y =<br />

∣y 2 x<br />

∣ = 1.<br />

x<br />

y<br />

y<br />

4. Wurzelziehen: A(x) = √ x:<br />

∣ κ A,x =<br />

1<br />

∣2 √ x ∣∣∣<br />

√ = 1 x x 2 .<br />

E<strong>in</strong> Fehler <strong>in</strong> der E<strong>in</strong>gabe wird im Ergebnis sogar reduziert.<br />

Die meisten numerischen Algorithmen bestehen im Kern aus der wiederholten Ausführung<br />

<strong>die</strong>ser Grundoperationen. Der Aufwand von Algorithmen wird <strong>in</strong> der Anzahl der notwendigen<br />

elementaren Operationen (<strong>in</strong> Abhängigkeit von der Problemgröße) gemessen. Die<br />

13


1 E<strong>in</strong>leitung<br />

CPU Jahr Flops Preis<br />

Zuse Z3 1941 0.3 E<strong>in</strong>zelstücke<br />

IBM 704 1955 5 · 10 3 >10 000 000 Euro<br />

Intel 8086 + 8087 1980 50 · 10 3 2 000 Euro<br />

i486 1991 1.4 · 10 6 2 000 Euro<br />

IPhone 4s 2011 100 · 10 6 500 Euro<br />

2xPentium III 2001 800 · 10 6 2 000 Euro<br />

Core i7 2011 100 · 10 9 1 000 Euro<br />

Helics I (Parallelrechner am IWR) 2002 1 · 10 12 1 000 000 Euro<br />

Nvidia GTX 580 (GPU) 2010 1 · 10 12 500 Euro<br />

K Computer 2011 10 · 10 15 ???<br />

Tabelle 1.4: Gleitkomma-Geschw<strong>in</strong>digkeit sowie Anschaffungskosten e<strong>in</strong>iger aktueller und<br />

historischer Computer.<br />

Laufzeit e<strong>in</strong>es Algorithmus hängt wesentlich von der Leistungsfähigkeit des Rechners ab.<br />

Diese wird <strong>in</strong> FLOPS, also float<strong>in</strong>g po<strong>in</strong>t operations per second gemessen. In Tabelle 1.4<br />

fassen wir <strong>die</strong> erreichbaren FLOPS für verschiedene Computer-Systeme zusammen. Die<br />

Leistung ist im Laufe der Jahre rapide gestiegen, alle zehn Jahre wird etwa der Faktor<br />

1000 erreicht. Die Leistungssteigerung beruht zum e<strong>in</strong>en auf effizienterer Hardware. Erste<br />

Computer hatten Register mit 8 Bit Breite, <strong>die</strong> <strong>in</strong> jedem Takt (das ist <strong>die</strong> MHz Angabe)<br />

verarbeitet werden konnten. Auf aktueller Hardware stehen Register mit 64 Bit zur<br />

Verfügung. H<strong>in</strong>zu kommt e<strong>in</strong>e effizientere Abarbeitung von Befehlen durch sogenanntes<br />

Pipel<strong>in</strong><strong>in</strong>g: <strong>die</strong> übliche Abfolge im Prozessor be<strong>in</strong>haltet “Speicher lesen, Daten bearbeiten,<br />

Ergebnis speichern”. Das Pipel<strong>in</strong><strong>in</strong>g erlaubt es dem Prozessor schon den Speicher für<br />

<strong>die</strong> nächste Operation auszulesen, während <strong>die</strong> aktuelle bearbeitet wird. So konnte <strong>die</strong><br />

Anzahl der notwendigen Prozessortakte pro Rechenoperation erheblich reduziert werden.<br />

Die Komb<strong>in</strong>ation aus Intel 8086 mit FPU 8087 hat bei e<strong>in</strong>em Takt von 8 Mhz und 50 000<br />

Flops etwa 150 Takte pro Fließkommaoperation benötigt. Der 486er braucht bei 66 Mhz<br />

und etwa 1 000 000 Flops nur 50 Takte pro Operation. Der Pentium III liegt bei etwa 5<br />

Takten pro Fließkommaoperation. In den letzten Jahren beruht <strong>die</strong> Effizienzsteigerung<br />

wesentlich auf e<strong>in</strong>em sehr hohen Grad an Parallelisierung. E<strong>in</strong> aktueller Core I7 Prozessor<br />

kann mehrere Operationen gleichzeitig durchführen. E<strong>in</strong>e Nvidia 580 GPU erreicht ihre<br />

Leistung mit über 500 Rechenkernen. Um <strong>die</strong>se Leistung effizient nutzen zu können müssen<br />

<strong>die</strong> Algorithmen entsprechend angepasst werden, so dass auch alle 500 Kerne ausgelastet<br />

werden. Kann e<strong>in</strong> Algorithmus <strong>die</strong>se spezielle Architektur nicht ausnutzen, so fällt <strong>die</strong><br />

Leistung auf etwa e<strong>in</strong> Gigaflop zurück, also auf das Niveau des Pentium III aus dem Jahr<br />

2001. Werden <strong>die</strong> 500 Kerne h<strong>in</strong>gegen optimal ausgenutzt, so erreicht e<strong>in</strong>e Grafikkarte <strong>die</strong><br />

gleiche Leistung wie der Heidelberger L<strong>in</strong>ux-Cluster helics aus dem Jahr 2002. Moderne<br />

Super-Computer wie der K Computer (schnellster Computer der Welt <strong>in</strong> 2012) vernetzen<br />

über 500 000 Kerne.<br />

14


1.2 Rundungsfehleranalyse und Stabilität von numerischer Algorithmen<br />

1.2 Rundungsfehleranalyse und Stabilität von numerischer<br />

Algorithmen<br />

Beim Entwurf von numerischen Algorithmen für e<strong>in</strong>e Aufgabe s<strong>in</strong>d oft unterschiedliche<br />

Wege möglich, welche sich z.B. <strong>in</strong> der Reihenfolge der Verfahrensschritte unterscheiden.<br />

Unterschiedliche Algorithmen zu e<strong>in</strong> und derselben Aufgabe können dabei rundungsfehlerbed<strong>in</strong>gt<br />

zu unterschiedlichen Ergebnissen führen:<br />

Beispiel 1.17 (Distributivgesetz). Wir betrachten <strong>die</strong> Aufgabe A(x, y, z) = x · z − y · z =<br />

(x − y)z und zur Berechnung zwei Vorschriften:<br />

a 1 := x · z a 1 := x − y,<br />

a 2 := y · z a := a 1 · z,<br />

a := a 1 − a 2 .<br />

Es sei x = 0.519, y = 0.521, z = 0.941. Bei vierstelliger Arithmetik erhalten wir:<br />

a 1 := rd(x · z) = 0.4884 b 1 := rd(x − y) = −0.002<br />

a 2 := rd(y · z) = 0.4903 b 2 := rd(a 1 · z) = −0.001882<br />

a 3 := rd(a 1 − a 2 ) = −0.0019<br />

Mit A(x, y, z) = −0.001882 ergeben sich <strong>die</strong> relativen Fehler:<br />

∣ −0.0001882 − a 3<br />

∣∣∣ ∣ 0.0001882 ∣ ≈ 0.01, −0.0001882 − b 2<br />

0.0001882 ∣ = 0.<br />

Das Distributivgesetz gilt auf dem Computer nicht!<br />

Die Stabilität hängt also entscheidend vom Design des Algorithmus ab. E<strong>in</strong>gabefehler,<br />

oder auch Rundungsfehler, <strong>die</strong> <strong>in</strong> e<strong>in</strong>zelnen Schritten entstehen, werden <strong>in</strong> darauffolgenden<br />

Schritten des Algorithmus verstärkt. Wir analysieren nun beide Verfahren im Detail und<br />

gehen davon aus, dass <strong>in</strong> jedem der elementaren Schritte (wir haben hier nur Addition<br />

und Multiplikation) e<strong>in</strong> relativer Rundungsfehler ɛ mit |ɛ| ≤ eps entsteht, also<br />

rd(x + y) = (x + y)(1 + ɛ),<br />

rd(x · y) = (x · y)(1 + ɛ),<br />

Zur Analyse e<strong>in</strong>es gegebenen Algorithmus verfolgen wir <strong>die</strong> <strong>in</strong> Rundungsfehler, welche <strong>in</strong><br />

jedem Schritt entstehen und deren Akkumulation:<br />

Beispiel 1.18 (Stabilität des Distributivgesetzes). Wir berechnen zunächst <strong>die</strong> Konditionszahlen<br />

der Aufgabe:<br />

1<br />

κ A,x =<br />

∣1 − y ∣ , κ 1<br />

A,y =<br />

∣<br />

x<br />

1 − x ∣ , κ A,z = 1.<br />

y<br />

Für x ≈ y ist <strong>die</strong> Aufgabe schlecht konditioniert. Wir starten mit Algorithmus 1 und<br />

schätzen <strong>in</strong> jedem Schritt den Rundungsfehler ab. Zusätzlich betrachten wir E<strong>in</strong>gabefehler<br />

(oder Darstellungsfehler) von x, y und z. Wir berücksichtigen stets nur Fehlerterme<br />

15


1 E<strong>in</strong>leitung<br />

erster Ordnung und fassen alle weiteren Terme mit den Landau-Symbolen (für kle<strong>in</strong>e ɛ)<br />

zusammen:<br />

a 1 =x(1 + ɛ x )z(1 + ɛ z )(1 + ɛ 1 ) = xz(1 + ɛ x + ɛ z + ɛ 1 + O(eps 2 ))<br />

= xz(1 + 3ɛ 1 + O(eps 2 )),<br />

a 2 =y(1 + ɛ y )z(1 + ɛ z )(1 + ɛ 2 ) = yz(1 + ɛ y + ɛ z + ɛ 2 + O(eps 2 ))<br />

= yz(1 + 3ɛ 2 + O(eps 2 )),<br />

a 3 =(xz(1 + 3ɛ 1 ) − yz(1 + 3ɛ 2 ) + O(eps 2 ))(1 + ɛ 3 )<br />

= (xz − yz)(1 + ɛ 3 ) + 3xzɛ 1 − 3yzɛ 2 + O(eps 2 )<br />

Wir bestimmen den relativen Fehler:<br />

a 3 − (xz − yz)<br />

∣ xz − yz ∣ = |(xz − yz)ɛ 3 − 3xzɛ 1 + 3yzɛ 2 |<br />

|xz − yz|<br />

|x| + |y|<br />

≤ eps + 3<br />

|x − y| eps.<br />

Die Fehlerverstärkung <strong>die</strong>ses Algorithmus kann für x ≈ y groß werden und entspricht etwa<br />

(Faktor 3) der Konditionierung der Aufgabe. Wir nennen den Algorithmus daher stabil.<br />

Wir betrachten nun Algorithmus 2:<br />

a 1 =(x(1 + ɛ x ) − y(1 + ɛ y ))(1 + ɛ 1 )<br />

= (x − y)(1 + ɛ 1 ) + xɛ x − yɛ y + O(eps 2 )<br />

a 2 =z(1 + ɛ z ) ( (x − y)(1 + ɛ 1 ) + xɛ x − yɛ y + O(eps 2 ) ) (1 + ɛ 2 )<br />

= z(x − y)(1 + ɛ 1 + ɛ 2 + ɛ z + O(eps) 2 ) + zxɛ x − zyɛ y + O(eps 2 ).<br />

Für den relativen Fehler gilt <strong>in</strong> erster Ordnung:<br />

a 2 − (xz − yz)<br />

∣ xz − yz ∣ = |z(x − y)(ɛ 1 + ɛ 2 + ɛ z ) + zxɛ x − zyɛ y |<br />

|xz − yz|<br />

≤ 3eps +<br />

|x| + |y|<br />

|x − y| eps<br />

Die Fehlerverstärkung kann für x ≈ y wieder groß werden. Der Verstärkungsfaktor ist<br />

jedoch ger<strong>in</strong>ger als bei Algorithmus 1. Insbesondere fällt auf, dass <strong>die</strong>ser zweite Algorithmus<br />

bei Fehlerfreien E<strong>in</strong>gabedaten ke<strong>in</strong>e Fehlerverstärkung aufweist. (Das ist der Fall ɛ x = ɛ y =<br />

ɛ z = 0).<br />

Beide Algorithmen s<strong>in</strong>d stabil, der zweite hat bessere Stabilitätseigenschaften als der erste.<br />

Wir nennen zwei Algorithmen stabil, obwohl der e<strong>in</strong>e wesentlich bessere Stabilitätseigenschaften<br />

hat. Der Stabilitätsbegriff <strong>die</strong>nt daher oft zum relativen Vergleich verschiedener<br />

Algorithmen. Wir def<strong>in</strong>ieren<br />

Def<strong>in</strong>ition 1.19 (Stabilität). E<strong>in</strong> numerischer Algorithmus zum Lösen e<strong>in</strong>er Aufgabe<br />

heißt stabil, falls <strong>die</strong> bei der Durchführung akkumulierten Rundungsfehler den durch <strong>die</strong><br />

Kondition der Aufgabe gegebenen unvermeidlichen Fehler nicht übersteigen.<br />

16


1.2 Rundungsfehleranalyse und Stabilität von numerischer Algorithmen<br />

Wir halten fest: für e<strong>in</strong> schlecht konditioniertes Problem existiert ke<strong>in</strong> stabiler Algorithmus<br />

mit e<strong>in</strong>er ger<strong>in</strong>geren Fehlerfortpflanzung als durch <strong>die</strong> Konditionierung bestimmt. Für gut<br />

konditionierte Problem können jedoch sehr <strong>in</strong>stabile Verfahren existieren.<br />

Der wesentliche Unterschied zwischen beiden Algorithmen aus dem Beispiel ist <strong>die</strong> Reihenfolge<br />

der Operationen. In Algorithmus 1 ist der letzte Schritt e<strong>in</strong>e Subtraktion, deren<br />

schlechte Kondition wir unter dem Begriff Auslöschung kennengelernt haben. Bereits akkumulierte<br />

Rundungsfehler zu Beg<strong>in</strong>n des Verfahrens werden hier noch e<strong>in</strong>mal wesentlich<br />

verstärkt. Bei Algorithmus 2 werden durch <strong>die</strong> abschließende Multiplikation <strong>die</strong> Rundungsfehler<br />

<strong>die</strong> zu Beg<strong>in</strong>n auftreten nicht weiter verstärkt. Aus dem analysierten Beispiel leiten<br />

wir e<strong>in</strong>er Regel her:<br />

“Bei dem Entwurf von numerischen Algorithmen sollen schlecht konditionierte<br />

Operationen zu Beg<strong>in</strong>n durchgeführt werden.”<br />

17


1 E<strong>in</strong>leitung<br />

18


2 Nullstellenbestimmung<br />

2.1 Motivation und E<strong>in</strong>ordnung<br />

Das Lösen von nichtl<strong>in</strong>earen Gleichungen spielt e<strong>in</strong>e grundlegende Rolle <strong>in</strong> der <strong>Mathematik</strong>.<br />

Oft werden solche Aufgabenstellungen als Nullstellenproblem formuliert. Die Nullstellenbestimmung<br />

von l<strong>in</strong>earen und quadratischen Polynomen ist das e<strong>in</strong>fachste Beispiel und<br />

bereits aus der Schule bekannt. Insbesondere kann hierfür noch e<strong>in</strong>e geschlossene Formel<br />

(Auflösen nach der Variablen, p-q-Formel, quadratische Ergänzung) angegeben werden.<br />

Aber schon bei Gleichungen dritten Grades gibt es ke<strong>in</strong>e geschlossene Lösungsformel, <strong>die</strong><br />

lediglich mit reellen Zahlen arbeitet. Es sollte erwähnt werden, dass jedoch e<strong>in</strong>e geschlossene<br />

Formel für kubische Gleichungen unter Zuhilfenahme der komplexen Zahlen existiert<br />

(entdeckt von Cardano im Jahr 1545). E<strong>in</strong>e Zusammenfassung f<strong>in</strong>det der Leser <strong>in</strong> [1].<br />

Um <strong>die</strong>se Art von Gleichungen (numerisch) zu lösen, formulieren wir <strong>die</strong> Aufgabe als<br />

Nullstellensuche (vergleiche zur p-q-Formel). Dies bedeutet, dass wir e<strong>in</strong>e Nullstelle der<br />

Abbildung (Funktion)<br />

f : D(f) ⊂ R → R,<br />

suchen, wobei D(f) den Def<strong>in</strong>itionsbereich von f bezeichnet. Jede nichtl<strong>in</strong>eare Gleichung<br />

g(x) = y<br />

kann durch <strong>die</strong> Transformation f(x) := g(x) − y <strong>in</strong> e<strong>in</strong>e Nullstellenaufgabe geschrieben<br />

werden:<br />

f(x) = 0.<br />

Das allgeme<strong>in</strong>e Nullstellenproblem muss meist mit e<strong>in</strong>em Iterationsverfahren gelöst werden.<br />

Ausgehend von e<strong>in</strong>em Startwert x 0 , der zufällig gewählt se<strong>in</strong> kann (aber Vorsicht!!, <strong>die</strong><br />

akkurate Wahl e<strong>in</strong>es Startwertes ist oft nicht trivial) besser aber klug bestimmt werden sollte,<br />

erhalten wir mit Hilfe der Iterationsvorschrift e<strong>in</strong>e Folge von Punkten x k , k = 1, 2, 3, . . .,<br />

deren Grenzwert gegen <strong>die</strong> Nullstelle ˆx ∈ R konvergiert:<br />

f(x 0 ) → f(x 1 ) → f(x 2 ) · · · → f(ˆx) = 0.<br />

In der Praxis kann der unendliche Grenzprozess nicht durchgeführt werden. Stattdessen<br />

wird <strong>die</strong> Iteration bei e<strong>in</strong>em N ∈ N gestoppt und das Folgenglied x N wird als Approximation<br />

der Nullstelle x N ≈ ˆx betrachtet. Hieraus ergeben sich unmittelbar wichtige<br />

Fragenstellungen, <strong>die</strong> wir <strong>in</strong> <strong>die</strong>sem Kapitel untersuchen wollen und uns <strong>in</strong> den weiteren<br />

Kapiteln wieder begegnen werden. Im E<strong>in</strong>zelnen s<strong>in</strong>d <strong>die</strong>s:<br />

19


2 Nullstellenbestimmung<br />

• Im S<strong>in</strong>ne des ersten Kapitels 1: welche Aussagen können wir zur Stabilität und der<br />

Konditionierung der Nullstellenbestimmung machen?<br />

• Konstruktion e<strong>in</strong>es effizienten numerischen Verfahrens.<br />

• Wie schnell konvergiert (x k ) k∈N gegen ˆx? Das bedeutet <strong>in</strong>sbesondere <strong>die</strong> Quantifizierung<br />

Konvergenzordnung und Konvergenzrate (Maße für <strong>die</strong> Konvergenzgeschw<strong>in</strong>digkeit).<br />

In Analysis I/II haben wir bisher immer von e<strong>in</strong>er Folge x k → ˆx gesprochen,<br />

<strong>die</strong> gegen den Grenzwert konvergiert. Diese Aussage ist <strong>in</strong> der Praxis aber nutzlos,<br />

da wir <strong>in</strong> endlicher Rechenzeit e<strong>in</strong>e Lösung erhalten möchten.<br />

• Konvergiert das ausgewählte numerische Verfahren auf beliebig großen Intervallen<br />

und mit beliebig gewählten Startwerten x 0 , oder nur dann, wenn der Startwert x 0<br />

bereits h<strong>in</strong>reichend nahe an der gesuchten Nullstelle ist? In anderen Worten: ist das<br />

Verfahren lokal oder global konvergent?<br />

• Abschätzung der zu erwartenden Konvergenz mittels e<strong>in</strong>er aussagekräftigen Fehlerschranke<br />

für <strong>die</strong> Approximation |x N − ˆx|. Hier werden wir zwischen der a priori und<br />

a posteriori Fehleranalyse unterscheiden. Bei der a priori Fehleranalyse wird der<br />

Fehler |x N − ˆx| vor der Rechnung abgeschätzt. Dies gibt dem Numeriker e<strong>in</strong>e grobe<br />

Schranke zum Verhalten der Fehlerentwicklung, <strong>die</strong> aber lediglich asymptotisch richtig<br />

ist - und somit für quantitative Aussagen oft nutzlos ist. Dagegen wird bei der<br />

a posteriori Fehleranalyse der Fehler |x N − ˆx| während der Rechnung abgeschätzt,<br />

alle bereits berechneten Approximation x 0 , x 1 , . . . , x N können <strong>in</strong> <strong>die</strong> Abschätzung<br />

e<strong>in</strong>fließen. A posteriori Abschätzungen lassen oft quantitative Aussagen zu, <strong>die</strong> zur<br />

Steuerung des numerischen Verfahrens genutzt werden können.<br />

Im Rest <strong>die</strong>ses Kapitels werden wir <strong>die</strong> oben genannten Fragen anhand verschiedener<br />

Verfahren diskutieren und <strong>die</strong> Schlüsselbegriffe spezifizieren.<br />

Generell lassen sich <strong>die</strong> Verfahren zur Nullstellensuche <strong>in</strong> ableitungsfreie Verfahren (z.B.<br />

Intervallschachtelung, Sekantenmethode, sukzessive Approximation) und ableitungsbehaftete<br />

Verfahren e<strong>in</strong>teilen (Newton-artige Verfahren). Exemplarisch betrachten wir dazu <strong>die</strong><br />

Intervallschachtelung und das klassische Newton-Verfahren. Die weiteren Verfahren werden<br />

am Ende des Kapitels zusammenfassend erläutert mit H<strong>in</strong>weisen auf weiterführende<br />

Literatur.<br />

Der S<strong>in</strong>n <strong>die</strong>ses Kapitels ist e<strong>in</strong>erseits <strong>die</strong> Brücke von bereits bekannten Problemstellungen<br />

<strong>in</strong> der Schule (hier: Nullstellenbestimmung) zu Aussagen der Analysis (z.B. Zwischenwertsatz,<br />

Konvergenz) zu schlagen. Gleichzeitig gehören <strong>die</strong> Algorithmen <strong>die</strong>ses Kapitels zu der<br />

großen Klasse von Fixpunktverfahren. Diese Verfahren werden wir ausführlich <strong>in</strong> Kapitel 5<br />

besprechen. Insbesondere s<strong>in</strong>d <strong>die</strong>se Verfahren auf höherdimensionale Funktionen f ∈ R n<br />

sowie zum Lösen von Differentialgleichungen geeignet (siehe [11, 10] und entsprechende<br />

H<strong>in</strong>weise auf <strong>die</strong> Fachliteratur).<br />

20


2.2 Stabilität und Kondition<br />

2.2 Stabilität und Kondition<br />

Wir werden zunächst auf <strong>die</strong> Stabilität und <strong>in</strong> Bezug auf Kapitel 1 <strong>die</strong> Konditionierung der<br />

Nullstellensuche e<strong>in</strong>gehen. Als Beispiel seien Polynome zweiten Grades gewählt. Hier liegt<br />

mit der p-q-Formel e<strong>in</strong> direktes Lösungsverfahren zur Nullstellenberechnung vor. Trotz<br />

<strong>die</strong>ser auf den ersten Blick e<strong>in</strong>fachen Aufgabe (da sogar exakt lösbar), können numerische<br />

Schwierigkeiten hieran demonstriert werden, <strong>die</strong> bereits mit logischem Vorstellungsvermögen<br />

e<strong>in</strong>leuchtend s<strong>in</strong>d.<br />

Abbildung 2.1: Die vier möglichen Situationen bei der Nullstellensuche quadratischer<br />

Funktionen: stabile Situation, doppelte Nullstelle, zwei Nullstellen nah beie<strong>in</strong>ander<br />

und ke<strong>in</strong>e reellen Nullstellen.<br />

Wir unterscheiden vier Situationen, wie <strong>in</strong> Abbildung 2.3 skizziert:<br />

1. Stabile Situation: <strong>die</strong> beiden Nullstellen liegen h<strong>in</strong>reichend weit ause<strong>in</strong>ander.<br />

2. Doppelte Nullstelle, d.h. f(ˆx) = f ′ (ˆx) = 0: <strong>die</strong> Berechnung e<strong>in</strong>er doppelten Nullstelle<br />

ist immer schlecht konditioniert, denn durch Rundungsfehler (Kapitel 1) könnte e<strong>in</strong><br />

numerisches Verfahren unter Umständen nicht nur <strong>die</strong> e<strong>in</strong>e e<strong>in</strong>zige Nullstelle f<strong>in</strong>den,<br />

sondern entweder zwei (siehe 3.) oder ke<strong>in</strong>e (siehe 4.) Nullstellen liefern.<br />

3. H<strong>in</strong>reichend nah beie<strong>in</strong>ander liegende Nullstellen s<strong>in</strong>d numerisch schwierig zu berechnen.<br />

Insbesondere gilt <strong>die</strong>s, falls mehr als e<strong>in</strong>e e<strong>in</strong>zige Nullstelle gesucht wird.<br />

4. Hier liegen ke<strong>in</strong>e reellen Nullstellen vor. Allerd<strong>in</strong>gs können wir immer noch komplexe<br />

Nullstellen f<strong>in</strong>den (Fundamentalsatz der Algebra). Die Suche nach komplexen<br />

Nullstellen kann ebenfalls schlecht konditioniert se<strong>in</strong>. Dies werden aber nicht weiter<br />

betrachten. E<strong>in</strong>e Beschreibung numerischer Verfahren zur Berechnung komplexer<br />

Nullstellen seien als Übungsaufgabe gestellt.<br />

Beispiel 2.1 (Konditionierung der p-q-Formel). Wir berechnen <strong>die</strong> Konditionierung der<br />

Nullstellenberechnung mit der p-q-Formel <strong>in</strong> Abhängigkeit von den Koeffizienten. Dazu sei<br />

f(x) = x 2 − px + q = 0, x ∈ R.<br />

21


2 Nullstellenbestimmung<br />

Für <strong>die</strong> Wurzeln x 1,2 gilt<br />

√<br />

x 1,2 = x 1,2 (p, q) = p 2 ± p 2<br />

4 − q<br />

und wegen f(x) = (x − x 1 )(x − x 2 ) auch p = x 1 + x 2 sowie q = x 1 · x 2 (Satz von Vieta).<br />

Die Konditionszahlen werden berechnet durch:<br />

k 11 = ∂x 1<br />

∂p<br />

k 12 = ∂x 1<br />

∂q<br />

p<br />

= 1 + x 2/x 1<br />

,<br />

x 1 1 − x 2 /x 1<br />

q 1<br />

= .<br />

x 1 1 − x 2 /x 1<br />

Entsprechende Resultate erhalten wir für k 22 und k 21 . Die Berechnung der Wurzeln von<br />

x 1 , x 2 ist demnach schlecht konditioniert, falls x 1 /x 2 ∼ 1, d.h. wenn <strong>die</strong> Wurzeln vergleichsweise<br />

nah beie<strong>in</strong>ander liegen. Dann s<strong>in</strong>d nämlich <strong>die</strong> Konditionszahlen sehr groß.<br />

Beispiel 2.2. Das vorherige Beispiel wird mit konkreten Zahlenwerten weitergeführt. Es<br />

sei p = 4 und q = 3.999:<br />

f(x) = x 2 − 4x + 3.9999 = 0,<br />

mit den Nullstellen x 1,2 = 2 ± 0.01. Dann gilt für <strong>die</strong> Konditionzahl<br />

k 12 =<br />

1<br />

1 − x 1 /x 2<br />

= 99.5.<br />

Das entspricht e<strong>in</strong>er möglichen Fehlerverstärkung um den Faktor 100. Bei e<strong>in</strong>er Störung<br />

von p um 1% zu ˜p = 4.04 erhalten wir <strong>die</strong> gestörten Nullstellen<br />

mit relativen Fehlern von etwa 15%.<br />

˜x 1 ≈ 2.304, ˜x 2 ≈ 1.736,<br />

Bei e<strong>in</strong>er Störung von p um m<strong>in</strong>us 1% zu ˜p = 3.96 erhalten wir ke<strong>in</strong>e reellen Nullstellen<br />

mehr - sondern <strong>die</strong> komplexen Nullstellen<br />

˜x 1 ≈ 1.98 ± 0.28196i.<br />

Die Nullstellenbestimmung kann also sehr schlecht konditioniert se<strong>in</strong>, falls <strong>die</strong> beiden Nullstellen<br />

nahe beie<strong>in</strong>ander liegen. Wir untersuchen nun <strong>die</strong> Stabilität des gut konditionierten<br />

Falls mit Nullstellen <strong>die</strong> weit separiert s<strong>in</strong>d. Es sei also e<strong>in</strong> Polynom<br />

f(x) = x 2 − px + q,<br />

mit |q| ≪ p 2 /4 gegeben. Die beiden Lösungen lauten:<br />

√<br />

x 1,2 = p 2 ± p 2<br />

4 − q,<br />

also x 1 ≈ p und x 2 ≈ 0. Aus den vorherigen Beispielen haben wir gelernt, dass <strong>die</strong> Aufgabe<br />

für |x 1 /x 2 | ≫ 1 gut konditioniert ist. Wir berechnen <strong>die</strong> Nullstellen mit der p/q-Formel:<br />

22


2.2 Stabilität und Kondition<br />

1 a 1 = p 2 /4<br />

2 a 2 = a 1 − q<br />

3 a 3 = √ a 2 ≥ 0 .<br />

Im Fall p < 0 wird zur Vermeidung von Auslöschung zuerst <strong>die</strong> zweite Wurzel berechnet<br />

˜x 2 = p/2 − a 3 berechnet, ansonsten <strong>die</strong> erste ˜x 1 = p/2 + a 3 . Die (akzeptable) Fehlerfortpflanzung<br />

lautet <strong>in</strong> <strong>die</strong>sem Fall (p > 0):<br />

∣<br />

∣<br />

∆x 1 ∣∣∣<br />

≤<br />

x 1<br />

1<br />

∣1 + 2a 3 /p∣<br />

∣<br />

} {{ }<br />


2 Nullstellenbestimmung<br />

und damit (wegen p > 0) für <strong>die</strong> erste Nullstelle ˜x 1 = 3.998 mit e<strong>in</strong>em Fehler |∆x 1 /x| ≈<br />

0.00013. Die andere Wurzel kann mit den beiden Varianten berechnet werden:<br />

• Exakte Rechnung: x 2 ≈ 0.0002501564,<br />

• Variante 1: ˜x 2 = 0.002, mit e<strong>in</strong>em Fehler |∆x 2 /x 2 | ≈ 0.2<br />

• Variante 2: ˜x 2 = 0.002501, mit e<strong>in</strong>em Fehler |∆x 2 /x 2 | ≈ 0.00023.<br />

Die berechneten Wurzeln der beiden Varianten unterscheiden sich stark. H<strong>in</strong>weis: <strong>die</strong> 4-<br />

stellige Rechengenauigkeit <strong>die</strong>nt hier nur zum Zwecke der Demonstration. Man mache sich<br />

aber bewusst, dass sich <strong>die</strong> Instabilität bei größeren Genauigkeiten überträgt.<br />

2.3 Intervallschachtelung<br />

Das e<strong>in</strong>fachste Verfahren zur Nullstellenbestimmung ist <strong>die</strong> Intervallschachtelung, wurde<br />

bereits <strong>in</strong> Analysis I e<strong>in</strong>geführt, und basiert auf dem Zwischenwertsatz.<br />

Es sei f ∈ C[a, b] und x, y ∈ [a, b] mit x < y. Falls f(x) und f(y) unterschiedliche<br />

Vorzeichen haben, d.h.,<br />

f(x)f(y) < 0,<br />

dann besitzt <strong>die</strong> Funktion f nach dem Zwischenwertsatz m<strong>in</strong>destens e<strong>in</strong>e Nullstelle <strong>in</strong><br />

(a, b). Das folgende Verfahren ermittelt e<strong>in</strong>e Approximation <strong>die</strong>ser Nullstelle.<br />

a2<br />

a1<br />

b2<br />

b1<br />

a0<br />

b0<br />

f<br />

Abbildung 2.2: Geometrische Interpretation der Intervallschachtelung.<br />

24


2.3 Intervallschachtelung<br />

Satz 2.5 (Intervallschachtelung). Es sei f ∈ C[a, b] mit f(a)f(b) < 0. Man def<strong>in</strong>iere e<strong>in</strong>e<br />

Folge von Intervallen [a n , b n ] mit n = 0, 1, 2, . . . , N, durch<br />

[a 0 , b 0 ] = [a, b]<br />

und<br />

⎧<br />

⎪⎨ [a n , x n ] falls f(a n )f(x n ) < 0,<br />

[a n+1 , b n+1 ] = [x n , b n ] falls f(x n )f(b n ) < 0,<br />

⎪⎩<br />

[x n , x n ] falls f(x n ) = 0,<br />

wobei x n = 1 2 (a n + b n ) der Mittelpunkt des Intervalls [a n , b n ] ist. Dann gilt, dass x n →<br />

ˆx (n → ∞) für e<strong>in</strong>e Nullstelle ˆx von f und<br />

|x n − ˆx| ≤ b − a<br />

2 n+1 .<br />

Diese Fehlerschranke verhält sich wie e<strong>in</strong>e geometrische Folge mit dem Quotienten 1 2 (Konvergenzrate)<br />

und hat <strong>die</strong> Konvergenzordnung p = 1 (mehr dazu <strong>in</strong> Abschnitt 2.6).<br />

Beweis: Falls f(x n ) = 0 für e<strong>in</strong> n ∈ N, dann ist <strong>die</strong> Nullstelle exakt gefunden. Im<br />

Folgenden wird <strong>die</strong>ser Fall nicht mehr betrachtet. Nach Konstruktion gilt<br />

a ≤ a 1 ≤ . . . ≤ a n ≤ a n+1 ≤ b n+1 ≤ b n ≤ . . . b 1 ≤ b,<br />

und damit<br />

|b n − a n | = |b n−1 − a n−1 |<br />

= |b n−2 − a b−2 | |b − a|<br />

2<br />

2 2 = . . . =<br />

2 n . (2.1)<br />

Somit ist (a n ) e<strong>in</strong>e monoton wachsende und nach oben beschränkte Folge. Damit ist <strong>die</strong>se<br />

nach dem Monotoniekriterium konvergent (Analysis I). Analog erhalten wir <strong>die</strong> Konvergenz<br />

für <strong>die</strong> Folge (b n ), <strong>die</strong> monoton fallend und nach unten beschränkt ist. Somit gilt<br />

ˆx := lim<br />

n→∞ b n = lim<br />

n→∞ (a n + (b n − a n )) = lim<br />

n→∞ a n + lim<br />

n→∞ (b n − a n ) = lim<br />

n→∞ a n.<br />

Da a n ≤ x n ≤ b n für alle n ∈ N folgt lim n→∞ x n = ˆx. Aus der Stetigkeit von f folgt weiter<br />

f(a n )f(b n ) ≤ 0<br />

∀n ∈ N<br />

und <strong>die</strong>s impliziert<br />

f(ˆx) 2 = lim<br />

n→∞ f(a n)f(b n ) ≤ 0 ⇒ f(ˆx) = 0.<br />

Es bleibt <strong>die</strong> Konvergenzrate zu bestimmen. Es gilt a n ≤ ˆx ≤ b n (∀n) und<br />

x n − a n = b n − x n = b − a<br />

2 n+1 .<br />

Da ˆx ∈ [a n , x n ] oder ˆx ∈ [x n , b n ] folgt <strong>die</strong> Behauptung:<br />

|x n − ˆx| ≤ b − a<br />

2 n+1 . □<br />

25


2 Nullstellenbestimmung<br />

Bemerkung 2.6 (A priori Fehlerabschätzung). Die <strong>in</strong> Satz 2.5 angegebene Fehlerabschätzung<br />

|x n − ˆx| ≤ b − a<br />

2 n+1 .<br />

ist e<strong>in</strong>e a priori Fehlerabschätzung, da <strong>die</strong>se bereits vor der Rechnung angegeben werden<br />

kann.<br />

Abschließend diskutieren wir noch e<strong>in</strong>e a posteriori Fehlerabschätzung, <strong>die</strong> allerd<strong>in</strong>gs <strong>die</strong><br />

stetige Differenzierbarkeit von f voraussetzt:<br />

Satz 2.7 (A posteriori Fehlerabschätzung). Es sei f ∈ C 1 [a, b] mit f(a)f(b) < 0 und für<br />

alle x ∈ [a, b] gilt<br />

0 < m ≤ f ′ (x) ≤ M.<br />

Für <strong>die</strong> Nullstelle ˆx von f und <strong>die</strong> <strong>in</strong> Satz 2.5 def<strong>in</strong>ierte Folge (x n ) n∈N gilt dann<br />

|f(x n )|<br />

M<br />

≤ |x n − ˆx| ≤ |f(x n)|<br />

m .<br />

Beweis: Wird dem fleißigen Leser als Übungsaufgabe überlassen.<br />

Die a posteriori Fehlerschranke kann als Abbruchkriterium zum Beenden der Intervallschachtelung<br />

genutzt werden, allerd<strong>in</strong>gs nur, falls f stetig differenzierbar <strong>in</strong> [a, b] ist. Unabhängig<br />

davon gibt es im Allgeme<strong>in</strong>en Fall drei s<strong>in</strong>nvolle Abbruchkriterien:<br />

• f(x n ) = 0: d.h. <strong>die</strong> Nullstelle ist exakt gefunden.<br />

• [a n , b n ] < T OL<br />

• n = N 0 : d.h. Angabe e<strong>in</strong>er Maximalanzahl von Iterationsschritten (mit dem Nachteil,<br />

dass <strong>die</strong> Nullstelle noch nicht genügend genau approximiert worden ist.<br />

Beispiel 2.8. Es sei b − a = 1, dann liefert <strong>die</strong> a priori Abschätzung<br />

|x 9 − ˆx| < 10 −3 , |x 19 − ˆx| < 10 −6 , |x 29 − ˆx| < 10 −9 .<br />

Das heißt <strong>in</strong> der 29-ten Iteration kann e<strong>in</strong>e Genauigkeit von T OL = 10 −9 erwartet werden.<br />

Wir halten fest, dass <strong>die</strong> Intervallschachtelung e<strong>in</strong> numerisch sehr stabiles Verfahren ist<br />

(d.h. bei Vorzeichenwechsel <strong>in</strong> [a, b] liefert das Verfahren stets e<strong>in</strong>e Nullstelle - Vorteil!),<br />

allerd<strong>in</strong>gs sehr langsam gegen <strong>die</strong> gesuchte Nullstelle konvergiert (Nachteil!), denn 29 Iterationen<br />

für e<strong>in</strong>e Toleranz von 10 −9 ist nicht besonders empfehlenswert. Zweiter Nachteil<br />

ist, dass gute Zwischenlösungen (je nachdem was das Abbruchkriterium ist) von dem Verfahren<br />

nicht wahrgenommen werden [3], S. 33, siehe praktische Übungen, Blatt 1 sowie<br />

Beispiel 2.7. Aufgrund se<strong>in</strong>er Stabilität wird das Intervallschachtelungsverfahren häufig<br />

als Startverfahren für andere Verfahren genutzt (siehe auch Abschnitt 2.7). Allerd<strong>in</strong>gs ist<br />

<strong>die</strong> Intervallschachtelung auf reelle Funktionen beschränkt (im Gegensatz zu den weiteren<br />

Verfahren, <strong>die</strong> wir im Anschluss kennen lernen werden) und das Auff<strong>in</strong>den doppelter<br />

Nullstellen ist nicht möglich.<br />

□<br />

26


2.4 Das Newton-Verfahren <strong>in</strong> 1D<br />

2.4 Das Newton-Verfahren <strong>in</strong> 1D<br />

Das Newtonverfahren ist e<strong>in</strong>es der wichtigsten numerischen Verfahren zur Nullstellenbestimmung.<br />

Es ist nicht nur auf den Fall R d mit d > 1 erweiterbar, sondern wird auch<br />

zur Lösung von Differentialgleichungen häufig genutzt, wobei <strong>die</strong> Differentialgleichungsaufgabe<br />

wiederum <strong>in</strong> Form e<strong>in</strong>es Nullstellenproblems formuliert wird (siehe weiterführende<br />

Literatur [11, 10, 12] und enthaltene Literaturverweise).<br />

Es sei f ∈ C 1 [a, b]. Falls <strong>die</strong> erste Ableitung f ′ (x) ohne große Probleme berechenbar ist<br />

(für 1D Probleme ist das gewöhnlich der Fall, allerd<strong>in</strong>gs kann das bei mehrdimensionalen<br />

Problemstellungen schwieriger werden - trotzdem oft auch noch möglich), dann stellt das<br />

Newton-Verfahren e<strong>in</strong>e sehr effiziente Methodik zur Berechnung e<strong>in</strong>er Nullstelle dar. Das<br />

Newton-Verfahren hat viele Ableger - es gibt nicht das e<strong>in</strong>e e<strong>in</strong>zige Newton-Verfahren.<br />

Das klassische Newton-Verfahren (auch Newton-Raphson-Verfahren genannt) ist durch<br />

folgende Überlegung motiviert. Die Funktion f wird im Näherungswert x k l<strong>in</strong>earisiert und<br />

der iterierte Wert x k+1 als Abzisse des Schnittpunktes der Tangente (an f) mit der x-Achse<br />

def<strong>in</strong>iert.<br />

2.4.1 Das klassische Newton-Verfahren<br />

Verfahren 2.9 (Newton-Verfahren). Es sei f ∈ C 1 [a, b] und x 0 ∈ [a, b] e<strong>in</strong> geeigneter<br />

Startwert. Die Tangente an f ist durch<br />

t(x) = f(x k ) + (x − x k )f ′ (x k ), k = 0, 1, 2, . . . ,<br />

gegeben. Dann ist <strong>die</strong> Nullstelle x k+1 bestimmt durch<br />

x k+1 = x k − f(x k)<br />

f ′ , k = 0, 1, 2, . . . . (2.2)<br />

(x k )<br />

Die Iteration wird bei Erfüllung des Abbruchkriteriums 2.11 beendet.<br />

Diese Iteration ist möglich, solange f ′ (x k ) ≠ 0.<br />

Die Iteration 2.2 gehört (wie <strong>in</strong> der Motivation bereits erwähnt) zur Klasse der Fixpunktiterationen<br />

mit der Iterationsfunktion<br />

Für e<strong>in</strong>en Fixpunkt ˆx = F (ˆx) gilt offenbar f(ˆx) = 0.<br />

Als Hauptresultat des Abschnitts zeigen wir<br />

F (x) := x − f(x)<br />

f ′ (x) . (2.3)<br />

27


2 Nullstellenbestimmung<br />

f<br />

x1<br />

x0<br />

Abbildung 2.3: Geometrische Interpretation des Newton-Verfahrens.<br />

Satz 2.10 (Newton-Verfahren). Die Funktion f ∈ C 2 [a, b] habe im Innern des Intervalls<br />

[a, b] e<strong>in</strong>e Nullstelle ˆx, und es seien<br />

m := m<strong>in</strong><br />

a≤x≤b |f ′ (x)| > 0,<br />

M := max<br />

a≤x≤b |f ′′ (x)|.<br />

Es sei ρ > 0 so gewählt, dass<br />

q := M 2m ρ < 1,<br />

K ρ(ˆx) := {x ∈ R : |x − ˆx| ≤ ρ} ⊂ [a, b].<br />

Dann s<strong>in</strong>d für jeden Startpunkt x 0 ∈ K ρ (ˆx) <strong>die</strong> Newton-Iterierten x k ∈ K ρ (ˆx) def<strong>in</strong>iert<br />

und konvergieren gegen <strong>die</strong> Nullstelle ˆx. Desweiteren gelten <strong>die</strong> a priori Fehlerabschätzung<br />

und <strong>die</strong> a posteriori Fehlerabschätzung<br />

|x k − ˆx| ≤ 2m M q2k , k ∈ N,<br />

|x k − ˆx| ≤ 1 m |f(x k)| ≤ M 2m |x k − x k+1 | 2 , k ∈ N.<br />

Beweis: Wir rekapitulieren zunächst e<strong>in</strong>ige Resultate aus der Analysis. Für zwei Punkte<br />

x, y ∈ [a, b], x ≠ y, gilt aufgrund des Mittelwertsatzes der Differentialrechnung<br />

f(x) − f(y)<br />

∣ x − y ∣ = |f ′ (ζ)| ≥ m,<br />

mit e<strong>in</strong>em ζ ∈ [x, y]. Daraus folgt<br />

|x − y| ≤ 1 |f(x) − f(y)|.<br />

m<br />

28


2.4 Das Newton-Verfahren <strong>in</strong> 1D<br />

Die Nullstelle ˆx von f ist demnach <strong>die</strong> e<strong>in</strong>zige <strong>in</strong> [a, b].<br />

Als zweites Hilfsmittel nutzen wir <strong>die</strong> Taylor-Formel mit Restglied zweiter Ordnung:<br />

Wir setzen<br />

∫ 1<br />

f(y) = f(x) + (y − x)f ′ (x) + (y − x) 2 f ′′ (x + s(y − x))(1 − s) ds. (2.4)<br />

∫ 1<br />

R(y; x) := (y − x) 2 f ′′ (x + s(y − x))(1 − s) ds = f(y) − f(x) − (y − x)f ′ (x). (2.5)<br />

0<br />

Unter Berücksichtigung der Voraussetzung für f ′′ erhalten wir<br />

∫ 1<br />

|R(y; x)| ≤ M|y − x| 2 (1 − s) ds = M 2 |y − x|2 .<br />

Für x ∈ K ρ (ˆx) nutzen wir <strong>die</strong> Iterationsfunktion (5.2), so dass gilt<br />

Mit (2.5) und dort y = ˆx folgt:<br />

Zusammenfassend erhalten wir<br />

0<br />

F (x) − ˆx = x − f(x)<br />

f ′ (x) − ˆx = − 1 ( f(x) + (ˆx − x)f ′<br />

f ′ (x) ) .<br />

(x)<br />

−R(ˆx; x) = ( f(x) + (ˆx − x)f ′ (x) ) .<br />

0<br />

|F (x) − ˆx| ≤ M 2m |x − ˆx|2 ≤ M 2m ρ2 < ρ. (2.6)<br />

Dies impliziert, dass F (x) ∈ K ρ (ˆx). Die Abbildung F ist e<strong>in</strong>e Selbstabbildung <strong>in</strong> K ρ (ˆx).<br />

Insbesondere bedeutet das, dass für x 0 ∈ K ρ (ˆx) auch alle Newton-Iterierten x k <strong>in</strong> K ρ (ˆx)<br />

liegen. Wir setzen<br />

so dass mit Hilfe von (2.6) folgt:<br />

ρ k := M 2m |x k − ˆx|,<br />

ρ k ≤ ρ 2 k−1 ≤ . . . ≤ ρ 2k<br />

0 , |x k − ˆx| ≤ 2m M ρ2k 0 .<br />

Für<br />

ρ 0 = M 2m |x 0 − ˆx| ≤ M 2m ρ < 1<br />

konvergieren <strong>die</strong> Iterierten x k → ˆx für k → ∞. Desweiteren haben wir <strong>die</strong> a priori Abschätzung<br />

gezeigt. Es bleibt <strong>die</strong> a posteriori Fehlerabschätzung zu beweisen. Hierzu nutzen<br />

wir <strong>die</strong> Taylor-Formel (2.4) und setzen dort y = x k , x = x k−1 . Dann<br />

und<br />

f(x k ) = f(x k−1 ) + (x k − x k−1 )f ′ (x k−1 ) +R(x k ; x k−1 )<br />

} {{ }<br />

=0<br />

|x k − ˆx| ≤ 1 m |f(x k) − f(ˆx)| ≤ M 2m |x k − x k−1 | 2 ,<br />

wobei wir f(ˆx) = 0 ausgenutzt haben. Damit haben wir alles gezeigt.<br />

□<br />

29


2 Nullstellenbestimmung<br />

Satz 2.11 (Abbruchkriterium 1 des Newton-Verfahrens). Die Iteration wird beendet (d.h.<br />

wir haben e<strong>in</strong>e akzeptable Lösung x akzeptabel gefunden), falls<br />

|x k+1 − x k |<br />

|x k |<br />

< T OL, (2.7)<br />

wobei <strong>die</strong> Tolerenz T OL beispielsweise durch T OL = 10 −12 gegeben ist. Das Abbruchkriterium<br />

(2.7) misst den relativen Abstand zwischen zwei aufe<strong>in</strong>anderfolgenden Iterierten<br />

x k+1 und x k ; <strong>in</strong> anderen Worten, falls zwei Iterierte nah genug beie<strong>in</strong>ander liegen, dann<br />

ist <strong>die</strong> Nullstelle näherungsweise bestimmt.<br />

Bemerkung 2.12 (Alternatives Abbruchkriterium des Newton-Verfahrens). Aufgrund<br />

der Konstruktion des Newton-Verfahrens gilt:<br />

x k+1 = x k − f(x k)<br />

f ′ , k = 0, 1, 2, . . . ,<br />

(x k )<br />

so dass mit Hilfe der Voraussetzung aus Satz 2.10<br />

gilt<br />

m := m<strong>in</strong><br />

a≤x≤b |f ′ (x)| > 0,<br />

∣ |x k+1 − x k | =<br />

f(x k )<br />

∣∣∣ ∣f ′ (x k ) ∣ ≤ f(x k )<br />

m ∣ .<br />

Das heißt, e<strong>in</strong> kle<strong>in</strong>es Residuum f(x k ) kann ebenfalls (bei festem m) als (absolutes) Abbruchkriterium<br />

genutzt werden:<br />

|f(x k )| < T OL. (2.8)<br />

Bemerkung 2.13. Für e<strong>in</strong>e zweimal stetig differenzierbare Funktion f existiert zu jeder<br />

e<strong>in</strong>fachen Nullstelle ˆx stets e<strong>in</strong>e (evtl. sehr kle<strong>in</strong>e) Umgebung K ρ (ˆx), für <strong>die</strong> <strong>die</strong> Voraussetzungen<br />

von Satz 2.10 erfüllt s<strong>in</strong>d. Das Problem beim Newton-Verfahren ist also <strong>die</strong><br />

Bestimmung e<strong>in</strong>es im E<strong>in</strong>zugsbereich der Nullstelle ˆx gelegenen Startpunktes x 0 (lokale<br />

Konvergenz). Dieser kann z.B. mit Hilfe der Intervallschachtelung (siehe entsprechende<br />

Bemerkung oben) berechnet werden. Dann konvergiert das Newton-Verfahren sehr schnell<br />

(quadratische Konvergenz) gegen <strong>die</strong> Nullstelle ˆx.<br />

Bemerkung 2.14. Das Newton-Verfahren kann auch zur Bestimmung von doppelten<br />

Nullstellen genutzt werden, allerd<strong>in</strong>gs konvergiert das Verfahren dann nur noch schlicht<br />

l<strong>in</strong>ear, d.h. p = 1, was <strong>in</strong> Beispiel 2.31 explizit gezeigt wird.<br />

Bemerkung 2.15 (E<strong>in</strong>ordnung des Newton-Verfahrens). Aufgrund der (möglichen)<br />

schnellen Konvergenz zählt das Newton-Verfahren zu den attraktivsten Verfahren <strong>in</strong> der<br />

numerischen <strong>Mathematik</strong> zur Ermittelung von Nullstellen. Aufgrund des möglicherweise<br />

sehr kle<strong>in</strong>en E<strong>in</strong>zugsbereich und damit der Abhängigkeit von der konkreten Aufgabenstellung<br />

kann das Newton-Verfahren nicht zu den black-box Lösern gezählt werden.<br />

30


2.4 Das Newton-Verfahren <strong>in</strong> 1D<br />

Beispiel 2.16. Falls der Startpunkt x 0 im E<strong>in</strong>zugsbereich des quadratischen Konvergenz<br />

liegt, dann konvergiert das Newton-Verfahren sehr schnell gegen <strong>die</strong> gesuchte Nullstelle.<br />

Es sei z.B. q ≤ 1 2<br />

, dann gilt nach nur 10 Iterationsschritten<br />

|x 10 − ˆx| ≤ 2m M q210 ∼ 2m M 10−300 .<br />

Diese Toleranz ist jenseits jeglicher Rechengenauigkeit, allerd<strong>in</strong>gs vergleiche man <strong>die</strong>ses<br />

Ergebnis mit der a priori berechneten erwarteten Toleranz der Intervallschachtelung!<br />

Beispiel 2.17 (Wurzelberechnung). Die n-te Wurzel e<strong>in</strong>er Zahl a > 0 ist <strong>die</strong> Nullstelle<br />

der Funktion f(x) = x n − a. Das Newton-Verfahren zur Berechnung von ˆx = n√ a > 0<br />

lautet (mit f ′ (x) = nx n−1 ):<br />

x k+1 = x k − xn k − a<br />

nx n−1<br />

k<br />

bzw. als Defektkorrektur-Iteration:<br />

Folgende Spezialfälle leiten sich daraus ab:<br />

= 1 {<br />

(n − 1)x k + a<br />

}<br />

n<br />

x n−1 ,<br />

k<br />

nx n−1<br />

k<br />

δx = x n k − a,<br />

x k+1 = x k − δx.<br />

x k+1 = 1 {x k + a }<br />

, (Quadratwurzel),<br />

2 x<br />

{ k<br />

}<br />

x k+1 = 1 3<br />

2x k + a x 2 k<br />

, (Kubikwurzel),<br />

x k+1 = (2 − ax k )x k , n = −1,<br />

(Kehrwert).<br />

Da stets f ′′ (ˆx) = n(n − 1)ˆx n−2 ≠ 0, erhalten wir <strong>die</strong> Konvergenzordnung p = 2. Die<br />

Fehlerkonstante beträgt<br />

C =<br />

f ′′ (ˆx)<br />

∣2f ′ (ˆx) ∣ = 1<br />

2 √ 2 .<br />

Aufgrund von Satz 2.10 konvergiert x k → ˆx(k → ∞), falls x 0 nahe genug bei ˆx gewählt<br />

wird. Bei <strong>die</strong>sem Beispiel ist <strong>die</strong> Konvergenz allerd<strong>in</strong>gs für alle x 0 > 0 gesichert, da <strong>die</strong><br />

Folge (x k ) k∈N monoton fällt und notwendig gegen ˆx = n√ a konvergiert.<br />

Bemerkung 2.18. Mit dem <strong>in</strong> dem vorangegangen Beispiel wird auf vielen Rechnern<br />

<strong>die</strong> Wurzel<br />

n √ a berechnet. Desweiteren ermöglichte <strong>die</strong> Darstellung zur Berechnung des<br />

Kehrwertes, erstmals <strong>die</strong> Berechnung ohne Ausnutzung der Division sondern lediglich unter<br />

Zuhilfenahme von Multiplikationen und Subtraktionen.<br />

31


2 Nullstellenbestimmung<br />

2.4.2 Das Newton-Verfahren als Defekt-Korrektur<br />

In der Praxis wird das Newton-Verfahren oft als Defektkorrektur-Iteration ausgeführt. Wir<br />

def<strong>in</strong>ieren:<br />

Def<strong>in</strong>ition 2.19 (Defekt). Es sei ˜x ∈ R e<strong>in</strong>e Approximation der Lösung von f(x) = y.<br />

Mit<br />

d(˜x) = y − f(˜x),<br />

wird der Defekt bezeichnet. Der Defekt wird auch als das Residuum bezeichnet.<br />

Es sei im Folgenden y = 0 (falls nicht transformieren wir <strong>die</strong> Gleichung entsprechend<br />

um), so dass wir wie üblich e<strong>in</strong> Nullstellenproblem lösen. Für <strong>die</strong> Approximation x k ist<br />

durch d k := 0 − f(x k ) der Defekt der k-ten Iterierten gegeben und wir schreiben das<br />

Newton-Verfahren <strong>in</strong> der Form:<br />

Def<strong>in</strong>ition 2.20 (Newton-Verfahren als Defektkorrektur).<br />

f ′ (x k )δx = d k , d k := −f(x k ),<br />

x k+1 = x k + δx, k = 0, 1, 2, . . . .<br />

Die Iteration wird bei Erfüllung des Abbruchkriteriums 2.11 beendet.<br />

Diese Art der Berechnung kann bei vielen Fixpunktiterationsverfahren angewendet werden<br />

(nicht bei allen!) und wird uns wieder bei der iterativen Lösung von l<strong>in</strong>earen Gleichungssystemen<br />

begegnen. Insbesondere hat das Defektkorrektur-Verfahren den Vorteil, dass <strong>die</strong><br />

Ableitung nicht mehr im Nenner steht - oder anders gesprochen, wir müssen nicht mehr<br />

<strong>die</strong> Inverse der ersten Ableitung explizit angegeben. Für 1D Funktionen ist <strong>die</strong> explizite<br />

Angabe ke<strong>in</strong> Problem. Wie verhält es sich aber bei höherdimensionalen Funktionen? (wir<br />

verweisen dazu auf Kapitel 5). Der Defekt d(˜x) = y − f(˜x) e<strong>in</strong>er Gleichung ist eng mit<br />

dem Fehler ˜x − ˆx verbunden. Es gilt der folgende allgeme<strong>in</strong>e Satz:<br />

Satz 2.21 (Defekt-Fehler Abschätzung). Es sei f ∈ C 1 [a, b] e<strong>in</strong>e differenzierbare Funktion<br />

und ˆx ∈ (a, b) <strong>die</strong> Lösung von f(x) = y. Für <strong>die</strong> Approximation ˜x ∈ (a, b) gilt <strong>die</strong><br />

Fehlerabschätzung<br />

mit m = m<strong>in</strong> [a,b] |f ′ (x)|.<br />

|˜x − ˆx| ≤ 1 m |d(˜x)|,<br />

Beweis: Es gilt mit e<strong>in</strong>em ξ ∈ [a, b]:<br />

d(˜x) = y − f(˜x) =<br />

Hieraus folgt sofort <strong>die</strong> Behauptung.<br />

f(ˆx) − f(˜x)<br />

(ˆx − ˜x) = f ′ (ξ)(ˆx − ˜x).<br />

ˆx − ˜x<br />

□<br />

32


2.4 Das Newton-Verfahren <strong>in</strong> 1D<br />

2.4.3 Das vere<strong>in</strong>fachte Newton-Verfahren<br />

Häufig ändert sich im Verlauf der Newton-Iteration <strong>die</strong> Ableitung f ′ (x) nicht mehr gravierend.<br />

In <strong>die</strong>sem Fall eignet sich das vere<strong>in</strong>fachte Newton-Verfahren. Die Idee ist recht<br />

e<strong>in</strong>fach: berechne <strong>die</strong> Ableitung f ′ (x) nur wenige Male (im Idealfall nur für x 0 ) und belasse<br />

<strong>die</strong>se für alle weiteren Schritte bei <strong>die</strong>sem Wert:<br />

Def<strong>in</strong>ition 2.22 (Vere<strong>in</strong>fachtes Newton-Verfahren). Zu e<strong>in</strong>em Startwert x 0 ∈ R werden<br />

Approximation durch <strong>die</strong> folgende Vorschrift gebildet:<br />

x k+1 = x k − f(x k)<br />

f ′ , k = 0, 1, 2, . . . .<br />

(c)<br />

Hierbei ist c e<strong>in</strong> fest gewählter Punkt, etwa x = x 0 .<br />

Das vere<strong>in</strong>fachte Newton-Verfahren konvergiert nur noch l<strong>in</strong>ear. Die Konvergenz kann jedoch,<br />

falls f ′ (c) e<strong>in</strong>e gute Approximation für f ′ (x k ) ist sehr gut se<strong>in</strong>. Das vere<strong>in</strong>fachte<br />

Newton-Verfahren spielt dann se<strong>in</strong>e Vorteile aus, falls <strong>die</strong> erste Ableitung aufwendig zu<br />

berechnen ist (was bei den Beispielen <strong>in</strong> <strong>die</strong>sem Kapitel jedenfalls nicht der Fall ist, aber<br />

bei der Nullstellensuche im R n (siehe Kapitel 5) oder bei Problemen mit Differentialgleichungen<br />

oder Optimierungsproblemen).<br />

Dieses Verfahren kann <strong>in</strong> der theoretischen Analyse als e<strong>in</strong> Spezialfall der allgeme<strong>in</strong>en<br />

Fixpunktiteration aufgefasst werden. Wir verweisen hierzu auf Kapitel 5 und [9], S. 162.<br />

2.4.4 Das gedämpfte Newton-Verfahren<br />

Das Hauptproblem bei der Durchführung des Newton-Verfahrens ist <strong>die</strong> Bestimmung e<strong>in</strong>es<br />

geeigneten Startwertes x 0 (siehe obige Bemerkungen), so dass quadratische Konvergenz<br />

erwartet werden kann. Deshalb wird <strong>in</strong> der Praxis häufig mit e<strong>in</strong>er Variante gearbeitet,<br />

dem sogenannten gedämpften Newton-Verfahren:<br />

Def<strong>in</strong>ition 2.23 (Gedämpftes Newton-Verfahren). Es sei x 0 e<strong>in</strong> geeigneter Startwert. Die<br />

Defektkorrektur-Iteration des gedämpften Newton-Verfahrens lautet:<br />

f ′ (x k )δx = f(x k ),<br />

x k+1 = x k − λ k δx, k = 0, 1, 2, . . . ,<br />

wobei λ k ∈ (0, 1] den sog. Dämpfungsparameter bezeichnet.<br />

Je kle<strong>in</strong>er λ k gewählt wird, desto ger<strong>in</strong>ger ist der Abstand zwischen x k+1 und x k . E<strong>in</strong><br />

kle<strong>in</strong>es λ kann helfen, um Konvergenz zu sichern, obwohl der E<strong>in</strong>zugbereich der quadratischen<br />

Konvergenz noch nicht gesichert ist. So wird vermieden, dass <strong>die</strong> Iteration weit aus<br />

dem E<strong>in</strong>zugbereich herausspr<strong>in</strong>gt. E<strong>in</strong>e optimale Wahl von λ k ist (abh. von der Problemstellung)<br />

sehr kompliziert werden. Zum Beispiel gibt es ausgeklügelte Algorithmen zur<br />

33


2 Nullstellenbestimmung<br />

Bestimmung von λ k für Newton-Verfahren, <strong>die</strong> zur Lösung von Optimierungsproblemen<br />

genutzt werden (siehe Nocedal/Wright, Numerical Optimization). Oft hilft <strong>die</strong> e<strong>in</strong>fache<br />

Strategie<br />

λ k,0 = 1, λ k,l+1 = λ k,l<br />

, l = 0, 1, 2, . . . ,<br />

2<br />

solange bis für das neue Residuum gilt<br />

|f(x k+1 )| < |f(x k )|.<br />

Dieser Algorithmus wird L<strong>in</strong>e-Search genannt.<br />

2.5 Weitere Verfahren zur Nullstellensuche<br />

Im <strong>die</strong>sem Abschnitt fassen wir kurz weitere Verfahren zur Nullstellensuche zusammen.<br />

Zum tieferen Verständnis sei auf <strong>die</strong> angegebene Literatur verwiesen.<br />

Sekantenverfahren<br />

Das Sekantenverfahren gehört zur Klasse der Interpolationsmethoden und hat e<strong>in</strong>e direkte<br />

Verb<strong>in</strong>dung zu dem bereits kennengelernten Newtonverfahren. Geometrisch betrachtet<br />

wird bei dem Newton-Verfahren e<strong>in</strong>e Tangente an <strong>die</strong> Funktion gelegt, während bei<br />

dem Sekantenverfahren e<strong>in</strong>e Sekante als Approximation zur Ableitung f ′ (x) genutzt wird.<br />

Hierdurch wird <strong>die</strong> explizite Berechnung von f ′ (x) vermieden. Dies macht S<strong>in</strong>n falls f ′ (x)<br />

schwierig/aufwendig zu berechnen ist. Das Sekantenverfahren ist effizienter als <strong>die</strong> Nullstellenbestimmung<br />

mit Hilfe der Intervallschachtelung und auch e<strong>in</strong>facher zu realisieren<br />

als <strong>die</strong> sukzessive Approximation (Banachscher Fixpunktsatz); siehe nächster Abschnitt<br />

sowie Kapitel 5.<br />

Konkret wird bei dem Sekantenverfahren <strong>die</strong> Ableitung f ′ (x) durch e<strong>in</strong>en Differenzenquotienten<br />

ersetzt, etwa durch<br />

f ′ (x k ) = f(x k) − f(x k−1 )<br />

x k − x k−1<br />

.<br />

Die Iterationsvorschrift erfordert zwei Startwerte x 0 und x 1 , so dass<br />

x k+1 = x k −<br />

x k − x k−1<br />

f(x k ) − f(x k−1 ) f(x k).<br />

E<strong>in</strong>e wichtige Beobachtung ist, dass <strong>die</strong> Sekantenmethode unter Umständen zur Auslöschung<br />

im Nenner neigt (zur Auslöschung siehe Kapitel 1). Analog zum Newton-Verfahren<br />

kann e<strong>in</strong>e Analyse mit entsprechender Fehlerabschätzung durchgeführt werden. Hierzu verweisen<br />

wir auf [9], Satz 5.3 auf S. 167. Das Sekanten-Verfahren ist e<strong>in</strong>e Kuriosität, da ke<strong>in</strong>e<br />

ganzzahlige Konvergenzordnung bewiesen werden kann. Stattdessen gilt asymptotisch:<br />

|x k − ˆx| ≤ Cq γk k , γk → 1 2 (1 + √ 5) ≈ 1.6818,<br />

34


2.5 Weitere Verfahren zur Nullstellensuche<br />

also e<strong>in</strong>e Ordnung von etwa 1.6. Die Konstante q hängt wie beim Newton-Verfahren vom<br />

E<strong>in</strong>zugbereich ab.<br />

In Komb<strong>in</strong>ation mit der bereits diskutierten Intervallschachtelung <strong>in</strong> Abschnitt 2.3 erhalten<br />

wir e<strong>in</strong> stabilisiertes Verfahren:<br />

Def<strong>in</strong>ition 2.24 (Regula falsi). Es sei f e<strong>in</strong>e stetige Funktion auf [a 0 , b 0 ] := [a, b] mit<br />

f(a)f(b) < 0. E<strong>in</strong>e Approximation von f(x n+1 ) = 0 wird mittels<br />

x n+1 := a n − f(a n)(b n − a n )<br />

f(b n ) − f(a n )<br />

bestimmt. Dann ist das nächste Intervall gegeben durch<br />

⎧<br />

⎪⎨ [a n , x n ] falls f(a n )f(x n ) < 0,<br />

[a n+1 , b n+1 ] = [x n , b n ] falls f(x n )f(b n ) < 0,<br />

⎪⎩<br />

[x n , x n ] falls f(x n ) = 0,<br />

In Worten bedeutet <strong>die</strong>s, dass das Verfahren approximierende Geraden (Sekanten) bildet,<br />

aber analog zur Intervallschachtelung <strong>die</strong> Nullstelle durch kle<strong>in</strong>er werdende Intervalle<br />

e<strong>in</strong>schließt.<br />

Die Konvergenzgeschw<strong>in</strong>digkeit ist vergleichbar zu den beiden Verfahren durch <strong>die</strong> <strong>die</strong><br />

regula falsi def<strong>in</strong>iert ist.<br />

Sukzessive Approximation<br />

Die sukzessive Approximation basiert auf dem Banachschen Fixpunktsatz. Das Verfahren<br />

eignet sich <strong>in</strong>sbesondere zur Nullstellenbestimmung höherdimensionaler Funktionen.<br />

Daher verweisen wir auf Kapitel 5 für e<strong>in</strong>e ausführliche Diskussion.<br />

Berechnung komplexer Nullstellen<br />

Nach dem Fundamentalsatz der Algebra besitzt jedes komplexe Polynom n-ten Grades,<br />

n + 1 Nullstellen. Die bisherigen Verfahren eignen sich nicht zur Berechnung von komplexen<br />

Nullstellen. Entsprechende Verfahren werden <strong>in</strong> der Literatur diskutiert und für e<strong>in</strong>e<br />

Diskussion im Rahmen <strong>die</strong>ses Skriptums sei auf <strong>die</strong> Übungsaufgaben verwiesen.<br />

35


2 Nullstellenbestimmung<br />

2.6 Konvergenzbegriffe<br />

In <strong>die</strong>sem Abschnitt wird <strong>die</strong> Konvergenz iterativer Verfahren anhand der bereits diskutierten<br />

Beispiele <strong>in</strong> e<strong>in</strong>em allgeme<strong>in</strong>en Rahmen gefasst. Die theoretischen Resultate werden<br />

allgeme<strong>in</strong> für Fixpunktpunktverfahren hergeleitet, so dass das Newton-Verfahren als e<strong>in</strong><br />

Spezialfall aufgefasst werden kann. Die Aussagen <strong>die</strong>ses Abschnitts s<strong>in</strong>d auf andere iterative<br />

Verfahren <strong>die</strong> wir später kennenlernen ebenfalls anwendbar (z.B. iterative Lösung von<br />

Gleichungssystemen).<br />

Die folgenden Überlegungen s<strong>in</strong>d durch <strong>die</strong> bereits bekannten Abschätzungen motiviert.<br />

Für <strong>die</strong> Intervallschachtelung gilt:<br />

|x n − ˆx| ≤ b − a<br />

2 n+1 ,<br />

mit der Konvergenzrate 1 2<br />

und der Konvergenzordnung p = 1 (l<strong>in</strong>eare Konvergenz).<br />

Das Newtonverfahren besitzt (lokal) <strong>in</strong> der Umgebung e<strong>in</strong>er Nullstelle das Konvergenzverhalten<br />

|x k − ˆx| ≤ c |x k−1 − ˆx| 2 .<br />

Wir sprechen von e<strong>in</strong>em quadratisch konvergenten Verfahren oder auch von e<strong>in</strong>em Verfahren<br />

2-ter Ordnung.<br />

Allgeme<strong>in</strong> gilt<br />

Def<strong>in</strong>ition 2.25 (Konvergenzordnung). Wir nennen e<strong>in</strong> Iterationsverfahren zur Berechnung<br />

e<strong>in</strong>er Nullstelle ˆx von Konvergenz mit der Ordnung p mit p ≥ 1, wenn gilt<br />

|x k − ˆx| ≤ c|x k−1 − ˆx| p ,<br />

mit e<strong>in</strong>er festen Konstanten c > 0. Im Fall p = 1, d.h. l<strong>in</strong>earer Konvergenz heißt <strong>die</strong> beste<br />

Konstante c ∈ (0, 1) <strong>die</strong> l<strong>in</strong>eare Konvergenzrate. Gilt bei l<strong>in</strong>earer Konvergenzrate zusätzlich<br />

c k → 0 (k → ∞), d.h.<br />

|x k − ˆx| ≤ c k |x k−1 − ˆx|,<br />

so sprechen wir von superl<strong>in</strong>earer Konvergenz.<br />

Grundsätzlich gilt (zum<strong>in</strong>dest asymptotisch), dass superl<strong>in</strong>ear konvergente Folgen schneller<br />

als (schlicht) l<strong>in</strong>eare Folgen konvergieren. Außerdem konvergieren Verfahren mit Ordnung<br />

p+1 schneller als Verfahren mit der Ordnung p. Außerdem gilt, je kle<strong>in</strong>er <strong>die</strong> Konvergenzrate<br />

c ist, desto schneller ist <strong>die</strong> Konvergenz. Allerd<strong>in</strong>gs hat <strong>die</strong> Konvergenzordnung<br />

wesentlich größeren E<strong>in</strong>fluss auf <strong>die</strong> Konvergenzgeschw<strong>in</strong>digkeit, als <strong>die</strong> Konvergenzrate.<br />

Letztlich sollte bemerkt werden, dass Verfahren mit p > 3 sehr selten Anwendung f<strong>in</strong>den.<br />

Sehr oft nutzt der Numeriker Newton-artige Verfahren, so dass p ≈ 2 gilt.<br />

36


2.6 Konvergenzbegriffe<br />

Bemerkung 2.26. Die Konvergenzordnung hat e<strong>in</strong>en direkten praktischen Nutzen. Als<br />

Näherung erwartet wir bei e<strong>in</strong>em iterativen Verfahren der Ordnung p > 1 zur Lösung des<br />

Problems g(x) = 0, dass sich <strong>die</strong> Anzahl der korrekten Dezimalstellen bei jeder Iteration<br />

ver-p-facht. Bei Verfahren erster Ordnung erwarten wir, dass sich <strong>die</strong> Anzahl der korrekten<br />

Dezimalstellen <strong>in</strong> etwa um den Summanden | log 10 (g ′ (ˆx))| erhöht.<br />

Im Folgenden betrachten wir Fixpunktprobleme der Form<br />

x k+1 = g(x k ), k = 0, 1, 2, . . . .<br />

Bei Fixpunktiterationen mit stetig differenzierbarer Abbildung g(·) gilt mit dem Mittelwertsatz<br />

der Analysis:<br />

∣ x k+1 − ˆx<br />

∣∣∣ ∣ x k − ˆx ∣ = g(x k ) − g(ˆx)<br />

x k − ˆx ∣ → |g′ (ˆx)| (k → ∞). (2.9)<br />

Hieraus implizieren wir, dass <strong>die</strong> l<strong>in</strong>eare Konvergenzrate asymptotisch (k → ∞) gerade<br />

gleich |g ′ (ˆx)| ist. Dementsprechend liegt im Falle g ′ (ˆx) = 0 (m<strong>in</strong>destens) superl<strong>in</strong>eare<br />

Konvergenz vor.<br />

Aus (2.9) können wir folgende Def<strong>in</strong>ition ableiten:<br />

Def<strong>in</strong>ition 2.27. E<strong>in</strong> Fixpunkt ˆx e<strong>in</strong>er stetig differenzierbaren Abbildung g(·) heißt anziehend,<br />

falls |g ′ (ˆx)| < 1 ist. Im Fall |g ′ (ˆx)| > 1, wird e<strong>in</strong> Fixpunkt abstoßend genannt.<br />

Der folgende Satz liefert e<strong>in</strong> e<strong>in</strong>faches Kriterium zur Bestimmung der Konvergenzordnung<br />

e<strong>in</strong>er differenzierbaren Fixpunktiteration. Er kann auch zur Konstruktion von Verfahren<br />

mit hoher Ordnung genutzt werden:<br />

Satz 2.28 (Iterative Verfahren mit Ordnung p ≥ 2). Die Funktion g(·) sei <strong>in</strong> e<strong>in</strong>er Umgebung<br />

des Fixpunktes ˆx p-mal stetig differenzierbar. Die Fixpunktiteration x k+1 = g(x k )<br />

hat genau dann <strong>die</strong> Ordnung p, wenn<br />

Beweis:<br />

g ′ (ˆx) = . . . = g (p−1) (ˆx) = 0 und g (p) ≠ 0.<br />

• Teil 1 (Rückrichtung)<br />

Es seien g ′ (z) = . . . = g (p−1) (z) = 0. Im Punkt z lautet <strong>die</strong> Taylorformel mit dem<br />

Restglied p-ter Ordnung:<br />

x k+1 − z = g(x k ) − g(z) =<br />

p−1 ∑<br />

j=1<br />

Damit erhalten wir <strong>die</strong> Abschätzung:<br />

(x k − z) j<br />

|x k+1 − z| ≤ 1 p! max |g(p) | |x k − z| p .<br />

j!<br />

g (j) (z) + (x k − z) p<br />

g (p) (ξ k ).<br />

p!<br />

37


2 Nullstellenbestimmung<br />

• Teil 2 (H<strong>in</strong>richtung)<br />

Es sei nun umgekehrt <strong>die</strong> Iteration von p-ter Ordnung, sprich<br />

|x k+1 − z| ≤ c|x k − z| p .<br />

Falls es e<strong>in</strong> m<strong>in</strong>imales m ≤ p − 1 mit g (m) (z) ≠ 0 gäbe, aber g (j) (z) = 0, j =<br />

1, . . . , m−1, so würde jede Iterationsfolge (x k ) k∈N mit h<strong>in</strong>reichend kle<strong>in</strong>em |x 0 −z| ≠<br />

0) notwendig gegen z wie<br />

|x k − z| ≤<br />

1<br />

∣m! g(m) (ξ k )<br />

∣ |x k−1 − z| m ,<br />

also mit der Ordnung m. Hier f<strong>in</strong>den wir aber e<strong>in</strong>en Widerspruch zu der Annahme,<br />

dass <strong>die</strong> Iteration von der Ordnung p ist:<br />

|g (m) (z)| = lim<br />

k→∞ |g(m) (ξ k )| ≤ c m! lim<br />

k→∞ |x k − z| p−m = 0.<br />

Hieraus folgt, dass für g ′ (z) = . . . = g (p−1) (z) = 0, aber g (p) (z) ≠ 0, dass <strong>die</strong> Iteration<br />

nicht von höherer Ordnung als p se<strong>in</strong> kann.<br />

Beispiel 2.29 (Darstellung des Newton-Verfahrens als Fixpunktverfahren). Die allgeme<strong>in</strong>e<br />

Fixpunktiteration lautet<br />

x k+1 = g(x k ), k = 0, 1, 2, . . . . (2.10)<br />

Das bereits diskutierte Newton-Verfahren lässt sich <strong>in</strong> <strong>die</strong>ser Notation wie folgt herleiten.<br />

Es sei wie üblich f <strong>die</strong> Funktion des Nullstellenproblems und h e<strong>in</strong>e h<strong>in</strong>reichend glatte<br />

Funktion, <strong>die</strong> <strong>in</strong> e<strong>in</strong>er Umgebung der Nullstelle ˆx nicht verschw<strong>in</strong>det. Es sei<br />

g(x) := x + h(x)f(x), (2.11)<br />

mit der Fixpunkt-Eigenschaft g(ˆx) = ˆx. <strong>die</strong> zu (2.10) zugehörige Iterationsfunktion. Anwendung<br />

der Produktregel und Satz 2.28 ergeben <strong>in</strong> ˆx:<br />

Hieraus folgt <strong>die</strong> Bed<strong>in</strong>gung an h(x) <strong>in</strong> ˆx:<br />

g ′ (ˆx) := 1 + h ′ (ˆx) f(ˆx) +h(ˆx)f ′ (ˆx) = ! 0.<br />

} {{ }<br />

=0<br />

h(ˆx) = − 1<br />

f ′ (ˆx) .<br />

Wir wählen h(x) nun für alle x gemäß <strong>die</strong>se Vorschrift, so dass<br />

h(x) := − 1<br />

f ′ (x) .<br />

□<br />

38


2.6 Konvergenzbegriffe<br />

E<strong>in</strong>setzen <strong>in</strong> (2.11) liefert <strong>die</strong> Iterationsfunktion<br />

und der Iterationsvorschrift<br />

g(x) := x − f(x)<br />

f ′ (x) ,<br />

x k+1 := g(x k ) = x k − f(x k)<br />

f ′ , k = 0, 1, 2, . . . .<br />

(x k )<br />

Beispiel 2.30 (Konvergenzordnung Newton für e<strong>in</strong>fache Nullstellen). Im umgekehrten<br />

Fall zu Beispiel 2.29 sei das Newton-Verfahren nun als bekannt vorausgesetzt. Mit Hilfe des<br />

Satzes 2.28 kann explizit <strong>die</strong> Konvergenzordnung des Newton-Verfahrens ermittelt werden:<br />

g ′ (ˆx) = 1 − f ′ (ˆx) 2 − f(ˆx)f ′′ (ˆx)<br />

f ′ (ˆx) 2 = 0,<br />

und im Allgeme<strong>in</strong>en g ′′ (ˆx) ≠ 0. Damit ist das Newton-Verfahren (wie bereits vorher diskutiert)<br />

quadratisch konvergent.<br />

Mehrfache Nullstellen<br />

Das Newton-Verfahren kann auch zur Suche von doppelten Nullstellen verwendet werden,<br />

allerd<strong>in</strong>gs konvergiert es nur noch höchstens superl<strong>in</strong>ear bei mehrfachen Nullstellen.<br />

Es sei ˆx e<strong>in</strong>e zweifache Nullstelle der Funktion f, d.h. f(ˆx) = f ′ (ˆx) = 0 und f ′′ (ˆx) ≠ 0.<br />

Dann gilt mit Zwischenwerten ζ k , η k ∈ [x k , ˆx]:<br />

x k+1 = x k − f(x k)<br />

f ′ (x k ) = x k − f(x k) − f(ˆx) x k − ˆx<br />

f ′ (x k ) − f ′ (ˆx) x k − ˆx = x k − f ′ (ζ k )<br />

f ′′ (η k ) .<br />

Beispiel 2.31 (Konvergenzordnung Newton für doppelte Nullstellen). Für das Newton-<br />

Verfahren zur Bestimmung e<strong>in</strong>er e<strong>in</strong>fachen Nullstelle der Funktion f lautet <strong>die</strong> Iterationsfunktion<br />

g(x) = x − f(x)<br />

f ′ (x). Mit Hilfe des Satzes 2.28 gilt<br />

g ′ (ˆx) = 1 − f ′ (ˆx) 2 − f(ˆx)f ′′ (ˆx)<br />

f ′ (ˆx) 2 = 0.<br />

Sei nun ebenfalls f ′ (ˆx) = 0 (doppelte Nullstelle). Hier können wir nun <strong>die</strong> Regel von<br />

L’Hopital verwenden<br />

lim<br />

x→ˆx g′ (x) = f ′′ f(x)<br />

(ˆx) lim<br />

x→ˆx f ′ (x) 2 = f ′′ f ′ (x)<br />

(ˆx) lim<br />

x→ˆx 2f ′ (x)f ′′ (x) = f ′′ 1<br />

(ˆx)<br />

2f ′′ (ˆx) = 1 2 .<br />

Damit ist das Newton-Verfahren nach Satz 2.28 zur Bestimmung doppelter Nullstellen nur<br />

l<strong>in</strong>ear konvergent.<br />

39


2 Nullstellenbestimmung<br />

Im Fall von mehrfachen Nullstellen lässt sich <strong>die</strong> quadratische Konvergenzordnung des<br />

Newton-Verfahrens durch e<strong>in</strong>en Trick erreichen. Wir machen zur Iteration den Ansatz:<br />

x k+1 = x k − ω f(x k)<br />

f ′ (x k )<br />

mit e<strong>in</strong>em Relaxationsparameter ω, ähnlich dem gedämpften Newton-Verfahren. Angenommen,<br />

es liegt e<strong>in</strong>e p-fache Nullstelle vor f(ˆx) = f ′ (ˆx) = . . . = f (p−1) (ˆx) = 0 und<br />

f (p) (ˆx) ≠ 0, so wählen wir ω = p. Da ω > 1 sprechen wir von Überrelaxation. Das so<br />

gewonnene Verfahren konvergiert wieder quadratisch. Der Beweis f<strong>in</strong>det sich <strong>in</strong> der Literatur,<br />

etwa [9], S. 168. Der praktische Nutzen <strong>die</strong>ser Modifikation ist beschränkt, da man<br />

bei der Suche nach e<strong>in</strong>er Nullstelle üblicherweise nicht deren Vielfachheit kennt.<br />

2.7 Vier Verfahren im Vergleich<br />

In <strong>die</strong>sem Beispiel vergleichen wir drei besprochene Verfahren h<strong>in</strong>sichtlich Konvergenz-<br />

Geschw<strong>in</strong>digkeit und -Ordnung sowie Anzahl der Iterationen um e<strong>in</strong>e mögliche Fehlertoleranz<br />

zu erreichen. Wir vergleichen <strong>die</strong> Intervallschachtelung, das klassische Newton-<br />

Verfahren sowie das vere<strong>in</strong>fachte Newton-Verfahren. Zuletzt diskutieren wir das komb<strong>in</strong>ierte<br />

Verfahren, <strong>in</strong> dem <strong>die</strong> Intervallschachtelung als Startiteration für das klassische<br />

Newton-Verfahren genutzt wird.<br />

Konfiguration<br />

Gesucht wird e<strong>in</strong>e Nullstelle der Funktion (siehe auch [3], S. 34ff)<br />

f(x) = x 3 + 4x 2 − 10<br />

im Intervall [1, 2]. Die Abbruchtoleranz ist gegeben durch T OL = 10 −8 . Da f(1) = −5<br />

und f(2) = 14 kann <strong>die</strong> Intervallschachtelung angewendet werden. Als Startwert für das<br />

Newton-Verfahren sei x 0 = 1 gewählt. Die maximale Anzahl der Iterationen (sprich falls<br />

T OL nicht unterschritten wird) sei N = 30. Für das vere<strong>in</strong>fachte Newton-Verfahren sei<br />

<strong>die</strong> Ableitung durch f ′ (x 0 ) approximiert. Die exakte Nullstelle ist auf zehn Dezimalstellen<br />

genau ˆx = 1.3652300134.<br />

Diskussion Intervallschachtelung<br />

Wir erkennen l<strong>in</strong>eare Konvergenz mit e<strong>in</strong>zelnen Ausschlägen, wie sehr gut <strong>in</strong> Grafik 2.4 zu<br />

sehen ist. Dies ist der oben diskutierte zweite Nachteil der Intervallschachtelung: e<strong>in</strong> u. U.<br />

sprunghaftes Konvergenzverhalten. Das Verfahren wird nach 27 Iterationen abgebrochen,<br />

da dann T OL unterschritten wird.<br />

Diskussion Newton<br />

Wir erkennen perfekte quadratische Konvergenz (siehe Grafik 2.5) und das Unterschreiten<br />

von T OL nach bereits 5 Iterationen. Die quadratische Konvergenz bedeutet <strong>in</strong> etwa e<strong>in</strong>e<br />

Verdopplung <strong>in</strong> der Anzahl der richtigen Nachkommastellen <strong>in</strong> jedem Schritt, was gut <strong>in</strong><br />

Tabelle 2.2 zu sehen ist. (Von Iteration 3 auf 4 ist <strong>die</strong> Konvergenz sogar noch etwas besser).<br />

40


2.7 Vier Verfahren im Vergleich<br />

10 0 Bisektions−Methode: f(x) = x 3 +4x 2 −10<br />

10 −1<br />

10 −2<br />

10 −3<br />

|ˆx−xk|<br />

10 −4<br />

10 −5<br />

10 −6<br />

10 −7<br />

10 −8<br />

10 −9<br />

0 5 10 15 20 25 30<br />

Iterationen<br />

Abbildung 2.4: Fehler vs. Iterationen für das Intervallschachtelungsverfahren.<br />

Diskussion vere<strong>in</strong>fachtes Newton<br />

Analog zur Intervallschachtelung erkennen wir l<strong>in</strong>eare Konvergenz des Verfahrens (siehe<br />

Grafik 2.6). Die T OL wird ebenfalls bei 27 Iterationen unterschritten. Die l<strong>in</strong>eare Konvergenz<br />

spiegelt sich ebenfalls im Fehler |ˆx − x k | wieder. L<strong>in</strong>eare Konvergenz bedeutet, dass<br />

sich der Fehler <strong>in</strong> jeder Iteration etwas halbiert.<br />

Diskussion Intervallschachtelung als Startiteration für Newton<br />

Die Intervallschachtelung wird nach 3 Iterationen abgebrochen, um so e<strong>in</strong>en besseren<br />

Startwert als x 0 = 1 für das Newton-Verfahren zu bekommen. Nach drei Iterationen ist<br />

˜x 0 = 1.375. Mit <strong>die</strong>sem Startwert wird nun das klassische Newton-Verfahren gestartet. Im<br />

Vergleich zu vorher können wir <strong>die</strong> Anzahl der Newton-Iterationen tatsächlich verr<strong>in</strong>gern<br />

und erreichen <strong>die</strong> T OL <strong>in</strong> 3 Schritten.<br />

41


2 Nullstellenbestimmung<br />

Tabelle 2.1: Nullstellenbestimmung mit Intervallschachtelung.<br />

Iter x k |ˆx − x k |<br />

1 1.500000000000000 0.134769986600000<br />

2 1.250000000000000 0.115230013400000<br />

3 1.375000000000000 0.009769986600000<br />

4 1.312500000000000 0.052730013400000<br />

5 1.343750000000000 0.021480013400000<br />

6 1.359375000000000 0.005855013400000<br />

7 1.367187500000000 0.001957486600000<br />

8 1.363281250000000 0.001948763400000<br />

9 1.365234375000000 0.000004361600000<br />

10 1.364257812500000 0.000972200900000<br />

11 1.364746093750000 0.000483919650000<br />

12 1.364990234375000 0.000239779025000<br />

13 1.365112304687500 0.000117708712500<br />

14 1.365173339843750 0.000056673556250<br />

15 1.365203857421875 0.000026155978125<br />

16 1.365219116210938 0.000010897189062<br />

17 1.365226745605469 0.000003267794531<br />

18 1.365230560302734 0.000000546902734<br />

19 1.365228652954102 0.000001360445898<br />

20 1.365229606628418 0.000000406771582<br />

21 1.365230083465576 0.000000070065576<br />

22 1.365229845046997 0.000000168353003<br />

23 1.365229964256287 0.000000049143713<br />

24 1.365230023860931 0.000000010460931<br />

25 1.365229994058609 0.000000019341391<br />

26 1.365230008959770 0.000000004440230<br />

27 1.365230016410351 0.000000003010351<br />

Tabelle 2.2: Nullstellenbestimmung mit dem klassischen Newton-Verfahren.<br />

Iter x k |ˆx − x k |<br />

1 1.000000000000000 0.365230013400000<br />

2 1.454545454545455 0.089315441145455<br />

3 1.368900401069519 0.003670387669519<br />

4 1.365236600202116 0.000006586802116<br />

5 1.365230013435367 0.000000000035367<br />

42


2.7 Vier Verfahren im Vergleich<br />

10 0 Newton−Methode: f(x) = x 3 +4x 2 −10<br />

10 −2<br />

10 −4<br />

|ˆx−xk|<br />

10 −6<br />

10 −8<br />

10 −10<br />

10 −12<br />

1 1.5 2 2.5 3 3.5 4 4.5 5<br />

Iterationen<br />

Abbildung 2.5: Fehler vs. Iterationen für das klassische Newton-Verfahren.<br />

10 0 Vere<strong>in</strong>fachte Newton−Methode: f(x) = x 3 +4x 2 −10<br />

10 −1<br />

10 −2<br />

10 −3<br />

|ˆx−xk|<br />

10 −4<br />

10 −5<br />

10 −6<br />

10 −7<br />

10 −8<br />

10 −9<br />

0 5 10 15 20 25 30<br />

Iterationen<br />

Abbildung 2.6: Fehler vs. Iterationen für das vere<strong>in</strong>fachte Newton-Verfahren.<br />

43


2 Nullstellenbestimmung<br />

Tabelle 2.3: Nullstellenbestimmung mit dem vere<strong>in</strong>fachten Newton-Verfahren.<br />

Iter x k |ˆx − x k |<br />

1 1.000000000000000 0.365230013400000<br />

2 1.454545454545455 0.089315441145455<br />

3 1.314527696195615 0.050702317204385<br />

4 1.388762800510863 0.023532787110863<br />

5 1.353026194519825 0.012203818880175<br />

6 1.371237342903140 0.006007329503140<br />

7 1.362192451689584 0.003037561710416<br />

8 1.366745706220543 0.001515692820543<br />

9 1.364468629666006 0.000761383733993<br />

10 1.365611206121441 0.000381192721441<br />

11 1.365038845782882 0.000191167617118<br />

12 1.365325803195075 0.000095789795075<br />

13 1.365181995089162 0.000048018310838<br />

14 1.365254079370617 0.000024065970617<br />

15 1.365217950694894 0.000012062705106<br />

16 1.365236059360180 0.000006045960180<br />

17 1.365226983049599 0.000003030350401<br />

18 1.365231532280867 0.000001518880868<br />

19 1.365229252128885 0.000000761271115<br />

20 1.365230394983596 0.000000381583596<br />

21 1.365229822164451 0.000000191235549<br />

22 1.365230109271854 0.000000095871854<br />

23 1.365229965368448 0.000000048031552<br />

24 1.365230037495444 0.000000024095444<br />

25 1.365230001344089 0.000000012055910<br />

26 1.365230019463803 0.000000006063803<br />

27 1.365230010381875 0.000000003018125<br />

Tabelle 2.4: Nullstellenbestimmung mit Intervallschachtelung als Startiteration für das<br />

Newton-Verfahren.<br />

Iter x k |ˆx − x k |<br />

1 1.375000000000000 0.009769986600000<br />

2 1.365276476101218 0.000046462701218<br />

3 1.365230014472403 0.000000001072403<br />

44


2.7 Vier Verfahren im Vergleich<br />

10 −2 Newton−Methode mit Intervallschachtelung: f(x) = x 3 +4x 2 −10<br />

10 −3<br />

10 −4<br />

10 −5<br />

|ˆx−xk|<br />

10 −6<br />

10 −7<br />

10 −8<br />

10 −9<br />

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3<br />

Iterationen<br />

Abbildung 2.7: Fehler vs. Iterationen für das Newton-Verfahren mit dem Intervallschachtelungsverfahren<br />

als Startiteration.<br />

45


2 Nullstellenbestimmung<br />

46


3 Interpolation und Approximation<br />

In dem ersten großen Kapitel beschäftigen wir uns mit der Frage, wie e<strong>in</strong>e Reihe von<br />

Daten (z.B. aus physikalischen Messungen, experimentelle Beobachtungen, Börse, etc.)<br />

durch e<strong>in</strong>e möglichst e<strong>in</strong>fache Funktion p(x) (z.B. Polynome) angenähert werden kann.<br />

Auf der anderen Seite soll geklärt werden, wie komplizierte Funktionen durch e<strong>in</strong>fachere<br />

Funktionen aus e<strong>in</strong>er bestimmten Klasse (z.B. Raum der Polynome) approximiert werden<br />

können.<br />

Bei der Interpolation wird <strong>die</strong> approximierende Funktion p derart konstruiert, dass <strong>die</strong>se<br />

an den vorliegenden (diskreten) Daten exakt ist:<br />

p(x k ) = y k , k = 0, 1, 2, 3, . . . , n.<br />

Die Stützstellen und Stützwerte (x k , y k ) s<strong>in</strong>d entweder diskrete Datenwerte (z.B. von Experimenten)<br />

oder durch Funktionen bestimmt y k = f(x k ). Mit Hilfe der Interpolation p(x)<br />

können bis dato unbekannte Werte an Zwischenstellen ξ ∈ (x k , x k+1 ) oder das Integral<br />

bzw. <strong>die</strong> Ableitung von p bestimmt werden. Darüberh<strong>in</strong>aus hat <strong>die</strong> Interpolation e<strong>in</strong>e wesentliche<br />

Bedeutung zur Entwicklung weiterer numerischer Verfahren, wie beispielsweise<br />

numerische Quadratur, Differentiation oder <strong>in</strong> weiterführenden Vorlesungen Entwicklung<br />

F<strong>in</strong>iter Elemente [10].<br />

Die Approximation ist allgeme<strong>in</strong>er gefasst. Wieder wird e<strong>in</strong>e e<strong>in</strong>fache Funktion p(x) (also<br />

wieder z.B. e<strong>in</strong> Polynom) gesucht, welche diskrete oder durch Funktionen bestimmte Datenwerte<br />

(x k , y k ) möglichst gut approximiert. Im Gegensatz zur Interpolation wird jedoch<br />

nicht p(x k ) = y k explizit gefordert. Was <strong>die</strong> Approximation auszeichnet wird von Fall<br />

zu Fall entschieden. Möglich ist z.B. bei der Approximation e<strong>in</strong>er Funktion f <strong>die</strong> beste<br />

Approximation bzgl. e<strong>in</strong>er Norm<br />

p ∈ P :<br />

‖p − f‖ = m<strong>in</strong> ‖q − f‖,<br />

q∈P<br />

wobei P <strong>die</strong> Klasse der betrachteten e<strong>in</strong>fachen Funktionen ist (also z.B. alle quadratischen<br />

Polynome). E<strong>in</strong>e Anwendung der Approximation ist das “Fitten” von diskreten Datenwerten,<br />

welche durch Experimente gegeben s<strong>in</strong>d. Oft werden viele tausend Messwerte berücksichtigt,<br />

<strong>die</strong> von der zugrundeliegenden (etwa physikalischen) Formel jedoch aufgrund<br />

von statistischen Messfehlern nicht exakt im S<strong>in</strong>ne der Interpolation, sondern nur approximativ<br />

erfüllt werden sollen. E<strong>in</strong>e zweite Anwendung ist wieder <strong>die</strong> möglichst e<strong>in</strong>fache<br />

Darstellung von gegebenen Funktionen.<br />

Beispiel 3.1 (Interpolation: Personen <strong>in</strong> der Mensa mit e<strong>in</strong>er Stichprobe). Die Studenten,<br />

<strong>die</strong> Numerik 0 bei Thomas hören, schließen e<strong>in</strong>e Wette gegen <strong>die</strong> parallel verlaufende<br />

47


3 Interpolation und Approximation<br />

Vorlesung <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Wahrsche<strong>in</strong>lichkeitstheorie und Statistik ab. Es gilt <strong>die</strong> Anzahl<br />

der Mittagessenden Personen <strong>die</strong>sen Mittwoch um Punkt 12:00 zu schätzen. Allerd<strong>in</strong>gs<br />

gibt es e<strong>in</strong> Problem, dass um <strong>die</strong>se Zeit <strong>die</strong> Vorlesung der Numerik 0 stattf<strong>in</strong>det - und <strong>die</strong><br />

möchte niemand missen.<br />

Daher verabreden sich <strong>die</strong> Studenten kurz vor der Vorlesung um 11:00 Uhr und zählen<br />

alle Personen und dann wieder um 13:00 nach der Vorlesung. Folgende Zahlen haben sie<br />

ermittelt:<br />

(t 1 , y 1 ) = (11.00, 50), (t 2 , y 2 ) = (13.00, 350),<br />

350<br />

Personen<br />

300<br />

250<br />

200<br />

150<br />

100<br />

50<br />

10<br />

11 12 13 14<br />

Uhrzeit<br />

Abbildung 3.1: L<strong>in</strong>eare Interpolation zwischen zweier gegebener Messwerte.<br />

In Vorlesung habe alle gut aufgepasst: durch Aufstellen der Interpolationsfunktion (hier<br />

e<strong>in</strong>e schlichte Gerade) können <strong>die</strong> Studenten nun den Wert (Anzahl der Personen) durch<br />

Ablesen ermitteln. Die Schätzung sagt e<strong>in</strong>e Anzahl von 200 Personen voraus. Dieser Wert<br />

ist natürlich nur e<strong>in</strong>e Schätzung da der Anstieg sich wahrsche<strong>in</strong>lich nicht l<strong>in</strong>ear verhält.<br />

Beispiel 3.2 (Approximation: Personen <strong>in</strong> der Mensa bei mehreren Stichproben). Die<br />

Studenten der Numerik 0 haben auch bei der Approximation gut aufgepasst und machen<br />

an nun jede Woche an verschiedenen Tagen Stichproben von der Anzahl der Personen <strong>in</strong><br />

der Mensa. Die ermittelte Datenmenge kann nicht mehr <strong>in</strong>terpoliert werden, allerd<strong>in</strong>gs<br />

stellen sie nun e<strong>in</strong>e approximierende Funktion auf, <strong>die</strong> <strong>die</strong> wahrsche<strong>in</strong>liche Personenzahl<br />

am letzten Mittwoch <strong>in</strong> der Vorlesungszeit voraussagen soll.<br />

Ablesen der Regressionsgeraden ergibt e<strong>in</strong>e Schätzung von ca. 250 Personen <strong>in</strong> der Mensa.<br />

Grundsätzlich hat <strong>die</strong> Darstellung als e<strong>in</strong>fache Funktion den großen Vorteil, dass Elementaroperationen<br />

(wie bei der Interpolation bereits angemerkt), wie Ableitungsbildung und<br />

Integration, viel e<strong>in</strong>facher ausgeführt werden können. Die Wahl der e<strong>in</strong>fachen Funktion ist<br />

48


350<br />

Personen<br />

300<br />

250<br />

200<br />

150<br />

100<br />

50<br />

10<br />

11 12 13 14<br />

Uhrzeit<br />

Abbildung 3.2: Approximation gegebener Messwerte.<br />

e<strong>in</strong>e der entscheidenden Fragen, <strong>die</strong> es zu klären gilt: Polynom, Spl<strong>in</strong>e, trigonometrische<br />

Funktion? Das hängt im wesentlichen von der gegebenen Aufgabenstellung ab.<br />

E<strong>in</strong>en Zusammenhang zwischen Polynomen und stetigen Funktionen stellt der Weierstraßsche<br />

Approximationssatz her (Analysis I):<br />

Satz 3.3 (Weierstraßsche Approximationssatz). Es sei f ∈ C[a, b]. Dann gibt es zu jedem<br />

ε > 0 e<strong>in</strong> auf [a, b] def<strong>in</strong>iertes Polynom p, so dass<br />

|f(x) − p(x)| < ε<br />

∀x ∈ [a, b].<br />

Der Weierstraßsche Approximationssatz besagt zunächst, dass es möglich ist, jede stetige<br />

Funktion beliebig gut durch e<strong>in</strong> Polynom zu approximieren, hilft jedoch noch nicht bei<br />

der praktischen Durchführung. Auch hier gibt es e<strong>in</strong>en e<strong>in</strong>fachen Ansatz <strong>in</strong> der Analysis:<br />

Satz 3.4 (Taylor-Entwicklung). Es sei f ∈ C n+1 [a, b]. Für das n-te Taylor-Polynom zu<br />

x 0 ∈ (a, b)<br />

n∑ f (k) (x 0 )<br />

t n (x; x 0 ) :=<br />

(x − x 0 ) k<br />

k!<br />

k=0<br />

ist e<strong>in</strong>e Approximation zu f <strong>in</strong> der Umgebung von x 0 . Es gilt <strong>die</strong> Fehlerabschätzung:<br />

mit e<strong>in</strong>er Zwischenstelle ξ x ∈ [a, b].<br />

f(x) − t n (x; x 0 ) = f (n+1) (ξ x )<br />

(x − x 0 ) n+1 ,<br />

(n + 1)!<br />

49


3 Interpolation und Approximation<br />

Hier ist C([a, b]) der Vektorraum der auf dem Intervall [a, b] stetigen Funktionen und<br />

C k ([a, b]) der Raum der auf [a, b] k-mal stetig differenzierbaren Funktionen. Die Taylor-<br />

Entwicklung ermöglicht e<strong>in</strong>e konkrete Vorgehensweise zum Erstellen e<strong>in</strong>es approximativen<br />

Polynoms. Wir sehen jedoch bereits, dass wir e<strong>in</strong>e sehr starke Regularität von f benötigen.<br />

Darüber h<strong>in</strong>aus ist <strong>die</strong> Taylor-Entwicklung nur für Funktionen, nicht aber für diskrete<br />

Datenwerte (x k , y k ) möglich.<br />

Neben der Taylor-Entwicklung von Funktionen stellt <strong>die</strong> Analysis noch <strong>die</strong> Fourier-Analyse<br />

zur Approximation von periodischen Funktionen f mit Hilfe von trigonometrischen Polynomen<br />

zur Verfügung.<br />

3.1 Polynom<strong>in</strong>terpolation<br />

Wir bezeichnen mit P n den Vektorraum der Polynome vom Grad ≤ n:<br />

{<br />

}<br />

n∑<br />

P n := p(x) = a k x k |a k ∈ R, k = 0, . . . , n .<br />

k=0<br />

Def<strong>in</strong>ition 3.5 (Lagrangesche Interpolationsaufgabe). Die Lagrangesche Interpolationsaufgabe<br />

besteht dar<strong>in</strong>, zu n+1 paarweise verschiedenen Stützstellen (Knoten) x 0 , . . . , x n ∈<br />

R und zugehörigen gegebenen Stützwerten y 0 , . . . , y n ∈ R e<strong>in</strong> Polynom p ∈ P n zu bestimmen,<br />

so dass <strong>die</strong> Interpolationsbed<strong>in</strong>gung<br />

erfüllt ist.<br />

p(x k ) = y k , k = 0, . . . , n,<br />

Satz 3.6. Die Lagrangesche Interpolationsaufgabe ist e<strong>in</strong>deutig lösbar.<br />

Beweis: Die E<strong>in</strong>deutigkeit wird zuerst nachgewiesen. Es seien p 1 , p 2 ∈ P n zwei Lösungen.<br />

Dann gilt für das Differenzpolynom p := p 1 − p 2 ∈ P n :<br />

p(x k ) = 0, k = 0, . . . , n,<br />

d.h. p hat n + 1 Nullstellen und ist folglich das Nullpolynom. Dies kann mit Hilfe des Satzes<br />

von Rolle nachgewiesen werden. Zum Nachweis der Existenz betrachten wir <strong>die</strong> Gleichungen<br />

p(x k ) = y k , k = 0, . . . , n. Dies kann als e<strong>in</strong> l<strong>in</strong>eares Gleichungssystem aufgefasst<br />

werden, welches n + 1 Gleichungen für <strong>die</strong> n + 1 unbekannten Koeffizienten a 0 , . . . , a n des<br />

Polynoms p ∈ P n . Wegen der bereits gezeigten E<strong>in</strong>deutigkeit des Interpolationspolynoms<br />

p (also der Injektivität) hat <strong>die</strong>ses System notwendigerweise e<strong>in</strong>e Lösung (Surjektivität).<br />

□<br />

Die gegebenen Stützwerte y k können Werte e<strong>in</strong>er gegebenen Funktion f se<strong>in</strong>, d.h.<br />

f(x k ) = y k , k = 0, 1, . . . , n,<br />

50


3.1 Polynom<strong>in</strong>terpolation<br />

oder auch beliebige diskrete Datenwerte<br />

(x k , y k ), k = 0, 1, . . . , n.<br />

3.1.1 Lagrangesche Darstellung<br />

In <strong>die</strong>sem Abschnitt verwenden wir zur Konstruktion des Interpolationspolynoms <strong>die</strong> Lagrangeschen<br />

Basispolynome<br />

L (n)<br />

k (x) := n ∏<br />

j=0,j≠k<br />

x − x j<br />

x k − x j<br />

∈ P n , k = 0, 1, . . . , n.<br />

Die Basiseigenschaft möge der aufmerksame Leser selbst verifizieren. Als zweite Eigenschaft<br />

erhalten wir<br />

{<br />

L (n)<br />

1, k = l<br />

k (x l) = δ kl :=<br />

0, k ≠ l,<br />

wobei δ kl das Kronecker-Symbol bezeichnet.<br />

Satz 3.7 (Lagrangesche Darstellung). Das Polynom p ∈ P n gemäß<br />

p(x) :=<br />

n∑<br />

k=0<br />

erfüllt <strong>die</strong> Interpolationsbed<strong>in</strong>gung p(x k ) = y k .<br />

y k L (n)<br />

k<br />

(x)<br />

Beweis: Zunächst gilt wegen L (n)<br />

k<br />

∈ P n auch für <strong>die</strong> L<strong>in</strong>earkomb<strong>in</strong>ation p ∈ P n . Weiter<br />

folgt sofort:<br />

n∑<br />

n∑<br />

p(x j ) = y k L (n)<br />

k (x j) = y k δ kj = y j .<br />

k=0<br />

k=0<br />

□<br />

Die Lagrangesche Darstellung des Interpolationspolynoms besticht durch ihre E<strong>in</strong>fachheit.<br />

Sie hat allerd<strong>in</strong>gs den großen Nachteil, das jedes Basispolynom L (n)<br />

k<br />

(x) von sämtlichen<br />

Stützstellen x 0 , x 1 , . . . , x n abhängt. Angenommen zur Steigerung der Genauigkeit<br />

soll e<strong>in</strong>e Stützstelle x n+1 h<strong>in</strong>zugenommen werden, so müssen sämtliche Basispolynome<br />

ausgetauscht werden.<br />

51


3 Interpolation und Approximation<br />

3.1.2 Newtonsche Darstellung<br />

Die Newtonsche Darstellung der Lagrangeschen Interpolationsaufgabe löst <strong>die</strong>ses Problem<br />

durch e<strong>in</strong>e andere Wahl von Basispolynomen:<br />

N 0 (x) := 1,<br />

k−1<br />

∏<br />

N k (x) := (x − x j ), k = 1, . . . , n.<br />

j=0<br />

Das Basispolynom N k (x) hängt nur von den Stützstellen x 0 , . . . , x k ab. Bei H<strong>in</strong>zunahme<br />

e<strong>in</strong>er Stützstelle x k+1 müssen <strong>die</strong> ersten Basispolynome nicht geändert werden. Das<br />

Interpolationspolynom wird nach dem Ansatz<br />

p(x) =<br />

n∑<br />

a k N k (x),<br />

k=0<br />

bestimmt. Für <strong>die</strong> Stützstelle x k gilt N l (x k ) = 0 für alle l > k. Wir gehen rekursiv vor:<br />

y 0<br />

!<br />

= p(x 0 ) = a 0 ,<br />

y 1<br />

!<br />

= p(x 1 ) = a 0 + a 1 (x 1 − x 0 ),<br />

.<br />

y n<br />

!<br />

= p(x n ) = a 0 + a 1 (x n − x 0 ) + . . . + a n (x n − x 0 ) · · · (x n − x n−1 ).<br />

Im Gegensatz zur vorher kennengelernten Lagrangeschen Darstellung kann e<strong>in</strong> weiteres<br />

Datenpaar (x n+1 , y n+1 ) leicht h<strong>in</strong>zugefügt werden. Ist das Interpolationspolynom p n :=<br />

p =∈ P n gegeben, so kann e<strong>in</strong>e Stützstelle x n+1 e<strong>in</strong>fach h<strong>in</strong>zugenommen werden:<br />

y n+1<br />

!<br />

= p n+1 (x n+1 ) = p n (x n+1 )+a n+1 N n+1 (x n+1 ) ⇒ a n+1 = y n+1 − p n (x n+1 )<br />

. (3.1)<br />

N n+1 (x n+1 )<br />

In der Praxis werden <strong>die</strong> Koeffizienten a k auf e<strong>in</strong>e numerisch stabilere und effizientere<br />

Weise bestimmt:<br />

Satz 3.8. Das Lagrangesche Interpolationspolynom zu den Punkten (x k , y k ), k = 0, . . . , n<br />

lautet bezüglich der Newtonschen Polynombasis:<br />

p(x) =<br />

n∑<br />

y[x 0 , . . . , x k ]N k (x).<br />

k=0<br />

Die Notation y[x 0 , . . . , x k ] bezeichnet <strong>die</strong> divi<strong>die</strong>rten Differenzen, welche über <strong>die</strong> folgende<br />

rekursive Vorschrift def<strong>in</strong>iert s<strong>in</strong>d:<br />

1 f ü r k = 0, . . . , n s e t z e y[x k ] := y k<br />

2 f ü r l = 1, . . . , n und<br />

3 f ü r k = 0, . . . , n − l berechne<br />

4 y[x k , . . . , x k+l ] := y[x k+1,...,x k+l ]−y[x k ,...,x k+l−1 ]<br />

x k+l −x k<br />

52


3.1 Polynom<strong>in</strong>terpolation<br />

Beweis: Wir bezeichnen mit p k,k+l <strong>in</strong> P l das Polynom, welches <strong>die</strong> Interpolation zu den<br />

l +1 Punkte (x k , y k ), . . . , (x k+l , y k+l ) darstellt. Insbesondere ist durch p 0,n ist das gesuchte<br />

Polynom p ∈ P n gegeben. Wir zeigen, dass <strong>die</strong> folgende Aussage für alle l = 0, . . . n und<br />

k = 0, . . . , n − l gilt:<br />

p k,k+l (x) = y[x k ]+y[x k , x k+1 ](x−x k )+· · ·+y[x k , . . . , x k+l ](x−x k ) · · · (x−x k+l−1 ). (3.2)<br />

Wir führen den Beweis durch Induktion nach dem Polynomgrad l. Für l = 0 gilt p k,k (x) =<br />

y[y k ] = y k . Angenommen, <strong>die</strong> Behauptung sei richtig für l − 1 ≥ 0. D.h. <strong>in</strong>sbesondere,<br />

das Polynome p k,k+l−1 ist <strong>in</strong> Darstellung (3.2) gegeben und <strong>in</strong>terpoliert <strong>die</strong> Punkte<br />

(x k , y k ), . . . , (x k+l−1 , y k+l−1 ) und das Polynom p k+1,k+l <strong>in</strong>terpoliert <strong>die</strong> Punkte (x k+1 , y k+1 ),<br />

. . . , (x k+l , y k+l ). Dann ist durch<br />

q(x) = (x − x k)p k+1,k+l (x) − (x − x k+l )p k,k+l−1 (x)<br />

x k+l − x k<br />

, (3.3)<br />

e<strong>in</strong> Interpolationspolynom durch <strong>die</strong> Punkte (x k , y k ), . . . , (x k+l , y k+l ) gegeben. Dies macht<br />

man sich durch E<strong>in</strong>setzen von x i <strong>in</strong> q(x) deutlich. Für <strong>in</strong>nere Punkte i = k + 1, . . . , k +<br />

l − 1 gilt p k,k+l−1 (x i ) = p k+1,k+l (x i ) = y i , für x k und x k+l ist jeweils e<strong>in</strong>er der beiden<br />

Faktoren gleich Null. Es gilt somit für das gesuchte Interpolationspolynom p k,k+l = q.<br />

Nach Konstruktion (3.1) gilt jedoch auch <strong>die</strong> folgende Darstellung:<br />

p k,k+l (x) = p k,k+l−1 (x) + a(x − x k ) · · · (x − x k+l−1 ).<br />

Koeffizientenvergleich des führenden Monoms x n zwischen <strong>die</strong>ser Darstellung und (3.3)<br />

liefert mit Hilfe von (3.2) für p k,k+l−1 sowie p k+1,k+l :<br />

a = y[x k+1, . . . , x k+l ] − y[x k , . . . , x k+l−1 ]<br />

x k+l − x k<br />

= y[x k , . . . , x k+l ].<br />

Dieses rekursive Konstruktionspr<strong>in</strong>zip legt sofort e<strong>in</strong>en Algorithmus zum Auswerten der<br />

Interpolation an e<strong>in</strong>er Stelle ξ ∈ R nahe, ohne dass das gesuchte Interpolationspolynom<br />

p(x) zuvor explizit bestimmt werden muss. Wir gehen hierzu von der Darstellung (3.3)<br />

aus:<br />

Algorithmus 3.9 (Neville-Schema). Es seien <strong>die</strong> Stützstellenpaare (x 0 , y 0 ), . . . , (x n , y n )<br />

gegeben sowie der Auswertungspunkt ξ. Berechne p(ξ) = p 0,n :<br />

1 f ü r k = 0, . . . , n s e t z e p k,k := y k<br />

2 f ü r l = 1, . . . , n und<br />

3 f ü r k = 0, . . . , n − l berechne<br />

4 p k,k+l := p k,k+l−1 + (ξ − x k ) p k+1,k+l−p k,k+l−1<br />

x k+l −x k<br />

□<br />

Bei der Durchführung des Neville-Schemas erhalten wir mit p k,l automatisch <strong>die</strong> Approximationen<br />

der Interpolationspolynome durch (x k , y k ), . . . , (x k+l , y k+l ). Wir führen das<br />

Neville-Schema exemplarisch durch:<br />

53


3 Interpolation und Approximation<br />

Beispiel 3.10 (Neville-Schema). Wir betrachten <strong>die</strong> Stützstellenpaare (0, 0), (1, 1), (2, 8), (3, 27),<br />

welche von der Funktion f(x) = x 3 abgegriffen s<strong>in</strong>d. Wir führen das Neville-Schema rekursiv<br />

aus:<br />

p 00 = 0 p 11 = 1 p 22 = 8 p 33 = 27<br />

p 01 = 0.5 p 12 = −2.5 p 23 = −20.5<br />

p 02 = −0.25 p 13 = 2<br />

p 03 = 0.125<br />

Die f<strong>in</strong>ale Approximation p 03 = 0.125 = 0.5 3 ist exakt. Dies ist zu erwarten, da f ∈ P 3 .<br />

Als Stichprobe betrachten wir <strong>die</strong> sehr schlechte Approximation p 23 , welche sich durch das<br />

l<strong>in</strong>earen Interpolationspolynom p 2,3 (x) durch <strong>die</strong> Stützstellen (2, 8) und (3, 27), also durch<br />

ergibt. Es gilt p 2,3 (0.5) = −20.5.<br />

p 2,3 (x) = 8 + 27 − 8 (x − 2) = 19x − 30<br />

3 − 2<br />

3.1.3 Interpolation von Funktionen und Fehlerabschätzungen<br />

In <strong>die</strong>sem Abschnitt diskutieren wir <strong>die</strong> Interpolation von Funktionen. Die Punkte s<strong>in</strong>d nun<br />

nicht mehr durch e<strong>in</strong>en Datensatz gegeben, sondern durch Auswertung e<strong>in</strong>er gegebenen<br />

Funktion f auf [a, b]:<br />

y k = f(x k ), x k ∈ [a, b], k = 0, . . . , n.<br />

Die Durchführbarkeit, also Existenz und E<strong>in</strong>deutigkeit e<strong>in</strong>es Interpolationspolynoms wurde<br />

bereits <strong>in</strong> den vorangehenden Abschnitten beantwortet. Bei der Interpolation von Funktionen<br />

stellt sich hier <strong>die</strong> Frage wie gut das Interpolationspolynom p ∈ P n <strong>die</strong> Funktion f<br />

auf [a, b] approximiert.<br />

Satz 3.11 (Interpolationsfehler mit differenziellem Restglied). Es sei f ∈ C n+1 [a, b] und<br />

p ∈ P n das Interpolationspolynom zu f <strong>in</strong> den n + 1 paarweise verschiedenen Stützstellen<br />

x 0 , . . . , x n . Dann gibt es zu jedem x ∈ [a, b] e<strong>in</strong> ξ ∈ (a, b), so dass<br />

Insbesondere gilt<br />

f(x) − p(x) = f n+1 (ξ)<br />

(n + 1)!<br />

|f(x) − p(x)| ≤ max ξ∈(a,b) |f n+1 (ξ)|<br />

(n + 1)!<br />

n∏<br />

(x − x j ). (3.4)<br />

j=0<br />

n∏<br />

|x − x j |. (3.5)<br />

j=0<br />

Beweis: Falls x mit e<strong>in</strong>er Stützstelle zusammenfällt, d.h. x = x k für e<strong>in</strong> k ∈ {0, . . . , n},<br />

dann verschw<strong>in</strong>det der Fehler und wir s<strong>in</strong>d fertig. Es sei daher x ≠ x k für alle k = 0, 1, . . . , n<br />

54


3.1 Polynom<strong>in</strong>terpolation<br />

und F ∈ C n+1 [a, b] mit<br />

n∏<br />

F (t) := f(t) − p n (t) − K(x) (t − x j ).<br />

j=0<br />

K(x) sei so bestimmt, so dass F (x) = 0. Dies ist möglich, da<br />

n∏<br />

(t − x j ) ≠ 0 ⇒ K(x) = f(t) − p n(t)<br />

∏ nj=0<br />

(t − x<br />

j=0<br />

j ) .<br />

Dann besitzt F (t) <strong>in</strong> [a, b] m<strong>in</strong>destens n+2 verschiedene Nullstellen x 0 , x 1 , . . . , x n , x. Durch<br />

wiederholte Anwendung des Satzes von Rolle hat <strong>die</strong> Ableitung F (n+1) m<strong>in</strong>destens e<strong>in</strong>e<br />

Nullstelle ξ ∈ (a, b). Mit<br />

0 = F (n+1) (ξ) = f (n+1) (ξ) − p (n+1) (ξ) − K(x)(n + 1)! = f (n+1) (ξ) − 0 − K(x)(n + 1)!.<br />

Hieraus folgt <strong>die</strong> Behauptung mittels<br />

K(x) = f (n+1) (ξ)<br />

(n + 1)!<br />

⇒<br />

f(x) − p n (x) = f (n+1) (ξ)<br />

(n + 1)!<br />

n∏<br />

(x − x j )<br />

j=0<br />

Satz 3.12 (Interpolationsfehler mit Integral-Restglied). Es sei f ∈ C n+1 [a, b]. Dann gilt<br />

für x ∈ [a, b] \ {x 0 , . . . , x n } <strong>die</strong> Darstellung<br />

n∏<br />

f(x) − p(x) = f[x 0 , . . . , x n , x] (x − x j ),<br />

j=0<br />

mit den Interpolationsbed<strong>in</strong>gungen f[x i , . . . , x i+k ] := y[x i , . . . , x i+k ] und<br />

f[x 0 , . . . , x n , x] =<br />

∫ 1 ∫ t1<br />

0<br />

0<br />

· · ·<br />

Beweis: Wird folgen.<br />

∫ tn<br />

0<br />

f (n+1)( x 0 + t 1 (x 1 − x 0 ) + . . . + t(x − x n ) ) dt . . . dt 2 dt 1 .<br />

Für den Fehler der Lagrange-Interpolation können <strong>die</strong> folgenden Betrachtungen geführt<br />

werden. In (3.4) wird für großes n der Term 1<br />

(n+1)!<br />

sehr kle<strong>in</strong>. Das Produkt ∏ n<br />

j=0 (x − x j )<br />

wird kle<strong>in</strong>, wenn <strong>die</strong> Stützstellen sehr dicht beie<strong>in</strong>ander liegen. S<strong>in</strong>d alle Ableitungen von<br />

f gleichmäßig (bzgl. der Ableitungsstufe) beschränkt auf [a, b], so gilt mit (3.5), dass<br />

max |f(x) − p(x)| → 0, n → ∞.<br />

a≤x≤b<br />

Haben <strong>die</strong> Ableitungen der zu <strong>in</strong>terpolierenden Funktion jedoch e<strong>in</strong> zu starkes Wachstumverhalten<br />

für n → ∞, z.B.<br />

f(x) = (1 + x 2 ) −1 , |f n (x)| ≈ 2 n n!O(|x| −2−n ),<br />

so konvergiert <strong>die</strong> Interpolation nicht gleichmäßig auf [a, b].<br />

□<br />

□<br />

55


3 Interpolation und Approximation<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

-1 -0.5 0 0.5 1<br />

0.012<br />

0.01<br />

0.008<br />

0.006<br />

0.004<br />

0.002<br />

0<br />

-0.002<br />

-0.004<br />

-1 -0.5 0 0.5 1<br />

Abbildung 3.3: Interpolationspolynome ˜p m (x) ∈ P 2m . L<strong>in</strong>ks: das komplette Interpolations<strong>in</strong>tervall.<br />

Rechts: Ausschnitt nahe y = 0.<br />

Beispiel 3.13. Die Funktion f(x) = |x|, x ∈ [−1, 1] werde mit Hilfe der Lagrange-<br />

Interpolation <strong>in</strong> den Stützstellen<br />

x k = −1 + kh, k = 0, . . . , 2m, h = 1/m, x ≠ x k<br />

<strong>in</strong>terpoliert. Dies ergibt das globale Verhalten<br />

p m ↛ f(x), m → ∞.<br />

Zwar ist f <strong>in</strong> <strong>die</strong>sem Beispiel nicht differenzierbar, dennoch ist <strong>die</strong>ses Verhalten der<br />

Lagrange-Interpolation auch bei anderen Beispielen zu beobachten. Man betrachte z.B. <strong>die</strong><br />

Funktion<br />

f(x) = (1 + x 2 ) −1 , x ∈ [−5, 5].<br />

Wir fassen <strong>die</strong> bisherigen Ergebnisse zusammen:<br />

Bemerkung 3.14. Der Approximationssatz von Weierstraß besagt, dass jede Funktion<br />

f ∈ C([a, b]) durch e<strong>in</strong> Polynom beliebig gut approximiert werden kann. Die Analysis gibt<br />

jedoch ke<strong>in</strong>e Hilfestellung bei der konkreten Durchführung der Approximation. Die Lagrangesche<br />

Interpolation ist e<strong>in</strong>e Möglichkeit zur Approximation. Die Qualität <strong>die</strong>ser Approximation<br />

wird jedoch wesentlich durch <strong>die</strong> Regularität der Daten, also durch f bestimmt.<br />

E<strong>in</strong>e gleichmäßige Approximation von Funktionen mit Lagrangeschen Interpolationspolynomen<br />

ist im Allgeme<strong>in</strong>en nicht möglich.<br />

Die Lagrangesche Interpolation “krankt” demnach an den gleichen E<strong>in</strong>schränkungen der<br />

Taylor-Entwicklung, Satz 3.4. Von der Möglichkeit, e<strong>in</strong>e nur stetige Funktion f ∈ C([a, b])<br />

beliebig gut zu approximieren s<strong>in</strong>d wir noch weit entfernt.<br />

E<strong>in</strong> zweiter Nachteil der Lagrange-Interpolation ist <strong>die</strong> fehlende Lokalität. E<strong>in</strong>e Störung<br />

von <strong>in</strong> e<strong>in</strong>er Stützstelle (˜x k , ỹ k ) hat Auswirkung auf alle Lagrange-Polynome und <strong>in</strong>sbesondere<br />

auf das gesamte Interpolations<strong>in</strong>tervall. Wir betrachten hierzu e<strong>in</strong> Beispiel:<br />

56


3.1 Polynom<strong>in</strong>terpolation<br />

Beispiel 3.15 (Globaler Fehlere<strong>in</strong>fluss). Wir suchen das Interpolationspolynom zu der<br />

Funktion f(x) = 0 <strong>in</strong> den 2m + 1 Stützstellen<br />

x k = −1 + kh, k = −m, . . . , m, h = 1 m .<br />

Das exakte Interpolationspolynom p ∈ P 2m ist natürlich durch p = 0 gegeben. Wir nehmen<br />

an, dass <strong>die</strong> Funktionsauswertung <strong>in</strong> Nullpunkt gestört ist:<br />

y k =<br />

{<br />

0 k ≠ 0<br />

ɛ k = 0 ,<br />

mit e<strong>in</strong>em kle<strong>in</strong>en ɛ. Das gestörte Interpolationspolynom ist <strong>in</strong> Lagrangescher Darstellung<br />

gegeben durch<br />

m∏ x − x i<br />

˜p(x) =<br />

.<br />

x i<br />

i=−m,i≠0<br />

In Abbildung 3.3 zeigen wir ˜p m ∈ P 2m für <strong>die</strong> Fälle m = 1, 2, 4, 8 mit e<strong>in</strong>er Störung ɛ =<br />

0.01. Trotz <strong>die</strong>ser kle<strong>in</strong>en Störung an der Stelle x = 0 weichen <strong>die</strong> Interpolationspolynom<br />

am Intervallrand sehr stark von y k = 0 ab. In der unteren Abbildung sieht man, dass für<br />

kle<strong>in</strong>e Polynomgrade, also m = 1 und m = 2 der maximale Fehler auf dem Intervall nicht<br />

größer als <strong>die</strong> anfängliche Störung ɛ = 0.01 ist. Die Lagrangesche Interpolation ist <strong>in</strong>stabil<br />

für große Polynomgrade.<br />

Hermite Interpolation<br />

Zum Abschluss der Funktions<strong>in</strong>terpolation erwähnen wir noch e<strong>in</strong>e Verallgeme<strong>in</strong>erung, <strong>die</strong><br />

sogenannte Hermitesche Interpolationsaufgabe. Diese unterscheidet sich von der Lagrange-<br />

Interpolation durch <strong>die</strong> Möglichkeit neben Funktionswerten p(x k ) = f(x k ) auch Gleichheit<br />

von Ableitungswerten p (i) (x k ) = f (i) (x k ) zu fordern. Wir fassen zusammen:<br />

Satz 3.16 (Hermite Interpolation). Es sei f ∈ C (n+1) ([a, b]). Es seien x 0 , . . . , x m paarweise<br />

verschiedene Stützstellen und µ k ∈ N für k = 0, . . . , m e<strong>in</strong> Ableitungs<strong>in</strong>dex. Ferne<br />

gelte n = m + ∑ m<br />

k=0 µ k . Das Hermitesche Interpolationspolynom zu<br />

k = 0, . . . , m : p (i) (x k ) = f (i) (x k ), i = 0, . . . , µ k ,<br />

ist e<strong>in</strong>deutig bestimmt und zu jedem x ∈ [a, b] existiert e<strong>in</strong>e Zwischenstelle ξ ∈ [a, b], so<br />

dass gilt:<br />

m∏<br />

f(x) − p(x) = f[x 0 , . . . , x<br />

} {{ 0 , . . . , x<br />

} m , . . . , x m , x] (x − x<br />

} {{ }<br />

k ) µ k+1<br />

µ 0 +1<br />

µ<br />

k=0<br />

m+1<br />

=<br />

1<br />

(n + 1)! f (n+1) (ξ)<br />

m∏<br />

(x − x k ) µ k+1 .<br />

k=0<br />

57


3 Interpolation und Approximation<br />

3.2 Spl<strong>in</strong>e Interpolation<br />

E<strong>in</strong> wesentlicher Defekt der globalen Interpolation aus dem vorherigen Abschnitt ist, dass<br />

<strong>die</strong> <strong>in</strong>terpolierenden Polynome starke Oszillationen zwischen den Stützstellen mit immer<br />

größeren Werten annehmen. Der Grund ist <strong>die</strong> generische Steifheit, <strong>die</strong> durch <strong>die</strong> implizite<br />

Forderung von C ∞ -Übergängen <strong>in</strong> den Stützstellen gegeben ist. Die Steifheit kann<br />

dadurch reduziert werden, dass <strong>die</strong> globale Funktion als stückweise polynomiale (Teil)-<br />

Funktionen bzgl. der Zerlegung a = x 0 < x 1 < . . . < x n < b zusammengesetzt wird. In<br />

den Stützstellen x i werden dann geeignete Differenzierbarkeitseigenschaften gefordert. Am<br />

häufigsten werden <strong>in</strong> der Literatur sogenannte kubische Spl<strong>in</strong>es verwendet. Allerd<strong>in</strong>gs hat<br />

e<strong>in</strong>e spezielle Klasse, <strong>die</strong> l<strong>in</strong>earen Spl<strong>in</strong>es, e<strong>in</strong>e besondere Bedeutung für <strong>die</strong> numerische<br />

Lösung von Differentialgleichungen mit Hilfe der F<strong>in</strong>ite Elemente Methode [10, 12].<br />

Das wesentliche Ziel <strong>die</strong>ses Abschnitts liegt im Verständnis der stückweisen Approximation.<br />

Dieses Konzept erlaubt <strong>die</strong> gleichmäßige Abschätzung der Konvergenz und verh<strong>in</strong>dert<br />

Oszillationen am Rand des Intervalls, wie sie <strong>in</strong> Beispiel 3.15 auftreten.<br />

y i−1<br />

y i<br />

f(x)<br />

I i<br />

a = x 0 x i−1 x i b = x n<br />

Abbildung 3.4: Spl<strong>in</strong>e-Interpolation.<br />

Das globale Intervall (wie vorher [a, b] =: I) wird <strong>in</strong> Teil<strong>in</strong>tervalle I i = [x i−1 , x i ] mit der<br />

Länge h i = x i −x i−1 unterteilt. Die Fe<strong>in</strong>heit der gesamten Intervallunterteilung wird durch<br />

h := max i=1,...n h i charakterisiert. Zur Def<strong>in</strong>ition der Spl<strong>in</strong>efunktion (kurz Spl<strong>in</strong>e) seien<br />

<strong>die</strong> Vektorräume von stückweisen polynomialen Funktionen wie folgt gegeben:<br />

S k,r<br />

h [a, b] := {p ∈ Cr [a, b], p| Ii ∈ P k (I i )}, k, r ∈ {0, 1, 2, . . .}.<br />

Zu e<strong>in</strong>em Satz gegebener Stützwerte (<strong>die</strong> wie <strong>in</strong> Abschnitt 3.1 aus gegebenen Datenwerten<br />

oder Funktionswerten stammen können) <strong>in</strong> dem Gesamt<strong>in</strong>tervall I, wird e<strong>in</strong>e Interpolierende<br />

p ∈ S k,r<br />

h<br />

[a, b] mit Hilfe von geeigneten Interpolationsbed<strong>in</strong>gungen bestimmt.<br />

Wir diskutieren nun e<strong>in</strong>ige Beispiele, wobei der Fokus auf der Idee des ganzen Prozesses<br />

liegt und weniger auf der Beweisführung bei Fragen zu Existenz, E<strong>in</strong>deutigkeit und<br />

Fehlerabschätzung.<br />

Beispiel 3.17 (Stückweise l<strong>in</strong>eare Interpolation). Die stückweise l<strong>in</strong>eare Lagrange-Interpolierende<br />

(d.h. k = 1, r = 0) approximiert e<strong>in</strong>e gegebene Funktion f auf [a, b] durch e<strong>in</strong>en Polygonzug<br />

58


3.2 Spl<strong>in</strong>e Interpolation<br />

y i−1<br />

p<br />

y i<br />

f(x)<br />

I i<br />

a = x 0 x i−1 x i b = x n<br />

Abbildung 3.5: Stückweise l<strong>in</strong>eare Interpolation p e<strong>in</strong>er Funktion f.<br />

<strong>in</strong> den Stützstellen x i , i = 0, . . . , n:<br />

mit den Interpolationsbed<strong>in</strong>gungen<br />

p ∈ S 1,0<br />

h [a, b] = {p ∈ C[a, b], p| I i<br />

∈ P 1 (I i )},<br />

p(x i ) = f(x i ), i = 0, . . . , n.<br />

Anwendung der Fehlerabschätzung für <strong>die</strong> Lagrange-Interpolation separat auf jedem I i liefert<br />

<strong>die</strong> globale Fehlerabschätzung<br />

Für Schrittweite gilt<br />

max |f(x) − p(x)| ≤ 1<br />

x∈[a,b] 2 h2 max |f ′′ (x)|. (3.6)<br />

x∈[a,b]<br />

max |f(x) − p(x)| → 0 (h → 0),<br />

x∈[a,b]<br />

gleichmäßig auf dem gesamten Intervall. Im Gegensatz hierzu erhalten wir für n → ∞<br />

also für größer werdenden Polynomgrad ke<strong>in</strong>e gleichmäßige Konvergenz!<br />

Bemerkung 3.18. Wir halten fest, dass e<strong>in</strong>e gleichmäßige Approximation für Spl<strong>in</strong>es<br />

durch (3.6) gewährleistet ist, falls h → 0 (d.h. e<strong>in</strong>e immer größer werdende Anzahl von<br />

Stützstellen). Es ist wichtig, dass e<strong>in</strong>e größere Anzahl von Stützstellen bei der Lagrange-<br />

Interpolation nicht hilft, da hier <strong>die</strong> Anzahl Stützstellen an den Polynomgrad gekoppelt<br />

s<strong>in</strong>d. D.h. e<strong>in</strong>e größere Anzahl von Stützstellen impliziert automatisch e<strong>in</strong>en höheren Polynomgrad.<br />

Allerd<strong>in</strong>gs können höhere Ableitungen der zu <strong>in</strong>terpolierenden Funktion f starkes<br />

Wachstum haben, wodurch <strong>die</strong> gleichmäßige Fehlerabschätzung <strong>in</strong> (3.5) nichtig wird.<br />

Die Interpolierende des vorangegangenen Beispiels wird mit Hilfe der sogenannten Knotenbasis<br />

von S (1,0)<br />

h<br />

([a, b]) konstruiert. Diese Knotenbasis besteht aus den Hutfunktionen<br />

φ i ∈ S (1,0)<br />

h<br />

[a, b], i = 0, . . . , n, <strong>die</strong> durch <strong>die</strong> Bed<strong>in</strong>gung<br />

φ i (x j ) = δ ij<br />

59


3 Interpolation und Approximation<br />

1<br />

φ i (x)<br />

I i<br />

x i−1 x i x i+1<br />

Abbildung 3.6: L<strong>in</strong>eare Knotenbasisfunktion - auch Hutfunktion genannt.<br />

e<strong>in</strong>deutig bestimmt s<strong>in</strong>d. Die Interpolierende p von f erlaubt dann <strong>die</strong> Darstellung <strong>in</strong> Form<br />

von<br />

n∑<br />

p(x) = f(x i )φ(x i ).<br />

i=0<br />

Diese Konstruktion stellt <strong>die</strong> Analogie zur Lagrangeschen Darstellung des Lagrange-Interpolationspolynoms<br />

her. Im Gegensatz zu <strong>die</strong>ser globalen Sichtweise arbeiten wir aber bei den<br />

Spl<strong>in</strong>es lokal, da <strong>die</strong> Hutfunktionen φ i nur <strong>in</strong> den direkt an der jeweiligen Stützstelle x i<br />

angrenzenden Teil<strong>in</strong>tervallen von Null verschieden ist (siehe Abbildung 3.6).<br />

Bemerkung 3.19. Aus den bisherigen Betrachtungen der l<strong>in</strong>earen Spl<strong>in</strong>es erhalten wir<br />

<strong>die</strong> Erkenntnis, dass e<strong>in</strong>e höhere globale Glattheit (sprich Differenzierbarkeit) offensichtlich<br />

nicht s<strong>in</strong>nvoll zu erzielen ist. Man mache sich nochmals klar, dass an den Stützstellen<br />

ke<strong>in</strong>e Differenzierbarkeit vorliegen kann (wegen r = 0) und versuche sich den Fall r = 1<br />

vorzustellen.<br />

Bemerkung 3.20. Bei Interesse an höheren Vorlesungen zur Numerik sollte das Konstruktionspr<strong>in</strong>zip<br />

der l<strong>in</strong>earen Spl<strong>in</strong>es nicht vergessen werden, da es <strong>die</strong> Grundlage der<br />

F<strong>in</strong>ite Elemente Technik bildet [10, 12].<br />

Wie <strong>in</strong> Bemerkung 3.19 erläutert, ist <strong>die</strong> Konstruktion von l<strong>in</strong>earen Spl<strong>in</strong>es mit höheren<br />

globalen Glattheitseigenschaften nicht ohne weiteres möglich. Erhöht man jedoch den lokalen<br />

Polynomgrad auf jedem Teil<strong>in</strong>tervall, so kann mit Hilfe der Interpolationsbed<strong>in</strong>gungen<br />

höhere Glattheit erzielt werden. Dies führt auf <strong>die</strong> kubischen Spl<strong>in</strong>es, d.h. k = 3.<br />

Beispiel 3.21 (Stückweise kubische Interpolation). Es sei auf jedem Teil<strong>in</strong>tervall I i e<strong>in</strong><br />

kubisches Polynom vorgeschrieben, d.h. k = 3 mit r = 0, so dass S (3,0)<br />

h<br />

[a, b]. Die Interpolationsbed<strong>in</strong>gungen<br />

für den Fall r = 0 (d.h. globale Stetigkeit) lauten<br />

p(x i ) = f(x i ).<br />

60


3.2 Spl<strong>in</strong>e Interpolation<br />

Zur e<strong>in</strong>deutigen Bestimmung e<strong>in</strong>es kubischen Polynoms s<strong>in</strong>d <strong>in</strong> jedem I i vier Bed<strong>in</strong>gungen<br />

notwendig, so dass zwei zusätzliche Interpolationspunkte vorgegeben werden:<br />

p(x ij ) = f(x ij ),<br />

wobei x ij ∈ I i , i = 1, . . . , j = 1, 2. Durch <strong>die</strong>se stückweise kubische Lagrange-Interpolation<br />

ist e<strong>in</strong>deutig e<strong>in</strong> global stetiger Spl<strong>in</strong>e p ∈ S (3,0)<br />

h<br />

[a, b] festgelegt.<br />

Anstatt <strong>die</strong> Interpolationsbed<strong>in</strong>gung durch Zwischenwerte x ij ∈ (x i−1 , x i ) anzureichern ist<br />

es auch möglich Ableitungswerte vorzugeben:<br />

Beispiel 3.22 (Stückweise kubische Hermite-Interpolation). Es sei wiederum auf jedem<br />

Teil<strong>in</strong>tervall I i e<strong>in</strong> kubisches Polynom vorgeschrieben, d.h. k = 3 und <strong>die</strong>ses Mal mit<br />

r = 1, so dass S (3,1)<br />

h<br />

[a, b]. Die Interpolationsbed<strong>in</strong>gungen für den Fall r = 1 (d.h. globale<br />

Stetigkeit und e<strong>in</strong>malige globale Differenzierbarkeit) lauten<br />

p(x i ) = f(x i ), p ′ (x i ) = f ′ (x i )<br />

Durch <strong>die</strong>se vier Bed<strong>in</strong>gungen p ∈ S (3,1)<br />

h<br />

[a, b] e<strong>in</strong>deutig festgelegt.<br />

Bemerkung 3.23. Nutzt man zusätzlich zu den Punktwerten <strong>die</strong> Ableitungs<strong>in</strong>formation <strong>in</strong><br />

den Stützstellen zur Konstruktion e<strong>in</strong>er Interpolierenden, so wie <strong>in</strong> Beispiel 3.2 geschehen,<br />

dann spricht man von Hermite-Interpolation. Diese Interpolationsaufgabe kann für globale<br />

und lokale Interpolationen genutzt werden, siehe Satz 3.16<br />

Satz 3.24. Für den kubischen Spl<strong>in</strong>e p (d.h. k = 3) mit r = 0 oder r = 1 zur Approximation<br />

der Funktion f gilt <strong>die</strong> globale Fehlerabschätzung<br />

max |f(x) − p(x)| ≤ 1<br />

x∈[a,b] 4! h4 max |f (4) (x)|.<br />

x∈[a,b]<br />

Zur e<strong>in</strong>deutigen Bestimmung e<strong>in</strong>er stückweise kubischen Funktion s<strong>in</strong>d auf jedem Intervall<br />

I i vier Bed<strong>in</strong>gungen erforderlich. Dennoch unterscheiden sich <strong>die</strong> Sätze an Bed<strong>in</strong>gungen <strong>in</strong><br />

den beiden betrachteten Beispielen. Bei der stückweise kubischen Lagrange Interpolation<br />

<strong>in</strong> Beispiel werden <strong>in</strong> den n Intervallen jeweils vier Bed<strong>in</strong>gungen p(x ij ) = f(x ij ) gestellt,<br />

wobei an den Intervallenden x i <strong>die</strong> gleiche Interpolationsbed<strong>in</strong>gung doppelt auftaucht.<br />

Insgesamt ist <strong>die</strong> stückweise kubische Lagrange Interpolation durch 3n + 1 Bed<strong>in</strong>gungen<br />

gegeben. Die stückweise Hermite Interpolation <strong>in</strong> Beispiel hat auch vier Bed<strong>in</strong>gungen pro<br />

Intervall. An den Intervallenden treten nun jedoch 2 Bed<strong>in</strong>gungen doppelt auf, so dass<br />

sich global 2n + 2 Bed<strong>in</strong>gungen ergeben.<br />

Soll <strong>die</strong> globale Regularität der Interpolation weiter gesteigert werden, so schlägt der<br />

triviale Ansatz zusätzlich p ′′ (x i ) = f ′′ (x i ) zu fordern fehl, da <strong>die</strong>s zu sechs Bed<strong>in</strong>gungen<br />

pro Teil<strong>in</strong>tervall führen würde (bei nur vier Unbekannten von e<strong>in</strong>es kubischen Polynoms).<br />

61


3 Interpolation und Approximation<br />

Es ist dennoch möglich für e<strong>in</strong>e stückweise kubische Interpolation global C 2 ([a, b]) zu<br />

erreichen. Dies wird durch den kubischen Spl<strong>in</strong>e realisiert, welcher auf dem Pr<strong>in</strong>zip der<br />

Energiem<strong>in</strong>imierung basiert. Zu Stützstellen x i für i = 0, . . . , n wird e<strong>in</strong>e Funktion s ∈<br />

S (3,2)<br />

h<br />

gesucht mit der Eigenschaft:<br />

s(x i ) = f(x i ) = y i , i = 0, . . . , n,<br />

∫ b<br />

a<br />

s ′′ (x) 2 dx = m<strong>in</strong>!.<br />

Die Ableitungswerte von s(x) müssen <strong>in</strong> den Stützstellen ke<strong>in</strong>er Interpolationsbed<strong>in</strong>gung<br />

genügen, s(x) muss global lediglich stetig zweimal differenzierbar se<strong>in</strong> (d.h., <strong>die</strong> Ableitungswerte<br />

von s(x) müssen an den Enden der Teil<strong>in</strong>tervalle stetig se<strong>in</strong>) und <strong>die</strong> Energie,<br />

also das Integral über <strong>die</strong> zweiten Ableitungen muss m<strong>in</strong>imiert werden.<br />

Hieraus ist wohl auch der Begriff Spl<strong>in</strong>e entsprungen, da se<strong>in</strong>e Übersetzung <strong>in</strong>s Deutsche<br />

der Biegestab ist. Man stelle sich e<strong>in</strong>en elastischen Stab vor, welcher an gewissen Punkten<br />

festgehalten wird, dazwischen jedoch e<strong>in</strong>e freie Form annehmen darf. Nach physikalischen<br />

Grundpr<strong>in</strong>zipien wird <strong>die</strong>se Form <strong>die</strong> Energie des Stabes m<strong>in</strong>imieren. Das Energiem<strong>in</strong>imierungspr<strong>in</strong>zip<br />

ist höchst wichtig und tritt <strong>in</strong> der Natur und Alltag häufig auf (z.B.<br />

Seifenhäute). Man mache sich klar, dass e<strong>in</strong>e m<strong>in</strong>imale Energie den ger<strong>in</strong>gsten Energieverbrauch<br />

bedeutet und damit Treibstoffkosten gespart werden kann.<br />

Diese Form des Spl<strong>in</strong>es ist <strong>die</strong> am häufigsten genutzte Spl<strong>in</strong>e-Interpolationsaufgabe und<br />

hat z.B. große Anwendungen <strong>in</strong> der Computergrafik.<br />

Mathematisch ausgedrückt bedeutet Energiem<strong>in</strong>imierung im Falle des Spl<strong>in</strong>es:<br />

∫ b<br />

a<br />

s ′′ (x) 2 dx = m<strong>in</strong>!<br />

bzgl. aller möglichen <strong>in</strong>terpolierenden (h<strong>in</strong>reichend glatten) Funktionen.<br />

Def<strong>in</strong>ition 3.25 (Kubischer Spl<strong>in</strong>e). E<strong>in</strong>e Funktion s n : [a, b] → R wird kubischer Spl<strong>in</strong>e<br />

bzgl. Zerlegung a = x 0 < x 1 < . . . < x n = b genannt, wenn gilt<br />

i) s n ∈ C 2 [a, b].<br />

ii) s n | [xi−1 ,x] ∈ P 3 , i = 1, . . . n.<br />

Falls zusätzlich<br />

iii) s ′′ n(a) = s ′′ n(b) = 0<br />

gilt, so heißt der Spl<strong>in</strong>e natürlich.<br />

62


3.3 <strong>Numerische</strong> Differentiation<br />

Satz 3.26 (Existenz, Energiem<strong>in</strong>imierung und Fehlerabschätzung kubischer Spl<strong>in</strong>es). Es<br />

sei f e<strong>in</strong>e gegebene zu <strong>in</strong>terpolierende Funktion oder y 0 , . . . , y n e<strong>in</strong>e Reihe von Messwerten.<br />

Durch x 0 , x 1 , . . . , x n seien n + 1 paarweise verschiedene Stützstellen gegeben. Der durch<br />

<strong>die</strong> Interpolationsvorschrift<br />

s n (x i ) = f(x i ) = y i ∈ R, i = 0, . . . , n, s ′′ n(a) = y a ∈ R, s ′′ n(b) = y b ∈ R<br />

beschriebene kubische Spl<strong>in</strong>e existiert. Er ist e<strong>in</strong>deutig bestimmt durch <strong>die</strong> Vorgabe der<br />

zweiten Ableitungs<strong>in</strong>formationen.<br />

Sei weiter g ∈ C 2 ([a, b]) beliebig mit g(x i ) = f(x i ) = y i mit x i ∈ [a, b] sowie y a = g ′′ (a)<br />

und y b = g ′′ (b). Dann gilt das Pr<strong>in</strong>zip der Energiem<strong>in</strong>imierung:<br />

∫ b<br />

a<br />

|s ′′ n(x)| 2 dx ≤<br />

∫ b<br />

Falls f ∈ C 4 [a, b], so gilt <strong>die</strong> Fehlerabschätzung<br />

a<br />

|g ′′ (x)| 2 dx, ∀g ∈ C 2 [a, b].<br />

max<br />

a≤x≤b |f(x) − s n(x)| ≤ 1 2 h4 max<br />

a≤x≤b |f (4) (x)|.<br />

Beweis: Siehe [9], S. 43-47.<br />

□<br />

3.3 <strong>Numerische</strong> Differentiation<br />

In <strong>die</strong>sem Abschnitt befassen wir uns mit e<strong>in</strong>er e<strong>in</strong>fachen numerischen Aufgabe: zu e<strong>in</strong>er<br />

gegebenen Funktion f : [a, b] → R soll <strong>in</strong> e<strong>in</strong>em Punkt x 0 ∈ (a, b) <strong>die</strong> Ableitung f ′ (x 0 )<br />

oder <strong>die</strong> n-te Ableitung f (n) (x 0 ) berechnet werden. Wir gehen davon aus, dass es mit vertretbarem<br />

Aufwand nicht möglich ist, <strong>die</strong> Funktion f(x) symbolisch zu Differenzieren und<br />

<strong>die</strong> Ableitung an der Stelle x 0 auszuwerten. Wir benötigen also Approximationsverfahren<br />

zur Bestimmung der Ableitung. Die grundlegende Idee wird durch das folgende Verfahren<br />

beschrieben:<br />

Verfahren 3.27 (<strong>Numerische</strong> Differentiation). Die Funktion f : [a, b] → R wird durch<br />

e<strong>in</strong> Polynom p(x) <strong>in</strong>terpoliert. Die n-te Ableitung f (n) (x 0 ) wird durch <strong>die</strong> n-te Ableitung<br />

des Polynoms p (n) (x 0 ) approximiert.<br />

Im Folgenden entwickeln wir e<strong>in</strong>ige e<strong>in</strong>fache Verfahren zur Approximation von Ableitungen,<br />

welche auf der Interpolation beruhen.<br />

L<strong>in</strong>eare Interpolation Wir <strong>in</strong>terpolieren f(x) l<strong>in</strong>ear <strong>in</strong> den Stützstellen x 0 sowie x 0 + h:<br />

p 1 (x) = f(x 0 ) x 0 + h − x<br />

h<br />

+ f(x 0 + h) x − x 0<br />

h<br />

, p ′ 1(x) = f(x 0 + h) − f(x 0 )<br />

.<br />

h<br />

63


3 Interpolation und Approximation<br />

Wir approximieren <strong>in</strong> x = x 0 und erhalten mit Taylorentwicklung von f(x 0 + h) um x 0<br />

p ′ 1(x 0 ) = f(x 0 + h) − f(x 0 )<br />

h<br />

= f ′ (x 0 ) + h 2 f ′′ (x 0 ) + O(h 2 ),<br />

bei gegebener Differenzierbarkeit von f e<strong>in</strong>e Approximation der ersten Ableitung von<br />

erster Ordnung, also p ′ 1 (x 0) = f ′ (x 0 ) + O(h). Diese erste Approximation heißt e<strong>in</strong>seitiger<br />

Differenzenquotient . Dabei kann zur Approximation natürlich auch e<strong>in</strong>e Stützstelle x 0 −h<br />

l<strong>in</strong>ks von der Auswertungsstelle gewählt werden:<br />

p 1 (x) = f(x 0) − f(x 0 − h)<br />

h<br />

= f ′ (x 0 ) + h 2 f ′′ (x 0 ) + O(h 2 ).<br />

Insbesondere bei der Diskretisierung von gewöhnlichen Differentialgleichungen haben sich<br />

für <strong>die</strong>se beiden Varianten <strong>die</strong> Begriffe Vorwärtsdifferenzenquotient und Rückwärtsdifferenzenquotient<br />

etabliert (je nachdem, ob <strong>die</strong> weitere Stützstelle nach vorne x 0 + h oder<br />

zurück x 0 − h greift).<br />

Aus Symmetriegründen ersche<strong>in</strong>t es ebenso s<strong>in</strong>nvoll, das Interpolationspolynom <strong>in</strong> der<br />

Mitte zwischen den beiden Stützstellen auszuwerten. Wir legen daher e<strong>in</strong> l<strong>in</strong>eares Interpolationspolynom<br />

durch <strong>die</strong> beiden Stützstellen x 0 − h und x 0 + h:<br />

ˆp 1 (x) = f(x 0 − h) x 0 + h − x<br />

2h<br />

+ f(x 0 + h) x − x 0 + h<br />

2h<br />

, ˆp ′ 1(x) = f(x 0 + h) − f(x 0 − h)<br />

.<br />

2h<br />

Wir approximieren wieder bei x 0 und erhalten mit Taylorentwicklung beider Terme um<br />

den Mittelpunkt x 0 wegen<br />

f(x 0 ± h) = f(x 0 ) ± hf ′ (x 0 ) + h2<br />

2 f ′′ (x 0 ) ± h3<br />

6 f ′′′ (x 0 ) + h4<br />

24 f (iv) (x 0 ) + O(h 5 ),<br />

<strong>die</strong> bessere Approximation von zweiter Ordnung:<br />

ˆp ′ 1(x 0 ) = f(x 0 + h) − f(x 0 − h)<br />

2h<br />

= f ′ (x 0 ) + h2<br />

6 f ′′′ (x 0 ) + O(h 4 ). (3.7)<br />

Diese wichtige Approximation wird zentraler Differenzenquotient genannt. Das Ausnutzen<br />

von Symmetrie beim Entwurf von numerischen Verfahren führt oft zu e<strong>in</strong>er besseren<br />

Konvergenzordnung als zunächst erwartet. So e<strong>in</strong> Verhalten wird im Allgeme<strong>in</strong>en Superapproximation<br />

genannt.<br />

E<strong>in</strong>e l<strong>in</strong>eare Interpolation p 1 ∈ P 1 eignet sich nicht zur Approximation höherer Ableitungen,<br />

da p ′ 1 konstant ist.<br />

Quadratische Interpolation Wir <strong>in</strong>terpolieren f(x) mit Hilfe der drei Stützstellen x 0 −h,<br />

x 0 , x 0 + h durch e<strong>in</strong> quadratisches Polynom:<br />

p 2 (x) = f(x 0 − h) (x 0 − x)(x 0 + h − x)<br />

2h 2<br />

+ f(x 0 ) (x − x 0 + h)(x 0 + h − x)<br />

h 2 + f(x 0 + h) (x − x 0 + h)(x − x 0 )<br />

2h 2 .<br />

64


3.3 <strong>Numerische</strong> Differentiation<br />

In x = x 0 gilt für erste und zweite Ableitungen:<br />

p ′ 2(x 0 ) = f(x 0 + h) − f(x 0 − h)<br />

, p ′′<br />

2h<br />

2(x 0 ) = f(x 0 + h) − 2f(x 0 ) + f(x 0 − h)<br />

h 2 .<br />

Für <strong>die</strong> erste Ableitung ergibt sich erstaunlicherweise wieder der zentralen Differenzenquotienten,<br />

der schon durch l<strong>in</strong>eare Interpolation hergeleitet wurde. Dies ist der Ursprung<br />

der Bezeichnung Superapproximation: mit Hilfe der l<strong>in</strong>earen Interpolierenden wird e<strong>in</strong> Ergebnis<br />

erreicht, das eigentlich erst bei quadratischer Interpolierender zu erwarten wäre.<br />

Für <strong>die</strong> zweite Ableitung erhalten wir mit Taylorentwicklung:<br />

p ′′<br />

2(x 0 ) = −2f(x 0) + f(x 0 − h) + f(x 0 + h)<br />

h 2 = f ′′ (x 0 ) + 1 12 h2 f (iv) (x 0 ) + O(h 4 )<br />

den zentrale Differenzenquotient für <strong>die</strong> zweite Ableitung.<br />

Wir können auf der Basis von p 2 auch e<strong>in</strong>en e<strong>in</strong>seitigen Differenzenquotienten für <strong>die</strong><br />

zweite Ableitung herleiten. Dies erfolgt durch Approximation von f ′′ (x 0 −h) ≈ p ′′<br />

2 (x 0 −h).<br />

Wieder mit Taylorentwicklung erhalten wir<br />

p ′′ (x 0 − h) = f ′′ (x 0 − h) + hf ′′′ (x 0 − h) + O(h 2 )<br />

lediglich e<strong>in</strong>e Approximation erster Ordnung. Neben der Ordnung des Interpolationspolynoms<br />

p(x) kommt es entscheidend auf <strong>die</strong> entsprechende Wahl der Stützstellen an.<br />

Wir betrachten e<strong>in</strong> Beispiel:<br />

Beispiel 3.28. Es sei<br />

f(x) = tanh(x).<br />

Wir suchen e<strong>in</strong>e Approximation von<br />

( )<br />

( )<br />

1 1<br />

f ′ ≈ 0.7864477329659274, f ′′ ≈ −0.7268619813835874.<br />

2<br />

2<br />

Zur Approximation verwenden wir für <strong>die</strong> vier bisher diskutieren Differenzenquotienten zu<br />

verschiedenen Schrittweiten h > 0:<br />

In Abbildung 3.7 tragen wir <strong>die</strong> Fehler der Approximationen gegenüber der Schrittweite<br />

auf. Hier ist deutlich der Unterschied zwischen l<strong>in</strong>earer und quadratischer Ordnung <strong>in</strong> h<br />

zu erkennen.<br />

Stabilität<br />

Abschließend untersuchen wir <strong>die</strong> Stabilität der Differenzenapproximation. Die Koeffizienten<br />

der verschiedenen Formeln wechseln das Vorzeichen, somit besteht <strong>die</strong> Gefahr der<br />

Auslöschung. Exemplarisch führen wir <strong>die</strong> Stabilitätsanalyse für <strong>die</strong> zentralen Differenzenapproximation<br />

zur Bestimmung der ersten Ableitung durch. Wir gehen davon aus, dass <strong>die</strong><br />

65


3 Interpolation und Approximation<br />

h<br />

1<br />

f( 1 2 +h)−f( 1 2 )<br />

h<br />

f( 1 2 +h)−f( 1 2 −h)<br />

2h<br />

f( 1 2 +2h)−f( 1 2 +h)+f( 1 2 )<br />

h 2<br />

f( 1 2 +h)−2f( 1 2 )+f( 1 2 −h)<br />

h 2<br />

2<br />

0.598954 0.761594 −0.623692 −0.650561<br />

1<br />

4<br />

0.692127 0.780461 −0.745385 −0.706667<br />

1<br />

8<br />

0.739861 0.784969 −0.763733 −0.721740<br />

1<br />

16<br />

0.763405 0.786079 −0.753425 −0.725577<br />

1<br />

32<br />

0.775004 0.786356 −0.742301 −0.726540<br />

1<br />

64<br />

0.780747 0.786425 −0.735134 −0.726782<br />

Exakt 0.786448 0.786448 −0.726862 −0.726862<br />

Tabelle 3.1: Differenzenapproximation von f ′ (1/2) (zwei Tabellen l<strong>in</strong>ks) und f ′′ (1/2)<br />

(rechts) der Funktion f(x) = tanh(x). Dabei ist jeweils der e<strong>in</strong>seitige bzw.<br />

der zentrale Differenzenquotient genutzt worden.<br />

1<br />

Approximation der ersten Ableitung E<strong>in</strong>seitig<br />

Zentral<br />

1<br />

Approximation der zweiten Ableitung<br />

E<strong>in</strong>seitig<br />

Zentral<br />

0.1<br />

0.1<br />

0.01<br />

0.01<br />

Fehler<br />

Fehler<br />

0.001<br />

0.001<br />

0.0001<br />

0.0001<br />

h<br />

1e-05<br />

0.01 0.1 1<br />

h<br />

1e-05<br />

0.01 0.1 1<br />

Abbildung 3.7: Fehler bei der Differenzenapproximation der ersten (l<strong>in</strong>ks) und zweiten<br />

(rechts) Ableitung von f(x) = tanh(x) im Punkt x 0 = 1 2 .<br />

Funktionswerte an den beiden Stützstellen nur fehlerhaft (mit relativem Fehler |ɛ| ≤ eps)<br />

ausgewertet werden können und erhalten:<br />

˜p ′ (x 0 ) = f(x 0 + h)(1 + ɛ 1 ) − f(x 0 − h)(1 + ɛ 2 )<br />

(1 + ɛ 3 )<br />

2h<br />

= f(x 0 + h) − f(x 0 − h)<br />

(1 + ɛ 3 ) + ɛ 1f(x 0 + h) − ɛ 2 f(x 0 − h)<br />

+ O(eps 2 ).<br />

2h<br />

2h<br />

Für den relativen Fehler gilt<br />

∣<br />

˜p ′ (x 0 ) − p ′ (x 0 )<br />

p ′ (x 0 )<br />

∣ ≤ eps + |f(x 0 + h)| + |f(x 0 − h)|<br />

|f(x 0 + h) − f(x 0 − h)| eps + O(eps2 ).<br />

Im Fall f(x 0 + h) ≈ f(x 0 − h) also f ′ (x 0 ) ≈ 0 kann der Fehler beliebig stark verstärkt<br />

werden. Je kle<strong>in</strong>er h gewählt wird, umso größer wird <strong>die</strong>ser Effekt, denn:<br />

f(x 0 + h) − f(x 0 − h) = 2hf ′ (x 0 ) + O(h 2 ).<br />

66


3.4 Richardson Extrapolation zum Limes<br />

Dieses Ergebnis ist gegenläufig zur Fehlerabschätzung für den Differenzenquotienten (3.7).<br />

Bei der numerischen Approximation müssen beide Fehleranteile ad<strong>die</strong>rt werden:<br />

|f ′ (x 0 ) − ˜p ′ (x 0 )|<br />

|f ′ (x 0 )|<br />

≤ |f ′ (x 0 ) − p ′ (x 0 )|<br />

|f ′ (x 0 )|<br />

+ |p′ (x 0 ) − ˜p ′ (x 0 )|<br />

|f ′ (x 0 )|<br />

≤ 1 3 h2 + O(h 4 ) + max ξ |f(ξ)|<br />

|f ′ (x 0 )|h eps + O(eps2 ).<br />

Für kle<strong>in</strong>es h steigt der Rundungsfehleranteil. Der Gesamtfehler wird m<strong>in</strong>imal, falls beide<br />

Fehleranteile balanciert s<strong>in</strong>d, also im Fall:<br />

h 2 ≈ eps<br />

h<br />

⇒<br />

h ≈ 3√ eps.<br />

3.4 Richardson Extrapolation zum Limes<br />

E<strong>in</strong>e wichtige Anwendung der Interpolation ist <strong>die</strong> Extrapolation zum Limes. Die Idee lässt<br />

sich am e<strong>in</strong>fachsten anhand e<strong>in</strong>es Beispiels erklären. Wir wollen <strong>die</strong> Ableitung f ′ (x 0 ) e<strong>in</strong>er<br />

Funktion f im Punkt x 0 mit Hilfe des e<strong>in</strong>seitigen Differenzenquotienten berechnen:<br />

a(h) := f(x 0 + h) − f(x 0 )<br />

.<br />

h<br />

Der Schrittweitenparameter h bestimmt <strong>die</strong> Qualität der Approximation a(h) ≈ f ′ (x 0 ).<br />

Für h → 0 gilt (bei Vernachlässigung von Rundungsfehlern) a(h) → f ′ (x 0 ). An der Stelle<br />

h = 0 lässt sich a(h) jedoch nicht auswerten. Die Idee <strong>die</strong> Extrapolation zum Limes ist es<br />

nun, e<strong>in</strong> Interpolationspolynom p(x) durch <strong>die</strong> Stützstellenpaare (h i , a(h i )) für e<strong>in</strong>e Folge<br />

von Schrittweiten h 0 , h 1 , . . . , h n zu legen und den Wert p(0) als Approximation für a(0)<br />

zu verwenden.<br />

Es stellt sich <strong>die</strong> grundlegende Frage: hat <strong>die</strong> Interpolierende <strong>in</strong> den Stützstellen h 0 , . . . , h n<br />

auch Aussagekraft außerhalb des Intervalls I := [m<strong>in</strong> i h i , max i h i ]? Beispiel 3.15 lässt <strong>die</strong>s<br />

zunächst nicht vermuten. Hier war <strong>die</strong> Approximationseigenschaft durch Oszillationen <strong>in</strong><br />

Punkten zwischen den Stützstellen schon am Rande des Intervalls I stark gestört. Wir<br />

betrachten dennoch e<strong>in</strong> e<strong>in</strong>faches Beispiel:<br />

Beispiel 3.29 (Extrapolation des e<strong>in</strong>seitigen Differenzenquotienten). Zu f ∈ C 3 ([a, b])<br />

sei<br />

a(h) = f(x 0 + h) − f(x 0 )<br />

h<br />

= f ′ (x 0 ) + h 2 f ′′ (x 0 ) + h2<br />

6 f ′′′ (ξ x0 ,h), (3.8)<br />

<strong>die</strong> e<strong>in</strong>seitige Approximation der ersten Ableitung. Wir legen durch <strong>die</strong> Stützstellen (h, a(h))<br />

sowie (h/2, a(h/2)) das l<strong>in</strong>eare Interpolationspolynom,<br />

p(t) =<br />

( ) ( )<br />

t −<br />

h<br />

( )<br />

2<br />

t − h h<br />

h − h a(h) +<br />

h<br />

2<br />

2 − h a ,<br />

2<br />

67


3 Interpolation und Approximation<br />

und werten <strong>die</strong>ses an der Stelle t = 0 als Approximation von a(0) aus:<br />

( ) h<br />

a(0) ≈ p(0) = 2a − a(h).<br />

2<br />

Für a(h/2) sowie a(h) setzen wir <strong>die</strong> Taylor-Entwicklung (3.8) e<strong>in</strong> und erhalten mit<br />

(<br />

p(0) = 2 f ′ (x 0 ) + h ) (<br />

4 f ′′ (x 0 ) + h2<br />

24 f ′′′ (ξ x0 ,h/2) − f ′ (x 0 ) + h )<br />

2 f ′′ (x 0 ) + h2<br />

6 f ′′′ (ξ x0 ,h)<br />

= f ′ (x 0 ) + O(h 2 ),<br />

e<strong>in</strong>e Approximation der ersten Ableitung von zweiter Ordnung <strong>in</strong> der Schrittweite h.<br />

Dieses Extrapolationspr<strong>in</strong>zip lässt sich mit weiteren Stützstellen und Interpolation mit<br />

Polynomen von größerem Grad fortsetzen.<br />

Dieses Beispiel zeigt, dass durch das Pr<strong>in</strong>zip der Extrapolation es grundsätzlich möglich<br />

ist, <strong>die</strong> Ordnung e<strong>in</strong>es Verfahrens durch geschickte Komb<strong>in</strong>ation der Ergebnisse a(h i ) zu<br />

verbessern. E<strong>in</strong>e solche Vorgehensweise, bei der Ergebnisse e<strong>in</strong>es numerischen Verfahrens<br />

weiter verarbeitet werden, wird Postprocess<strong>in</strong>g genannt.<br />

Satz 3.30 (E<strong>in</strong>fache Extrapolation). Es sei a(h) : R + → R e<strong>in</strong>e n + 1 mal stetig differenzierbare<br />

Funktion mit der Summenentwicklung<br />

n∑<br />

a(h) = a 0 + a j h j + a n+1 (h)h n+1 ,<br />

j=1<br />

mit Koeffizienten a j ∈ R sowie a n+1 (h) = a n+1 +o(1). Weiter sei (h k ) k=0,1,... mit h k ∈ R +<br />

e<strong>in</strong>e monoton fallende Schrittweitenfolge mit der Eigenschaft<br />

Es sei p (k)<br />

n<br />

0 < h k+1<br />

h k<br />

≤ ρ < 1. (3.9)<br />

∈ P n das Interpolationspolynom zu (h k , a(h k )), . . . , (h k+n , a(h k+n )). Dann gilt:<br />

Beweis: In Lagrangescher Darstellung gilt<br />

a(0) − p (k)<br />

n (0) = O(h n+1<br />

k<br />

) (k → ∞).<br />

p (k)<br />

n (t) =<br />

n∑<br />

i=0<br />

a(h k+i )L (n)<br />

k+i (t),<br />

L(n) k+i =<br />

n ∏<br />

l=0,l≠i<br />

t − h k+l<br />

h k+i − h k+l<br />

. (3.10)<br />

Für <strong>die</strong> Lagrangeschen Basispolynome gilt <strong>die</strong> Beziehung:<br />

n∑<br />

i=0<br />

h r k+iL (n)<br />

k+i (0) = ⎧⎪ ⎨<br />

⎪ ⎩<br />

1 r = 0,<br />

0 r = 1, . . . , n,<br />

(−1) n ∏ n<br />

i=0 h k+i r = n + 1.<br />

(3.11)<br />

68


3.4 Richardson Extrapolation zum Limes<br />

Der Nachweis erfolgt durch Analyse der Lagrangeschen Interpolation von t r für verschiedene<br />

Exponenten r. Wir setzen <strong>die</strong> Entwicklung von a(h) <strong>in</strong> <strong>die</strong> Polynomdarstellung (3.10)<br />

e<strong>in</strong> und erhalten für t = 0:<br />

⎧<br />

⎫<br />

p (k)<br />

n (0) =<br />

n∑ ⎨ n∑<br />

⎬<br />

⎩ a 0 + a j h j k+i + a n+1(h k+i )h n+1<br />

k+i<br />

i=0 j=1<br />

Mit (3.11) und a n+1 (h k+i ) = a n+1 + o(h k+i ) folgt:<br />

p (k)<br />

n n (0) = a 0 + a n+1 (−1) n ∏<br />

h i+k +<br />

i=0<br />

n∑<br />

i=0<br />

⎭ L(n) k+i (0).<br />

o(1)h n+1<br />

k+i L(n) k+i (0).<br />

Mit der Schrittweitenbed<strong>in</strong>gung (3.13) h k+i ≤ ρ i h k gilt für <strong>die</strong> Lagrangeschen Basispolynome<br />

<strong>in</strong> t = 0:<br />

|L (n)<br />

n k+i (0)| =<br />

∏<br />

1<br />

h<br />

l=0,l≠i ∣ k+i<br />

h k+l<br />

− 1<br />

≤<br />

∏ n 1<br />

∣<br />

∣ ρ i−l − 1∣ = c(ρ, n). (3.12)<br />

l=0,l≠i<br />

Insgesamt folgt mit h k+i ≤ h k<br />

p (k)<br />

n = a(0) + (−1) n a n+1 h n+1<br />

k<br />

+ o(h n+1<br />

k<br />

).<br />

Die Schrittweitenbed<strong>in</strong>gung ist notwendig zum Abschätzen von |L (n)<br />

k+i<br />

| = O(1) und verh<strong>in</strong>dert<br />

das starke Oszillieren der Basisfunktionen bei t = 0 wie <strong>in</strong> Beispiel 3.15 beobachtet.<br />

E<strong>in</strong>e zulässige Schrittweitenfolgen zur Extrapolation ist h i = h 0<br />

. Die e<strong>in</strong>fache Wahl<br />

2 i<br />

h i = h 0 /i h<strong>in</strong>gegen ist nicht zulässig, da hier h k+1 /h k → 1 gilt und e<strong>in</strong>e Abschätzung <strong>in</strong><br />

Schritt (3.12) nicht mehr gleichmäßig <strong>in</strong> k möglich ist.<br />

Um <strong>die</strong> Extrapolationsvorschrift auf e<strong>in</strong> gegebenes Verfahren anzuwenden, werden <strong>die</strong><br />

Approximationen p (k)<br />

n (0) mit Hilfe des Neville-Schemas aus Algorithmus berechnet. Wir<br />

führen hierzu Beispiel 3.29 fort:<br />

Beispiel 3.31 (Extrapolation des Differenzenquotienten). Wir approximieren <strong>die</strong> Ableitung<br />

von f(x) = tanh(x) an der Stelle x 0 = 0.5 und berechnen <strong>die</strong> Approximationen mit<br />

dem e<strong>in</strong>seitigen Differenzenquotienten. Exakter Wert tanh ′ (0.5) ≈ 0.78645:<br />

h a(h) p kk p k,k+1 p k,k+2 p k,k+3<br />

2 −1 0.59895 0.59895 0.78530 0.78836 0.78650<br />

2 −2 0.69213 0.69213 0.78759 0.78673<br />

2 −3 0.73986 0.73986 0.78695<br />

2 −4 0.76341 0.76341<br />

□<br />

Die Richardson-Extrapolation spielt ihre Stärke erst dann voll aus, wenn <strong>die</strong> zugrundeliegende<br />

Funktion a(h) e<strong>in</strong>e spezielle Reihenentwicklung besitzt, welche z.B. nur gerade<br />

69


3 Interpolation und Approximation<br />

Potenzen von h be<strong>in</strong>haltet. Für den zentralen Differenzenquotienten gilt bei h<strong>in</strong>reichender<br />

Regularität von f:<br />

a(h) := f(x 0 + h) − f(x 0 − h)<br />

2h<br />

= f ′ (x 0 ) +<br />

n∑<br />

i=1<br />

f (2i+1) x 0<br />

(2i + 1)! h2i + O(h (2n+1) ).<br />

Die Idee ist es nun, <strong>die</strong>se Entwicklung bei der Interpolation auszunutzen und nur Polynome<br />

<strong>in</strong> 1, h 2 , h 4 , . . . zu berücksichtigen. Der zentrale Differenzenquotient ist ke<strong>in</strong> E<strong>in</strong>zelfall.<br />

Bei der numerischen Quadratur werden wir das Romberg-Verfahren kennenlernen, welches<br />

ebenso auf der Extrapolation e<strong>in</strong>er Vorschrift mit Entwicklung <strong>in</strong> h 2 beruht. Auch bei der<br />

Approximation von gewöhnlichen Differentialgleichungen lernen wir mit dem Gragg’schen<br />

Extrapolationsverfahren e<strong>in</strong>e Methode kennen, <strong>die</strong> auf <strong>die</strong>sem Pr<strong>in</strong>zip beruht. Daher formulieren<br />

wir ohne Beweis denn allgeme<strong>in</strong>en Satz zur Richardson-Extrapolation:<br />

Satz 3.32 (Richardson-Extrapolation zum Limes). Es sei a(h) : R + → R für e<strong>in</strong> q > 0<br />

e<strong>in</strong>e q(n + 1) mal stetig differenzierbare Funktion mit der Summenentwicklung<br />

n∑<br />

a(h) = a 0 + a j h qj + a n+1 (h)h q(n+1) ,<br />

j=1<br />

mit Koeffizienten a j ∈ R sowie a n+1 (h) = a n+1 +o(1). Weiter sei (h k ) k=0,1,... e<strong>in</strong>e monoton<br />

fallende Schrittweitenfolge h k > 0 mit der Eigenschaft<br />

0 < h k+1<br />

h k<br />

≤ ρ < 1. (3.13)<br />

Es sei p (k)<br />

n<br />

Dann gilt:<br />

∈ P n (<strong>in</strong> h q ) das Interpolationspolynom zu (h q k , a(h k)), . . . , (h q k+n , a(h k+n)).<br />

a(0) − p (k)<br />

n (0) = O(h q(n+1)<br />

k<br />

) (k → ∞).<br />

Beweis: Der Beweis ist e<strong>in</strong>e e<strong>in</strong>fache Modifikation von Satz 3.31 und kann im Wesentlichen<br />

mit Hilfe der Substitution ˜h k = h q k<br />

übertragen werden. Für Details, siehe [9]. □<br />

Pr<strong>in</strong>zipiell erlaubt <strong>die</strong> Richardson-Extrapolation bei h<strong>in</strong>reichender Regularität e<strong>in</strong>e beliebige<br />

Steigerung der Verfahrensordnung. Üblicherweise werden jedoch nur e<strong>in</strong>ige wenige<br />

Extrapolationsschritte aus den letzten Verfahrenswerten h k , h k+1 , . . . , h k+n verwendet. Die<br />

Extrapolation wird am e<strong>in</strong>fachsten mit dem modifizierten Neville-Schema durchgeführt.<br />

Algorithmus 3.33 (Modifiziertes Neville-Schema zur Extrapolation). Für h 0 , h 1 , . . . , h n<br />

sei a(h i ) bekannt. Berechne:<br />

1 f ü r k = 0, . . . , n s e t z e a k,k := a(h k )<br />

2 f ü r l = 1, . . . , n und<br />

3 f ü r k = 0, . . . , n − l berechne<br />

4 a k,k+l := a k,k+l−1 − a k+1,k+l−a k,k+l−1<br />

h q k+l<br />

h q −1<br />

k<br />

70


3.5 <strong>Numerische</strong> Integration<br />

Wir schließen <strong>die</strong> Richardson-Extrapolation mit e<strong>in</strong>em weiteren Beispiel ab:<br />

Beispiel 3.34 (Extrapolation des zentralen Differenzenquotienten). Wir approximieren<br />

<strong>die</strong> Ableitung von f(x) = tanh(x) an der Stelle x = 0.5 mit dem zentralen Differenzenquotienten<br />

und Extrapolation. Exakter Wert ist tanh ′ (0.5) ≈ 0.7864477329:<br />

h a(h) = p kk p k,k+1 p k,k+2 p k,k+3<br />

2 −1 0.761594156 0.7867493883 0.7864537207 0.7864477443<br />

2 −2 0.780460580 0.7864721999 0.7864478377<br />

2 −3 0.784969295 0.7864493603<br />

2 −4 0.786079344<br />

Bereits <strong>die</strong> jeweils erste Extrapolation p k,k+1 liefert weit bessere Ergebnisse als <strong>die</strong> Extrapolation<br />

des e<strong>in</strong>seitigen Differenzenquotienten. Die beste Approximation verfügt über 8<br />

richtige Stellen.<br />

3.5 <strong>Numerische</strong> Integration<br />

Die numerische Integration (oder auch numerische Quadratur) <strong>die</strong>nt zur approximativen<br />

Berechnung von Integralen. Mögliche Gründe s<strong>in</strong>d<br />

• Die Stammfunktion e<strong>in</strong>es Integrals lässt sich nicht durch e<strong>in</strong>e elementare Funktion<br />

ausdrücken. Z.B. ∫ ∞<br />

∫ ∞<br />

exp(−x 2 s<strong>in</strong>(x)<br />

) dx,<br />

dx.<br />

x<br />

0<br />

• E<strong>in</strong>e Stammfunktion existiert <strong>in</strong> geschlossener Form, aber <strong>die</strong> Berechnung ist derart<br />

aufwendig, so dass numerische Methoden vorzuziehen s<strong>in</strong>d.<br />

• Der Integrand ist nur an diskreten Stellen bekannt; beispielsweise bei Messreihendaten.<br />

Bei der numerischen Integration basieren <strong>die</strong> Methoden auf den bereits kennengelernten<br />

Interpolatonsmethoden. Sie s<strong>in</strong>d somit e<strong>in</strong>e klassische Anwendung der der Polynom-<br />

Interpolation sowie Spl<strong>in</strong>e-Interpolation. Erstere führen auf <strong>die</strong> sogenannten <strong>in</strong>terpolatorischen<br />

Quadraturformeln während <strong>die</strong> Spl<strong>in</strong>e-Interpolation auf <strong>die</strong> stückweise <strong>in</strong>terpolatorische<br />

Quadratur (<strong>die</strong> <strong>in</strong> der Literatur auch häufig unter dem Namen der zusammengesetzten<br />

oder summierten Quadratur zu f<strong>in</strong>den ist).<br />

Bei der <strong>in</strong>terpolatorischen Quadratur e<strong>in</strong>er Funktion f(x) auf dem Intervall [a, b] wird<br />

zunächst e<strong>in</strong>e Interpolationspolynom zu gegebenen Stützstellen x 0 , x 1 , . . . , x n kreiert, welches<br />

dann <strong>in</strong>tegriert wird (basiert dementsprechend auf Abschnitt 3.1). Bei der Gauß<br />

Quadratur wird <strong>die</strong> Position der Stützstellen x i ∈ [a, b] im Intervall so bestimmt, dass <strong>die</strong><br />

resultierende Integrationsformel e<strong>in</strong>e optimale Ordnung erzielt. Zuletzt betrachten wir als<br />

Anwendung der Extrapolation zum Limes (Abschnitt 3.4), dass sogenannte Romberg’sche<br />

Integrationsverfahren <strong>in</strong> Abschnitt 3.5.4.<br />

0<br />

71


3 Interpolation und Approximation<br />

Def<strong>in</strong>ition 3.35 (Quadraturformel). Es sei f ∈ C[a, b]. Unter e<strong>in</strong>er numerischen Quadraturformel<br />

zur Approximation von I(f) := ∫ b<br />

a<br />

f(x) dx verstehen wir <strong>die</strong> Vorschrift:<br />

n∑<br />

I n (f) := α i f(x i ),<br />

i=0<br />

mit n+1 paarweise verschiedenen Stützstellen x 0 , . . . , x n sowie n+1 Quadraturgewichten<br />

α 0 , . . . , α n .<br />

Zunächst br<strong>in</strong>gen wir zur Veranschaulichung e<strong>in</strong>ige e<strong>in</strong>fache Beispiele:<br />

Def<strong>in</strong>ition 3.36 (Boxregel). Die Box-Regel zur Integration auf [a, b] ist <strong>die</strong> e<strong>in</strong>fachste<br />

Quadraturformel und basiert auf Interpolation von f(x) mit e<strong>in</strong>em konstanten Polynom<br />

p(x) = f(a) und Integration von p(x) (siehe Abbildung 3.8):<br />

I 0 (f) = (b − a)f(a).<br />

Neben <strong>die</strong>ser l<strong>in</strong>ksseitigen Boxregel existiert mit I 0 (f) = (b − a)f(b) auch <strong>die</strong> rechtsseitige<br />

Boxregel.<br />

Die Boxregel hat ihre Bedeutung bei der Herleitung des Riemann-Integrals. Die Boxregel<br />

ist vergleichbar mit dem e<strong>in</strong>seitigen Differenzenquotienten. E<strong>in</strong>e bessere Quadraturformel<br />

erhalten wir durch Ausnutzen von Symmetrieeigenschaften:<br />

Def<strong>in</strong>ition 3.37 (Mittelpunktsregel). Zur Herleitung der Mittelpunktregel wird <strong>die</strong> Funktion<br />

f(x) <strong>in</strong> der Mitte des Intervalls mit e<strong>in</strong>em konstanten Polynom <strong>in</strong>terpoliert:<br />

Siehe Abbildung 3.8.<br />

( ) a + b<br />

I 0 (f) = (b − a)f .<br />

2<br />

Diese beiden Regeln basieren auf e<strong>in</strong>er Interpolation von Grad Null. Zur Herleitung der<br />

Trapezregel wird f(x) <strong>in</strong> den beiden Intervallenden l<strong>in</strong>ear <strong>in</strong>terpoliert:<br />

Def<strong>in</strong>ition 3.38 (Trapezregel). Die Trapezregel ist durch Integration der l<strong>in</strong>earen Interpolation<br />

<strong>in</strong> (a, f(a)) sowie (b, f(b)) gebildet:<br />

Siehe auch Abbildung 3.8<br />

I 1 (f) = b − a (f(a) + f(b)).<br />

2<br />

72


3.5 <strong>Numerische</strong> Integration<br />

f(x)<br />

f(x)<br />

f(x)<br />

a<br />

b<br />

a<br />

x 0 = a+b<br />

2 b<br />

a<br />

b<br />

Abbildung 3.8: L<strong>in</strong>ksseitige Boxregel, Mittelpunktsregel und Trapezregel zur<br />

Integralapproximation.<br />

3.5.1 Interpolatorische Quadratur<br />

Die <strong>in</strong>terpolatorischen Quadraturformeln werden über <strong>die</strong> Konstruktion e<strong>in</strong>es geeigneten<br />

Interpolationspolynoms hergeleitet. Zu den gegebenen Stützstellen a ≤ x 0 < . . . < x n ≤ b<br />

wird gemäß Abschnitt 3.1 das Lagrangsche Interpolationspolynom als Approximation der<br />

Funktion f gebildet:<br />

Dieses wird dann <strong>in</strong>tegriert:<br />

Die Quadraturgewichte<br />

I (n) (f) :=<br />

p n (x) =<br />

∫ b<br />

a<br />

n∑<br />

i=0<br />

p n (x) dx =<br />

α i =<br />

∫ b<br />

a<br />

f(x i )L (n)<br />

i (x).<br />

n∑<br />

i=0<br />

∫ b<br />

f(x i ) L (n)<br />

i (x) dx<br />

a<br />

} {{ }<br />

=α i<br />

.<br />

L (n)<br />

i (x) dx (3.14)<br />

hängen offensichtlich nicht von der zu <strong>in</strong>tegrierenden Funktion f(x) ab, dafür vom Intervall<br />

[a, b] sowie von den Stützstellen x 0 , . . . , x n . Dies impliziert <strong>die</strong> Frage, ob durch<br />

geschickte Verteilung der Stützstellen <strong>die</strong> Qualität der Gewichte verbessert werden kann.<br />

(Als Vorwegnahme auf den nach-nachfolgenden Abschnitt kann <strong>die</strong>se Frage <strong>in</strong> der Tag mit<br />

Ja beantwortet werden).<br />

Bevor wir e<strong>in</strong>zelne Quadratur-Formeln analysieren und nach möglichst leistungsfähigen<br />

Formeln suchen, können wir zunächst e<strong>in</strong> e<strong>in</strong>faches aber doch allgeme<strong>in</strong>es Resultat herleiten:<br />

Satz 3.39 (Lagrange-Quadratur). Für <strong>die</strong> <strong>in</strong>terpolatorischen Quadraturformeln I n (f) mit<br />

n + 1 paarweise verschiedenen Stützstellen x 0 , x 1 , . . . , x n gilt zur Approximation des Integrals<br />

I(f) = ∫ b<br />

a<br />

f(x) dx <strong>die</strong> Fehlerdarstellung<br />

mit Newtonscher Restglieddarstellung.<br />

∫ b<br />

n∏<br />

I(f) − I n (f) = f[x 0 , . . . , x n , x] (x − x j ) dx,<br />

a<br />

j=0<br />

73


3 Interpolation und Approximation<br />

Beweis: Der Beweis folgt unmittelbar durch Integration der entsprechenden Fehlerabschätzung<br />

für <strong>die</strong> Lagrange-Interpolation <strong>in</strong> Satz 3.12.<br />

□<br />

Hieraus folgt e<strong>in</strong>e wichtige Eigenschaft der <strong>in</strong>terpolatorischen Quadraturformeln:<br />

Korollar 3.40. Die <strong>in</strong>terpolatorische Quadraturformel I (n) (·) ist exakt für alle Polynome<br />

vom Grad n.<br />

Beweis: Folgt direkt aus der Konstruktion der <strong>in</strong>terpolatorischen Quadraturformeln, da<br />

für jedes f ∈ P n sofort p = f gilt.<br />

□<br />

Die Integrierbarkeit von Polynomen wird genutzt, um <strong>die</strong> Ordnung von Quadraturregeln<br />

zu charakterisieren:<br />

Def<strong>in</strong>ition 3.41 (Ordnung von Quadraturregeln). E<strong>in</strong>e Quadraturformel I (n) (·) wird<br />

(m<strong>in</strong>destens) von der Ordnung m genannt, wenn durch sie m<strong>in</strong>destens alle Polynome<br />

aus P m−1 exakt <strong>in</strong>tegriert werden. D.h. <strong>die</strong> <strong>in</strong>terpolatorischen Quadraturformeln I (n) (·) zu<br />

n + 1 Stützstellen s<strong>in</strong>d m<strong>in</strong>destens von der Ordnung n + 1.<br />

Im Folgenden werden wir <strong>die</strong> bereits e<strong>in</strong>geführten e<strong>in</strong>fachen Quadraturformeln näher analysieren<br />

und ihre Fehlerabschätzung sowie Ordnung bestimmen. Hierzu werden wir <strong>die</strong><br />

Newtonsche Integraldarstellung des Interpolationsfehlers aus Satz 3.39 nutzen.<br />

Satz 3.42 (Boxregel). Es sei f ∈ C 1 [a, b]. Die Boxregel (Def<strong>in</strong>ition 3.36) ist von erster<br />

Ordnung und es gilt <strong>die</strong> Fehlerabschätzung:<br />

mit e<strong>in</strong>er Zwischenstelle ξ ∈ (a, b).<br />

I 0 (f) := (b − a)f(a), I(f) − I 0 (f) =<br />

(b − a)2<br />

f ′ (ξ),<br />

2<br />

Beweis: Die Boxregel basiert auf der Interpolation mit e<strong>in</strong>em konstanten Polynom, hat<br />

daher erste Ordnung. Aus Satz 3.39 folgt mit x 0 = a:<br />

wobei mit Satz 3.12 weiter gilt:<br />

I(f) − I 0 (f) =<br />

I(f) − I 0 (f) =<br />

∫ b ∫ 1<br />

a<br />

0<br />

∫ b<br />

a<br />

f[a, x](x − a) dx,<br />

f ′ (a + t(x − a))(x − a) dt dx.<br />

Wir wenden den Mittelwertsatz der Integralrechnung zweimal an und erhalten<br />

I(f) − I 0 (f) = f ′ (ξ)<br />

∫ b ∫ 1<br />

a<br />

0<br />

(x − a) dt dx = 1 2 f ′ (ξ)(b − a) 2 ,<br />

74


3.5 <strong>Numerische</strong> Integration<br />

mit e<strong>in</strong>em Zwischenwert ξ ∈ (a, b).<br />

□<br />

Die Boxregel ist <strong>die</strong> e<strong>in</strong>fachste Quadraturformel. In Analogie zur Diskussion bei den Differenzenquotienten<br />

können wir bei der Mittelpunktsregel durch geschickte Ausnutzung<br />

der Symmetrie e<strong>in</strong>e bessere Approximationsordnung erwarten. Um <strong>die</strong>se bessere Ordnung<br />

zu erreichen müssen wieder Superapproximationeigenschaften genutzt werden, welche im<br />

Allgeme<strong>in</strong>en etwas Mehraufwand erfordern:<br />

Satz 3.43 (Mittelpunktsregel). Es sei f ∈ C 2 [a, b]. Die Mittelpunktsregel (Def<strong>in</strong>ition 3.37)<br />

ist von Ordnung 2 und es gilt <strong>die</strong> Fehlerabschätzung:<br />

( a + b<br />

I 0 (f) := (b − a)f<br />

2<br />

mit e<strong>in</strong>er Zwischenstelle ξ ∈ (a, b).<br />

)<br />

, I(f) − I 0 (f) =<br />

(b − a)3<br />

f ′′ (ξ),<br />

24<br />

Beweis: Aufgrund der Interpolation mit konstantem Polynom ist zunächst ist nur erste<br />

Ordnung zu erwarten. Es gilt mit Satz 3.4:<br />

∫ b [ ] ( a + b<br />

I(f) − I 0 (f) = f<br />

a 2 , x x − a + b )<br />

dx.<br />

2<br />

Angenommen ¯f(x) e<strong>in</strong> l<strong>in</strong>eares Polynom. Dann ist ¯f ′ konstant und also ¯f [(a + b)/2, x] =<br />

¯f[(a + b)/2, ¯x] mit ¯x ∈ [a, b]. Aus Symmetriegründen folgt:<br />

I(r ¯f) − I 0 ( ¯f) = ¯f[(a + b)/2, ¯x]<br />

} {{ }<br />

konstant<br />

∫ b (<br />

x − a + b )<br />

dx = 0.<br />

2<br />

a<br />

} {{ }<br />

=0<br />

Zur Herleitung der Fehlerabschätzung soll <strong>die</strong>se Argumentation weiter genutzt werden.<br />

Das Restglied e<strong>in</strong>er beliebigen l<strong>in</strong>earen Funktion ¯f verschw<strong>in</strong>det. Daher können wir e<strong>in</strong><br />

beliebiges ¯f (welches wir weiter unten spezifizieren) <strong>in</strong> <strong>die</strong> Fehleridentität (3.15) für allgeme<strong>in</strong>es<br />

f ∈ C 2 ([a, b]) e<strong>in</strong>schieben:<br />

I(f) − I 0 (f) =<br />

=<br />

∫ b<br />

a<br />

∫ b<br />

a<br />

[ ] ( a + b<br />

f<br />

2 , x x − a + b )<br />

dx<br />

2<br />

(<br />

f<br />

[ a + b<br />

2 , x ]<br />

− ¯f<br />

[ a + b<br />

2 , x ]) (<br />

Es gilt mit Taylor-Entwicklung von f ′ um den Mittelwert:<br />

f<br />

[ ] ∫ a + b<br />

t<br />

2 , x =<br />

=<br />

0<br />

∫ t (<br />

0<br />

( a + b<br />

f ′ 2<br />

( a + b<br />

f ′ 2<br />

(<br />

+ t<br />

x − a + b ))<br />

dt<br />

2<br />

x − a + b<br />

2<br />

) (<br />

+ t<br />

x − a + b )<br />

dx.<br />

2<br />

) )<br />

f ′′ (ξ) dt,<br />

75


3 Interpolation und Approximation<br />

mit e<strong>in</strong>em Mittelwert ξ. Wir wählen nun ¯f so, dass ¯f[(a + b)/2, x] = f ′ ((a + b)/2). Dann<br />

folgt (mit nochmaliger Anwendung des Mittelwertsatzes der Integralrechnung):<br />

∫ b ∫ 1 (<br />

I(f) − I 0 (f) = f ′′ (ξ) t x − a + b ) 2<br />

(b − a)3<br />

dt dx = f ′′ (ξ).<br />

2<br />

24<br />

a<br />

0<br />

Die höhere Ordnung der Mittelpunktsregel erhalten wir nur durch E<strong>in</strong>schieben der Null<br />

<strong>in</strong> Form e<strong>in</strong>er l<strong>in</strong>earen Funktion ¯f. Mit dem gleichen Aufwand wie <strong>die</strong> Boxregel, also mit<br />

e<strong>in</strong>er Auswertung der Funktion f(x) erreicht <strong>die</strong> Mittelpunktsregel <strong>die</strong> doppelte Ordnung.<br />

Satz 3.44 (Trapezregel). Es sei f ∈ C 2 ([a, b]). Die Trapezregel (Def<strong>in</strong>ition 3.38) ist von<br />

Ordnung 2 und es gilt <strong>die</strong> Fehlerabschätzung:<br />

I 1 (f) := b − a<br />

2 (f(a) + f(b)), I(f) − I1 (f) =<br />

mit e<strong>in</strong>er Zwischenstelle ξ ∈ (a, b).<br />

Beweis: Mit Satz 3.4 gilt:<br />

I 1 (f) − I(f) =<br />

∫ b<br />

a<br />

(b − a)3<br />

f ′′ (ξ),<br />

12<br />

f[a, b, x](x − a)(x − b) dx. (3.15)<br />

Für f[a, b, x] gilt bei zweimaliger Anwendung des Mittelwertsatzes der Integralrechnung:<br />

f[a, b, x] =<br />

∫ 1 ∫ t1<br />

0<br />

0<br />

f ′′ (a + t 1 (b − a) + t(x − b)) dt dt 1 = 1 2 f ′′ (ξ a,b,x ),<br />

mit e<strong>in</strong>em Zwischenwert ξ x . Hiermit erhalten wir mit nochmaliger Anwendung des Mittelwertsatzes<br />

(da (x − a)(x − b) ≤ 0) <strong>die</strong> Restgliedabschätzung:<br />

I(f) − I 1 (f) = 1 2<br />

∫ b<br />

mit e<strong>in</strong>em weiteren Zwischenwert ξ ∈ (a, b).<br />

a<br />

f ′′ (ξ x )(x − a)(x − b) dx =<br />

(b − a)3<br />

f ′′ (ξ),<br />

12<br />

Die Verwendung e<strong>in</strong>es quadratischen Interpolationspolynoms führt auf <strong>die</strong> Simpson Regel:<br />

Satz 3.45 (Simpson-Regel). Es sei f ∈ C 4 [a, b]. Die Simpson-Regel, basierend auf Interpolation<br />

mit quadratischem Polynom:<br />

I 2 (f) = b − a<br />

6<br />

ist von Ordnung vier und es gilt:<br />

wobei ξ ∈ (a, b).<br />

∫ b<br />

a<br />

(<br />

f(a) + 4f<br />

( a + b<br />

2<br />

) )<br />

+ f(b) ,<br />

f(x) = I(f) − I 2 (f) = f (4) (ξ)<br />

2880 (b − a)5 ,<br />

□<br />

□<br />

76


3.5 <strong>Numerische</strong> Integration<br />

Beweis: Der Beweis folgt analog zu den Beweisen zu Mittelpunkts- und Trapezregel und<br />

sei dem Leser als Übung gestellt. Dabei müssen wieder das Superapproximationspr<strong>in</strong>zip<br />

ausgenutzt werden.<br />

□<br />

Bemerkung 3.46. Wie bei der Mittelpunktsregel ist <strong>die</strong> Ordnung der Simpson-Regel e<strong>in</strong>e<br />

Potenz höher als zu erwarten wäre. Treibt man <strong>die</strong>ses Spiel weiter und konstruiert noch<br />

höhere Quadraturformeln, dann erkennen wir e<strong>in</strong> allgeme<strong>in</strong>es Pr<strong>in</strong>zip: bei Quadratur mit<br />

geraden Interpolationspolynomen, wird <strong>die</strong> Fehlerordnung um e<strong>in</strong>e Potenz erhöht. Dies<br />

folgt jeweils aus Symmetriegründen.<br />

Bei allen bisherigen Quadraturformeln s<strong>in</strong>d <strong>die</strong> Stützstellen gleichmäßig im Intervall [a, b]<br />

verteilt. Diese Formeln werden Newton-Cotes-Formeln genannt:<br />

Def<strong>in</strong>ition 3.47 (Newton-Cotes-Formeln). Quadraturregeln mit äquidistant im Intervall<br />

[a, b] verteilten Stützstellen heißen Newton-Cotes-Formeln. Gehören <strong>die</strong> Intervallenden a<br />

sowie b zu den Stützstellen, so heißen <strong>die</strong> Formeln abgeschlossen, ansonsten offen.<br />

In Tabelle 3.2 fassen wir e<strong>in</strong>ige gebräuchliche Newton-Cotes Formeln zusammen. Ab n ≥ 7<br />

bei den abgeschlossenen Formeln und ab n = 2 bei den offenen Formeln, treten negative<br />

Quadraturgewichte α i auf. Dies führt zu dem Effekt, dass auch bei re<strong>in</strong> positiven Integranden<br />

Auslöschung auftreten kann. Daher s<strong>in</strong>d <strong>die</strong>se Formeln aus numerischer Sicht nicht<br />

mehr anwendbar.<br />

Tabelle 3.2: Eigenschaften und Gewichte der Newton-Cotes Formeln.<br />

n Gewichte α i Name<br />

0 1 offen Boxregel<br />

1<br />

1<br />

2 , 1 2<br />

geschlossen Trapezregel<br />

1<br />

2<br />

6 , 4 6 , 1 6<br />

geschlossen Simpson-Regel<br />

3<br />

3<br />

24 , 9<br />

24 , 9<br />

24 , 3<br />

24<br />

geschlossen Newton’s 3/8-Regel<br />

4<br />

14<br />

180 , 64<br />

180 , 24<br />

180 , 64<br />

180 , 14<br />

180<br />

geschlossen Milne’s-Regel<br />

3.5.2 Stückweise <strong>in</strong>terpolatorische Quadraturformeln<br />

Die <strong>in</strong>terpolatorische Quadratur aus dem vorangegangenen Abschnitt beruht auf der Integration<br />

e<strong>in</strong>es Interpolationspolynoms p. Für <strong>die</strong>ses gilt <strong>die</strong> Fehlererabschätzung (Satz 3.11):<br />

f(x) − p(x) = f (n+1) (ξ)<br />

(n + 1)!<br />

n∏<br />

(x − x i ).<br />

i=0<br />

Die Genauigkeit der Quadratur kann pr<strong>in</strong>zipiell auf zwei Wege verbessert werden: der<br />

Vorfaktor kann durch Wahl von mehr Stützstellen kle<strong>in</strong> gehalten werden, denn es gilt<br />

77


3 Interpolation und Approximation<br />

1/(n + 1)! → 0. Dies führt jedoch nur dann zur Konvergenz des Fehlers, falls <strong>die</strong> Ableitungen<br />

f (n) nicht zu schnell wachsen, siehe Beispiel 3.15. Als zweite Option bleibt das<br />

Produkt der Stützstellen. E<strong>in</strong>e e<strong>in</strong>fache Abschätzung besagt wegen x, x 0 , . . . , x n ∈ [a, b]:<br />

n∏<br />

(x − x<br />

∣<br />

i )<br />

∣ ≤ (b − a)n+1 .<br />

i=0<br />

Interpolationsfehler (und somit auch Quadraturfehler) lassen sich durch Potenzen der Intervallgröße<br />

beschränken. Dies wird zur Entwicklung von stabilen und konvergenten Quadraturformeln<br />

entsprechend dem Vorgehen der summierten Interpolation (Abschnitt 3.2)<br />

genutzt. Hierzu sei<br />

a = y 0 < y 1 < · · · < y m = b, h i := y i − y i−1 ,<br />

e<strong>in</strong>e Zerlegung des Intervalls [a, b] <strong>in</strong> m Teil<strong>in</strong>tervalle mit Schrittweite h i . Auf jedem <strong>die</strong>ser<br />

m Teil<strong>in</strong>tervalle wird <strong>die</strong> Funktion f mit Hilfe e<strong>in</strong>er Quadraturformel approximiert:<br />

m∑<br />

Ih n (f) = I[y n i−1 ,y i ] (f).<br />

i=1<br />

Aus Satz 3.39 folgt sofort e<strong>in</strong>e allgeme<strong>in</strong>e Fehlerabschätzung für <strong>die</strong> summierten Quadraturformeln<br />

Satz 3.48 (Summierte Quadratur für n ungerade). Es sei f ∈ C n+1 ([a, b]) sowie a =<br />

y 0 < · · · < y m = b e<strong>in</strong>e Zerlegung des Intervalls mit Schrittweiten h i := y i − y i−1 sowie<br />

h := max h i . Für <strong>die</strong> <strong>die</strong> summierte Quadraturformeln Ih n (f) gilt <strong>die</strong> Fehlerabschätzung:<br />

mit e<strong>in</strong>er Konstante c(n) > 0.<br />

I(f) − I n h (f) ≤ c max<br />

[a,b] |f (n+1) |h n+1 ,<br />

Beweis: Der Beweis folgt e<strong>in</strong>fach aus Komb<strong>in</strong>ation von Satz 3.39 sowie der differentiellen<br />

Restglieddarstellung der Lagrange-Interpolation.<br />

□<br />

Satz 3.49 (Summierte Quadratur für n gerade). Es sei f ∈ C n+1 ([a, b]) sowie a = y 0 <<br />

· · · < y m = b e<strong>in</strong>e Zerlegung des Intervalls mit Schrittweiten h i := y i − y i−1 sowie h :=<br />

max h i . Für <strong>die</strong> <strong>die</strong> summierte Quadraturformeln Ih n (f) gilt <strong>die</strong> Fehlerabschätzung:<br />

mit e<strong>in</strong>er Konstante c(n) > 0.<br />

I(f) − I n h (f) ≤ c max<br />

[a,b] |f (n+2) |h n+2 ,<br />

Beweis: Der Beweis folgt e<strong>in</strong>fach aus Komb<strong>in</strong>ation von Satz 3.39 sowie der differentiellen<br />

Restglieddarstellung der Lagrange-Interpolation.<br />

□<br />

78


3.5 <strong>Numerische</strong> Integration<br />

y i−1<br />

p<br />

y i<br />

f(x)<br />

I i<br />

a = x 0 x i−1 x i b = x n<br />

Abbildung 3.9: Summierte Trapezregel zur Integralapproximation.<br />

Bemerkung 3.50. Von den e<strong>in</strong>fachen Quadraturregeln überträgt sich demnach <strong>die</strong> verbesserte<br />

Konvergenzordnung bei geraden n auf <strong>die</strong> summierten Quadraturformeln.<br />

Aus <strong>die</strong>sen Resultaten kann e<strong>in</strong> wichtiges Ergebnis abgelesen werden: für h → 0, also<br />

für steigende Fe<strong>in</strong>heit der Intervallzerlegung konvergiert <strong>die</strong> summierte Quadratur für<br />

beliebiges n. Mit Hilfe von summierten Quadraturregeln lassen sich somit auch Funktionen<br />

mit schnell wachsenden Ableitungen <strong>in</strong>tegrieren. Darüber h<strong>in</strong>aus eignen sich summierte<br />

Regeln auch zur Integration von Funktionen, <strong>die</strong> nur e<strong>in</strong>e ger<strong>in</strong>ge Regularität, etwa f ∈<br />

C 1 ([a, b]) aufweisen. Da es möglich ist <strong>die</strong> Ordnung n kle<strong>in</strong> zu halten s<strong>in</strong>d summierte<br />

Quadraturregeln numerisch stabiler. Zur Veranschaulichung betrachten wir <strong>in</strong> Abbildung<br />

3.9 <strong>die</strong> summierte Trapezregel<br />

Im folgenden konkretisieren wir e<strong>in</strong>ige e<strong>in</strong>fache summierte Quadraturregeln. Hierzu betrachten<br />

wir ausschließlich äquidistante Zerlegungen des Intervalls [a, b]:<br />

a = y 0 < · · · < y m = b,<br />

h := b − a<br />

m , y i := a + ih, i = 0, . . . , m. (3.16)<br />

Satz 3.51 (Summierte Boxregel). Es f ∈ C 1 [a, b] sowie durch (3.16) e<strong>in</strong>e äquidistante<br />

Zerlegung des Intervalls gegeben. Für <strong>die</strong> summierte Boxregel<br />

gilt <strong>die</strong> Fehlerabschätzung:<br />

m∑<br />

Ih(f) 0 = h f(y i ),<br />

i=1<br />

|I(f) − I 0 h(f)| ≤ b − a<br />

2 h max<br />

[a,b] |f ′ |.<br />

Beweis: Aus Satz 3.42 folgern wir durch Summation über <strong>die</strong> Teil<strong>in</strong>tervalle<br />

I(f) − I 0 h(f) =<br />

m∑<br />

i=1<br />

h 2<br />

2 f ′ (ξ i ),<br />

79


3 Interpolation und Approximation<br />

mit Zwischenstellen ξ i ∈ [y i−1 , y i ]. Das Ergebnis folgt nun mit (b − a) = ∑ i h i sowie durch<br />

Übergang zum Maximum.<br />

□<br />

Mit der summierten Boxregel haben wir also sogar für nur stückweise stetig differenzierbare<br />

Funktionen e<strong>in</strong>e konvergente Quadraturformel für h → 0. Entsprechend gilt für <strong>die</strong><br />

Trapezregel:<br />

Satz 3.52 (Summierte Trapezregel). Es f ∈ C 2 [a, b] sowie durch (3.16) e<strong>in</strong>e äquidistante<br />

Zerlegung des Intervalls gegeben. Für <strong>die</strong> summierte Trapezregel<br />

gilt <strong>die</strong> Fehlerabschätzung:<br />

Ih(f) 1 = h m∑<br />

(f(y i−1 ) + f(y i )) = h m−1<br />

2<br />

2 f(a) + h ∑<br />

f(y i ) + h 2 f(b)<br />

i=1<br />

i=1<br />

|I(f) − I 1 h(f)| ≤ b − a<br />

12 h2 max<br />

[a,b] |f ′′ |.<br />

Beweis: Übung!<br />

□<br />

Die summierte Trapezregel ist besonders attraktiv, da sich <strong>die</strong> Stützstellen überschneiden:<br />

der Punkt y i ist sowohl Stützstelle im Teil<strong>in</strong>tervall [y i−1 , y i ] als auch [y i , y i+1 ] und f(y i )<br />

muss nur e<strong>in</strong>mal bestimmt werden. Darüber h<strong>in</strong>aus eignet sich <strong>die</strong> summierte Trapezregel<br />

als Grundlage von adaptiven Quadraturverfahren, bei denen <strong>die</strong> Genauigkeit Stück für<br />

Stück dem Problem angepasst wird: wurde auf e<strong>in</strong>er Zerlegung zur Schrittweite h <strong>die</strong> Approximation<br />

I 1 h (f) bestimmt, so kann <strong>die</strong> Genauigkeit durch Intervallhalbierung I1 h/2 (f)<br />

e<strong>in</strong>fach gesteigert werden. Alle Stützstellen f(y i ) können weiter verwendet werden, <strong>die</strong><br />

Funktion f(x) muss lediglich <strong>in</strong> den neuen Intervallmitten berechnet werden. E<strong>in</strong> entsprechendes<br />

Resultat gilt für <strong>die</strong> summierte Simpsonregel:<br />

I 2 h(f) =<br />

m∑<br />

i=1<br />

(<br />

h<br />

f(y i−1 ) + 4f<br />

6r<br />

= h 6 f(a) + m ∑<br />

i=1<br />

h<br />

3 f(y i) +<br />

( yi−1 + y i<br />

m∑<br />

i=1<br />

2<br />

) )<br />

+ f(y i )<br />

( )<br />

2h<br />

3 f yi−1 + y i<br />

+ h 2 6 f(b).<br />

Bei geschickter Anordnung s<strong>in</strong>d nur 2m + 2 statt 3m Funktionsauswertungen notwendig.<br />

3.5.3 Gauß-Quadratur<br />

Wie bereits diskutiert, s<strong>in</strong>d <strong>die</strong> <strong>in</strong>terpolatorischen Quadraturformeln<br />

n∑<br />

I (n) (f) = α i f(x i )<br />

i=0<br />

80


3.5 <strong>Numerische</strong> Integration<br />

zu den Stützstellen x 0 , . . . , x n ∈ [a, b] nach Konstruktion m<strong>in</strong>destens von der Ordnung<br />

n + 1. D.h.:<br />

I(p) = I (n) (p) ∀p ∈ P n .<br />

Wir haben jedoch mit der Mittelpunktsregel n = 0 und der Simpsonregel n = 2 bereits<br />

Quadraturformeln kennengelernt, <strong>die</strong> exakt s<strong>in</strong>d für alle Polynome P n+1 , <strong>die</strong> also von der<br />

Ordnung n + 2 s<strong>in</strong>d.<br />

Wir untersuchen <strong>in</strong> <strong>die</strong>sem Abschnitt <strong>die</strong> Frage, ob <strong>die</strong> Ordnung mit anderen bisher noch<br />

nicht kennengelernten Methoden weiter erhöht werden kann. Bisher lag <strong>die</strong> Freiheit lediglich<br />

<strong>in</strong> der Wahl des Polynomgrads und somit <strong>in</strong> der Anzahl der Stützstellen. Die<br />

Frage nach der optimalen Verteilung der Stützstellen im Intervall [a, b] wurde bisher nicht<br />

untersucht. In <strong>die</strong>sem Abschnitt werden wir mit der Gauß-Quadratur <strong>in</strong>terpolatorische<br />

Quadraturformeln kennenlernen, welche durch optimale Positionierung der Stützstellen<br />

<strong>die</strong> maximale Ordnung 2n + 2 erreichen.<br />

Satz 3.53 (Ordnungsbarriere der Quadratur). E<strong>in</strong>e <strong>in</strong>terpolatorische Quadraturformel zu<br />

n + 1 Stützstellen kann höchstens <strong>die</strong> Ordnung 2n + 2 haben.<br />

Beweis: Angenommen I (n) (·) mit den Stützstellen x 0 , . . . , x n wäre von höherer Ordnung,<br />

<strong>in</strong>sbesondere exakt für Polynome P 2n+2 , also für<br />

n∏<br />

p(x) = (x − x j ) 2 ∈ P 2n+2 .<br />

j=0<br />

Die e<strong>in</strong>deutige Interpolierende p n ∈ P n mit p n (x i ) = p(x i ) = 0 hat n + 1 Nullstellen und<br />

stellt somit <strong>die</strong> Nullfunktion dar. Dies ergibt e<strong>in</strong>en Widerspruch:<br />

0 <<br />

∫ b<br />

a<br />

p(x) dx = I (n) (p) = I (n) (p n ) = 0.<br />

□<br />

Im Folgenden untersuchen wir <strong>in</strong>terpolatorische Quadraturregeln genauer und versuchen<br />

Bed<strong>in</strong>gungen herzuleiten, unter denen <strong>die</strong> höchst mögliche Ordnung 2n + 2 wirklich erreicht<br />

werden kann. Wir müssen demnach e<strong>in</strong>e Quadraturformel <strong>in</strong> n + 1 Stützstellen<br />

f<strong>in</strong>den, welche exakt ist für alle Polynome aus P 2n+1 . Hierzu wählen wir zunächst e<strong>in</strong>e<br />

Quadraturformel mit den 2n + 2 Stützstellen x 0 , x 1 , . . . , x n , x n+1 , . . . , x 2n+1 . Von <strong>die</strong>ser<br />

wissen wir, dass sie auf jeden Fall der Ordnung 2n + 2 ist. Es gilt <strong>in</strong> Newtonscher Darstellung<br />

des Interpolationspolynoms<br />

2n+1<br />

I(f) − I 2n+1 ∑<br />

∫ b<br />

(f) = I(f) − f[x 0 , . . . , x i ]<br />

i=0<br />

= I(f) − I n (f) −<br />

2n+1 ∑<br />

i=n+1<br />

a<br />

i−1 ∏<br />

j=0<br />

f[x 0 , . . . , x i ]<br />

(x − x j ) dx<br />

∫ b i−1 ∏<br />

a<br />

j=0<br />

(x − x j ) dx,<br />

81


3 Interpolation und Approximation<br />

wobei I n (·) <strong>die</strong>jenige Quadraturregel ist, welche durch <strong>die</strong> ersten n+1 Stützstellen x 0 , . . . , x n<br />

gegeben ist. Wir versuchen nun <strong>die</strong> Stützstellen x 0 , . . . , x 2n+1 so zu bestimmen, dass das<br />

Restglied<br />

2n+1 ∑<br />

i=n+1<br />

∫ b<br />

f[x 0 , . . . , x i ]<br />

a<br />

i−1 ∏<br />

j=0<br />

(x − x j ) dx = 0<br />

für alle Funktionen f ∈ C 2n+2 ([a, b]) verschw<strong>in</strong>det. In <strong>die</strong>sem Fall gilt:<br />

I(f) − I 2n+1 (f) = I(f) − I n (f) ⇒ I 2n+1 (f) = I n (f).<br />

und <strong>die</strong> resultierende Formel wäre von Ordnung 2n + 2 bei nur n + 1 Stützstellen. Es gilt<br />

für n < i < 2n + 2:<br />

∫ b i−1 ∏<br />

a<br />

(x − x j ) dx =<br />

∈P 2n+1<br />

j=0<br />

} {{ }<br />

∫ b n∏<br />

i−1 ∏<br />

(x − x j ) (x − x j ) dx.<br />

a<br />

j=0<br />

j=n+1<br />

} {{ } } {{ }<br />

∈P n+1<br />

P n<br />

Die Polynome aus dem zweiten Produkt<br />

⎧<br />

⎨<br />

2n∏<br />

⎩ 1, x − x n+1, (x − x n+1 )(x − x n+2 ), . . . ,<br />

j=n+1<br />

⎫<br />

⎬<br />

(x − x j )<br />

⎭ ,<br />

bilden e<strong>in</strong>e Basis des Polynomraums P n . Ziel ist es, <strong>die</strong> ersten Stützstellen x 0 , . . . , x n so<br />

zu positionieren, dass das Integral<br />

∫ b n∏<br />

(x − x i )q(x) dx = 0 ∀q ∈ P n (3.17)<br />

a<br />

i=0<br />

für alle q aus P n verschw<strong>in</strong>det. Es ist zunächst unklar, ob e<strong>in</strong>e solche Stützstellenwahl<br />

überhaupt möglich ist. Mit<br />

n∏<br />

p n+1 (x) = (x − x i ),<br />

schreibt sich <strong>die</strong> Aufgabe kurz:<br />

mit dem L 2 -Skalarprodukt:<br />

i=0<br />

Suche p n+1 ∈ P n+1 : (p n+1 , q) L 2 ([a,b]) = 0 ∀q ∈ P n ,<br />

(f, g) L 2 ([a,b]) :=<br />

∫ b<br />

a<br />

f(x) g(x) dx.<br />

Geometrisch bedeutet <strong>die</strong>se Aufgabe: suche e<strong>in</strong> Polynom p n+1 ∈ P n+1 , welches auf allen<br />

Polynomen q ∈ P n orthogonal steht.<br />

Bevor wir <strong>die</strong> allgeme<strong>in</strong>e Lösbarkeit <strong>die</strong>ser Aufgabe betrachten untersuchen wir zunächst<br />

als e<strong>in</strong>faches Beispiel <strong>die</strong> Fälle n = 0 sowie n = 1:<br />

82


3.5 <strong>Numerische</strong> Integration<br />

Beispiel 3.54 (Optimale Stützstellenwahl durch Orthogonalisierung). Wir wollen <strong>die</strong><br />

Polynome p 1 (x) = (x − x 0 ) sowie p 2 (x) = (x − x 0 )(x − x 1 ) bestimmen, so dass sie im<br />

L 2 -Skalarprodukt orthogonal auf allen Polynomen von Grad 0 bzw. 1 stehen. Ohne E<strong>in</strong>schränkung<br />

betrachten wir das Intervall [−1, 1]:<br />

Für n = 0 gilt mit q ≡ α 0 ∈ P 0<br />

also muss x 0 = 0 gelten.<br />

Im Fall n = 1 gilt mit q = α 0 + β 0 x:<br />

0 ! = (x − x 0 , α 0 ) L 2 ([−1,1]) = −2x 0 α 0 ∀α 0 ∈ R,<br />

0 ! = ((x − x 0 )(x − x 1 ), α 0 + β 0 x) L 2 [−1,1] = −2(x 0 + x 1 )<br />

3<br />

β 0 + 2(1 + 3x 0x 1 )<br />

α 0 ∀α 0 , β 0 ∈ R.<br />

3<br />

Aus α 0 = 1 sowie β 0 = 0 folgern wir x 0 = −x 1 und aus α 0 = 0 und β 0 = 1 folgt hiermit<br />

x 1/2 = ± 1 √<br />

3<br />

. Die optimalen Gewichte bestimmen wir gemäß Formel (3.14) zu:<br />

α 0 0 =<br />

∫ 1<br />

−1<br />

1 dx = 2, α 1 0 =<br />

∫ 1<br />

−1<br />

x − √ −1<br />

3<br />

√1<br />

3<br />

− √ −1 dx = 1, α1 1 =<br />

3<br />

und wir erhalten <strong>die</strong> beiden ersten Gauß-Quadraturformeln:<br />

(<br />

IG(f) 0 = 2f(0), IG(f) 1 = f −√ 1 ) ( ) 1<br />

+ f √3 .<br />

3<br />

∫ 1<br />

−1<br />

x − √ 1<br />

3<br />

√−1<br />

3<br />

− √ 1 dx = 1,<br />

3<br />

Die erste Formel ist gerade <strong>die</strong> Mittelpunktsregel, von der wir bereits <strong>die</strong> Ordnung zwei<br />

(also 2n + 2 = 2 · 0 + 2) kennen. Die zweite Formel hat <strong>die</strong> Ordnung 4, <strong>die</strong>s kann e<strong>in</strong>fach<br />

durch Integration der Monome 1, x, x 2 , x 3 überprüft werden.<br />

Gauß-Legendre-Quadratur<br />

In <strong>die</strong>sem Abschnitt werden allgeme<strong>in</strong>e Resultate zur Existenz und E<strong>in</strong>deutigkeit von<br />

Gauß’schen Quadraturregeln IG n (f) untersucht. Aus Konventionsgründen betrachtet man<br />

dabei das Intervall [−1, 1] (zur Transformation auf allgeme<strong>in</strong>e Intervalle sei auf Bemerkung<br />

3.71 verwiesen).<br />

Def<strong>in</strong>ition 3.55 (Gauß-Quadratur). E<strong>in</strong>e Quadraturformel zur Integration e<strong>in</strong>er Funktion<br />

f : [a, b] → R mit<br />

n∑<br />

IG(f) n = a k f(x k )<br />

k=0<br />

mit n+1 Quadratur-Stützstellen wird Gauß-Quadraturformel genannt, falls alle Polynome<br />

p ∈ P 2n+1 exakt <strong>in</strong>tegriert werden, d.h. falls gilt:<br />

∫ 1<br />

−1<br />

p(x) dx =<br />

n∑<br />

a k p(x k ) ∀p ∈ P 2n+1 .<br />

k=0<br />

83


3 Interpolation und Approximation<br />

Nach <strong>die</strong>ser Def<strong>in</strong>ition s<strong>in</strong>d <strong>die</strong> beiden Quadraturregeln aus dem vorherigen Beispiel Gauß’sche<br />

Quadraturformeln. Wir wollen im Folgenden <strong>die</strong> Existenz von Gauß’schen Quadraturregeln<br />

mit allgeme<strong>in</strong>er Ordnung, also für beliebige Stützstellenzahl n ∈ N untersuchen.<br />

Zunächst weisen wir nach, dass <strong>die</strong> Stützstellen der Gauß-Quadratur stets Nullstellen von<br />

orthogonalen Polynomen se<strong>in</strong> müssen:<br />

Satz 3.56. Es seien x 0 , . . . , x n paarweise verschiedene Quadratur-Stützstellen e<strong>in</strong>er Gauß-<br />

Quadraturformel I n (·). Dann gilt <strong>die</strong> Orthogonalitätsbeziehung<br />

∫ 1<br />

−1<br />

p n+1 (x)q(x) dx = 0 ∀q ∈ P n , p n+1 (x) := (x − x 0 ) · · · (x − x n ).<br />

Beweis: Das Polynom p n+1 q ∈ P 2n+1 wird von der Gauß-Regel exakt <strong>in</strong>tegriert. Aus<br />

p n+1 (x k ) = 0 folgt:<br />

∫ 1<br />

−1<br />

p n+1 (x)q(x) dx =<br />

n∑<br />

a k p n+1 (x k )q(x k ) = 0 ∀q ∈ P n .<br />

k=0<br />

Dies ist gerade <strong>die</strong> Orthogonalitätsbeziehung.<br />

□<br />

Falls e<strong>in</strong>e <strong>in</strong>terpolatorische Quadratur-Formel also <strong>die</strong> Gauß-Ordnung 2n + 2 besitzt, so<br />

müssen <strong>die</strong> Stützstellen <strong>die</strong> Nullstellen e<strong>in</strong>es orthogonalen Polynoms p n+1 ∈ P n+1 se<strong>in</strong>.<br />

Es bleibt, <strong>die</strong> Rückrichtung zu zeigen, dass also durch <strong>die</strong> Nullstellen von orthogonalen<br />

Polynomen auch immer Gauß-Regeln gegeben s<strong>in</strong>d:<br />

Satz 3.57. Es seien x 0 , . . . , x n paarweise verschiedene Quadratur-Stützstellen. Das Polynom<br />

n∏<br />

p n+1 (x) = (x − x j ),<br />

sei L 2 ([−1, 1])-orthogonal auf allen Polynomen q ∈ P n . Dann ist durch<br />

j=0<br />

n∑<br />

∫ 1 n∏<br />

IG(f) n x − x j<br />

= α k f(x k ), α k =<br />

dx,<br />

k=0<br />

−1 x<br />

j=0,j≠k k − x j<br />

e<strong>in</strong>e Gauß-Quadraturformel I n (f) zur Integration e<strong>in</strong>er Funktion f : [a, b] → R gegeben.<br />

Beweis: Zu gegebener Funktion f ∈ C 2n+2 ([−1, 1]) sei p n ∈ P n das Interpolationspolynom<br />

durch <strong>die</strong> Stützstellen x 0 , . . . , x n und p 2n+1 e<strong>in</strong> Interpolationspolynom durch <strong>die</strong><br />

Stützstellen x 0 , . . . , x n sowie durch weitere (verschiedene) Stützstellen x n+1 , . . . , x 2n+1 .<br />

Durch Integration <strong>die</strong>ses p 2n+1 ist e<strong>in</strong>e Quadraturformel der Ordnung 2n + 2 gegeben. Es<br />

84


3.5 <strong>Numerische</strong> Integration<br />

gilt wie <strong>in</strong> der E<strong>in</strong>leitung zur Gauß-Quadratur:<br />

2n+1 ∑<br />

i−1 ∏<br />

f[x 0 , . . . , x i ]<br />

p 2n+1 (x) =<br />

(x − x i )<br />

i=0<br />

j=0<br />

2n+1 ∑<br />

n∏<br />

i−1 ∏<br />

= p n (x) + f[x 0 , . . . , x i ] (x − x j ) (x − x j ) .<br />

i=n+1<br />

j=0<br />

j=n+1<br />

} {{ } } {{ }<br />

=p n+1 =q∈P n<br />

Aufgrund der angenommenen Orthogonalität von p n+1 auf q ∈ P n folgt, dass bereits durch<br />

Integration von p n e<strong>in</strong>e Quadraturformel der Ordnung 2n + 2, also e<strong>in</strong>e Gauß-Quadratur<br />

gegeben ist.<br />

□<br />

Diese beiden Sätze besagen, dass <strong>die</strong> Charakterisierung von Gauß’schen Quadraturregeln<br />

durch Nullstellen orthogonaler Polynome e<strong>in</strong>deutig ist. Zum Abschluss müssen wir noch<br />

zeigen, dass überhaupt orthogonale Polynome zu beliebiger Stützstellenzahl n existieren,<br />

und dass <strong>die</strong>se Polynome auch reelle Nullstellen haben!<br />

Satz 3.58. Es existiert e<strong>in</strong>e e<strong>in</strong>deutige Folge (p n ) n von Polynomen p n ∈ P n mit<br />

p 0 (x) ≡ 1,<br />

p n (x) = x n + r n−1 (x), n = 1, 2, . . . ,<br />

mit r n−1 ∈ P n−1 , <strong>die</strong> <strong>die</strong> Orthogonalitätsbeziehung<br />

∫ 1<br />

−1<br />

p n (x)p m (x) dx = 0, 0 ≤ m < n,<br />

erfüllen. Durch {p k , k = 0, . . . , n} ist dann e<strong>in</strong>e Orthogonalbasis des P n gegeben.<br />

Beweis: Die Aussage folgt unter Ausnutzung des Satzes von Gram-Schmidt für <strong>die</strong> Monombasis<br />

{1, x, x 2 , . . . } von P n+1 [a, b], Satz 4.51 Mit<br />

p 0 := 1, k = 1, . . . , n + 1<br />

k−1<br />

p k (x) := x k ∑<br />

−<br />

j=0<br />

(x k , p j )<br />

‖p j ‖ 2 p j(x),<br />

wird dann {p 0 , . . . , p n+1 } e<strong>in</strong> Orthogonalsystem <strong>in</strong> P n+1 [a, b], unter Ausnutzung des L 2 -<br />

Skalarprodukts<br />

(f, g) L 2 ([−1,1]) :=<br />

∫ 1<br />

−1<br />

f(x)g(x) dx.<br />

Denn vollständigen Beweis des Gram-Schmidt-Algorithmus werden wir später nachtragen.<br />

Die spezielle Version f<strong>in</strong>det der Leser <strong>in</strong> [9], S. 87.<br />

□<br />

85


3 Interpolation und Approximation<br />

Satz 3.59 (Nullstellen orthogonaler Polynome). Die bezüglich des L 2 ([−1, 1])-<br />

Skalarprodukts orthogonalen Polynome p n besitzen reelle, e<strong>in</strong>fache Nullstellen im Intervall<br />

(−1, 1).<br />

Beweis: Der Beweis wird über Widerspruchsargumente geführt. Es sei darauf h<strong>in</strong>gewiesen,<br />

dass p n e<strong>in</strong> reellwertiges Polynom (nach Standardvoraussetzung <strong>in</strong> <strong>die</strong>sem Kapitel) ist. Wir<br />

nehmen zunächst an, dass p n e<strong>in</strong>e reelle Nullstelle λ hat, <strong>die</strong> nicht im Intervall (−1, 1) liegt.<br />

Dazu def<strong>in</strong>ieren wir<br />

q(x) := p n(x)<br />

x − λ .<br />

Es gilt q ∈ P n−1 (da p n ∈ P n ) und deshalb ist q ⊥ p n . Dies impliziert<br />

0 = (q, p n ) =<br />

∫ 1<br />

−1<br />

p 2 n(x)<br />

x − λ dx.<br />

Dies ist aber e<strong>in</strong> Widerspruch, da p n (x) 2 auf [−1, 1] stets positiv ist (da p n reellwertig ist),<br />

noch <strong>die</strong> Nullfunktion ist, und darüber h<strong>in</strong>aus der Faktor (x − λ) −1 ke<strong>in</strong>en Vorzeichenwechsel<br />

haben kann, da λ außerhalb von [−1, 1] liegt. Deshalb kann p n ke<strong>in</strong>e Nullstelle<br />

außerhalb von (−1, 1) haben.<br />

Im zweiten Teil zeigen wir, dass im Intervall (−1, 1) nur e<strong>in</strong>fache und reelle Nullstellen liegen.<br />

Wir arbeiten wieder mit e<strong>in</strong>em Widerspruchsargument. Wir nehmen an, dass p n e<strong>in</strong>e<br />

Nullstelle λ besitzt, <strong>die</strong> entweder mehrfach oder nicht reell ist. In beiden Fällen def<strong>in</strong>ieren<br />

wir<br />

p n (x)<br />

q(x) :=<br />

(x − λ)(x − ¯λ) = p n(x)<br />

|x − λ| 2 .<br />

Das Polynom q(x) liegt <strong>in</strong> P n−2 . Der komplexwertige Fall ist hier deshalb e<strong>in</strong>geschlossen,<br />

da dann auch ¯λ e<strong>in</strong>e Nullstelle von p n ist. Daher gilt<br />

0 = (p n , q) =<br />

∫ 1<br />

−1<br />

p 2 n(x)<br />

|x − λ| 2 dx.<br />

Mit der gleichen Argumentation wir vorher erhalten wir, dass p n positiv <strong>in</strong> (−1, 1) und<br />

auch nicht identisch zur Nullfunktion ist. Daher s<strong>in</strong>d alle Nullstellen von p n e<strong>in</strong>fach und<br />

reell.<br />

□<br />

Mit <strong>die</strong>sen Vorarbeiten s<strong>in</strong>d wir <strong>in</strong> der Lage den Hauptsatz <strong>die</strong>ses Abschnitts zu aufzustellen:<br />

Satz 3.60 (Existenz und E<strong>in</strong>deutigkeit der Gaußquadratur). Für jedes n = 0, 1, . . . existiert<br />

e<strong>in</strong>e e<strong>in</strong>deutige Gaußquadraturformel der Ordnung 2n+2 zu n+1 paarweise verschiedenen<br />

Stützstellen, <strong>die</strong> als Nullstellen des orthogonalen Polynoms p n+1 ∈ P n+1 gegeben<br />

s<strong>in</strong>d.<br />

Beweis: Der Beweis besteht aus der Zusammenfassung der bisherigen Resultate:<br />

• Satz 3.58 liefert <strong>die</strong> e<strong>in</strong>deutige Existenz des orthogonalen Polynoms p n+1 ∈ P n+1 .<br />

86


3.5 <strong>Numerische</strong> Integration<br />

• Satz 3.59 garantiert, dass <strong>die</strong>ses Polynom n + 1 paarweise verschiedene, reelle Nullstellen<br />

besitzt.<br />

• Satz 3.57 besagt, dass durch Wahl der Nullstellen als Stützstellen bei entsprechenden<br />

Gewichten e<strong>in</strong>e Quadraturformel der Ordnung 2n + 2, also e<strong>in</strong>e Gauß-Quadratur<br />

gegeben ist, siehe Def<strong>in</strong>ition 3.55.<br />

• Schließlich besagt Satz 3.56, dass nur durch <strong>die</strong>se Wahl der Stützstellen e<strong>in</strong>e Gauß-<br />

Quadraturformel erzeugt wird, liefert also <strong>die</strong> E<strong>in</strong>deutigkeit des Konstruktionspr<strong>in</strong>zips.<br />

Damit ist der Beweis geführt.<br />

E<strong>in</strong> Nachteil der Newton-Cotes-Formeln s<strong>in</strong>d negative Gewichte ab n ≥ 7 für geschlossene<br />

Formeln. Im nächsten Resultat zeigen wir, dass <strong>die</strong> Gaußquadraturgewichte stets positiv<br />

s<strong>in</strong>d:<br />

Satz 3.61 (Gewichte der Gauß-Quadratur). Die Gewichte der Gaußquadratur s<strong>in</strong>d stets<br />

positiv.<br />

Beweis: Es sei durch I n G (f) = ∑ k α kf(x k ) <strong>die</strong> Gauß-Quadratur zu den n + 1 Stützstellen<br />

x 0 , . . . , x n gegeben. Für <strong>die</strong> Lagrangeschen Basispolynome gilt<br />

□<br />

L (n)<br />

i (x) = ∏ x − x j<br />

,<br />

x<br />

j≠i i − x j<br />

L (n)<br />

i (x k ) = δ ik .<br />

Es gilt L (n)<br />

i<br />

∈ P n , also wird auch (L (n)<br />

i ) 2 von der Gauss-Formel exakt <strong>in</strong>tegriert:<br />

0 <<br />

∫ 1<br />

−1<br />

(L (n)<br />

i (x)) 2 dx =<br />

n∑<br />

k=0<br />

α k (L (n)<br />

i (x k )) 2 = α k .<br />

Die Gauß’schen Quadraturformeln haben neben der hohen Ordnung den weiteren Vorteil,<br />

dass bei positiven Integranden ke<strong>in</strong>e Auslöschung auftreten wird. Sie s<strong>in</strong>d numerisch sehr<br />

stabil.<br />

Weiter haben wir gesehen, dass <strong>die</strong> <strong>die</strong> Newton-Cotes Formeln unter dem gleichen Mangel<br />

wie <strong>die</strong> Lagrangesche Interpolation leidet: falls <strong>die</strong> Ableitungen des Integranden zu schnell<br />

steigen, so muss ke<strong>in</strong>e Konvergenz bei steigendem Polynomgrad vorliegen. Im Fall der<br />

Gauss-Quadratur erhalten wir h<strong>in</strong>gegen Konvergenz des Integrals:<br />

Satz 3.62 (Konvergenz der Gauss-Quadratur). Es sei f ∈ C ∞ ([−1, 1]). Die Folge<br />

(I (n) (f)) n , n = 1, 2, . . . der Gaußformeln zur Berechnung von<br />

I(f) =<br />

∫ 1<br />

−1<br />

f(x) dx.<br />

□<br />

ist konvergent:<br />

I (n) (f) → I(f)<br />

(n → ∞).<br />

87


3 Interpolation und Approximation<br />

Beweis: Es gilt<br />

I (n) (f) =<br />

n∑<br />

i=0<br />

α (n)<br />

i f(x (n)<br />

i ), α (n)<br />

i > 0,<br />

n∑<br />

i=0<br />

α (n)<br />

i = 2.<br />

Es sei ɛ > 0. Nach dem Approximationssatz von Weierstraß gibt es e<strong>in</strong> p ∈ P m (wobei m<br />

h<strong>in</strong>reichend groß), so dass<br />

max<br />

−1≤x≤1 |f(x) − p(x)| ≤ ɛ 4 .<br />

Für h<strong>in</strong>reichend großes 2n + 2 > m gilt I(p) − IG n (p) = 0. Damit folgern wir<br />

|I(f) − I (n) (f)| ≤ |I(f − p)| + |I(p) − I (n) (p)| + |I (n) (p − f)| ≤ ɛ.<br />

} {{ } } {{ } } {{ }<br />

≤ ɛ 4 ·2<br />

=0<br />

≤ ɛ 4 ·2<br />

Da ɛ > 0 beliebig gewählt worden ist, muss I (n) (f) → I(f) für n → ∞ konvergieren.<br />

Schließlich beweisen wir noch e<strong>in</strong> optimales Resultat für den Fehler der Gauß-Quadratur:<br />

Satz 3.63 (Fehlerabschätzung der Gauß-Quadratur). Es sei f ∈ C 2n+2 [a, b]. Dann lautet<br />

<strong>die</strong> Restglieddarstellung zu e<strong>in</strong>er Gaußquadraturformel der Ordnung 2n + 2 :<br />

R (n) (f) = f (2n+2) (ξ)<br />

(2n + 2)!<br />

für ξ ∈ [a, b] und mit p n+1 = ∏ n<br />

j=0 (x − λ j ).<br />

∫ b<br />

a<br />

p 2 n+1(x) dx<br />

Beweis: Der Beweis erfolgt unter Zuhilfenahme der Hermite-Interpolation (siehe Satz<br />

3.16). Hiernach existiert e<strong>in</strong> Polynom h ∈ P 2n+1 zu e<strong>in</strong>er zu <strong>in</strong>terpolierenden Funktion<br />

f ∈ C 2n+2 [−1, 1], welches <strong>die</strong> Hermitesche Interpolationsaufgabe löst, mit den Interpolationsbed<strong>in</strong>gungen<br />

h(λ i ) = f(λ i ), h ′ (λ i ) = f ′ (λ i ), i = 0, . . . , n.<br />

Hierzu lautet <strong>die</strong> (bereits bekannte) Restglieddarstellung<br />

n∏<br />

f(x) − h(x) = f[λ 0 , λ 0 , . . . , λ n , λ n , x] (x − λ j ) 2 .<br />

j=0<br />

Wendet man nun <strong>die</strong> Gaußsche-Quadraturformel auf h(x) an, dann gilt zunächst I (n)<br />

G (h) =<br />

I(h), und weiter unter Anwendung des Mittelwertsatzes der Integralrechnung<br />

I(f) − I (n)<br />

G<br />

(f) = I(f − h) − I(n)<br />

G<br />

(f − h)<br />

∫ 1<br />

n∏<br />

n∑<br />

= f[λ 0 , λ 0 , . . . , λ n , λ n , x] (x − λ j ) 2 dx − a i [f(λ i ) − h(λ i )]<br />

−1<br />

j=0<br />

i=0<br />

= f (2n+2) ∫<br />

(ξ) 1 n∏<br />

(x − λ j ) 2 dx.<br />

2n + 2)! −1<br />

j=0<br />

□<br />

88


3.5 <strong>Numerische</strong> Integration<br />

Der Mittelwertsatz darf hier angewendet werden, da stets ∏ n<br />

j=0 (x − λ j ) 2 ≥ 0. Der Term<br />

[f(λ i ) − h(λ i )] = 0, da hier <strong>die</strong> Interpolationsbed<strong>in</strong>gungen ausgenutzt worden s<strong>in</strong>d. Damit<br />

ist alles gezeigt.<br />

□<br />

Bemerkung 3.64 (Zur Regularität <strong>in</strong> der Fehlerformel). Es bleibt zu bemerken, dass<br />

zur Gültigkeit der Fehlerabschätzung 3.63 e<strong>in</strong>e vergleichsweise hohe Regularität an <strong>die</strong><br />

Funktion f gestellt wird: f ∈ C 2n+2 [a, b]. Um Aussagen über <strong>die</strong> Fehlerentwicklung bei<br />

ger<strong>in</strong>gerer Regularität zu erhalten, sollte man wieder zu summierten Formeln (siehe Spl<strong>in</strong>es<br />

und stückweise <strong>in</strong>terpolatorische Quadratur) übergehen.<br />

Nachdem wir nun das theoretische Fundament der Gaußquadratur bereitgestellt haben<br />

verbleibt im f<strong>in</strong>alen Schritt <strong>die</strong> explizite Angabe der Stützstellen sowie der (Quadratur)-<br />

Gewichte. Hierzu nutzen wir <strong>die</strong> Legendre-Polynome, <strong>die</strong> grundsätzlich bei orthogonalen<br />

Polynomen e<strong>in</strong>e herausragende Rolle spielen.<br />

Legendre-Polynome<br />

Satz 3.65 (Legendre-Polynome). Die Legendre-Polynome L n ∈ P n mit<br />

d n<br />

L n (x) := 1<br />

2 n n! dx n (x2 − 1) n ,<br />

s<strong>in</strong>d <strong>die</strong> bezüglich des L 2 ([−1, 1])-Skalarprodukt orthogonalisierten Monome {1, x, x 2 , . . . }.<br />

Beweis: Zunächst gilt L n ∈ P n , denn n-fache Ableitung von x 2n liefert das höchste Monom<br />

x n . Die Orthogonalitätseigenschaft folgt durch mehrfache Anwendung von partieller<br />

Integration aus Ausnutzen der Tatsache, dass der Term (x 2 − 1) n an den beiden Intervallenden<br />

n-fache Nullstellen besitzt.<br />

□<br />

Mit den Legendre-Polynomen existiert e<strong>in</strong>e explizite Darstellung für <strong>die</strong> orthogonalen Polynome<br />

bezüglich des L 2 ([−1, 1])-Skalarprodukts. Diese Polynome unterscheiden sich von<br />

den Polynomen aus Satz 3.58 lediglich durch <strong>die</strong> Normierung. Für <strong>die</strong> orthogonalen Polynome<br />

p n (x) aus Satz 3.58 gilt, dass der Koeffizient vor dem höchsten Monom 1 ist. Für<br />

<strong>die</strong> Legendre-Polynome gilt <strong>die</strong> Normierungseigenschaft L n (1) = 1.<br />

Die ersten Legendre-Polynome lauten:<br />

L 0 (x) = 1,<br />

L 1 (x) = x, x 0 = 0<br />

L 2 (x) = 1 1<br />

2 (3x2 − 1), x 0/1 = ±√<br />

3 ,<br />

L 3 (x) = 1 √ 3<br />

2 (5x3 − 3x), x 0 = 0, x 1/2 = ±<br />

5<br />

L 4 (x) = 1 8 (35x4 − 30x 2 + 3), x 0/1 ≈ ±0.861136, x 2/3 ≈ ±0.339981<br />

89


3 Interpolation und Approximation<br />

Für <strong>die</strong> Nullstellen (also <strong>die</strong> Quadratur-Stützstellen) existiert ke<strong>in</strong>e geschlossene Formel.<br />

Im Fall n > 3 können <strong>die</strong> Nullstellen nur noch numerisch berechnet werden.<br />

Die entsprechenden Quadraturgewichte können e<strong>in</strong>fach über <strong>die</strong> Formel (3.14) berechnet<br />

werden<br />

∫ 1 n∏ x − x j<br />

α k =<br />

dx.<br />

x k − x j<br />

−1<br />

j=0<br />

In Tabelle 3.3 fassen wir <strong>die</strong> ersten wichtigen Gauß-Legendre Regeln zusammen.<br />

n − 1 x i α i Ordnung<br />

0 0 2 2<br />

1 ±√ 1<br />

3<br />

1 4<br />

2 0<br />

8<br />

±√ 3<br />

5<br />

9<br />

5<br />

9<br />

6<br />

3 ±0.8611363116 0.347854845<br />

±0.3399810436 0.652145154 8<br />

4 0 0.568888889<br />

±0.9061798459 0.236926885<br />

±0.5384693101 0.478628670 10<br />

Tabelle 3.3: E<strong>in</strong>ige Gauß-Legendre Quadratur-Regeln.<br />

Zuletzt sollte e<strong>in</strong> (kle<strong>in</strong>er) Nachteil der Gauß-Legendre Formeln erwähnt werden. Für jedes<br />

Legendre-Polynom L n (x) erhalten wir neue Stützstellen x 0 , . . . , x n , <strong>die</strong> im Allg. mit den<br />

bereits berechneten Stützstellen der Polynome L n (x), n = 0, . . . , n − 1 nicht übere<strong>in</strong>stimmen.<br />

Gauß-Tschebyscheff Quadratur<br />

Die Gauß’schen Quadraturformeln s<strong>in</strong>d so konstruiert, dass Polynome bis zu e<strong>in</strong>em bestimmten<br />

Grad exakt <strong>in</strong>tegriert werden können. Oft s<strong>in</strong>d h<strong>in</strong>gegen <strong>die</strong> zu <strong>in</strong>tegrierenden<br />

Funktionen ke<strong>in</strong>e Polynome, man denke z.B. an<br />

f(x) = √ 1 − x 2 ,<br />

auf dem Intervall [−1, 1]. Die Ableitungen <strong>die</strong>ser Funktion haben an den Intervallenden<br />

S<strong>in</strong>gularitäten. Die e<strong>in</strong>fache Gauß-Quadratur ist zur Approximation von ∫ 1<br />

−1<br />

f(x) dx nicht<br />

geeignet, da hohe Regularität vorausgesetzt wird.<br />

Die Idee der Gauß-Quadratur kann nun verallgeme<strong>in</strong>ert werden. Dazu sollen Quadraturregeln<br />

konstruiert werden, welche Funktionen nach der Art<br />

p ω (x) = ω(x)p(x),<br />

90


3.5 <strong>Numerische</strong> Integration<br />

mit e<strong>in</strong>em Polynom p(x) möglichst exakt <strong>in</strong>tegrieren. Die Funktion ω(x) nennen wir Gewichtsfunktion.<br />

Diese Gewichtsfunktion fließt nun <strong>in</strong> das Konstruktionspr<strong>in</strong>zip von speziellen<br />

Gauß-Quadraturformeln e<strong>in</strong>. Zunächst formulieren wir den hierfür zentralen Satz:<br />

Satz 3.66 (Gewichtetes Skalarprodukt). Durch ω ∈ L ∞ ([−1, 1]) sei e<strong>in</strong>e positive<br />

ω(x) > 0<br />

fast überall,<br />

Gewichtsfunktion gegeben. Dann ist durch<br />

e<strong>in</strong> Skalarprodukt gegeben.<br />

Beweis: Übung!<br />

(f, g) ω :=<br />

∫ 1<br />

−1<br />

ω(x) f(x) g(x) dx,<br />

Die bisher bewiesenen Sätze 3.56, 3.57, 3.58, 3.59 sowie 3.61 gelten alle auch bei Verwendung<br />

<strong>die</strong>ses gewichteten Skalarprodukts. Das Übertragen der Beweise überlassen wir als<br />

Übung. Die Gauß-Tschebyscheff Quadratur wählt als spezielles Gewicht <strong>die</strong> Funktion<br />

ω(x) =<br />

1<br />

√<br />

1 − x 2 .<br />

Diese Funktion legt e<strong>in</strong> starkes Gewicht auf <strong>die</strong> beiden Intervallenden. Es gilt der folgende<br />

zunächst erstaunliche Satz:<br />

Satz 3.67 (Tschebyscheff-Polynome). Die Tschebyscheff-Polynome T n ∈ P n mit<br />

T n (x) := cos(n arccos x), −1 ≤ x ≤ 1,<br />

s<strong>in</strong>d <strong>die</strong> bezüglich des (·, ·) ω Skalarprodukts orthogonalisierten Monome {1, x, . . . } mit der<br />

Gewichtsfunktion<br />

1<br />

ω(x) = √ . 1 − x 2<br />

Die n paarweise verschiedenen Nullstellen des n-ten Tschebyscheff-Polynoms T n (x) s<strong>in</strong>d<br />

gegeben durch<br />

( ) 2k + 1<br />

x k = cos<br />

2n π , k = 0, . . . , n − 1.<br />

Beweis: (i) Wir müssen zunächst nachweisen, dass durch T n (x) überhaupt Polynome<br />

gegeben s<strong>in</strong>d. Wir führen den Beweis <strong>in</strong>duktiv durch Herleiten e<strong>in</strong>er Iterationsformel. Es<br />

gilt:<br />

T 0 (x) = 1, T 1 (x) = x,<br />

also <strong>in</strong>sbesondere T 0 ∈ P 0 und T 1 ∈ P 1 . Aus dem Additionstheorem für <strong>die</strong> Kos<strong>in</strong>usfunktion<br />

cos((n + 1)y) + cos((n − 1)y) = 2 cos(nt) cos(y),<br />

□<br />

91


3 Interpolation und Approximation<br />

erhalten wir mit y = arccos x e<strong>in</strong>e zweistufige Rekursionsformel:<br />

T n+1 (x) + T n−1 (x) = 2xT n (x) ⇒ T n+1 (x) = 2xT n (x) − T n−1 (x).<br />

Hieraus schließen wir <strong>in</strong>duktiv T n ∈ P n mit<br />

T n (x) = 2 n−1 x n + . . . .<br />

(ii) Wir weisen nun <strong>die</strong> Orthogonalität der Tschebyscheff-Polynome bzgl. des gewichteten<br />

Skalarprodukts auf [−1, 1] nach. Mit x = cos(t) gilt unter Ausnutzung der Orthogonalität<br />

trigonometrischer Polynome:<br />

∫ 1<br />

−1<br />

T n (x)T m (x)<br />

√<br />

1 − x 2<br />

dx =<br />

∫ π<br />

0<br />

⎧<br />

⎪⎨ π, n = m = 0,<br />

cos(nt) cos(mt) dt =<br />

π<br />

2<br />

⎪⎩<br />

, n = m > 0,<br />

0, n ≠ m.<br />

(iii) Die Nullstellen der Tschebyscheff-Polynome können elementar berechnet werden. Diese<br />

Nullstellen s<strong>in</strong>d <strong>die</strong> Stützstellen der entsprechenden Quadratur.<br />

□<br />

Zum Aufstellen von konkreten Gauß-Tschebyscheff-Quadraturformeln benötigen wir noch<br />

<strong>die</strong> entsprechenden Quadraturgewichte. Da <strong>die</strong> Tschebyscheff-Polynome gewichtet mit ω<br />

exakt <strong>in</strong>tegriert werden müssen gilt:<br />

Es folgt:<br />

n−1 ∑<br />

k=0<br />

n−1 ∑<br />

k=0<br />

a k T m (x k ) =<br />

a k cos<br />

∫ 1<br />

−1<br />

T m (x)<br />

√ dx, m = 0, . . . , n − 1.<br />

1 − x 2<br />

{<br />

(2k + 1)m π, m = 0,<br />

π =<br />

2n 0, m = 1, . . . , n − 1.<br />

Mit Hilfe von trignometrischen Argumenten (siehe [8]) erhalten wir <strong>die</strong> Lösung des l<strong>in</strong>earen<br />

Gleichungssystems:<br />

a k = π , k = 0, . . . , n − 1. (3.18)<br />

n<br />

Damit haben wir alle Komponenten gesammelt, um <strong>die</strong> Gauß-Tschebyscheff Formel <strong>in</strong>klusive<br />

Restglied anzugeben:<br />

Verfahren 3.68 (Gauß-Tschebyscheff-Formel). Die Gauß-Tschebyscheff-Formel vom<br />

Grad 2n mit Restglied lautet<br />

∫ 1<br />

mit ξ ∈ [−1, 1].<br />

−1<br />

f(x)<br />

√ dx = π n−1 ∑<br />

f<br />

1 − x 2 n<br />

k=0<br />

(<br />

cos 2k + 1<br />

2n π )<br />

+<br />

π<br />

2 2n−1 (2n)! f (2n) (ξ)<br />

92


3.5 <strong>Numerische</strong> Integration<br />

Beweis: Die Quadraturformel folgt sofort aus E<strong>in</strong>setzen der Stützstellen und Gewichte <strong>in</strong><br />

<strong>die</strong> allgeme<strong>in</strong>e Def<strong>in</strong>ition e<strong>in</strong>er Quadraturformel. Die Restglieddarstellung folgt aus Satz<br />

3.63. □<br />

Der große Vorteil der Gauß-Tschebyscheff Quadratur ist <strong>die</strong> e<strong>in</strong>fache Möglichkeit, <strong>die</strong> Quadraturformeln<br />

für beliebige Ordnung explizit aufzustellen. Stützstellen sowie Gewichte s<strong>in</strong>d<br />

e<strong>in</strong>fach zu bestimmen.<br />

Beispiel 3.69. Wir verwenden <strong>die</strong> Gauss-Tschebyscheff-Quadratur zur Berechnung des<br />

Integrals (halber Kreis<strong>in</strong>halt)<br />

I(f) =<br />

∫ 1<br />

−1<br />

√<br />

1 − x 2 dx =<br />

∫ 1<br />

−1<br />

ω(x) (1 − x 2 ) dx,<br />

} {{ }<br />

=:f(x)<br />

mit dem Gauss-Tschebyscheff-Gewicht ω(x) und (1 − x 2 ) ∈ P 2 . Aufgrund von P 2 wählen<br />

wir n = 2 im Verfahren 3.68 zur exakten Berechnung des Integrals. D.h.<br />

∫ 1<br />

−1<br />

ω(x)f(x) dx = π 2<br />

1∑<br />

f<br />

k=0<br />

(<br />

cos 2k + 1<br />

2 · 2 π )<br />

+ π<br />

2 · (2)! f (2) (ξ)<br />

mit ξ ∈ (−1, 1) und den Quadraturgewichten a 0 = a 1 = π 2<br />

Unter Vernachlässigung des Restglieds erhalten wir also<br />

(berechnet mit Formel 3.18).<br />

∫ 1 √ ∫ 1<br />

I(f) = 1 − x 2 dx = ω(x)(1 − x 2 ) dx<br />

−1<br />

−1<br />

= π 1∑<br />

(<br />

1 − ( cos 2k + 1 π ) )<br />

2<br />

2<br />

4<br />

k=0<br />

= π (( ( ) ) (<br />

1<br />

2 ( ) ))<br />

3<br />

2<br />

1 − cos<br />

2<br />

4 π + 1 − cos<br />

4 π<br />

= π ((1 − 0.5) + (1 − 0.5))<br />

2<br />

= π 2 .<br />

Gauß-Quadratur mit beliebigen Gewichten ω(x) > 0<br />

Es verbleibt <strong>die</strong> Existenz, E<strong>in</strong>deutigkeit und Fehlerabschätzung für <strong>die</strong> Gauß-Formeln zu<br />

zeigen, deren Gewicht ω(x) ≠ 1 ≥ 0 ist. In <strong>die</strong>se Kategorie fällt <strong>in</strong>sbesondere <strong>die</strong> Gauß-<br />

Tschebyscheff Quadratur mit<br />

1<br />

ω(x) = √ . 1 − x 2<br />

Hierzu gilt:<br />

93


3 Interpolation und Approximation<br />

Satz 3.70 (Existenz, E<strong>in</strong>deutigkeit und Fehlerabschätzung). Es sei w(x) ≥ 0 fast überall.<br />

Dann lassen sich mit Hilfe des gewichteten Skalarprodukts<br />

(f, g) w :=<br />

∫ b<br />

a<br />

ω(x)f(x)g(x) dx, w(x) > 0.<br />

der Satz 3.60 (<strong>in</strong>klusive der dar<strong>in</strong> verwendeten Sätze) und Satz 3.62 analog beweisen.<br />

Beweis: Nach Verifizierung der Skalarprodukteigenschaften von (f, g) w , übertrage man<br />

<strong>die</strong> Beweise der Sätze 3.60 und 3.62 unter H<strong>in</strong>zunahme der Gewichtsfunktion. □<br />

Bemerkung 3.71 (Normierung des Integrations<strong>in</strong>tervalls). Die Gauß-Quadratur mit<br />

Legendre-Polynomen und Tschebyscheff Polynomen ist lediglich auf dem Intervall [−1, 1]<br />

def<strong>in</strong>iert. Allerd<strong>in</strong>gs bedeutet <strong>die</strong>s ke<strong>in</strong>e E<strong>in</strong>schränkung für den allgeme<strong>in</strong>en Fall [a, b].<br />

Jedes endlich-dimensionale Intervall [a, b] kann durch <strong>die</strong> Transformation<br />

x = 2 t − a − 1, t ∈ [a, b]<br />

b − a<br />

<strong>in</strong> [−1, 1] überführt werden. Mit der Wahl x ∈ [−1, 1] wird dann <strong>die</strong> Integration <strong>in</strong> [−1, 1]<br />

durchgeführt, um anschließend durch <strong>die</strong> Rücktransformation<br />

t =<br />

(x + 1)(b − a)<br />

2<br />

<strong>die</strong> (berechneten) Werte für t ∈ [a, b] zu erhalten.<br />

+ a, x ∈ [−1, 1]<br />

Korollar 3.72 (Transformation des Integrations<strong>in</strong>tervalls). Mit den Voraussetzungen aus<br />

Bemerkung 3.71 gilt für das (exakte) Integral<br />

I(f) =<br />

∫ b<br />

a<br />

f(t) dt = b − a<br />

2<br />

∫ 1<br />

−1<br />

[ (x + 1)(b − a)<br />

f<br />

2<br />

Die Quadraturformel zur Integration von I(f) lautet dann<br />

I n (f) = b − a<br />

2<br />

n∑<br />

[ (xk + 1)(b − a)<br />

a k f<br />

2<br />

k=1<br />

]<br />

+ a dx.<br />

]<br />

+ a .<br />

3.5.4 Romberg-Quadratur<br />

Die Idee der Richardson Extrapolation <strong>in</strong> Abschnitt 3.4, Approximationsprozesse hoher<br />

Ordnung zu erzielen, <strong>die</strong> auf Basismethoden niedriger Ordnung basieren, wird hier auf<br />

<strong>die</strong> numerische Quadratur angewendet. Konkret werden wir <strong>die</strong> summierte Trapezregel<br />

zur Extrapolation nutzen. Die Trapezregel gehört zu den sehr e<strong>in</strong>fachen Verfahren mit<br />

niedriger Ordnung. Wir fassen <strong>die</strong> wesentlichen Ergebnisse aus Abschnitt 3.5.2 zusammen.<br />

94


3.5 <strong>Numerische</strong> Integration<br />

Auf e<strong>in</strong>er gleichmäßigen Zerlegung des Intervalls [a, b] <strong>in</strong> N Teil<strong>in</strong>tervalle mit Schrittweite<br />

h = 1/N ist <strong>die</strong> summierte Trapezregel zur Approximation von ∫ b<br />

a<br />

f dx gegeben durch:<br />

⎛<br />

⎞<br />

I h (f) = h ⎝ 1 N−1<br />

2 f(a) + ∑<br />

f(x j ) + 1 2 f(b) ⎠ , x j := a + jh,<br />

j=1<br />

und liefert im Falle f ∈ C 2 ([a, b]) <strong>die</strong> Fehlerabschätzung:<br />

I(f) − I h (f) = b − a<br />

12 h2 f (2) (ξ),<br />

mit e<strong>in</strong>er Zwischenstelle ξ ∈ [a, b]. Um <strong>die</strong> Extrapolationsmethode erfolgreich anwenden<br />

zu können brauchen wir Kenntnis über <strong>die</strong> weitere Fehlerentwicklung der Trapezregel. Die<br />

Basis hierzu ist <strong>die</strong> Euler-Maclaur<strong>in</strong>sche Summenformel wurde, <strong>die</strong> e<strong>in</strong>e Entwicklung des<br />

Fehlers <strong>in</strong> geraden Potenzen von h zeigt:<br />

Satz 3.73 (Euler-Maclaur<strong>in</strong>sche Summenformel). Falls f 2m+2 [a, b], dann gilt <strong>die</strong> Euler-<br />

Maclaur<strong>in</strong>sche Summenformel<br />

I(f) − I h (f) =<br />

m∑<br />

k=1<br />

h 2k B (<br />

)<br />

2k<br />

f (2k−1) (b) − f (2k−1) (a) + h 2m+2 b − a<br />

(2k)!<br />

(2m − 2)! B 2m+2f (2m+2) (ξ),<br />

mit ξ ∈ [a, b] und den Bernoulli-Zahlen B 2k .<br />

Beweis: Sem<strong>in</strong>arthema!<br />

□<br />

Die Bernoulli-Zahlen s<strong>in</strong>d def<strong>in</strong>iert als <strong>die</strong> Koeffizienten der Taylorreihendarstellung von<br />

x<br />

∞<br />

e x − 1 = ∑<br />

k=0<br />

und genügen der Rekursionsformel<br />

B k<br />

k! xk = 1 − 1 2 x + 1 x 2<br />

6 2! − 1 x 4<br />

30 4! + 1 x 6<br />

42 6! + . . . ,<br />

B 0 = 0,<br />

k−1 ∑ k!<br />

B k = −<br />

j!(k − j + 1)! B j, k = 1, 2, . . . .<br />

j=0<br />

Die ersten Bernoulli-Zahlen s<strong>in</strong>d gegeben als:<br />

1, − 1 2 , 1 6 , 0, − 1<br />

30 , 0, 1 42 , 0, − 1<br />

30 , . . . .<br />

Ausgenommen B 1 = − 1 2 gilt für jede zweite (ungerader Index) Bernoulli-Zahl B 2k+1 = 0.<br />

Ansonsten folgen sie ke<strong>in</strong>em erkennbaren Gesetz Für große k wachsen <strong>die</strong> Bernoulli-Zahlen<br />

sehr schnell an und verhalten sich asymptotisch wie<br />

|B 2k | ∼ 2(2k)!(2π) −2k , k → ∞.<br />

95


3 Interpolation und Approximation<br />

Die Euler-Maclaur<strong>in</strong>sche Summenformel besagt, dass <strong>die</strong> Trapezregel e<strong>in</strong>e Entwicklung <strong>in</strong><br />

geraden Potenzen von h besitzt. Daher eignet sie sich gleich <strong>in</strong> zweifacher H<strong>in</strong>sicht optimal<br />

zur Extrapolation: aufgrund der quadratischen Fehlerentwicklung gew<strong>in</strong>nen wir <strong>in</strong> jedem<br />

Extrapolationsschritt zwei Ordnungen Genauigkeit und aufgrund der Stützstellenwahl an<br />

den Enden der Teil<strong>in</strong>tervalle x j−1 und x j können bereits berechnete Werte f(x j ) zu e<strong>in</strong>er<br />

Schrittweite h bei der nächst fe<strong>in</strong>eren Approximation zu h/2 weiter verwendet werden.<br />

Zur Approximation von<br />

a(0) ≈<br />

∫ b<br />

a<br />

f(x) dx,<br />

⎛<br />

⎞<br />

a(h) := I h (f) = h ⎝ 1 N−1<br />

2 f(a) + ∑<br />

f(x j ) + 1 2 f(b) ⎠ ,<br />

verwenden wir das Extrapolationspr<strong>in</strong>zip aus Abschnitt 3.4:<br />

j=1<br />

Verfahren 3.74 (Romberg-Quadratur).<br />

1) Berechne für e<strong>in</strong>e Folge von Schrittweiten (h k ) k∈N mit<br />

h k+1<br />

h k<br />

≤ ρ < 1,<br />

<strong>die</strong> Approximationen<br />

a(h k ), k = 0, . . . , m.<br />

2) Extrapoliere <strong>die</strong> Werte (h 2 k , a(h k)), k = 0, . . . , m mit Polynomen <strong>in</strong> h 2 .<br />

Als Schrittweitenfolge kann mit e<strong>in</strong>em h > 0 <strong>die</strong> e<strong>in</strong>fache Vorschrift<br />

h k = 2 −k h,<br />

verwendet werden. Diese Folge wird Romberg-Folge genannt und hat den Vorteil, dass<br />

bereits berechnete Stützstellen weiter verwendet werden können. Der Nachteil <strong>die</strong>ser Folge<br />

ist das schnelle Wachstum der Anzahl der Stützstellen. Die Extrapolation selbst wird mit<br />

dem modifizierten Neville-Schema 3.33 durchgeführt.<br />

Die Diagonalelemente a k,k s<strong>in</strong>d gerade <strong>die</strong> Näherungen zu a(0). Basierend auf Satz 3.32<br />

zur allgeme<strong>in</strong>en Richardson-Extrapolation erhalten wir <strong>die</strong> Fehlerabschätzung:<br />

Satz 3.75 (Romberg-Quadratur). Es sei f 2m+2 [a, b] sowie h > 0 gegeben. Das Romberg-<br />

Verfahren zur Schrittweitenfolge h k = 2 −k h, k = 0, . . . , m liefert nach m Extrapolationsschritten<br />

<strong>die</strong> Approximation:<br />

I(f) − a m,m = O(h 2m+2 ).<br />

Beweis: Der Beweis folgt durch Komb<strong>in</strong>ation von Satz 3.32 über <strong>die</strong> Richardson-Extrapolation<br />

mit der Euler-Maclaur<strong>in</strong>schen Summenformel aus Satz 3.73.<br />

□<br />

96


3.5 <strong>Numerische</strong> Integration<br />

Bemerkung 3.76. Anstatt der Romberg-Folge h k = 2 −k h kann auch mit der Burlisch-<br />

Folge<br />

⎧<br />

⎨h · 2 − k 2 k gerade<br />

h k =<br />

k−1<br />

⎩ h2− 2 k ungerade<br />

3<br />

gearbeitet werden, da <strong>die</strong>se wesentlich weniger Funktionsauswertungen benötigt. Bei h = 1<br />

s<strong>in</strong>d <strong>die</strong> ersten Folgenglieder gegeben durch:<br />

1<br />

2 , 1 3 , 1 4 , 1 6 , 1 8 , 1<br />

12 , . . . ,<br />

Integration periodischer Funktionen<br />

Im Falle periodischer Funktionen, d.h. es sei f 2m+2 (−∞, ∞) mit dem Perioden<strong>in</strong>tervall<br />

[a, b] und<br />

f (2k−1) (a) = f (2k−1) (b), k = 1, 2, . . .<br />

kann <strong>die</strong> Euler-Maclaur<strong>in</strong>sche Summenformel entscheidend vere<strong>in</strong>facht werden. Aus<br />

I(f) − I h (f) =<br />

m∑<br />

k=1<br />

h 2k B (<br />

)<br />

2k<br />

f (2k−1) (b) − f (2k−1) (a) + h 2m+2 b − a<br />

(2k)!<br />

(2m − 2)! B 2m+2f (2m+2) (ξ),<br />

mit<br />

folgt dann<br />

⎛<br />

⎞<br />

I h (f) = h ⎝ 1 N−1<br />

2 f(a) + ∑<br />

f(x j ) + 1 2 f(b) ⎠ ,<br />

j=1<br />

x j := a + jh,<br />

mit<br />

I(f) − I h (f) = h 2m+2 b − a<br />

(2m − 2)! B 2m+2f (2m+2) (ξ) = O(h 2m+2 ),<br />

⎛<br />

⎞ ⎛<br />

I h (f) = h ⎝ 1 N−1<br />

2 f(a) + ∑<br />

f(x j ) + 1 2 f(b) ⎠ = h ⎝f(a) +<br />

j=1<br />

N−1 ∑<br />

j=1<br />

⎞ ⎛ ⎞<br />

N−1 ∑<br />

f(x j ) ⎠ = h ⎝ f(x j ) ⎠<br />

mit x j := a + jh. Die summierte Trapezregel vere<strong>in</strong>facht sich dadurch zur summierten<br />

l<strong>in</strong>ksseitigen Boxregel.<br />

Falls f ∈ C ∞ (−∞, ∞), dann konvergiert <strong>die</strong> summierte Trapezregel (d.h. bei [a, b]-periodischen<br />

Funktionen, <strong>die</strong> summierte Boxregel) schneller gegen den Integralwert, für h → 0, als jede<br />

andere Quadraturregel.<br />

j=0<br />

97


3 Interpolation und Approximation<br />

3.6 Approximationstheorie<br />

Bisher haben wir uns im Wesentlichen mit der Interpolation beschäftigt. Die Approximation<br />

ist weiter gefasst: wir suchen e<strong>in</strong>e e<strong>in</strong>fache Funktion p ∈ P (dabei ist der Funktionenraum<br />

P meist wieder der Raum der Polynome), welche <strong>die</strong> beste Approximation zu<br />

gegebener Funktion f oder zu gegebenen diskreten Daten y i ∈ R darstellt. Der Begriff<br />

beste Approximation ist dabei weit gefasst und wir bezeichnen ihn mit dem m<strong>in</strong>imalen<br />

Abstand von p zu f (oder zu den diskreten Daten). Den Abstand zwischen Funktionen<br />

können wir <strong>in</strong> Normen messen und <strong>die</strong> allgeme<strong>in</strong>e Approximationsaufgabe besteht nun im<br />

Auff<strong>in</strong>den von p ∈ P , so dass<br />

‖f − p‖ = m<strong>in</strong> ‖f − q‖.<br />

q∈P<br />

Die Wahl der Norm ‖ · ‖ ist dabei zunächst beliebig. Es stellt sich jedoch heraus, dass <strong>die</strong><br />

mathematische Approximationsaufgabe je nach betrachteter Norm e<strong>in</strong>er sehr unterschiedliche<br />

Vorgehensweise bedarf. E<strong>in</strong>e spezielle Approximationsaufgabe haben wir bereits kennengelernt:<br />

Bemerkung 3.77 (Lagrange-Interpolation als Approximation). Angenommen, <strong>in</strong> den<br />

n + 1 paarweise verschiedenen Stützstellen x 0 , x 1 , . . . , x n soll für das Polynom p n ∈ P n<br />

gelten p(x i ) = f(x i ), dann def<strong>in</strong>ieren wir <strong>die</strong> Norm:<br />

|p| n := max<br />

i=0,...,n |p(x i)|.<br />

Man kann zeigen, dass <strong>die</strong>s wirklich e<strong>in</strong>e Norm auf dem Polynomraum P n ist. Die Approximationsaufgabe:<br />

suche p ∈ P n , so dass<br />

|p − f| n = m<strong>in</strong><br />

q∈P n<br />

|q − f| n ,<br />

ist gerade <strong>die</strong> Lagrange-Interpolationsaufgabe.<br />

In <strong>die</strong>sem Abschnitt werden wir uns h<strong>in</strong>gegen hauptsächlich mit der L 2 -Norm<br />

sowie mit der Maximumsnorm<br />

( ∫ b<br />

‖f‖ L 2 ([a,b] := f(x) 2 dx<br />

a<br />

‖f‖ ∞ := max<br />

x∈[a,b] |f(x)|,<br />

befassen. Die beste Approximation <strong>in</strong> der L 2 -Norm taucht <strong>in</strong> der Analysis <strong>in</strong> Form der<br />

Fourier-Entwicklung <strong>in</strong> trigonometrischen Polynomen auf, Konvergenz wird hier bezüglich<br />

der L 2 -Norm<br />

‖f − f n ‖ L 2 ([a,b]) → 0 (n → ∞),<br />

) 1<br />

2<br />

,<br />

98


3.6 Approximationstheorie<br />

gezeigt. Die Approximation bezüglich der Maximumsnorm ist für <strong>die</strong> praktische Anwendung<br />

von großer Bedeutung: denn e<strong>in</strong>e Approximation, <strong>die</strong> den Fehler gleichmäßig auf<br />

dem gesamten Intervall [a, b] unter Kontrolle hält, schließt <strong>die</strong> typischen Oszillationen der<br />

Lagrange-Interpolation an den Intervallenden (siehe Beispiel 3.15) systematisch aus. Es<br />

zeigt sich allerd<strong>in</strong>gs, das gerade <strong>die</strong>ser für <strong>die</strong> Anwendung wichtige Approximationsbegriff<br />

mathematisch schwer zu greifen ist.<br />

3.6.1 Gauss-Approximation: Beste Approximation <strong>in</strong> der L 2 -Norm<br />

Zunächst betrachten wir <strong>die</strong> beste Approximation e<strong>in</strong>er Funktion f : [a, b] → R mit<br />

Polynomen p ∈ P bezüglich der L 2 -Norm:<br />

‖f − p‖ L 2 ([a,b]) = m<strong>in</strong><br />

φ∈P ‖f − φ‖ L 2 ([a,b]).<br />

Die L 2 -Norm kann mittels ‖f‖ L 2 = (f, f) 1 2 über das L 2 -Skalarprodukt def<strong>in</strong>iert werden.<br />

Vektorräume mit Skalarprodukt heißen Prähilbertraum. Speziell <strong>in</strong> reellen Vektorräumen<br />

spricht man von euklidischen Räumen, im komplexen auch von unitären Räumen. Das<br />

Skalarprodukt <strong>die</strong>nt zur Beschreibung von Orthogonalitätsbeziehungen. Für <strong>die</strong> Approximation<br />

bezüglich der L 2 -Norm gilt <strong>die</strong> folgende Charakterisierung:<br />

Satz 3.78 (Approximation und Orthogonalität). Es sei f ∈ C[a, b] und S ⊂ C[a, b] e<strong>in</strong><br />

endlich dimensionaler Unterraum. Auf S sei durch (·, ·) e<strong>in</strong> Skalarprodukt und durch ‖ · ‖<br />

<strong>die</strong> <strong>in</strong>duzierte Norm gegeben. Dann ist p ∈ S beste Approximation zu f ∈ C[a, b]<br />

‖f − p‖ = m<strong>in</strong> ‖f − φ‖,<br />

φ∈S<br />

genau dann, wenn der Fehler f − p orthogonal auf dem Raum S steht:<br />

(f − p, φ) = 0 ∀φ ∈ S.<br />

Beweis: Es sei p ∈ S e<strong>in</strong>e beste Approximation Dann besitzt <strong>die</strong> quadratische Funktion<br />

F φ (t) := ‖f − p − tφ‖ 2 ,<br />

t ∈ R<br />

für jedes fest gewählte φ ∈ S bei t = 0 e<strong>in</strong> M<strong>in</strong>imum. Also gilt <strong>die</strong> für M<strong>in</strong>ima differenzierbarer<br />

Funktionen notwendige Bed<strong>in</strong>gung:<br />

0 = F ′ (0) = ∂ ∂t ‖f − p − tφ‖2∣ ∣ t=0<br />

= −(f − p − tφ, φ) − (φ, f − p − tφ) ∣ ∣ t=0<br />

= −2(f − p, φ) ∀φ ∈ S.<br />

Geometrisch kann man <strong>die</strong>s so ausdrücken, dass der Fehler f − p senkrecht auf dem approximierenden<br />

Raum S steht im S<strong>in</strong>ne des L 2 -Skalarprodukts.<br />

99


3 Interpolation und Approximation<br />

Umgekehrt gelte nun <strong>die</strong> Beziehung<br />

(f − p, φ) = 0 ∀φ ∈ S,<br />

für e<strong>in</strong> p ∈ S. Dann erhält man durch Erweitern mit φ und Anwendung der Cauchy-<br />

Schwarz-Ungleichung<br />

‖f−p‖ 2 = (f−p, f−p) = (f−p, f−φ+φ−p) = (f−p, f−φ)+(f−p, φ − p) ≤ ‖f−p‖ ‖f−φ‖.<br />

} {{ }<br />

∈S<br />

Hier haben wir <strong>die</strong> Orthogonalitätsbeziehung für φ − p ∈ S verwendet. Weiter folgt:<br />

‖f − p‖ ≤ ‖f − φ‖ ⇒ ‖f − p‖ = <strong>in</strong>f ‖f − φ‖<br />

φ∈S<br />

und damit ist auch p beste Approximation per Def<strong>in</strong>itionem.<br />

Wir können <strong>die</strong> beste Approximation p ∈ S durch e<strong>in</strong>e Orthogonalitätsbeziehung beschreiben.<br />

Dieser Zusammenhang ist der Schlüssel zur Analyse der Gauss-Approximation und<br />

auch zur praktischen numerischen Realisierung. Wir können sofort den allgeme<strong>in</strong>en Satz<br />

beweisen:<br />

Satz 3.79 (Allgeme<strong>in</strong>e Gauß-Approximation). Es sei H e<strong>in</strong> Vektorraum mit Skalarprodukt<br />

(·, ·) und S ⊂ H e<strong>in</strong> endlich-dimensionaler Teilraum. Dann existiert zu jedem f ∈ H e<strong>in</strong>e<br />

e<strong>in</strong>deutig bestimmte beste Approximation p ∈ S <strong>in</strong> der <strong>in</strong>duzierten Norm ‖ · ‖:<br />

‖f − p‖ = m<strong>in</strong> ‖f − φ‖.<br />

φ∈S<br />

□<br />

Beweis: Für den Beweis nutzen wir <strong>die</strong> Charakterisierung der Bestapproximation mit<br />

Hilfe des Skalarprodukts aus Satz 3.78.<br />

(i) E<strong>in</strong>deutigkeit.<br />

Seien p 1 , p 2 ∈ S zwei Bestapproximationen. Dann gilt notwendigerweise<br />

für alle φ ∈ S. Dies impliziert<br />

(f − p 1 , φ) = 0 und (f − p 2 , φ) = 0<br />

(p 1 − p 2 , φ) = 0 φ ∈ S.<br />

Da <strong>die</strong>s für alle φ ∈ S gilt, können wir e<strong>in</strong> spezielles φ geschickt wählen. E<strong>in</strong>e kluge Wahl<br />

ist φ := p 1 − p 2 , woraus dann<br />

(p 1 − p 2 , p 1 − p 2 ) = ‖p 1 − p 2 ‖ 2 = 0<br />

und aufgrund der Def<strong>in</strong>itheit der Norm (im Teilraum S ∈ H) p 1 = p 2 folgt.<br />

(ii) Existenz<br />

100


3.6 Approximationstheorie<br />

Der endlich-dimensionale Teilraum S ⊂ H besitzt e<strong>in</strong>e Basis {φ 1 , . . . , φ n } mit n := dim(S).<br />

Die beste Approximation p ∈ S stellen wir als L<strong>in</strong>earkomb<strong>in</strong>ation <strong>in</strong> <strong>die</strong>ser Basis dar:<br />

p =<br />

n∑<br />

α k u k ,<br />

k=1<br />

mit e<strong>in</strong>deutig bestimmten Koeffizienten α k ∈ R. Dieser Ansatz für p wird <strong>in</strong> <strong>die</strong> Orthogonalitätsbed<strong>in</strong>gung<br />

e<strong>in</strong>gesetzt:<br />

(f − p, φ) = (f −<br />

n∑<br />

α k φ k , φ) = (f, φ) −<br />

k=1<br />

n∑<br />

α k (φ k , φ) = 0 ∀φ ∈ S.<br />

Wir durchlaufen mit φ nach und nach alle Basisvektoren und erhalten (Superpositionspr<strong>in</strong>zip)<br />

das l<strong>in</strong>eare Gleichungssystem mit n Gleichungen und n Variablen:<br />

n∑<br />

(φ k , φ i ) α<br />

} {{ } }{{} k<br />

k=1<br />

=a ki x<br />

k=1<br />

= (f, φ i )<br />

} {{ }<br />

i = 1, . . . , n, (3.19)<br />

=b i<br />

<strong>in</strong> dem der Koeffizientenvektor x = (α k ) k=1,...,n <strong>die</strong> gesuchte unbekannten Lösung ist. Die<br />

sogenannte Systemmatrix A = (a ij ) n i,j=1 ist <strong>die</strong> Gramsche Matrix der Basis {φ 1, . . . , φ n }<br />

und stets regulär. A ist folglich <strong>in</strong>jektiv. Weiter ist A symmetrisch und also auch positiv<br />

def<strong>in</strong>it. Das Gleichungssystem Ax = b ist somit für jede rechte Seite b (d.h. für jedes f ∈<br />

H) e<strong>in</strong>deutig lösbar. Damit ist über <strong>die</strong> Orthogonalitätsbed<strong>in</strong>gung e<strong>in</strong>deutig e<strong>in</strong> Element<br />

p ∈ P bestimmt, welches aufgrund von Teil Satz 3.78 <strong>die</strong> Bestapproximationseigenschaft<br />

besitzt.<br />

□<br />

Der Beweis liefert sofort e<strong>in</strong> Konstruktionspr<strong>in</strong>zip zur Bestimmung der Bestapproximation<br />

p ∈ S. Wir stellen zu gegebener Basis {φ 1 , . . . , φ n } das l<strong>in</strong>eare n × n Gleichungssystem<br />

auf:<br />

n∑<br />

a ij α j = b i , i = 1, . . . , n,<br />

j=1<br />

mit a ij = (ψ i , ψ j ) und berechnen den Ergebnisvektor x = (α j ) j . Die gesuchte Bestapproximation<br />

p ∈ S ist dann <strong>in</strong> der Basisdarstellung gegeben als<br />

n∑<br />

p = α i ψ i .<br />

i=1<br />

Zur numerischen Realisierung muss zunächst das l<strong>in</strong>eare Gleichungssystem aufgestellt werden,<br />

d.h. <strong>in</strong>sbesondere müssen <strong>die</strong> E<strong>in</strong>träge der Systemmatrix (numerisch) <strong>in</strong>tegriert werden.<br />

Schließlich ist das l<strong>in</strong>eare Gleichungssystem Ax = b zu lösen. Das Lösen von l<strong>in</strong>earen<br />

Gleichungssystemen stellt e<strong>in</strong>en eigenen Schwerpunkt <strong>in</strong> der numerischen <strong>Mathematik</strong> dar<br />

und wir befassen uns damit <strong>in</strong> Kapitel 4. Es zeigt sich, dass <strong>die</strong>ser Lösungsweg numerische<br />

sehr <strong>in</strong>stabil ist. Angenommen, wir starten <strong>die</strong> Konstruktion mit der Monombasis<br />

{1, x, . . . , x n }. Dann ist <strong>die</strong> durch<br />

a ij =<br />

∫ 1<br />

−1<br />

x i x j dx,<br />

101


3 Interpolation und Approximation<br />

gegebene Matrix <strong>die</strong> sogenannte Hilbert-Matrix<br />

⎛ 1<br />

1<br />

2<br />

1 1<br />

2 3<br />

1 1<br />

H n =<br />

3 4<br />

1 1<br />

4 5<br />

⎜<br />

⎝ .<br />

1 1<br />

n n+1<br />

1<br />

3<br />

1<br />

4<br />

1<br />

5<br />

1<br />

1<br />

4<br />

. . .<br />

n<br />

1<br />

1<br />

5<br />

. . .<br />

. .. 1<br />

. .. . .. .<br />

1<br />

n+2<br />

n+1<br />

n+2<br />

⎟<br />

⎠<br />

. .. .<br />

1<br />

1<br />

n+3<br />

. . .<br />

2n−1<br />

Das Lösen e<strong>in</strong>es Gleichungssystems mit der Hilbert-Matrix ist äußerst schwer. Dies liegt<br />

an der Konditionszahl der Hilbertmatrix, welche angibt, wie sich Rundungsfehler beim<br />

Lösungsprozess verstärken. Schon für n = 4 liegt <strong>die</strong> Fehlerverstärkung der Hilbert-Matrix<br />

bei 15 000. Diese Matrix muss also unbed<strong>in</strong>gt vermieden werden.<br />

Auch wenn <strong>die</strong> Wahl der Basisvektoren {φ 1 , . . . , φ n } ke<strong>in</strong>en E<strong>in</strong>fluss auf das Ergebnis hat,<br />

so bestimmt sie doch wesentlich den Aufwand bei der Realisierung. Angenommen, <strong>die</strong><br />

Basis sei e<strong>in</strong> Orthonormalsystem, d.h. es gelte (φ i , φ j ) = δ ij für alle i, j = 1, . . . , n. Dann<br />

gilt für <strong>die</strong> Systemmatrix <strong>in</strong> (3.19)<br />

a ij = (φ i , φ j ) = δ ij ⇒ A = I.<br />

Die Systemmatrix ist <strong>die</strong> E<strong>in</strong>heitsmatrix und <strong>die</strong> gesuchten Koeffizienten lassen sich sofort<br />

ablesen<br />

α i = (f, φ i ),<br />

womit <strong>die</strong> Bestapproximation durch <strong>die</strong> Relation<br />

n∑<br />

p = (f, φ i )φ i ,<br />

i=1<br />

trivial gegeben ist. Für <strong>die</strong>ses vere<strong>in</strong>fachte Vorgehen benötigen wir zunächst e<strong>in</strong>e Orthonormalbasis<br />

von S ⊂ H. Die Orthonormalisierung kann mit Hilfe des bereits diskutieren<br />

Gram-Schmidt-Algorithmus durchgeführt werden. Bei Verwendung der Monombasis des<br />

S = P n führt <strong>die</strong>ser Algorithmus auf <strong>die</strong> Legendre-Polynome. Wir fassen zusammen:<br />

⎞<br />

.<br />

Korollar 3.80 (Gauss-Approximation mit Polynomen). Es sei f ∈ C[−1, 1]. Die Bestapproximation<br />

p ∈ P n bezüglich der L 2 -Norm im Raum der Polynome von Grad n e<strong>in</strong>deutig<br />

bestimmt durch:<br />

n∑ 1<br />

p(x) =<br />

‖L i ‖ 2 (L i , f)L i (x),<br />

L 2 [−1,1]<br />

mit den Legendre-Polynomen<br />

i=0<br />

d i<br />

L i (x) := 1<br />

2 i i! dx i (x2 − 1) i .<br />

102


3.6 Approximationstheorie<br />

1.5<br />

1<br />

f(x)<br />

Gauss-Approximation<br />

Lagrange-Interpolation<br />

0.3<br />

0.2<br />

Fehler Gauss-Approximation<br />

Fehler Lagrange-Interpolation<br />

0<br />

0.5<br />

0.1<br />

0<br />

0<br />

-0.5<br />

-0.1<br />

-1<br />

-0.2<br />

-1.5<br />

-1 -0.5 0 0.5 1<br />

-0.3<br />

-1 -0.5 0 0.5 1<br />

Abbildung 3.10: Gauss-Approximation sowie Lagrange-Interpolation (jeweils kubisch) der<br />

Funktion f(x) = s<strong>in</strong>(πx). Rechts: Fehler der Approximationen.<br />

Die Normierung mit ‖L n ‖ −2 ist notwendig, da <strong>die</strong> Legendre-Polynome bezüglich der L 2 -<br />

Norm nicht normiert s<strong>in</strong>d, vergleiche Satz 3.65.<br />

Die Eigenschaft von p ∈ P n <strong>die</strong> beste Approximation zu f im Raum der Polynome zu<br />

se<strong>in</strong>, bedeutet auch, dass p bezüglich der L 2 -Norm e<strong>in</strong>e bessere Approximation ist als jede<br />

Lagrange-Interpolation zu beliebiger Wahl von Stützstellen x 0 , . . . , x n <strong>in</strong> [−1, 1]. Hieraus<br />

können wir auf triviale Weise e<strong>in</strong>e e<strong>in</strong>fache Fehlerabschätzung herleiten. Dazu sei f ∈<br />

C n+1 ([a, b]) und p ∈ P n <strong>die</strong> Bestapproximation. Es gilt:<br />

‖f − p‖ L 2 ([a,b]) ≤ ‖f n+1 ‖ ∞<br />

(n + 1)!<br />

⎛<br />

∫ 1 n∏<br />

m<strong>in</strong> ⎝<br />

x 0 ,...,x n∈[a,b] −1<br />

j=0<br />

⎞<br />

(x − x j ) 2 dx⎠<br />

1<br />

2<br />

. (3.20)<br />

Das M<strong>in</strong>imum des zweiten Ausdrucks ist nicht e<strong>in</strong>fach zu bestimmen, es können alle Stützstellen<br />

im Intervall frei variiert werden. Wir werden aber später auf <strong>die</strong>sen Punkt zurückkommen<br />

und <strong>die</strong>se Lücke schließen.<br />

Beispiel 3.81 (Gauss-Approximation vs. Lagrange-Interpolation). Wir approximieren <strong>die</strong><br />

Funktion f(x) = s<strong>in</strong>(πx) auf dem Intervall I = [−1, 1] mit Polynomen vom Grad drei.<br />

Zunächst erstellen wir <strong>in</strong> den äquidistant verteilten vier Stützstellen<br />

x i = −1 + 2i<br />

3 , i = 0, . . . , 3<br />

das zugehörige Lagrangesche Interpolationspolynom. Aufgrund von f(x 0 ) = f(x 3 ) = 0 gilt:<br />

p L (x) = s<strong>in</strong>(x 1 )L (3)<br />

1 (x) + s<strong>in</strong>(x 2)L (3)<br />

2 (x)<br />

= 27√ 3<br />

16 (x − x3 ).<br />

Als zweite Approximation bestimmen wir <strong>die</strong> Gauß-Approximation <strong>in</strong> der L 2 -Norm. Hierzu<br />

verwenden wir <strong>die</strong> Darstellung über <strong>die</strong> normierten Legendre-Polynome ˜L n (x) auf [−1, 1].<br />

103


3 Interpolation und Approximation<br />

Es gilt aus Symmetriegründen:<br />

∫ 1<br />

−1<br />

˜L 0 (x) f(x) dx =<br />

∫ 1<br />

−1<br />

˜L 2 (x) f(x) dx = 0,<br />

sowie<br />

∫ √ 1<br />

∫ √<br />

6<br />

1<br />

14(π<br />

˜L 1 (x) f(x) dx =<br />

−1<br />

π , ˜L 2 − 15)<br />

3 (x) f(x) dx =<br />

−1<br />

π 3 .<br />

Hieraus erhalten wir <strong>die</strong> Gauß-Approximation<br />

√ √<br />

6<br />

p G (x) =<br />

π ˜L 14(π 2 − 15)<br />

1 (x) +<br />

π 3<br />

˜L3 (x)<br />

Für <strong>die</strong> beiden Approximationen gilt:<br />

= 5x(7π2 x 2 − 105x 2 − 3π 2 + 63)<br />

2π 3 .<br />

‖f − p L ‖ L 2 ([−1,1]) ≈ 0.2, ‖f − p G ‖ L 2 ([−1,1]) ≈ 0.1,<br />

d.h., <strong>die</strong> Gauß-Approximation liefert <strong>in</strong> der L 2 -Norm e<strong>in</strong> doppelt so gutes Ergebnis. In<br />

Abbildung 3.10 zeigen wir beide Approximationen, <strong>die</strong> Funktion f(x) sowie <strong>die</strong> Fehler<br />

f(x)−p l (x) sowie f(x)−p g (x). Hier sehen wir zunächst, dass <strong>die</strong> Lagrange-Interpolation an<br />

den Stützstellen <strong>die</strong> Interpolationsbed<strong>in</strong>gung, also f(x i ) = p L (x i ) = 0 erfüllt, wo h<strong>in</strong>gegen<br />

<strong>die</strong> Gauss-Approximation gerade am Rand e<strong>in</strong>en großen Fehler aufweist. Der maximale<br />

Fehler im Intervall ist h<strong>in</strong>gegen bei der Gauß-Approximation etwas ger<strong>in</strong>ger.<br />

Diskrete Gauß-Approximation<br />

Gegeben sei nun e<strong>in</strong>e Messreihe (x i , y i ), i = 1, 2, . . . , m. Wir suchen e<strong>in</strong>e approximierende<br />

Funktion p ∈ S, wobei üblicherweise wieder S = P n e<strong>in</strong> e<strong>in</strong>facher Polynomraum ist. Wir<br />

suchen <strong>die</strong> beste Approximation p ∈ S bezüglich der euklidischen Norm:<br />

( m<br />

) 1<br />

∑<br />

|p − y| 2 := |p(x i ) − y i | 2 2<br />

i=1<br />

= m<strong>in</strong><br />

φ∈S |φ − y| 2.<br />

Im Gegensatz zur Lagrangeschen Interpolationsaufgabe fordern wir <strong>in</strong> den Stützstellen x i<br />

nicht p(x i ) = y i . Die Diskrete Gauß-Approximation wird üblicherweise zur Approximation<br />

von diskreten Messwerten verwendet. Dann gilt meist m ≫ n, wenn zum Beispiel e<strong>in</strong>e<br />

l<strong>in</strong>eare Funktion p(x) = α 0 +α 1 x gesucht wird, <strong>die</strong> viele (tausend) Messwerte approximiert.<br />

Die euklidische Vektornorm ist aus dem euklidischen Skalarprodukt abgeleitet:<br />

|x| 2 = (x, x) 1 2<br />

2 ,<br />

daher kann <strong>die</strong> bisher entwickelte Theorie unmittelbar angewendet werden. Schlüssel zur<br />

Bestimmung der Bestapproximation ist wieder gemäß Satz 3.78 <strong>die</strong> Charakterisierung über<br />

<strong>die</strong> Orthogonalität:<br />

|p − y| 2 = m<strong>in</strong><br />

φ∈S |φ − y| 2 ⇔ (p − y, φ) 2 = 0 ∀φ ∈ R n .<br />

104


3.6 Approximationstheorie<br />

Alle Eigenschaften der kont<strong>in</strong>uierlichen Gauß-Approximation übertragen sich und wir können<br />

gleich den Existenzsatz formulieren:<br />

Satz 3.82 (Diskrete Gauß-Approximation). Es seien durch (x i , y i ) für i = 1, . . . , m diskrete<br />

Datenwerte gegeben. Weiter sei S e<strong>in</strong> endlich dimensionaler Funktionenraum mit<br />

Basis {φ 1 , . . . , φ n }. Die diskrete Gauß-Approximation p ∈ S<br />

ist e<strong>in</strong>deutig bestimmt.<br />

( m<br />

) 1<br />

∑<br />

|p − y| 2 := |p(x i ) − y i | 2 2<br />

i=1<br />

= m<strong>in</strong><br />

φ∈S |φ − y| 2,<br />

Beweis: Über <strong>die</strong> Basisdarstellung ist S äquivalent zum euklidischen Raum R n . E<strong>in</strong>deutigkeit<br />

und Existenz folgen nun <strong>in</strong> R n wie im Beweis zu Satz 3.79.<br />

□<br />

Die Konstruktion der diskreten Gauß-Approximation folgt wieder über <strong>die</strong> Basisdarstellung<br />

n∑<br />

p(x) = α i φ i (x)<br />

i=1<br />

aus der beschreibenden Orthogonalitätsbeziehung:<br />

m∑<br />

(p − y, φ k ) 2 = (p(x i ) − y i )φ k (x i ) = 0,<br />

i=1<br />

k = 1, . . . , n<br />

Setzen wir für p <strong>die</strong> Basisdarstellung e<strong>in</strong>, so erhalten wir das Gleichungssystem:<br />

n∑ ∑ m m∑<br />

α j φ j (x i )φ k (x i ) = y i φ k (x i ), k = 1, . . . , n.<br />

j=1 i=1<br />

i=1<br />

} {{ } } {{ }<br />

=(φ j ,φ k ) 2 =(y,φ k ) 2<br />

Der gesuchte Koeffizientenvektor α = (α k ) n k=1 ist gegeben als Lösung des Gleichungssystems:<br />

⎛<br />

⎞ ⎛ ⎞ ⎛ ⎞<br />

(φ 0 , φ 0 ) 2 (φ 0 , φ 1 ) 2 · · · (φ 0 , φ n ) 2 α . 0 (y, φ 0 ) 2<br />

(φ 1 , φ 0 ) .. 2 .<br />

α 1<br />

⎜<br />

.<br />

⎝ .<br />

.. ⎟ ⎜ ⎟<br />

. ⎠ ⎝ .<br />

= (y, φ 1 ) 2<br />

⎜ ⎟<br />

⎠ ⎝ . ⎠<br />

(φ n , φ 0 ) 2 · · · · · · (φ n , φ n ) 2<br />

α n (y, φ n ) 2 .<br />

Aus der allgeme<strong>in</strong>en Darstellung kann e<strong>in</strong>e spezielle und häufig genutzte Approximation<br />

abgeleitet werden: <strong>die</strong> Gauß’sche Ausgleichsrechnung:<br />

Beispiel 3.83 (L<strong>in</strong>eare Ausgleichsrechnung). Wir suchen <strong>die</strong> l<strong>in</strong>eare Approximation p(x) ∈<br />

P 1<br />

p(x) = α 0 + α 1 x,<br />

105


3 Interpolation und Approximation<br />

zu gegebenen Messwerten. Es seien φ 0 (x) ≡ 1, φ 1 (x) = x dann ergibt sich das folgende<br />

l<strong>in</strong>eare Gleichungssystem:<br />

( ) ( )<br />

(φ0 , φ 0 ) 2 (φ 0 , φ 1 ) 2 α0<br />

=<br />

(φ 1 , φ 0 ) 2 (φ 1 , φ 1 ) 2 α 1<br />

( ) ( ∑ ) ( ) ( ∑ )<br />

(y, φ0 ) 2 m xi α0 yi<br />

⇐⇒ ∑ ∑<br />

(y, φ 1 ) 2 , xi x<br />

2 = ∑<br />

i α 1 xi y i .<br />

Dieses System ist regulär, falls m ≥ 2 und es m<strong>in</strong>destens zwei Stützwerte x i ≠ x j gibt.<br />

Wir wenden <strong>die</strong> l<strong>in</strong>eare Ausgleichsrechnung auf konkrete Messdaten an:<br />

Beispiel 3.84 (Fortsetzung der Mensazählung). In der Mensazählung haben wir zu gewissen<br />

Uhrzeiten x i , i = 0, . . . , 7 (natürlich außerhalb der Vorlesungszeiten) <strong>die</strong> Anzahl der<br />

Personen y i , i = 0, . . . , 7 <strong>in</strong> der Mensa gezählt. Die folgenden Messdaten haben wir somit<br />

erhalten:<br />

x i [hour] = 10.30, 10.35, 10.45, 11.00, 13.00, 13.02, 13.14, 13.15,<br />

y i [Anz. Pers.] = 60, 70, 107, 90, 300, 325, 325, 350.<br />

Dann ist m = 8 und ∑ x i = 94.41 und ∑ x 2 i = 1.1275e + 03 und ∑ x i y i = 2.0455e + 04.<br />

Durch lösen des l<strong>in</strong>earen Gleichungssystems erhalten wir <strong>die</strong> beiden Unbekannten<br />

α 0 = −904.6498, α 1 = 93.8905.<br />

Damit erhalten wir <strong>die</strong> l<strong>in</strong>eare Ausgleichsgerade (illustriert <strong>in</strong> Abbildung 3.11)<br />

g(x) = −904.6498 + 93.8905x.<br />

Verallgeme<strong>in</strong>erung der Gauß-Approximation Die diskrete Gauß-Approximation sowie<br />

<strong>die</strong> Approximation von Funktionen lassen sich durch <strong>die</strong> Verwendung von gewichteten<br />

Skalarprodukten und entsprechenden gewichteten <strong>in</strong>duzierten Normen vere<strong>in</strong>fachen.<br />

Die Verwendung e<strong>in</strong>es Gewichtes <strong>die</strong>nt dazu, <strong>die</strong> Approximationsgenauigkeit der Gauß-<br />

Approximierenden an den Intervallenden zu verbessern. Für jedes <strong>in</strong>tegrable und positive<br />

ω(x) > 0 ist durch<br />

(f, g) ω :=<br />

∫ b<br />

a<br />

f(x)g(x)ω(x) dx,<br />

wieder e<strong>in</strong> Skalarprodukt mit entsprechender Norm<br />

‖f‖ ω = (f, f) 1 2 ω ,<br />

gegeben. Wir <strong>die</strong> Gewichtsfunktion w(x) = 1 √<br />

1−x 2<br />

verwendet, so legt <strong>die</strong> Bestapproximation<br />

e<strong>in</strong> größeres Gewicht auf <strong>die</strong> Intervallenden. Die hieraus abgeleiteten orthonormalen<br />

Polynome s<strong>in</strong>d <strong>die</strong> bereits diskutierten Tschebyscheff-Polynome.<br />

106


3.6 Approximationstheorie<br />

400<br />

0<br />

11 12 13 14 15<br />

x<br />

K5,000<br />

300<br />

K10,000<br />

200<br />

K15,000<br />

100<br />

K20,000<br />

10 11 12 13 14<br />

Abbildung 3.11: L<strong>in</strong>eare Ausgleichsgerade der Gauß-Approximation und entsprechendes<br />

Interpolationspolynom im Vergleich (l<strong>in</strong>kes Bild). Die Polynom<strong>in</strong>terpolation<br />

macht nur wenig S<strong>in</strong>n, da gegen 12.00 Uhr mehr als m<strong>in</strong>us<br />

20000 Menschen <strong>in</strong> der Mensa s<strong>in</strong>d!!! L<strong>in</strong>eare Ausgleichsgerade der Gauß-<br />

Approximation und gegebene Messdaten s<strong>in</strong>d im rechten Bild zu sehen.<br />

Auch <strong>die</strong> diskrete Gauß-Approximation lässt sich <strong>die</strong>sbezüglich verallgeme<strong>in</strong>ern. Hierzu<br />

sei durch ω ∈ R n e<strong>in</strong> Vektor mit ω i > 0 gegeben. Dann ist für x, y ∈ R n durch<br />

n∑<br />

(x, y) ω = x i y i ω i , |x| ω = (x, x) 1 2 ω ,<br />

i=1<br />

e<strong>in</strong> gewichtetes Skalarprodukt mit entsprechender Norm gegeben. Gerade für <strong>die</strong> diskrete<br />

Approximation spielen <strong>die</strong> Gewichte e<strong>in</strong>e große Rolle <strong>in</strong> der Anwendung: Angenommen<br />

für <strong>die</strong> Stützstellen und Stützwerte s<strong>in</strong>d Abschätzungen für den Messfehler bekannt. Dann<br />

können Stützwerte mit kle<strong>in</strong>erem Messfehler stärker gewichtet werden.<br />

Sämtliche Sätze zur Gauß-Approximation wurden für beliebige von Skalarprodukten <strong>in</strong>duzierte<br />

Normen bewiesen. Daher übertragen sich alle Eigenschaften auch auf <strong>die</strong> gewichteten<br />

Normen.<br />

107


3 Interpolation und Approximation<br />

108


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

In der l<strong>in</strong>earen Algebra wird <strong>die</strong> Struktur von l<strong>in</strong>earen Abbildungen T : V → W zwischen<br />

endlich-dimensionalen Vektorräumen untersucht. In der numerischen l<strong>in</strong>earen Algebra befassen<br />

wir uns mit e<strong>in</strong>igen praktischen Fragestellungen der l<strong>in</strong>earen Algebra. Schwerpunkt<br />

der Anwendung ist das Lösen von l<strong>in</strong>earen Gleichungen, also das Auff<strong>in</strong>den von x ∈ V , so<br />

dass für e<strong>in</strong> b ∈ W gilt T (x) = b. Weiter werden wir Verfahren zur Berechnung von Eigenwerten<br />

l<strong>in</strong>earer Abbildungen sowie zur Orthogonalisierung von Vektoren kennenlernen.<br />

Die meisten Probleme der l<strong>in</strong>earen Algebra treten als Teilprobleme anderer Verfahren auf.<br />

Große l<strong>in</strong>eare Gleichungssysteme müssen zur Diskretisierung von Differentialgleichungen,<br />

aber z.B. auch bei der Approximation von Funktionen gelöst werden. Effiziente numerische<br />

Quadraturregeln benötigen zur Konstruktion <strong>die</strong> Nullstellen orthogonaler Polynome.<br />

Orthogonalisierungsverfahren spielen aber auch e<strong>in</strong>e Rolle bei der Lösung von großen Gleichungssystemen.<br />

4.1 Grundlagen der l<strong>in</strong>earen Algebra<br />

Wir sammeln zunächst e<strong>in</strong>ige Def<strong>in</strong>itionen und grundlegende Resultate. Es sei V stets e<strong>in</strong><br />

Vektorraum über dem Körper K. Üblicherweise betrachten wir den Raum der reellwertigen<br />

Vektoren V = R n .<br />

Def<strong>in</strong>ition 4.1 (Basis). E<strong>in</strong>e Teilmenge B ⊂ V e<strong>in</strong>es Vektorraums über K heißt Basis,<br />

falls sich jedes Element v ∈ V e<strong>in</strong>deutig als L<strong>in</strong>earkomb<strong>in</strong>ation der Basisvektoren B =<br />

{v 1 , . . . , v n } darstellen lässt:<br />

n∑<br />

v = α i v i , α i ∈ K.<br />

i=1<br />

Die e<strong>in</strong>deutige Darstellbarkeit jedes v ∈ V durch Basisvektoren erlaubt es, den Vektorraum<br />

V mit dem Vektorraum der Koeffizientenvektoren α ∈ K n zu identifizieren. Daher können<br />

wir uns <strong>in</strong> <strong>die</strong>sem Abschnitt im wesentlichen auf <strong>die</strong>sen Raum (bzw. auf R n ) beschränken.<br />

Alle Eigenschaften und Resultate übertragen sich auf V .<br />

Def<strong>in</strong>ition 4.2 (Norm). E<strong>in</strong>e Abbildung ‖·‖ : V → R + heißt Norm, falls sie <strong>die</strong> folgenden<br />

drei Eigenschaften besitzt:<br />

1. Def<strong>in</strong>itheit: ‖x‖ ≥ 0, ‖x‖ = 0 ⇒ x = 0,<br />

2. L<strong>in</strong>earität: ‖αx‖ = |α| ‖x‖ ∀x ∈ V, α ∈ K,<br />

3. Dreiecksungleichung: ‖x + y‖ ≤ ‖x‖ + ‖y‖, ∀x, y ∈ V.<br />

109


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

E<strong>in</strong> Vektorraum mit Norm heißt normierter Raum. Häufig verwendete Normen s<strong>in</strong>d <strong>die</strong><br />

Maximumsnorm ‖ · ‖ ∞ , <strong>die</strong> euklidische Norm ‖ · ‖ 2 sowie <strong>die</strong> l 1 -Norm ‖ · ‖ 1 :<br />

‖x‖ ∞ := max<br />

i=1,...,n |x i|, ‖x‖ 2 :=<br />

( n ∑<br />

x 2 i<br />

i=1<br />

) 1<br />

2<br />

, ‖x‖ 1 :=<br />

n∑<br />

|x i |.<br />

i=1<br />

Im Vektorraum R n sowie <strong>in</strong> allen endlich-dimensionalen Vektorräumen gilt der folgende<br />

wichtige Satz:<br />

Satz 4.3 (Normäquivalenz). Zu zwei beliebigen Normen ‖ · ‖ sowie ‖ · ‖ ′ im endlichdimensionalen<br />

Vektorraum V existiert e<strong>in</strong>e Konstante c > 0 so dass gilt:<br />

1<br />

c ‖x‖ ≤ ‖x‖′ ≤ c‖x‖ ∀x ∈ V.<br />

Dieser Satz bedeutet, dass alle Normen <strong>in</strong> endlich-dimensionalen Vektorräumen äquivalent<br />

s<strong>in</strong>d. Da Normen wesentlich für den Konvergenzbegriff s<strong>in</strong>d, bedeutet <strong>die</strong>ses Resultat, dass<br />

e<strong>in</strong>e Folge x n → x, welche bzgl. e<strong>in</strong>er Norm ‖ · ‖ konvergiert auch bzgl. jeder anderen<br />

Norm ‖ · ‖ ′ konvergiert. Auch <strong>die</strong>ser Zusammenhang ist typisch für endlich-dimensionale<br />

Räume und gilt z.B. nicht <strong>in</strong> Funktionenräumen. So gilt z.B. für <strong>die</strong> Funktionenfolge<br />

f n (x) = exp(−nx 2 ) :<br />

‖f n − 0‖ L 2 ([−1,1]) → 0, jedoch ‖f n − 0‖ ∞ ↛ 0,<br />

bezüglich der L 2 -Norm sowie der Maximumsnorm:<br />

(∫ 1<br />

‖f‖ L 2 ([−1,1]) :=<br />

−1<br />

f(x) dx) 1 2<br />

, ‖f‖∞ := sup |f(x)|.<br />

x∈[−1,1]<br />

Neben Normen spielen Räume, <strong>in</strong> denen e<strong>in</strong> Skalarprodukt existiert e<strong>in</strong>e wichtige Rolle:<br />

Def<strong>in</strong>ition 4.4 (Skalarprodukt). E<strong>in</strong>e Abbildung (·, ·) : V × V → K heißt Skalarprodukt,<br />

falls sie <strong>die</strong> folgenden Eigenschaften besitzt:<br />

1. Def<strong>in</strong>itheit: (x, x) > 0 ∀x ∈ V, x ≠ 0,<br />

(x, x) = 0 ⇒ x = 0<br />

2. L<strong>in</strong>earität: (x, αy + z) = α(x, y) + (x, z) ∀x, y, z ∈ V, α ∈ K,<br />

3. Symmetrie: (x, y) = (y, x) ∀x, y ∈ V.<br />

In reellen Räumen gilt <strong>die</strong> echte Symmetrie (x, y) = (y, x). Das bekannteste Skalarprodukt<br />

ist das euklidische Skalarprodukt für Vektoren x, y ∈ R n .<br />

n∑<br />

(x, y) 2 = x T y = x i y i .<br />

i=1<br />

110


4.1 Grundlagen der l<strong>in</strong>earen Algebra<br />

Vektorräume mit Skalarprodukt werden Prähilberträume genannt. (E<strong>in</strong> Prähilbertraum<br />

heißt Hilbertraum, falls er vollständig, also e<strong>in</strong> Banachraum ist). Komplexe Vektorräumen<br />

mit Skalarprodukt nennt man auch unitäre Räume, im Reellen spricht man von euklidischen<br />

Räumen.<br />

Skalarprodukte s<strong>in</strong>d eng mit Normen verwandt:<br />

Satz 4.5 (Induzierte Norm). Es sei V e<strong>in</strong> Vektorraum mit Skalarprodukt. Dann ist durch<br />

auf V <strong>die</strong> <strong>in</strong>duzierte Norm gegeben.<br />

‖x‖ =<br />

√<br />

(x, x), x ∈ V,<br />

Beweis: Übung!<br />

□<br />

Die euklidische Norm ist <strong>die</strong> vom euklidischen Skalarprodukt <strong>in</strong>duzierte Norm:<br />

‖x‖ 2 = (x, x) 1 2<br />

2 .<br />

E<strong>in</strong>ige wichtige Sätze gelten für Paare aus Skalarprodukt und <strong>in</strong>duzierter Norm:<br />

Satz 4.6. Es sei V e<strong>in</strong> Vektorraum mit Skalarprodukt (·, ·) und <strong>in</strong>duzierter Norm ‖ · ‖.<br />

Dann gilt <strong>die</strong> Cauchy-Schwarz Ungleichung:<br />

sowie <strong>die</strong> Parallelogrammidentität:<br />

|(x, y)| ≤ ‖x‖ ‖y‖ ∀x, y ∈ V,<br />

‖x + y‖ 2 + ‖x − y‖ 2 = 2‖x‖ 2 + 2‖y‖ 2 ∀x, y ∈ V.<br />

Beweis: Übung.<br />

□<br />

Mit Hilfe des Skalarproduktes 4.4 können wir den Begriff der Orthogonalität e<strong>in</strong>führen:<br />

zwei Vektoren x, y ∈ V heißen orthogonal, falls (x, y) = 0.<br />

E<strong>in</strong>e der Aufgaben der numerischen l<strong>in</strong>earen Algebra ist <strong>die</strong> Orthogonalisierung (oder auch<br />

Orthonormalisierung) von gegebenen Systemen von Vektoren:<br />

Def<strong>in</strong>ition 4.7 (Orthonormalbasis). E<strong>in</strong>e Basis B = {v 1 , . . . , v n } von V heißt Orthogonalbasis<br />

bezüglich des Skalarproduktes (·, ·), falls gilt:<br />

(φ i , φ j ) = 0 ∀i ≠ j,<br />

und Orthonormalbasis falls gilt:<br />

(φ i , φ j ) = δ ij ,<br />

mit dem Kronecker-Symbol δ ij .<br />

111


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Mit unterschiedlichen Skalarprodukten existieren unterschiedliche Orthonormalbasen zu<br />

e<strong>in</strong> und demselben Vektorraum V . Orthogonalität stimmt dann im Allgeme<strong>in</strong>en nicht mit<br />

dem geometrischen Orthogonalitätsbegriff des euklidischen Raums übere<strong>in</strong>:<br />

Beispiel 4.8 (Skalarprodukte und Orthonormalbasis). Es sei V = R 2 . Durch<br />

(x, y) 2 := x 1 y 1 + x 2 y 2 , (x, y) ω = 2 x 1 y 1 + x 2 y 2 ,<br />

s<strong>in</strong>d zwei verschiedene Skalarprodukte gegeben. Das erste ist das euklidische Skalarprodukt.<br />

Die Skalarprodukteigenschaften des zweiten s<strong>in</strong>d e<strong>in</strong>fach zu überprüfen. Durch<br />

x 1 = 1 √<br />

2<br />

(1, 1) T , x 2 = 1 √<br />

2<br />

(−1, 1) T ,<br />

ist e<strong>in</strong>e Orthonormalbasis bezüglich (·, ·) 2 gegeben. Es gilt jedoch:<br />

(x 1 , x 2 ) ω = 1 1<br />

(2 − 1) = √ ≠ 0.<br />

2 2<br />

E<strong>in</strong>e Orthonormalbasis erhalten wir z.B. durch<br />

x 1 = 1 √<br />

3<br />

(1, 1) T , x 2 = 1 2 (−1, 2)T ,<br />

Orthonormalbasen werden für zahlreiche numerische Verfahren benötigt, bei der Gauß’schen<br />

Quadratur, bei der Gauß-Approximation von Funktionen und z.B. für <strong>die</strong> QR-Zerlegung<br />

e<strong>in</strong>er Matrix.<br />

Wir betrachten nun den Vektorraum aller R n×m -Matrizen. Auch <strong>die</strong>ser Vektorraum ist<br />

endlich-dimensional und pr<strong>in</strong>zipiell können wir den Vektorraum der n × m-Matrizen mit<br />

dem Vektorraum der (nm)-Vektoren identifizieren. Von besonderem Interesse ist für uns<br />

der Vektorraum der quadratischen R n×n -Matrizen:<br />

Def<strong>in</strong>ition 4.9 (Eigenwerte, Eigenvektoren). Die Eigenwerte λ e<strong>in</strong>er Matrix A ∈ R n×n<br />

s<strong>in</strong>d def<strong>in</strong>iert als Nullstellen des charakteristischen Polynoms:<br />

det(A − λI) = 0.<br />

Die Menge aller Eigenwerte e<strong>in</strong>er Matrix heißt das Spektrum<br />

σ(A) := {λ ∈ C, λ Eigenwert von A}.<br />

Der Spektralradius spr : R n×n → R + ist der betragsmäßig größte Eigenwert:<br />

spr(A) := max{|λ|, λ ∈ σ(A)}.<br />

E<strong>in</strong> Element w ∈ R n heißt Eigenvektor zu Eigenwert λ, falls gilt:<br />

Aw = λw.<br />

112


4.1 Grundlagen der l<strong>in</strong>earen Algebra<br />

Bei der Untersuchung von l<strong>in</strong>earen Gleichungssystemen Ax = b stellt sich zunächst <strong>die</strong><br />

Frage, ob e<strong>in</strong> solches Gleichungssystem überhaupt lösbar ist und ob <strong>die</strong> Lösung e<strong>in</strong>deutig<br />

ist. Wir fassen zusammen:<br />

Satz 4.10 (Reguläre Matrix). Für e<strong>in</strong>e quadratische Matrix A ∈ R n×n s<strong>in</strong>d <strong>die</strong> folgenden<br />

Aussagen äquivalent:<br />

1. Die Matrix A ist regulär .<br />

2. Die transponierte Matrix A T ist regulär.<br />

3. Die Inverse A −1 ist regulär.<br />

4. Das l<strong>in</strong>eare Gleichungssystem Ax = b ist für jedes b ∈ R n e<strong>in</strong>deutig lösbar.<br />

5. Es gilt det(A) ≠ 0.<br />

6. Alle Eigenwerte von A s<strong>in</strong>d ungleich Null.<br />

Wir def<strong>in</strong>ieren weiter:<br />

Def<strong>in</strong>ition 4.11 (positiv def<strong>in</strong>it). E<strong>in</strong>e Matrix A ∈ K n×n heißt positiv def<strong>in</strong>it, falls<br />

(Ax, x) > 0 ∀x ≠ 0.<br />

Umgekehrt können wir aus der def<strong>in</strong>ierenden Eigenschaft der positiven Def<strong>in</strong>itheit e<strong>in</strong>er<br />

Matrix ablesen: falls A positiv def<strong>in</strong>it ist, so ist durch (A·, ·) e<strong>in</strong> Skalarprodukt gegeben.<br />

Es gilt:<br />

Satz 4.12 (Positiv def<strong>in</strong>ite Matrizen). Es sei A ∈ R n×n e<strong>in</strong>e symmetrische Matrix. Dann<br />

ist A genau dann positiv def<strong>in</strong>it, falls alle (reellen) Eigenwerte von A positiv s<strong>in</strong>d. Dann<br />

s<strong>in</strong>d alle Diagonalelemente von A positiv und das betragsmäßig größte Element steht auf<br />

der Diagonalen.<br />

Beweis: (i) Es sei A e<strong>in</strong>e symmetrische Matrix mit e<strong>in</strong>er Orthonormalbasis aus Eigenvektoren<br />

w 1 , . . . , w n . A sei positiv def<strong>in</strong>it. Dann gilt für beliebigen Eigenvektor w i mit<br />

Eigenwert λ i :<br />

0 < (Aw i , w i ) = λ i (w i , w i ) = λ i .<br />

Umgekehrt seien alle λ i positiv. Für x = ∑ n<br />

i=1 α i w i gilt:<br />

(Ax, x) = ∑ (λ i α i ω i , α j ω j ) = ∑<br />

i,j<br />

i<br />

λ i α 2 i > 0.<br />

(ii) A sei nun e<strong>in</strong>e reelle, positiv def<strong>in</strong>ite Matrix. Es sei e i der i-te E<strong>in</strong>heitsvektor. Dann<br />

gilt:<br />

0 < (Ae i , e i ) = a ii .<br />

113


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

D.h., alle Diagonalelemente s<strong>in</strong>d positiv.<br />

(iii) Entsprechend wählen wir nun x = e i − sign(a ij )e j . Wir nehmen an, dass a ji = a ij das<br />

betragsmäßig größte Element der Matrix sei. Dann gilt:<br />

0 < (Ax, x) = a ii − sign(a ij )(a ij + a ji ) + a jj = a ii + a ji − 2|a ij | ≤ 0.<br />

Aus <strong>die</strong>sem Widerspruch folgt <strong>die</strong> letzte Aussage des Satzes: das betragsmäßig größte<br />

Element muss e<strong>in</strong> Diagonalelement se<strong>in</strong>.<br />

□<br />

Für Normen auf dem Raum der Matrizen def<strong>in</strong>ieren wir weitere Struktureigenschaften:<br />

Def<strong>in</strong>ition 4.13 (Matrixnormen). E<strong>in</strong>e Norm ‖ · ‖ : R n×n → R + heißt Matrizenorm,<br />

falls sie submultiplikativ ist:<br />

‖AB‖ ≤ ‖A‖ ‖B‖ ∀A, B ∈ R n×n .<br />

Sie heißt verträglich mit e<strong>in</strong>er Vektornorm ‖ · ‖ : R n → R + , falls gilt:<br />

‖Ax‖ ≤ ‖A‖ ‖x‖ ∀A ∈ R n×n , x ∈ R n .<br />

E<strong>in</strong>e Matrixnorm ‖·‖ : R n×n → R + heißt von e<strong>in</strong>er Vektornorm ‖·‖ : R n → R + <strong>in</strong>duziert,<br />

falls gilt:<br />

‖Ax‖<br />

‖A‖ := max<br />

x≠0 ‖x‖ .<br />

Es ist leicht nachzuweisen, dass jede von e<strong>in</strong>er Vektornorm <strong>in</strong>duzierte Matrixnorm mit<br />

<strong>die</strong>ser auch verträglich ist. Verträglich mit der euklidischen Norm ist aber auch <strong>die</strong> Frobeniusnorm<br />

⎛ ⎞ 1<br />

2<br />

n∑<br />

‖A‖ F := ⎝ ⎠ ,<br />

a 2 ij<br />

i,j=1<br />

welche nicht von e<strong>in</strong>er Vektor-Norm <strong>in</strong>duziert ist. Für allgeme<strong>in</strong>e Normen auf dem Vektorraum<br />

der Matrizen gilt nicht notwendigerweise ‖I‖ = 1, wobei I ∈ R n×n <strong>die</strong> E<strong>in</strong>heitsmatrix<br />

ist. Dieser Zusammenhang gilt aber für jede von e<strong>in</strong>er Vektornorm <strong>in</strong>duzierte<br />

Matrixnorm. Wir fassen im folgenden Satz <strong>die</strong> wesentlichen <strong>in</strong>duzierten Matrixnormen<br />

zusammen:<br />

Satz 4.14 (Induzierte Matrixnormen). Die aus der euklidischen Vektornorm, der Maximumsnorm<br />

sowie der l 1 -Norm <strong>in</strong>duzierten Matrixnormen s<strong>in</strong>d <strong>die</strong> Spektralnorm ‖·‖ 2 , <strong>die</strong><br />

maximale Zeilensumme ‖ · ‖ ∞ , sowie <strong>die</strong> maximale Spaltensumme ‖ · ‖ 1 :<br />

√<br />

‖A‖ 2 = spr(A T A), spr(B) := max{|λ|, λ ist Eigenwert von B},<br />

m∑<br />

‖A‖ ∞ = max |a ij |,<br />

‖A‖ 1 =<br />

i=1,...,n<br />

j=1<br />

n∑<br />

max<br />

j=1,...,m<br />

i=1<br />

|a ij |.<br />

114


4.1 Grundlagen der l<strong>in</strong>earen Algebra<br />

Beweis: (i) Es gilt:<br />

‖A‖ 2 ‖Ax‖ 2 2<br />

2 = sup<br />

x≠0 ‖x‖ 2 2<br />

(Ax, Ax) (A T Ax, x)<br />

= sup<br />

x≠0 ‖x‖ 2 = sup<br />

2 x≠0 ‖x‖ 2 2<br />

Die Matrix A T A ist symmetrisch und hat als solche nur reelle Eigenwerte. Sie besitzt e<strong>in</strong>e<br />

Orthonormalbasis ω i ∈ R n von Eigenvektoren mit Eigenwerten λ i ≥ 0. Alle Eigenwerte λ i<br />

s<strong>in</strong>d größer gleich Null, denn:<br />

λ i = λ i (ω i , ω i ) = (A T Aω i , ω i ) = (Aω i , Aω i ) = ‖Aω i ‖ 2 ≥ 0.<br />

Es sei x ∈ R n beliebig mit Basisdarstellung x = ∑ i α iω i . Es gilt dann wegen (ω i , ω j ) 2 = δ ij<br />

<strong>die</strong> Beziehung ‖x‖ 2 2 = ∑ i α2 i sowie mit dem Koeffizientenvektor α ∈ Rn :<br />

‖A‖ 2 ( ∑ i<br />

2 = sup<br />

α iA T Aω i , ∑ i α iω i )<br />

∑<br />

α≠0<br />

= sup<br />

α≠0<br />

∑<br />

i λ iα 2 i<br />

∑<br />

i α2 i<br />

i α2 i<br />

≤ max<br />

i<br />

λ i .<br />

( ∑ i<br />

= sup<br />

α iλ i ω i , ∑ i α iω i )<br />

∑<br />

α≠0<br />

i α2 i<br />

Es sei nun umgekehrt durch λ k der größte Eigenwert gegeben. Dann gilt für α i = δ ki :<br />

0 ≤ max λ i = λ k = ∑ i<br />

i<br />

λ i α 2 i ≤ ‖A‖ 2 2.<br />

(ii) Wir zeigen das Ergebnis exemplarisch für <strong>die</strong> Maximumsnorm:<br />

⎛<br />

⎞<br />

∑ m<br />

‖Ax‖ ∞ =<br />

a ij x j ⎠ .<br />

sup<br />

‖x‖ ∞=1<br />

⎝max<br />

i<br />

Jede Summe nimmt ihr Maximum an, falls |x j | = 1 und falls das Vorzeichen x j so gewählt<br />

wird, dass a ij x j ≥ 0 für alle j = 1, . . . , m. Dann gilt:<br />

‖Ax‖ ∞ = max<br />

i<br />

m ∑<br />

j=1<br />

j=1<br />

|a ij |.<br />

Als Nebenresultat erhalten wir, dass jeder Eigenwert betragsmäßig durch <strong>die</strong> Spektralnorm<br />

der Matrix A beschränkt ist. Es gilt sogar mit beliebiger Matrixnorm und verträglicher<br />

Vektornorm für e<strong>in</strong>en Eigenwert λ mit zugehörigem Eigenvektor w ∈ R n von A:<br />

|λ| =<br />

|λ| ‖w‖<br />

‖w‖<br />

= ‖Aw‖<br />

‖w‖<br />

‖A‖ ‖w‖<br />

≤ = ‖A‖.<br />

‖w‖<br />

E<strong>in</strong>e e<strong>in</strong>fache Schranke für den betragsmäßig größten Eigenwert erhält man also durch<br />

Analyse beliebiger (verträglicher) Matrixnormen.<br />

Aus Satz 4.14 folgern wir weiter, dass für symmetrische Matrizen <strong>die</strong> ‖ · ‖ 2 -Norm mit dem<br />

Spektralradius der Matrix selbst übere<strong>in</strong>stimmt, daher der Name Spektralnorm.<br />

□<br />

115


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Das Lösen von l<strong>in</strong>earen Gleichungssystemen ist e<strong>in</strong>e der wichtigsten numerischen Aufgaben.<br />

Viele Probleme s<strong>in</strong>d nicht unmittelbar als l<strong>in</strong>eares Gleichungssystem formuliert,<br />

<strong>in</strong> vielen Anwendungen treten allerd<strong>in</strong>gs ständig (unter Umständen sehr große) l<strong>in</strong>eare<br />

Gleichungssysteme auf. Groß bedeutet <strong>in</strong> Anwendungen, dass Gleichungssysteme mit vielen<br />

Millionen Unbekannten gelöst werden müssen. Wir werden uns <strong>in</strong> <strong>die</strong>sem Abschnitt<br />

ausschließlich mit reellwertigen Matrizen A ∈ R n×n befassen. Methoden zum Lösen von<br />

l<strong>in</strong>earen Gleichungsystemen klassifiziert man als direkte Verfahren, welche <strong>die</strong> Lösung des<br />

Gleichungssystems unmittelbar und bis auf Rundungsfehlere<strong>in</strong>flüsse exakt berechnen und<br />

iterative Verfahren, welche <strong>die</strong> Lösung durch e<strong>in</strong>e Fixpunktiteration approximieren. Hier<br />

befassen wir uns ausschließlich mit direkten Methoden. Iterative Verfahren s<strong>in</strong>d Gegenstand<br />

von Kapitel 5.<br />

Als e<strong>in</strong>führendes Beispiel betrachten wir das e<strong>in</strong>fache Gleichungssystem<br />

( ( ) ( )<br />

0.988 0.959 x 0.087<br />

=<br />

0.992 0.963)<br />

y 0.087<br />

mit der Lösung (x, y) T = (3, −3) T . Wir bestimmen <strong>die</strong> Lösung numerisch durch Gauß-<br />

Elim<strong>in</strong>ation mit dreistelliger Rechengenauigkeit. Die Gauß-Elim<strong>in</strong>ation setzen wir dabei<br />

als bekannt voraus:<br />

(<br />

0.988 0.959<br />

)<br />

0.087<br />

0.992 0.963 0.087 ×0.992/0.998<br />

(<br />

0.988 0.959<br />

)<br />

0.087<br />

0.988 0.960 0.0866 ↓ −<br />

(<br />

0.988 0.959 0.087<br />

)<br />

0 0.001 −0.0004<br />

Mit Hilfe der Gauß-Elim<strong>in</strong>ation haben wir <strong>die</strong> Matrix A auf e<strong>in</strong>e Dreiecksgestalt transformiert.<br />

Die rechte Seite b wurde entsprechend modifiziert. Das resultierende Dreieckssystem<br />

kann nun sehr e<strong>in</strong>fach durch Rückwärtse<strong>in</strong>setzen gelöst werden (bei dreistelliger<br />

Rechnung):<br />

0.001y = −0.0004 ⇒ y = −0.4, 0.988x = 0.087 − 0.959 · (−0.4) ≈ 0.471 ⇒ x = 0.477<br />

Wir erhalten also (x, y) = (0.477, −0.4). Der relative Fehler der numerischen Lösung beträgt<br />

somit fast 90%. Die numerische Aufgabe, e<strong>in</strong> Gleichungssystem zu lösen sche<strong>in</strong>t also<br />

entweder generell sehr schlecht konditioniert zu se<strong>in</strong> (siehe Kapitel 1), oder aber das Elim<strong>in</strong>ationsverfahren<br />

zur Lösung e<strong>in</strong>es l<strong>in</strong>earen Gleichungssystems ist numerisch sehr <strong>in</strong>stabil<br />

und nicht gut geeignet. Der Frage nach der Konditionierung und Stabilität gehen wir im<br />

folgenden Abschnitt auf den Grund.<br />

116


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

In der praktischen Anwendung treten sehr große Gleichungssysteme Ax = b auf. Bei<br />

der numerischen Approximation von partiellen Differentialgleichungen müssen Matrizen<br />

A ∈ R n×n der Dimension n > 1 000 000 <strong>in</strong>vertiert werden. (Man nennt das Lösen e<strong>in</strong>es<br />

l<strong>in</strong>earen Gleichungssystems oft <strong>in</strong>vertieren, auch wenn <strong>die</strong> Inverse A −1 nicht wirklich<br />

aufgestellt wird). H<strong>in</strong>zu kommt, dass e<strong>in</strong> solches l<strong>in</strong>eares Gleichungssystem oft wiederholt<br />

(viele 1 000 mal) gelöst werden muss (z.B. bei der Diskretisierung von <strong>in</strong>stationären<br />

Differentialgleichungen, oder bei nichtl<strong>in</strong>earen Gleichungen). Neben der Stabilität des Lösungsprozesses<br />

wird auch <strong>die</strong> numerische Effizienz e<strong>in</strong>e große Rolle spielen. Man versuche,<br />

e<strong>in</strong>e 20 × 20-Matrix mit dem Gauß’schen Elim<strong>in</strong>ationsverfahren zu <strong>in</strong>vertieren!<br />

4.2.1 Störungstheorie & Stabilitätsanalyse von l<strong>in</strong>earen Gleichungssystemen<br />

Zu e<strong>in</strong>er quadratischen, regulären Matrix A ∈ R n×n sowie e<strong>in</strong>em Vektor b ∈ R n betrachten<br />

wir das l<strong>in</strong>eare Gleichungssystem<br />

Ax = b.<br />

Durch numerische Fehler, Rundungsfehler oder bloße E<strong>in</strong>gabefehler zum Beispiel durch<br />

Messungenauigkeiten liegen sowohl A als auch b nur gestört vor:<br />

Øx = ˜b.<br />

Dabei sei à = A + δA sowie ˜b = b + δb, mit Störung δA sowie δb.<br />

Wir kommen nun zur Kernaussage <strong>die</strong>ses Abschnitts und wollen <strong>die</strong> Fehlerverstärkung<br />

beim Lösen von l<strong>in</strong>earen Gleichungssystemen betrachten. Fehler können dabei <strong>in</strong> der Matrix<br />

A als auch <strong>in</strong> der rechten Seite b auftauchen. Wir betrachten zunächst Störungen der<br />

rechten Seite:<br />

Satz 4.15 (Störung der rechten Seite). Durch x ∈ R n sei <strong>die</strong> Lösung des l<strong>in</strong>earen Gleichungsystems<br />

Ax = b gegeben. Es sei δb e<strong>in</strong>e Störung der rechten Seite ˜b = b + δb und ˜x<br />

<strong>die</strong> Lösung des gestörten Gleichungssystems. Dann gilt:<br />

mit der Konditionszahl der Matrix<br />

‖δx‖<br />

‖x‖ ≤ cond(A)‖δb‖ ‖b‖ ,<br />

cond(A) = ‖A‖ · ‖A −1 ‖.<br />

Beweis: Es sei ‖ · ‖ e<strong>in</strong>e beliebige Matrixnorm mit verträglicher Vektornorm ‖ · ‖. Für <strong>die</strong><br />

Lösung x ∈ R n und gestörte Lösung ˜x ∈ R n gilt:<br />

˜x − x = A −1 (A˜x − Ax) = A −1 (˜b − b) = A −1 δb.<br />

Also:<br />

‖δx‖<br />

‖x‖ ≤ ‖A−1 ‖ ‖δb‖<br />

‖x‖ · ‖b‖<br />

‖b‖ = ‖A−1 ‖ ‖δb‖<br />

‖b‖ · ‖Ax‖<br />

‖x‖<br />

≤ ‖A‖ · ‖δb‖<br />

‖A−1 ‖<br />

} {{ } ‖b‖ .<br />

=:cond(A)<br />

□<br />

117


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Bemerkung 4.16 (Konditionszahl e<strong>in</strong>er Matrix). Die Konditionszahl e<strong>in</strong>er Matrix spielt<br />

<strong>die</strong> entscheidende Rolle <strong>in</strong> der numerischen L<strong>in</strong>earen Algebra. Betrachten wir etwa <strong>die</strong><br />

Konditionierung der Matrix-Vektor Multiplikation y = Ax so erhalten wir bei gestörter<br />

E<strong>in</strong>gabe ˜x = x + δx wieder:<br />

‖δy‖<br />

‖y‖ ≤ cond(A)‖δx‖ ‖x‖<br />

Die Konditionszahl e<strong>in</strong>er Matrix hängt von der gewählten Norm ab. Da jedoch alle Matrixnormen<br />

im R n×n äquivalent s<strong>in</strong>d, s<strong>in</strong>d auch alle Konditionsbegriffe äquivalent. Mit<br />

Satz 4.14 folgern wir für symmetrische Matrizen für den Spezialfall cond s (A):<br />

cond 2 (A) = ‖A‖ 2 · ‖A −1 ‖ 2 =<br />

max{|λ|, λ Eigenwert von A}<br />

m<strong>in</strong>{|λ|, λ Eigenwert von A} .<br />

Wir betrachten nun den Fall, dass <strong>die</strong> Matrix A e<strong>in</strong>es l<strong>in</strong>earen Gleichungssystems mit<br />

e<strong>in</strong>er Störung δA versehen ist. Es stellt sich zunächst <strong>die</strong> Frage, ob <strong>die</strong> gestörte Matrix<br />

à = A + δA überhaupt noch regulär ist.<br />

Hilfsatz 4.17. Es sei durch ‖·‖ e<strong>in</strong>e von der Vektornorm <strong>in</strong>duzierte Matrixnorm gegeben.<br />

Weiter sei B ∈ R n×n e<strong>in</strong>e Matrix mit ‖B‖ < 1. Dann ist <strong>die</strong> Matrix I + B regulär und es<br />

gilt <strong>die</strong> Abschätzung:<br />

‖(I + B) −1 1<br />

‖ ≤<br />

1 − ‖B‖ .<br />

Beweis: Es gilt:<br />

‖(I + B)x‖ ≥ ‖x‖ − ‖Bx‖ ≥ (1 − ‖B‖)‖x‖<br />

Da 1 − ‖B‖ > 0 ist durch I + B e<strong>in</strong>e <strong>in</strong>jektive Abbildung gegeben. Also ist I + B e<strong>in</strong>e<br />

reguläre Matrix. Weiter gilt:<br />

1 = ‖I‖ = ‖(I + B)(I + B) −1 ‖ = ‖(I + B) −1 + B(I + B) −1 ‖<br />

≥ ‖(I + B) −1 ‖ − ‖B‖ ‖(I + B) −1 ‖ = ‖(I + B) −1 ‖(1 − ‖B‖) > 0.<br />

Mit <strong>die</strong>sem Hilfsatz können wir im Folgenden auch auf <strong>die</strong> Störung der Matrix e<strong>in</strong>gehen:<br />

Satz 4.18 (Störung der Matrix). Es sei x ∈ R n <strong>die</strong> Lösung des l<strong>in</strong>earen Gleichungssystems<br />

Ax = b und à = A + δA e<strong>in</strong>er gestörte Matrix mit ‖δA‖ ≤ ‖A−1 ‖ −1 . Für <strong>die</strong> gestörte<br />

Lösung ˜x gilt:<br />

‖δx‖<br />

‖x‖ ≤<br />

cond(A) ‖δA‖<br />

1 − cond(A)‖δA‖/‖A‖ ‖A‖ .<br />

Beweis: Wir betrachten den Fall, dass <strong>die</strong> rechte Seite nicht gestört ist: δb = 0. Dann gilt<br />

für Lösung x sowie gestörte Lösung ˜x und Fehler δx := ˜x − x:<br />

□<br />

(A + δA)˜x = b<br />

(A + δA)x = b + δAx<br />

⇒<br />

δx = −[A + δA] −1 δAx.<br />

118


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Da laut Voraussetzung ‖A −1 δA‖ ≤ ‖A −1 ‖ ‖δA‖ < 1 folgt mit Hilfsatz 4.17:<br />

‖δx‖ ≤ ‖A −1 [I + A −1 δA] −1 δA‖ ‖x‖ ≤<br />

‖A −1 ‖<br />

1 − ‖A −1 ‖δA‖ ‖x‖.<br />

δA‖<br />

Das Ergebnis erhalten wir durch zweimaliges Erweitern mit ‖A‖/‖A‖ sowie mit der Voraussetzung<br />

0 ≤ ‖A −1 δA‖ < 1.<br />

□<br />

Diese beiden Störungssätze können e<strong>in</strong>fach komb<strong>in</strong>iert werden, um gleichzeitig <strong>die</strong> Störung<br />

durch rechte Seite und Matrix abschätzen zu können:<br />

Satz 4.19 (Störungssatz für l<strong>in</strong>eare Gleichungssysteme). Es sei x ∈ R n <strong>die</strong> Lösung des<br />

l<strong>in</strong>earen Gleichungssystems Ax = b mit e<strong>in</strong>er regulären Matrix A ∈ R n×n . Für <strong>die</strong> Lösung<br />

˜x ∈ R n des gestörten Systems Øx = ˜b mit Störungen δb = ˜b − b und δA = à − A gilt unter<br />

der Voraussetzung<br />

‖δA‖ < 1<br />

‖A −1 ‖<br />

<strong>die</strong> Abschätzung:<br />

‖δx‖<br />

‖x‖ ≤<br />

(<br />

cond(A) ‖δb‖<br />

1 − cond(A)‖δA‖/‖A‖ ‖b‖ + ‖δA‖ )<br />

,<br />

‖A‖<br />

mit der Konditionszahl<br />

cond(A) = ‖A‖ ‖A −1 ‖.<br />

Beweis: Wir komb<strong>in</strong>ieren <strong>die</strong> Aussagen von Satz 4.15 und 4.18. Hierzu sei x <strong>die</strong> Lösung<br />

von Ax = b, ˜x <strong>die</strong> gestörte Lösung Øx = ˜b und ˆx <strong>die</strong> Lösung zu gestörter rechter Seite<br />

Aˆx = ˜b. Dann gilt:<br />

‖x − ˜x‖ ≤ ‖x − ˆx‖ + ‖ˆx − ˜x‖ ≤ cond(A) ‖δb‖<br />

‖b‖ +<br />

Die Aussage folgt mit (beachte ‖δA‖ < ‖A −1 ‖ −1 )<br />

cond(A)<br />

1 − cond(A) ‖δA‖<br />

‖A‖<br />

‖δA‖<br />

‖A‖ .<br />

0 ≤ cond(A) ‖δA‖<br />

‖A‖ < ‖A‖ 1<br />

‖A−1 ‖<br />

‖A‖ ‖A −1 ‖ ≤ 1.<br />

Mit <strong>die</strong>sem Ergebnis kehren wir zum e<strong>in</strong>führenden Beispiel aus Abschnitt 4.2 zurück:<br />

( )<br />

0.988 0.959<br />

A =<br />

0.992 0.963<br />

( )<br />

⇒ A −1 8301 −8267<br />

≈<br />

−8552 8517<br />

□<br />

In der maximalen Zeilensummennorm ‖ · ‖ ∞ gilt:<br />

‖A‖ 1 = 1.955, ‖A −1 ‖ 1 ≈ 17079, cond 1 (A) ≈ 33370.<br />

119


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Das Lösen e<strong>in</strong>es l<strong>in</strong>earen Gleichungssystems mit der Matrix A ist also äußerst schlecht<br />

konditioniert. Hieraus resultiert der enorme Rundungsfehler im Beispiel zu Beg<strong>in</strong>n des<br />

Kapitels. Wir halten hier fest: bei großer Konditionszahl ist <strong>die</strong> Konditionierung des Problems<br />

sehr schlecht, d.h. der große Fehler ist immanent mit der Aufgabe verbunden und<br />

nicht unbed<strong>in</strong>gt auf e<strong>in</strong> Stabilitätsproblem des Verfahrens zurückzuführen.<br />

4.2.2 Das Gauß’sche Elim<strong>in</strong>ationsverfahren und <strong>die</strong> LR-Zerlegung<br />

Das wichtigste Verfahren zum Lösen e<strong>in</strong>es l<strong>in</strong>earen Gleichungsystems Ax = b mit quadratischer<br />

Matrix A ∈ R n×n ist das Gauß’sche Elim<strong>in</strong>ationsverfahren: durch Elim<strong>in</strong>ation der<br />

E<strong>in</strong>träge unterhalb der Diagonale wird <strong>die</strong> Matrix A ∈ R n×n <strong>in</strong> den ersten n − 1 Schritten<br />

auf e<strong>in</strong>e obere rechte Dreiecksgestalt gebracht:<br />

⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

⎞<br />

∗ ∗ ∗ · · · ∗ ∗ ∗ ∗ · · · ∗<br />

∗ ∗ ∗ · · · ∗<br />

∗ ∗ ∗ ∗<br />

0 ∗ ∗ ∗<br />

0 ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

→<br />

0 ∗ ∗ ∗<br />

→ · · · →<br />

0 0 ∗ ∗<br />

⎜ .<br />

⎝.<br />

.. ⎟ ⎜ . . ⎠ ⎝.<br />

.. ⎟ ⎜<br />

. . ⎠ ⎝.<br />

.. ⎟ . ⎠<br />

∗ ∗ ∗ · · · ∗ 0 ∗ ∗ · · · ∗<br />

0 0 · · · 0 ∗<br />

Mit der Dreiecksmatrix R ∈ R n×n (R = (r ij ) n i,j=1 mit r ij = 0 für i > j) kann das reduzierte<br />

Gleichungssystem<br />

Rx = ˜b,<br />

durch Rückwärtse<strong>in</strong>setzen gelöst werden. Wir betrachten zunächst <strong>die</strong>se Rückwärtse<strong>in</strong>setzen:<br />

Algorithmus 4.20 (Rückwärtse<strong>in</strong>setzen). Es sei R n×n e<strong>in</strong>e rechte obere Dreiecksmatrix.<br />

Die Lösung x ∈ R n von Rx = b ist gegeben durch:<br />

1. Setze x n = r −1<br />

nnb n<br />

2. Für i = n − 1, . . . , 1<br />

x i = r −1<br />

ii<br />

⎛<br />

⎝b i −<br />

n∑<br />

j=i+1<br />

r ij x j<br />

⎞<br />

⎠ .<br />

Es gilt:<br />

Satz 4.21 (Rückwärtse<strong>in</strong>setzen). Es sei R ∈ R n×n e<strong>in</strong>e rechte obere Dreiecksmatrix mit<br />

r ii ≠ 0. Dann ist <strong>die</strong> Matrix R regulär und das Rückwärtse<strong>in</strong>setzen erfordert<br />

arithmetische Operationen.<br />

N R (n) = n2<br />

2 + O(n)<br />

120


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Beweis: Es gilt det(R) = ∏ r ii ≠ 0. Also ist <strong>die</strong> Matrix R regulär.<br />

Jeder Schritt der Rückwärtse<strong>in</strong>setzen besteht aus Additionen, Multiplikationen und Division<br />

durch <strong>die</strong> Diagonalelemente. Bei r ii ≠ 0 ist jeder Schritt durchführbar.<br />

Zur Berechnung von x i s<strong>in</strong>d n−(i+1) Multiplikationen und Additionen notwendig. H<strong>in</strong>zu<br />

kommt e<strong>in</strong>e Division pro Schritt. Dies ergibt:<br />

n +<br />

n−1 ∑<br />

i=1<br />

( n − (i + 1)<br />

) = n + (n − 1)n − (n − 1) −<br />

n(n − 1)<br />

2<br />

= n2 − n + 2<br />

.<br />

2<br />

Die Transformation von A auf Dreiecksgestalt geschieht durch zeilenweise Elim<strong>in</strong>ation:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

a 11 a 12 a 13 . . . a 1n<br />

a 11 a 12 a 13 . . . a 1n<br />

a 21 a 22 a 23 . . . a 2n<br />

0 a (1)<br />

22 a (1)<br />

23 . . . a (1)<br />

2n<br />

. a 31 a 32 a .. 33 a3n<br />

→<br />

0 a (1)<br />

32 a (3) . .. (1)<br />

33 a 3n<br />

→<br />

⎜<br />

⎝<br />

.<br />

. . .. . ⎟<br />

.. . ⎠ ⎜<br />

⎝<br />

.<br />

. . .. . .. ⎟ . ⎠<br />

a n1 a n2 a n3 . . . a nn 0 a (1)<br />

n2 a (1)<br />

n3 . . . a (1)<br />

nn<br />

⎛<br />

⎞<br />

a 11 a 12 a 13 . . . a 1n<br />

0 a (1)<br />

22 a (1)<br />

23 . . . a (1)<br />

2n<br />

→<br />

0 0 a (2) . .. (2)<br />

33 a 3n<br />

→ · · · → A (n−1) =: R.<br />

⎜<br />

.<br />

⎝ . . .. . .. ⎟ . ⎠<br />

0 0 a (2)<br />

n3 . . . a (2)<br />

nn<br />

Beg<strong>in</strong>nend mit A (0) := A werden sukzessive Matrizen A (i) erzeugt, mit A (n−1) =: R. Dabei<br />

wird <strong>in</strong> Schritt i des Verfahrens <strong>die</strong> Spalte i-te Spalte von A (i−1) unterhalb der Diagonalen<br />

elim<strong>in</strong>iert. Dies geschieht durch Subtraktion des g (i)<br />

k<br />

-fachen der i-ten Zeile von der k-ten.<br />

Hierbei gilt:<br />

g (i)<br />

k<br />

:= a(i−1) ki<br />

a (i−1)<br />

ii<br />

Im i-ten Elim<strong>in</strong>ationschritt bleiben <strong>die</strong> ersten i − 1 Zeilen und Spalten unverändert. Der<br />

i-te Elim<strong>in</strong>ationsschritt lässt sich kompakt <strong>in</strong> Form e<strong>in</strong>er Matrix-Matrix Multiplikation<br />

schreiben<br />

A (i) = F (i) A (i−1) ,<br />

mit der Elim<strong>in</strong>ationsmatrix (alle nicht spezifizierten E<strong>in</strong>träge s<strong>in</strong>d Null):<br />

⎛<br />

1<br />

F (i) :=<br />

⎜<br />

⎝<br />

.<br />

⎞<br />

. .. 1<br />

−g (i) . ..<br />

, g (i)<br />

k<br />

i+1<br />

.<br />

. .. ⎟<br />

⎠<br />

−g n (i)<br />

1<br />

:= a(i−1) ki<br />

a (i−1)<br />

ii<br />

.<br />

□<br />

121


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Mehrfache Anwendung von Elim<strong>in</strong>ationsmatrizen führt zu der Darstellung:<br />

R = A (n−1) = F (n−1) A (n−2) = F (n−1) F (n−2) A (n−3) = } F (n−1) {{ · · · F (1)<br />

} A (0) = F A. (4.1)<br />

=:F<br />

Matrizen mit der Gestalt der Elim<strong>in</strong>ationsmatrizen F (i) heißen Frobeniusmatrix. Es gilt<br />

der folgende Satz:<br />

Satz 4.22 (Frobeniusmatrix). Jede Frobeniusmatrix F (i) ∈ R n×n ist regulär und es gilt:<br />

⎛<br />

1<br />

F (i) :=<br />

⎜<br />

⎝<br />

⎞<br />

. .. 1<br />

.<br />

−g ..<br />

i+1 .<br />

. .. ⎟<br />

⎠<br />

−g n 1<br />

⎛<br />

1<br />

⇒ [F (i) ] −1 :=<br />

⎜<br />

⎝<br />

Für zwei Frobeniusmatrizen F (i1) und F (i2) mit i 1 < i 2 gilt:<br />

⎛<br />

1<br />

. .. 1<br />

−g (i 1)<br />

i 1 +1 1<br />

F (i1) F (i2) = F (i1) + F (i2) .<br />

− I =<br />

. ..<br />

. 1<br />

. −g (i 2)<br />

i 2 +1<br />

⎜<br />

⎝ .<br />

.<br />

−g (i 1)<br />

n −g (i 2)<br />

⎞<br />

. .. 1<br />

.<br />

g ..<br />

.<br />

i+1 .<br />

. .. ⎟<br />

⎠<br />

g n 1<br />

⎞<br />

. ..<br />

. .. ⎟<br />

⎠<br />

n 1<br />

Beweis: Nachrechnen!<br />

□<br />

Bei der Multiplikation von Frobeniusmatrizen ist darauf zu achten, dass <strong>die</strong>se nicht kommutativ<br />

ist. Es gilt:<br />

F (i 2) F (i 1) ≠ F (i 1) + F (i 2) − I für i 1 < i 2 !<br />

Aus dem Multiplikationsverhalten von Frobeniusmatrizen können wir für i 1 < i 2 < i 3 e<strong>in</strong>e<br />

e<strong>in</strong>fache Verallgeme<strong>in</strong>erung ableiten:<br />

F (i 1) F (i 2) F (i 3) = F (i 1) (F (i 2) + F (i 3<br />

− I)F (i 1) F (i 2) + F (i 1) F (i 3<br />

− F (i 1)<br />

= F (i 1) + F (i 2) − I + F (i 1) + F (i 3) − I − F (i 1)<br />

= F (i 1) + F (i 2) + F (i 3) − 2I.<br />

122


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Wir setzen nun (4.1) fort und mit F −(i) := [F (i) ] −1 gilt bei Verwendung von Satz 4.22<br />

zunächst, dass F als Produkt von regulären Matrizen selbst regulär ist. Also folgt:<br />

A = F −1 R = [F (n−1) · · · F (1) ] −1 R = } F −(1) · ·{{ · F −(n−1)<br />

} R.<br />

=:L<br />

Die Matrix L ist nach der Verallgeme<strong>in</strong>erung von Satz 4.22 e<strong>in</strong>e untere Dreiecksmatrix<br />

mit Diagonale<strong>in</strong>trägen 1:<br />

Wir fassen zusammen:<br />

⎛<br />

⎞<br />

1<br />

g (1)<br />

2 1<br />

g (1)<br />

L =<br />

3 g (2)<br />

3 1<br />

g (1)<br />

4 g (2)<br />

4 g (3)<br />

4 1<br />

⎜<br />

.<br />

⎝ . . .. . .. . .. ⎟<br />

⎠<br />

g n (1) g n (2) · · · · · · g n (n−1) 1.<br />

Satz 4.23 (LR-Zerlegung). Es sei A ∈ R n×n e<strong>in</strong>e quadratische, reguläre Matrix. Angenommen<br />

alle bei der Elim<strong>in</strong>ation auftretenden Diagonalelemente a (i−1)<br />

ii seien ungleich<br />

Null. Dann existiert <strong>die</strong> e<strong>in</strong>deutig bestimmte LR-Zerlegung <strong>in</strong> e<strong>in</strong>e rechte obere reguläre<br />

Dreiecksmatrix R ∈ R n×n sowie <strong>in</strong> e<strong>in</strong>e l<strong>in</strong>ke untere reguläre Dreiecksmatrix L ∈ R n×n<br />

mit Diagonale<strong>in</strong>trägen 1. Die Aufwand zur Durchführung der LR-Zerlegung beträgt<br />

arithmetische Operationen.<br />

1<br />

3 n3 + O(n 2 )<br />

Beweis: (i) E<strong>in</strong>deutigkeit. Angenommen, es existieren zwei LR-Zerlegungen<br />

A = L 1 R 1 = L 2 R 2 ↔ L −1<br />

2 L 1 = R 2 R −1<br />

1 .<br />

Das Produkt von Dreiecksmatrizen ist wieder e<strong>in</strong>e Dreiecksmatrix, also müssen beide Produkte<br />

Diagonalmatrizen se<strong>in</strong>. Das Produkt L −1<br />

2 L 1 hat nur E<strong>in</strong>sen auf der Diagonale, also<br />

folgt<br />

L −1<br />

2 L 1 = R 2 R1 −1 = I,<br />

und somit L 1 = L 2 und R 1 = R 2 .<br />

(ii) Durchführbarkeit. Jeder Schritt der Elim<strong>in</strong>ation ist durchführbar, solange nicht durch<br />

a (i−1)<br />

ii = 0 geteilt werden muss. Die Matrix F ist per Konstruktion regulär und somit<br />

existiert auch <strong>die</strong> Matrix L.<br />

(iii) Aufwand. Im i-ten Elim<strong>in</strong>ationsschritt<br />

A (i) = F (i) A (i−1) 123


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

s<strong>in</strong>d zunächst n − (i + 1) arithmetische Operationen zur Berechnung der g (i)<br />

j für j =<br />

i + 1, . . . , n notwendig. Die Matrix-Matrix Multiplikation betrifft nur alle Elemente a kl<br />

mit k > i sowie l > i. Es gilt:<br />

a (i)<br />

kl<br />

= a (i−1)<br />

kl<br />

+ g (i)<br />

k a(i) ik<br />

, k, l = i + 1, . . . , n.<br />

Hierfür s<strong>in</strong>d (n − (i + 1)) 2 arithmetische Operationen notwendig. Insgesamt summiert sich<br />

der Aufwand <strong>in</strong> den n − 1 Schritten zu:<br />

n−1 ∑ {<br />

N LR (n) = n − (i + 1) + (n − (i + 1))<br />

2 } n−1 ∑ {<br />

= n 2 − n − i(1 + 2n) + i 2} ,<br />

i=1<br />

i=1<br />

und mit den bekannten Summenformeln folgt:<br />

N LR (n) = (n − 1)n 2 − (n − 1)n −<br />

n(n − 1) (n − 1)n(2n − 1)<br />

(1 + 2n) + = 1 2<br />

6 3 n3 − 2n 2 + 5 3 n.<br />

□<br />

Die LR-Zerlegung kann nun zum Lösen von l<strong>in</strong>earen Gleichungssystemen verwendet werden:<br />

Algorithmus 4.24 (Lösen von l<strong>in</strong>earen Gleichungsystemen mit der LR-Zerlegung). Es<br />

sei A ∈ R n×n e<strong>in</strong>e reguläre Matrix, für welche <strong>die</strong> LR-Zerlegung existiert.<br />

1. Berechne <strong>die</strong> LR-Zerlegung A = LR <strong>in</strong> l<strong>in</strong>ke untere und rechte obere Dreiecksmatrix.<br />

2. Löse das Gleichungssystem Ax = b durch Vorwärts- und Rückwärtse<strong>in</strong>setzen:<br />

(i)<br />

Ly = b<br />

(ii) Rx = y.<br />

Die Vorwärtselim<strong>in</strong>ation läuft entsprechend der Rückwärtse<strong>in</strong>setzen <strong>in</strong> Algorithmus 4.20<br />

und gemäß Satz 4.21 benötigt sie O(n 2 ) Operationen. Das eigentliche Lösen e<strong>in</strong>es l<strong>in</strong>earen<br />

Gleichungsystems ist weit weniger aufwendig als das Erstellen der Zerlegung. In vielen<br />

Anwendungsproblemen, etwa bei der Diskretisierung von parabolischen Differentialgleichungen,<br />

müssen sehr viele Gleichungssysteme mit unterschiedlichen rechten Seiten aber<br />

identischen Matrizen h<strong>in</strong>tere<strong>in</strong>ander gelöst werden. Hier bietet es sich an, <strong>die</strong> Zerlegung<br />

nur e<strong>in</strong>mal zu erstellen und dann wiederholt anzuwenden.<br />

124


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Bemerkung 4.25 (Praktische Aspekte). Die Matrix L ist e<strong>in</strong>e l<strong>in</strong>ke untere Dreiecksmatrix<br />

mit E<strong>in</strong>sen auf der Diagonale. Die bekannten Diagonalelemente müssen demnach<br />

nicht gespeichert werden. Ebenso müssen <strong>die</strong> Nullelemente der Matrizen A (i) unterhalb<br />

der Diagonale nicht gespeichert werden. Es bietet sich an, <strong>die</strong> Matrizen L und R <strong>in</strong> der<br />

gleichen quadratischen Matrix zu speichern. In Schritt i gilt dann:<br />

⎛<br />

⎞<br />

a 11 a 12 a 13 · · · · · · · · · a 1n<br />

l 21 a (1)<br />

22 a (1)<br />

23<br />

.<br />

l 31 l 32 a (2)<br />

. .. 33<br />

.<br />

à (i) .<br />

=<br />

. . . . .. .<br />

. l i+1,i a (i)<br />

i+1,i+1 · · · a (i)<br />

i+1,n<br />

⎜<br />

. ⎝ .<br />

.<br />

.. . ⎟<br />

⎠<br />

l n1 l n2 · · · l n,i a (i)<br />

n,i+1 . . . a (i)<br />

nn<br />

Dabei s<strong>in</strong>d <strong>die</strong> fett gedruckten Werte <strong>die</strong> E<strong>in</strong>träge von L. Die Werte oberhalb der L<strong>in</strong>ie<br />

ändern sich im Verlaufe des Verfahrens nicht mehr und bilden bereits <strong>die</strong> E<strong>in</strong>träge L sowie<br />

R.<br />

Pivotierung Das Element a (i−1)<br />

ii wird das Pivot-Element genannt. Bisher musste <strong>die</strong>ses<br />

Element stets ungleich Null se<strong>in</strong>. Dies ist jedoch für reguläre Matrizen nicht zw<strong>in</strong>gend<br />

notwendig. Wir betrachten als Beispiel <strong>die</strong> Matrix<br />

⎛<br />

⎜<br />

1 4 2<br />

⎞<br />

⎟<br />

A := ⎝2 8 1⎠ .<br />

1 2 1<br />

Im ersten Schritt zur Erstellung der LR-Zerlegung ist a (0)<br />

11<br />

= 1 und es gilt:<br />

⎛ ⎞ ⎛ ⎞ ⎛<br />

1 0 0 1 4 2<br />

A (1) = F (1) ⎜ ⎟ ⎜ ⎟ ⎜<br />

1 4 2<br />

⎞<br />

⎟<br />

A = ⎝−2 1 0⎠<br />

⎝2 8 1⎠ = ⎝0 0 −3⎠ .<br />

−1 0 1 1 2 1 0 −2 −1<br />

An <strong>die</strong>ser Stelle bricht der Algorithmus ab, denn es gilt a (1)<br />

22 = 0. Wir könnten den Algorithmus<br />

jedoch mit der Wahl a (i)<br />

32 = −2 als neues Pivot-Element weiterführen. Dies geschieht<br />

systematisch durch E<strong>in</strong>führen e<strong>in</strong>er Pivotisierung. Im i-ten Schritt des Verfahrens wird<br />

zunächst e<strong>in</strong> geeignetes Pivot-Element a ki <strong>in</strong> der i-ten Spalte gesucht. Die k-te und i-te<br />

Zeile werden getauscht und <strong>die</strong> LR-Zerlegung kann nicht weiter durchgeführt werden. Das<br />

125


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Tauschen von k-ter und i-ter Zeile erfolgt durch Multiplikation mit e<strong>in</strong>er Pivot-Matrix:<br />

⎛<br />

⎞<br />

1<br />

. .. 1<br />

0 0 . . . 0 1<br />

0 1 0<br />

P ki :=<br />

. . .. .<br />

0 1 0<br />

1 0 · · · 0 0<br />

1<br />

⎜<br />

⎟<br />

⎝<br />

⎠<br />

. ..<br />

1<br />

Es gilt p ki<br />

jj = 1 für j ≠ k und j ≠ i sowie pki<br />

= pki ik<br />

Wir fassen e<strong>in</strong>ige Eigenschaften von P zusammen:<br />

= 1, alle anderen Elemente s<strong>in</strong>d Null.<br />

Satz 4.26 (Pivot-Matrizen). Es sei P = P kl <strong>die</strong> Pivot-Matrix mit Pii<br />

kl = 1 für i ≠ k, l<br />

und Pkl kl = Plk kl = 1. Die Anwendung P kl A von l<strong>in</strong>ks tauscht k-te und l-te Zeile von A, <strong>die</strong><br />

Anwendung AP kl von rechts tauscht k-te und l-te Spalte. Es gilt:<br />

P 2 = I ⇔ P −1 = P.<br />

Beweis: Übung.<br />

In Schritt i der LR-Zerlegung suchen wir nun zunächst das Pivot-Element:<br />

□<br />

Algorithmus 4.27 (Pivot-Suche). In Schritt i suche Index k ≥ i, so dass<br />

Bestimme <strong>die</strong> Pivot-Matrix als P (i) := P ki .<br />

Im Anschluss bestimmen wir A (i) als<br />

|a ki | = max<br />

j≥i |a ji|.<br />

A (i) = F (i) P (i) A (i−1) .<br />

Die Pivotisierung sorgt dafür, dass alle Elemente g (i)<br />

k<br />

= a (i−1)<br />

ki<br />

durch 1 beschränkt s<strong>in</strong>d. Insgesamt erhalten wir <strong>die</strong> Zerlegung:<br />

/a (i−1)<br />

ii<br />

von F (i) im Betrag<br />

R = A (n−1) = F (n−1) P (n−1) · · · F (1) P (1) A. (4.2)<br />

Die Pivot-Matrizen kommutieren nicht mit A oder den F (i) . Daher ist e<strong>in</strong> Übergang zur<br />

LR-Zerlegung nicht ohne weitere möglich. Wir def<strong>in</strong>ieren:<br />

˜F (i) := P (n−1) · · · P (i+1) F (i) P (i+1) · · · P (n−1) .<br />

126


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Die Matrix ˜F (i) entsteht durch mehrfache Zeilen- und Spaltenvertauschung von F (i) . Dabei<br />

werden nur Zeilen und Spalten j > i vertauscht. Die Matrix ˜F (i) hat <strong>die</strong> gleiche Besetzungsstruktur<br />

wie F (i) und <strong>in</strong>sbesondere nur E<strong>in</strong>sen auf der Diagonale. D.h, sie ist wieder<br />

e<strong>in</strong>e Frobeniusmatrix und Satz 4.22 gilt weiter. Es s<strong>in</strong>d lediglich <strong>die</strong> E<strong>in</strong>träge <strong>in</strong> der i-ten<br />

Spalte unterhalb der Diagonale permutiert. Für <strong>die</strong> Inverse gilt entsprechend:<br />

˜L (i) := [ ˜F (i) ] −1 = P (n−1) · · · P (i+1) L (i) P (i+1) · · · P (n−1) .<br />

Die gleichzeitige Vertauschung von Zeilen und Spalten lässt <strong>die</strong> Diagonalelemente unverändert.<br />

Die Matrix ˜L (i) ist wieder e<strong>in</strong>e Frobeniusmatrix, es werden nur <strong>die</strong> Elemente der<br />

Spalte l ij , i > j permutiert. Wir formen (4.2) durch geschicktes E<strong>in</strong>fügen von Permutationsmatrizen<br />

um:<br />

R = ˜F (n−1) ˜F (n−2) . . . ˜F (1) P } (n−1) {{ . . . P (1)<br />

} A<br />

=:P<br />

Diesen Prozess mache man sich anhand e<strong>in</strong>es e<strong>in</strong>fachen Beispiels klar:<br />

Mit ˜L (i) = [ ˜F (i) ] −1 gilt dann:<br />

R = F (3) P (3) F (2) P (2) F (1) P (1) A<br />

= F (3) P (3) F (2) P } (3) {{ P (3)<br />

} P (2) F (1) P } (2) P (3) {{ P (3) P (2)<br />

} P (1) A<br />

=I<br />

=I<br />

= F }{{}<br />

(3) P } (3) F {{ (2) P (3)<br />

} } P (3) P (2) F {{ (1) P (2) P (3)<br />

} P } (3) P {{ (2) P (1)<br />

} A<br />

= ˜F (3) = ˜F (2) = ˜F (1) =P<br />

˜L (1) (n−1)<br />

} · ·{{ · ˜L } R = P A.<br />

=: ˜L<br />

Da ˜L (i) wieder Frobeniusmatrizen s<strong>in</strong>d, gilt weiter mit Satz 4.22:<br />

˜L = ˜L (1) · · ·<br />

=<br />

n−1 ∑<br />

i=1<br />

˜L<br />

(n−1)<br />

˜L (i) − (n − 2)I<br />

= P (n−1) ( L (n−1) + P (n−1) ( L (n−2) + · · · + P (2) F (1) P (2)) . . . P (n−2)) P (n−1) − (n − 2)I.<br />

Beim Erstellen der LR-Zerlegung müssen also nicht nur <strong>die</strong> A (i) sondern auch <strong>die</strong> bisher<br />

berechneten L (i) permutiert werden.<br />

Wir fassen zusammen:<br />

Satz 4.28 (LR-Zerlegung mit Pivotisierung). Es sei A ∈ R n×n e<strong>in</strong>e reguläre Matrix. Es<br />

existiert e<strong>in</strong>e LR-Zerlegung<br />

P A = LR,<br />

wobei P e<strong>in</strong> Produkt von Pivot-Matrizen ist, L e<strong>in</strong>e untere Dreiecksmatrix mit Diagonale<strong>in</strong>trägen<br />

e<strong>in</strong>s und R e<strong>in</strong>e rechte obere Dreiecksmatrix. Die LR-Zerlegung ohne Pivotisierung<br />

P = I ist e<strong>in</strong>deutig, falls sie existiert.<br />

127


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Beweis: Übung.<br />

Die Pivotisierung <strong>die</strong>nt e<strong>in</strong>erseits dazu, <strong>die</strong> Durchführbarkeit der LR-Zerlegung sicherzustellen.<br />

Auf der anderen Seite kann durch geeignete Pivotisierung <strong>die</strong> Stabilität der<br />

Gauß-Elim<strong>in</strong>ation verbessert werden. Durch Wahl e<strong>in</strong>es Pivot-Elements a ki mit maximaler<br />

relativer Größe (bezogen auf <strong>die</strong> Zeile) kann <strong>die</strong> Gefahr der Auslöschung verr<strong>in</strong>gert<br />

werden.<br />

Beispiel 4.29 (LR-Zerlegung ohne Pivotierung). Es sei:<br />

⎛<br />

⎜<br />

2.3 1.8 1.0<br />

⎞ ⎛ ⎞<br />

1.2<br />

⎟ ⎜ ⎟<br />

A = ⎝1.4 1.1 −0.7⎠ , b = ⎝−2.1⎠ ,<br />

0.8 4.3 2.1<br />

0.6<br />

und <strong>die</strong> Lösung des l<strong>in</strong>earen Gleichungssystems Ax = b ist gegeben durch (Angabe mit<br />

fünfstelliger Genauigkeit):<br />

⎛ ⎞<br />

0.34995<br />

⎜ ⎟<br />

x ≈ ⎝−0.98024⎠ .<br />

2.1595<br />

Für <strong>die</strong> Matrix A gilt cond ∞ (A) = ‖A‖ ∞ ‖A −1 ‖ ∞ ≈ 7.2 · 1.2 ≈ 8.7. Die Aufgabe ist<br />

also gut konditioniert, e<strong>in</strong>e Fehlerverstärkung um höchstens e<strong>in</strong>e Stelle ist zu erwarten.<br />

Wir erstellen zunächst <strong>die</strong> LR-Zerlegung (dreistellige Rechnung). Dabei schreiben wir <strong>die</strong><br />

E<strong>in</strong>träge von L fettgedruckt <strong>in</strong> <strong>die</strong> Ergebnismatrix:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

⎛<br />

⎞<br />

1 0 0 1 0 0<br />

2.3 1.8 1.0<br />

F (1) ⎜<br />

= ⎝− 1.4 ⎟ ⎜<br />

⎟<br />

2.3<br />

1 0⎠ ≈ ⎝−0.609 1 0⎠ , [L (1) , A (1) ⎜<br />

⎟<br />

] ≈ ⎝0.609 0.0038 −1.31⎠<br />

− 0.8<br />

2.3<br />

0 1 −0.348 0 1<br />

0.348 3.67 1.75<br />

Im zweiten Schritt gilt:<br />

⎛<br />

F (2) ⎜<br />

1 0 0<br />

⎞ ⎛<br />

⎞<br />

1 0 0<br />

⎟ ⎜<br />

⎟<br />

= ⎝0 1 0⎠ ≈ ⎝0 1 0⎠ ,<br />

0 − 3.67<br />

0.0038<br />

1 0 −966 1<br />

⎛<br />

⎞<br />

2.3 1.8 1.0<br />

[L (2) L (1) , A (2) ⎜<br />

⎟<br />

] ≈ ⎝0.609 0.0038 −1.31⎠<br />

0.348 966 1270<br />

Die LR-Zerlegung ergibt sich als:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

1 0 0<br />

2.3 1.8 1.0<br />

⎜<br />

⎟ ⎜<br />

⎟<br />

L = ⎝0.609 1 0⎠ , R := ⎝ 0 0.0038 −1.31⎠<br />

0.348 966 1<br />

0 0 1270<br />

Wir lösen das Gleichungssystem nun durch Vorwärts- und Rückwärtse<strong>in</strong>setzen:<br />

Zunächst gilt:<br />

A˜x = L }{{} R˜x = b.<br />

=y<br />

y 1 = 1.2, y 2 = −2.1 − 0.609 · 1.2 ≈ −2.83, y 3 = 0.6 − 0.348 · 1.2 + 966 · 2.83 ≈ 2730.<br />

□<br />

128


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Und schließlich:<br />

˜x 3 = 2730<br />

1270 ≈ 2.15, ˜x −2.83 + 1.31 · 2.15<br />

1.2 + 1.8 · 3.55 − 2.15<br />

2 = ≈ −3.55, ˜x 1 = ≈ 2.37.<br />

0.0038<br />

2.3<br />

Für <strong>die</strong> Lösung ˜x gilt:<br />

⎛ ⎞<br />

2.37<br />

⎜ ⎟<br />

˜x = ⎝−3.55⎠ ,<br />

2.15<br />

‖˜x − x‖ 2<br />

‖x‖ 2<br />

≈ 1.4,<br />

d.h. e<strong>in</strong> Fehler von 140 Prozent, obwohl wir nur Rundungsfehler und noch ke<strong>in</strong>e gestörte<br />

E<strong>in</strong>gabe betrachtet haben.<br />

Dieses Negativbeispiel zeigt <strong>die</strong> Bedeutungder Pivotisierung. Im zweiten Schritt wurde als<br />

Pivot-Element mit 0.0038 e<strong>in</strong> Wert Nahe bei 0 gewählt. Hierdurch entstehen Werte von<br />

sehr unterschiedlicher Größenordnung <strong>in</strong> den Matrizen L und R. Dies wirkt sich ungünstig<br />

auf <strong>die</strong> weitere Stabilität aus.<br />

Beispiel 4.30 (LR-Zerlegung mit Pivotisierung). Wir setzen das Beispiel <strong>in</strong> Schritt 2 fort<br />

und suchen zunächst das Pivot-Element:<br />

⎛<br />

⎞<br />

⎛<br />

2.3 1.8 1.0<br />

[L (1) , A (1) ⎜<br />

⎟<br />

] = ⎝0.609 0.0038 −1.31⎠ , P (2) ⎜<br />

1 0 0<br />

⎞<br />

⎟<br />

= ⎝0 0 1⎠<br />

0.348 3.67 1.75<br />

0 1 0<br />

Also, pivotisiert:<br />

⎛<br />

⎞<br />

2.3 1.8 1.0<br />

[˜L (1) , Ã(1) ⎜<br />

⎟<br />

] = ⎝0.348 3.67 1.75 ⎠ .<br />

0.609 0.0038 −1.31<br />

Weiter folgt nun:<br />

⎛<br />

F (2) ⎜<br />

1 0 0<br />

⎞ ⎛<br />

⎟ ⎜<br />

1 0 0<br />

⎞<br />

⎟<br />

= ⎝0 1 0⎠ ≈ ⎝0 1 0⎠<br />

0 − 0.0038<br />

3.67<br />

1 0 −0.00104 1<br />

⎛<br />

⎞<br />

2.3 1.8 1.0<br />

[L (2) ˜L(1) , Ã(2) ⎜<br />

⎟<br />

] ≈ ⎝0.348 3.67 1.75 ⎠<br />

0.609 0.001040 −1.31<br />

Wir erhalten <strong>die</strong> Zerlegung:<br />

⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

1 0 0<br />

2.3 1.8 1.0<br />

⎜<br />

⎟ ⎜<br />

⎟ ⎜<br />

˜LR = P A, ˜L 1 0 0<br />

⎞<br />

⎟<br />

:= ⎝0.348 1 0⎠ , R := ⎝ 0 3.67 1.75 ⎠ , P := ⎝0 0 1⎠ .<br />

0.609 0.00104 1<br />

0 0 −1.31<br />

0 1 0<br />

Das L<strong>in</strong>eare Gleichungssystem lösen wir <strong>in</strong> der Form:<br />

P Ax = ˜L }{{} Rx = P b.<br />

=y<br />

129


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Zunächst gilt für <strong>die</strong> rechte Seite: ˜b = P b = (1.2, 0.6, −2.1) T<br />

˜Ly = ˜b ergibt<br />

und Vorwärtse<strong>in</strong>setzen <strong>in</strong><br />

y 1 = 1.2, y 2 = 0.6−0.348·1.2 ≈ 0.182, y 3 = −2.1−0.609·1.2−0.00104·0.182 ≈ −2.83.<br />

Als Näherung ˜x erhalten wir:<br />

mit e<strong>in</strong>em relativen Fehler<br />

⎛ ⎞<br />

0.35<br />

⎜ ⎟<br />

˜x = ⎝−0.98⎠<br />

2.16<br />

‖˜x − x‖ 2<br />

‖x‖ 2<br />

≈ 0.0002,<br />

also von nur 0.02% statt 140%.<br />

Die Beispiele zeigen, dass <strong>die</strong> berechnete LR-Zerlegung <strong>in</strong> praktischer Anwendung natürlich<br />

ke<strong>in</strong>e echte Zerlegung, sondern aufgrund von Rundungsfehlern nur e<strong>in</strong>e Näherung der<br />

Matrix A ≈ LR ist. Man kann durch Berechnung von LR leicht <strong>die</strong> Probe machen und<br />

den Fehler A − LR bestimmen.<br />

Die LR-Zerlegung ist e<strong>in</strong>es der wichtigsten direkten Verfahren zum Lösen von l<strong>in</strong>earen<br />

Gleichungssystemen. Der Aufwand zur Berechnung der LR-Zerlegung steigt allerd<strong>in</strong>gs mit<br />

dritter Ordnung sehr schnell. Selbst auf modernen Computern übersteigt <strong>die</strong> Laufzeit für<br />

große Gleichungssysteme schnell e<strong>in</strong>e s<strong>in</strong>nvolle Grenze:<br />

n Operationen Zeit<br />

100 300 000 30 µs<br />

1 000 300 · 10 6 30 ms<br />

10 000 300 · 10 9 30 s<br />

100 000 300 · 10 12 10 h<br />

1 000 000 300 · 10 15 1 Jahr<br />

Tabelle 4.1: Rechenzeit zum Erstellen der LR-Zerlegung e<strong>in</strong>er Matrix A ∈ R n×n auf e<strong>in</strong>em<br />

Rechner mit 10 GigaFLOPS.<br />

Bei der Diskretisierung von partiellen Differentialgleichungen treten Gleichungssysteme<br />

mit n = 10 6 ∼ 10 9 auf. Die Matrizen verfügen dann aber über Struktureigenschaften wie<br />

Symmetrie, oder über e<strong>in</strong> besonders dünnes Besetzungsmuster (<strong>in</strong> jeder Zeile s<strong>in</strong>d nur<br />

e<strong>in</strong>ige wenige ungleich Null). Die l<strong>in</strong>earen Gleichungsysteme, <strong>die</strong> bei der F<strong>in</strong>ite-Elemente<br />

Diskretisierung der Laplace-Gleichung (beschreibt <strong>die</strong> Ausdehnung e<strong>in</strong>er Membran) entstehen<br />

haben z.B. unabhäng<strong>in</strong>g von n nur 5 E<strong>in</strong>träge pro Zeile. Die so entstehenden l<strong>in</strong>earen<br />

Gleichungsysteme lassen sich bei effizienter Implementierung der LR-Zerlegung auch bei<br />

n = 1 000 000 <strong>in</strong> weniger als e<strong>in</strong>er M<strong>in</strong>ute lösen.<br />

130


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

4.2.3 LR-Zerlegung für diagonaldom<strong>in</strong>ante Matrizen<br />

Satz 4.28 besagt, dass <strong>die</strong> LR-Zerlegung für beliebige reguläre Matrizen mit Pivotierung<br />

möglich ist. Es gibt allerd<strong>in</strong>gs auch viele Matrizen, bei denen <strong>die</strong> LR-Zerlegung ohne<br />

Pivotisierung stabil durchführbar ist. Beispiele hierfür s<strong>in</strong>d positiv def<strong>in</strong>ite oder diagonaldom<strong>in</strong>ante<br />

Matrizen:<br />

Def<strong>in</strong>ition 4.31 (Diagonaldom<strong>in</strong>anz). E<strong>in</strong>e Matrix A ∈ R n×n heißt diagonaldom<strong>in</strong>ant,<br />

falls<br />

|a ii | ≥ ∑ |a ij |, i = 1, . . . , n.<br />

j≠i<br />

E<strong>in</strong>e diagonaldom<strong>in</strong>ante Matrix hat das betragsmäßig größte Element auf der Diagonalen,<br />

bei regulären Matrizen s<strong>in</strong>d <strong>die</strong> Diagonalelemente zudem ungleich Null.<br />

Satz 4.32 (LR-Zerlegung diagonaldom<strong>in</strong>anter Matrizen). Sei A ∈ R n×n e<strong>in</strong>e reguläre,<br />

diagonaldom<strong>in</strong>ante Matrix. Dann ist <strong>die</strong> LR-Zerlegung ohne Pivotierung durchführbar und<br />

alle auftretenden Pivot-Elemente a (i−1)<br />

ii s<strong>in</strong>d von Null verschieden.<br />

Beweis: Wir führen den Beweis über Induktion und zeigen, dass alle Untermatrizen A (i)<br />

kl>i<br />

wieder diagonaldom<strong>in</strong>ant s<strong>in</strong>d. Für e<strong>in</strong>e diagonaldom<strong>in</strong>ante Matrix gilt<br />

|a 11 | ≥ ∑ |a 1j | ≥ 0,<br />

j>1<br />

und da A regulär ist auch zw<strong>in</strong>gend |a 11 | > 0. Der erste Schritt der LR-Zerlegung ist<br />

durchführbar.<br />

Es sei nun A e<strong>in</strong>e reguläre Matrix, wir wollen zeigen, dass <strong>die</strong> Matrix à nach e<strong>in</strong>em<br />

Elim<strong>in</strong>ationsschritt e<strong>in</strong>e diagonaldom<strong>in</strong>ante Untermatrix Ãij>1 hat. Für deren E<strong>in</strong>träge<br />

ã ij gilt:<br />

ã ij = a ij − a i1a 1j<br />

, i, j = 1, . . . , n.<br />

a 11<br />

Also gilt für <strong>die</strong> Untermatrix:<br />

n∑<br />

n∑<br />

i = 2, . . . , n : |ã ij | ≤ |a ij | −|a i1 | + |a i1|<br />

n∑<br />

|a 1j | − |a i1|<br />

|a 11 | |a 11 | |a 1i|<br />

j=2, j≠i<br />

j=1, j≠i<br />

} {{ }<br />

≤|a ii |<br />

Die resultierende Matrix ist wieder diagonaldom<strong>in</strong>ant.<br />

j=2<br />

} {{ }<br />

≤|a 11 |<br />

≤ |a ii | − |a i1|<br />

|a 11 | |a 1i| ≤ |a ii − a i1<br />

a 11<br />

a 1i | = |ã ii |.<br />

Die Def<strong>in</strong>ition der Diagonaldom<strong>in</strong>anz sche<strong>in</strong>t zunächst willkürlich. Es zeigt sich aber, dass<br />

viele Matrizen, <strong>die</strong> <strong>in</strong> Anwendungen, zum Beispiel bei der Diskretisierung von partiellen<br />

Differentialgleichungen auftreten, <strong>die</strong>se Eigenschaft erfüllen. Zudem ist <strong>die</strong> Diagonaldom<strong>in</strong>anz<br />

e<strong>in</strong>er Matrix sehr e<strong>in</strong>fach zu überprüfen und daher e<strong>in</strong> gutes Kriterium um <strong>die</strong><br />

Notwendigkeit der Pivotierung abzuschätzen.<br />

□<br />

131


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

4.2.4 Die Cholesky-Zerlegung für positiv def<strong>in</strong>ite Matrizen<br />

E<strong>in</strong>e wichtige Klasse von Matrizen s<strong>in</strong>d <strong>die</strong> positiv def<strong>in</strong>iten Matrizen, siehe Def<strong>in</strong>ition 4.11<br />

sowie Satz 4.12. Es zeigt sich, dass für symmetrisch positiv def<strong>in</strong>ite Matrizen A ∈ R n×n e<strong>in</strong>e<br />

symmetrische Zerlegung A = ˜L˜L T <strong>in</strong> e<strong>in</strong>e untere Dreiecksmatrix ˜L erstellt werden kann.<br />

Diese ist immer ohne Pivotisierung durchführbar und wird Cholesky-Zerlegung genannt.<br />

Der Aufwand zum Erstellen der Cholesky-Zerlegung ist erwartungsgemäß nur halb so groß<br />

wie der Aufwand zum Erstellen der LR-Zerlegung.<br />

Satz 4.33 (LR-Zerlegung e<strong>in</strong>er positiv def<strong>in</strong>iten Matrix). Die Matrix A ∈ R n×n sei symmetrisch,<br />

positiv def<strong>in</strong>it. Dann existiert e<strong>in</strong>e e<strong>in</strong>deutige LR-Zerlegung ohne Pivotierung.<br />

Beweis: Wir gehen ähnlich vor wie bei diagonaldom<strong>in</strong>anten Matrizen und führen den<br />

Beweis per Induktion. Da zu sei A e<strong>in</strong>e positiv def<strong>in</strong>ite, symmetrische Matrix. E<strong>in</strong> Schritt<br />

der LR-Zerlegung ist durchführbar, da laut Satz 4.12 gilt a 11 > 0. Wir zeigen, dass <strong>die</strong><br />

Teilmatrix Ãij>1 nach e<strong>in</strong>em Elim<strong>in</strong>ationsschritt wieder symmetrisch positiv def<strong>in</strong>it ist.<br />

Es gilt aufgrund der Symmetrie von A:<br />

ã ij = a ij − a 1ja i1<br />

a 11<br />

= a ji − a 1ia j1<br />

a 11<br />

= ã ji ,<br />

d.h., Ã ij>1 ist symmetrisch.<br />

Nun sei x ∈ R n e<strong>in</strong> Vektor x = (x 1 , . . . , x n ) mit x 2 , . . . , x n beliebig. Den E<strong>in</strong>trag x 1 werden<br />

wir im Laufe des Beweises spezifizieren. Es gilt wegen der positiven Def<strong>in</strong>itheit von A:<br />

0 < (Ax, x) = ∑ a ij x i x j = a 11 x 2 ∑ n n∑<br />

1 + 2x 1 a 1j x j + a ij x i x j<br />

ij<br />

j=2<br />

ij=2<br />

= a 11 x 2 ∑ n n∑<br />

(<br />

1 + 2x 1 a 1j x j + a ij − a )<br />

1ja i1<br />

n∑<br />

x i x j +<br />

a<br />

j=2<br />

ij=2 } {{ 11<br />

} ij=2<br />

=ã ij<br />

⎛<br />

⎞<br />

= a 11<br />

⎝x 2 1 ∑ n n∑<br />

1 + 2x 1 a 1j a i1 x i x j ⎠ +<br />

a 11<br />

= a 11<br />

⎛<br />

⎝x 1 + 1<br />

a 11<br />

n ∑<br />

j=2<br />

a 1j x j + 1<br />

a 2 11<br />

j=2<br />

⎞2<br />

a 1j x j ⎠<br />

Die positive Def<strong>in</strong>itheit von Ãij>1 folgt bei der Wahl<br />

x 1 = − 1<br />

a 11<br />

ij=2<br />

n∑<br />

+ ã ij x i x j .<br />

ij=2<br />

n ∑<br />

j=2<br />

a 1j x j .<br />

a 1j a i1<br />

x i x j<br />

a 11<br />

n∑<br />

ã ij x i x j<br />

ij=2<br />

□<br />

132


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Für e<strong>in</strong>e symmetrisch positiv def<strong>in</strong>ite Matrix A ist <strong>die</strong> LR-Zerlegung immer ohne Pivotisierung<br />

durchführbar. Dabei treten nur positive Pivot-Elemente a (i−1)<br />

ii auf. Das heißt, <strong>die</strong><br />

Matrix R hat nur positive Diagonalelemente r ii > 0. Es sei D ∈ R n×n <strong>die</strong> Diagonalmatrix<br />

mit d ii = r ii > 0. Dann gilt:<br />

A = LR = LD ˜R,<br />

mit e<strong>in</strong>er rechten oberen Dreiecksmatrix ˜R, welche nur E<strong>in</strong>sen auf der Diagonalen hat. Da<br />

A symmetrisch ist folgt:<br />

A = LR = LD ˜R = ˜R T DL T = A T .<br />

Aufgrund der E<strong>in</strong>deutigkeit der LR-Zerlegung gilt L = ˜R T und R = DL T . Da D nur<br />

positive Diagonale<strong>in</strong>träge hat existiert <strong>die</strong> Matrix √ D und wir schreiben:<br />

Wir fassen zusammen:<br />

A = LR = LD 1 2<br />

} {{ } D − 1 2<br />

} {{ R }<br />

=: ˜L<br />

= ˜L T .<br />

Satz 4.34 (Cholesky-Zerlegung). Es sei A ∈ R n×n e<strong>in</strong>e symmetrisch, positiv def<strong>in</strong>ite<br />

Matrix. Dann existiert <strong>die</strong> Cholesky-Zerlegung:<br />

A = ˜L˜L T ,<br />

<strong>in</strong> e<strong>in</strong>e untere l<strong>in</strong>ke Dreiecksmatrix ˜L. Sie kann ohne Pivotierung <strong>in</strong><br />

n 3<br />

6 + O(n2 )<br />

arithmetische Operationen durchgeführt werden.<br />

Anstelle e<strong>in</strong>es Beweises geben wir e<strong>in</strong>en effizienten Algorithmus zur direkten Berechnung<br />

der Cholesky-Zerlegung an. Hier kann der notwendige Aufwand leicht abgelesen werden:<br />

Algorithmus 4.35 (Direkte Berechnung der Cholesky-Zerlegung). Gegeben sei e<strong>in</strong>e symmetrisch,<br />

positiv def<strong>in</strong>ite Matrix A ∈ R n×n . Dann s<strong>in</strong>d <strong>die</strong> E<strong>in</strong>träge l ij , j ≤ i der Cholesky-<br />

Zerlegung bestimmt durch <strong>die</strong> Vorschrift:<br />

j = 1, . . . , n :<br />

(i) l 11 = √ j−1 ∑<br />

a 11 , bzw. l jj = √ ajj −<br />

(ii)<br />

l ij = l −1<br />

jj<br />

⎛<br />

j−1 ∑<br />

⎝a ij −<br />

k=1<br />

ljk<br />

2<br />

k=1<br />

l ik l jk<br />

⎞<br />

⎠ , i = j + 1, . . . , n.<br />

Der Algorithmus kann iterativ aus der Beziehung ˜L˜L T = A hergeleitet werden. Es gilt:<br />

a ij =<br />

m<strong>in</strong>{i,j}<br />

∑<br />

k=1<br />

l ik l jk .<br />

133


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Wir gehen Spaltenweise j = 1, 2, . . . vor. Das heißt, L sei für alle Spalten bis j −1 bekannt.<br />

Dann gilt <strong>in</strong> Spalte j zunächst für das Diagonalelement:<br />

a jj =<br />

j∑<br />

lkk 2 j−1 ∑<br />

⇒ l jj = √ ajj − ljk 2 .<br />

k=1<br />

Ist das j-te Diagonalelement l jj bekannt, so gilt für i > j:<br />

a ij =<br />

j∑<br />

j−1 ∑<br />

l ik l jk ⇒ l ij l jj = a ij −<br />

k=1<br />

k=1<br />

k=1<br />

l ik l jk ⇒ l ij = l −1<br />

jj<br />

⎛<br />

j−1 ∑<br />

⎝a ij −<br />

k=1<br />

l ik l jk<br />

⎞<br />

⎠ .<br />

4.2.5 Dünn besetzte Matrizen und Bandmatrizen<br />

Der Aufwand zum Erstellen der LR-Zerlegung wächst sehr schnell mit der Größe der<br />

Matrix an. In vielen Anwendungsproblemen treten dünn besetzte Matrizen auf:<br />

Def<strong>in</strong>ition 4.36 (Dünn besetzte Matrix). E<strong>in</strong>e Matrix A ∈ R n×n heißt dünn besetzt,<br />

falls <strong>die</strong> Matrix A nur O(n) von Null verschiedene E<strong>in</strong>träge besitzt. Das Besetzungsmuster<br />

(Sparsity Pattern) B ⊂ {1, . . . , n} 2 von A ist <strong>die</strong> Menge aller Indexpaare (i, j) mit a ij ≠ 0.<br />

Andere, weniger strenge Def<strong>in</strong>itionen von dünn besetzten Matrizen verlangen, dass <strong>die</strong><br />

Matrix O(n log(n)) oder auch O(n √ n) beziehungsweise e<strong>in</strong>fach o(n 2 ) von Null verschiedene<br />

E<strong>in</strong>träge besitzt.<br />

E<strong>in</strong> Beispiel für dünn besetzte Matrizen s<strong>in</strong>d Tridiagonalmatrizen der Form<br />

A ∈ R n×n , a ij = 0 ∀|i − j| > 1.<br />

Für Tridiagonalmatrizen kann <strong>die</strong> LR-Zerlegung sehr effizient durchgeführt werden:<br />

Satz 4.37 (Thomas-Algorithmus). Es sei A ∈ R n×n e<strong>in</strong>e reguläre Tridiagonalmatrix. Die<br />

LR-Zerlegung ist wieder e<strong>in</strong>e Tridiagonalmatrix und kann <strong>in</strong> O(n) Operationen durchgeführt<br />

werden.<br />

Beweis: Übung.<br />

□<br />

E<strong>in</strong>e Verallgeme<strong>in</strong>erung von Tridiagonalsystemen s<strong>in</strong>d <strong>die</strong> Bandmatrizen:<br />

Def<strong>in</strong>ition 4.38 (Bandmatrix). E<strong>in</strong>e Matrix A ∈ R n×n heißt Bandmatrix mit Bandbreite<br />

m ∈ N, falls:<br />

a ij = 0 ∀|i − j| > m.<br />

E<strong>in</strong>e Bandmatrix hat höchstens n(2m + 1) von Null verschiedene E<strong>in</strong>träge.<br />

134


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Es zeigt sich, dass <strong>die</strong> LR-Zerlegung e<strong>in</strong>er Bandmatrix wieder e<strong>in</strong>e Bandmatrix ist und<br />

daher effizient durchgeführt werden kann.<br />

Satz 4.39 (LR-Zerlegung e<strong>in</strong>er Bandmatrix). Es sei A ∈ R n×n e<strong>in</strong>e Bandmatrix mit<br />

Bandbreite m. Die LR-Zerlegung (ohne Permutierung):<br />

ist wieder e<strong>in</strong>e Bandmatrix, d.h.:<br />

LR = A,<br />

L ij = R ij = 0 ∀|i − j| > m,<br />

und kann <strong>in</strong><br />

Operationen durchgeführt werden.<br />

O(nm 2 )<br />

Beweis: Wir zeigen <strong>in</strong>duktiv, dass <strong>die</strong> entstehenden Elim<strong>in</strong>ationsmatrizen Ãij>1 wieder<br />

Bandmatrizen s<strong>in</strong>d. Es gilt:<br />

ã ij = a ij − a 1ja i1<br />

a 11<br />

, i, j = 2, . . . , n.<br />

Es sei nun |i − j| > m. Dann ist a ij = 0. Ebenso müssen a 1j = a i1 = 0 se<strong>in</strong>, da 1 ≤ i, j.<br />

Zur Aufwandsberechnung vergleiche den Beweis zu Satz 4.23. Im Fall e<strong>in</strong>er Bandmatrix<br />

müssen <strong>in</strong> Schritt i der Elim<strong>in</strong>ation nicht mehr (n − i − 1) 2 arithmetische Operationen<br />

sondern höchstens m 2 arithmetische Operationen durchgeführt werden. Ebenso müssen<br />

nur m Elemente der Frobeniusmatrix zur Reduktion bestimmt werden. Insgesamt ergibt<br />

sich:<br />

n∑<br />

(m + m 2 ) = nm 2 + O(nm).<br />

i=1<br />

Der Unterschied, e<strong>in</strong>e LR-Zerlegung für e<strong>in</strong>e voll besetzte Matrix und e<strong>in</strong>e Bandmatrix<br />

durchzuführen ist enorm. Zur Diskretisierung der Laplace-Gleichung mit F<strong>in</strong>iten Differenzen<br />

müssen l<strong>in</strong>eare Gleichungssysteme mit der sogenannten Modellmatrix gelöst werden:<br />

⎛<br />

⎞ ⎛<br />

⎞⎫<br />

A m −I m 0 · · · 0<br />

4 −1 0 · · · 0<br />

−I m A m −I m .<br />

−1 4 −1 .<br />

A =<br />

. 0 −I .. . .. m 0<br />

, A m =<br />

. 0 −1 .. . ⎪⎬<br />

.. 0<br />

m,<br />

⎜<br />

.<br />

⎝ .<br />

.. . .. ⎟ ⎜ . −Im ⎠ ⎝ . .. . .. ⎟ −1 ⎠<br />

⎪⎭<br />

0 · · · 0 −I m A m 0 · · · 0 −1 4<br />

Die Matrix A ∈ R n×n hat Bandbreite m = √ n. In Tabelle 4.2 geben wie <strong>die</strong> notwendigen<br />

Rechenzeiten zum Erstellen der LR-Zerlegung auf aktueller Hardware an. Man vergleiche<br />

mit Tabelle 4.1.<br />

□<br />

135


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

n Operationen Zeit<br />

100 10 000 1 µs<br />

1 000 10 6 100 µs<br />

10 000 10 8 10 ms<br />

100 000 10 10 1 s<br />

1 000 000 10 12 2 m<strong>in</strong><br />

Tabelle 4.2: Rechenzeit zum Erstellen der LR-Zerlegung e<strong>in</strong>er Bandmatrix A ∈ R n×n mit<br />

Bandbreite m = √ n auf e<strong>in</strong>em Rechner mit 10 GigaFLOPS.<br />

Die Modellmatrix ist e<strong>in</strong>e Bandmatrix mit Bandbreite m = √ n, hat aber <strong>in</strong> jeder Zeile<br />

neben dem Diagonalelement höchsten 4 von Null verschiedene E<strong>in</strong>träge a i,i±i und a i,i±m .<br />

Bei so dünn besetzten Matrizen stellt sich <strong>die</strong> Frage, ob <strong>die</strong> LR-Zerlegung, also <strong>die</strong> Matrizen<br />

L und R das gleiche dünne Besetzungsmuster haben. Es zeigt sich jedoch, dass <strong>die</strong> LR-<br />

Zerlegung e<strong>in</strong>er dünn besetzten Bandmatrix im Allgeme<strong>in</strong>en selbst e<strong>in</strong>e dicht besetzte<br />

Bandmatrix ist. Aus der dünnen Besetzungsstruktur kann ke<strong>in</strong> Nutzen gezogen werden.<br />

Der Aufwand zur Berechnung der LR-Zerlegung e<strong>in</strong>er dünn besetzten Matrix hängt wesentlich<br />

von der Sortierung, also der Pivotierung, der Matrix ab. Wir betrachten hierzu<br />

e<strong>in</strong> e<strong>in</strong>faches Beispiel:<br />

Beispiel 4.40 (LR-Zerlegung dünn besetzter Matrix). Wir betrachten <strong>die</strong> beiden Matrizen:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

1 2 3 4<br />

1 0 0 4<br />

2 1 0 0<br />

A 1 := ⎜<br />

⎟<br />

⎝3 0 1 0⎠ , A 0 1 0 3<br />

2 := ⎜<br />

⎟<br />

⎝0 0 1 2⎠<br />

4 0 0 1<br />

4 3 2 1<br />

Die beiden Matrizen gehen durch simultane Vertauschen der ersten und vierten, sowie<br />

zweiten und dritten Zeile und Spalte ause<strong>in</strong>ander hervor. Die LR-Zerlegung der Matrix A 1<br />

(ohne Permutierung) lautet:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

1 0 0 0 1 2 3 4<br />

2 1 0 0<br />

L 1 = ⎜<br />

⎟<br />

⎝3 2 1 0⎠ R 0 −3 −6 −8<br />

1 = ⎜<br />

⎟<br />

⎝0 0 4 4 ⎠ ,<br />

4<br />

8<br />

3<br />

1 1<br />

0 0 0<br />

7<br />

3<br />

und für <strong>die</strong> Matrix A 2 erhalten wie (wieder ohne Pivotierung):<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

1 0 0 0 1 0 0 4<br />

0 1 0 0<br />

L 2 = ⎜<br />

⎟<br />

⎝0 0 1 0⎠ R 0 1 0 3<br />

2 = ⎜<br />

⎟<br />

⎝0 0 1 2 ⎠ .<br />

4 3 2 1 0 0 0 −28<br />

Obwohl beide Matrizen bis auf Zeilen und Spaltentausch das gleiche l<strong>in</strong>eare Gleichungssystem<br />

beschreiben, haben <strong>die</strong> LR-Zerlegungen e<strong>in</strong> gänzlich unterschiedliches Besetzungsmuster:<br />

<strong>die</strong> LR-Zerlegung von Matrix A 1 ist voll besetzt, während <strong>die</strong> LR-Zerlegung zu Matrix<br />

A 2 mit dem gleichen dünnen Besetzungsmuster auskommt wie <strong>die</strong> Matrix A 2 selbst.<br />

136


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

Dieses Beispiel lässt sich auf <strong>die</strong> entsprechende n × n-Matrix verallgeme<strong>in</strong>ern. In Fall<br />

1 s<strong>in</strong>d n 2 E<strong>in</strong>träge zum Speichern der LR-Zerlegung notwendig, <strong>in</strong> Fall 2 nur 3n. Für<br />

n ≫ 1 000 ist <strong>die</strong>ser Unterschied entscheidend.<br />

Dünn besetzte Matrizen treten <strong>in</strong> der Anwendung oft auf, etwa bei der Diskretisierung von<br />

Differentialgleichungen, aber auch bei der Berechnung von kubischen Spl<strong>in</strong>es. Damit <strong>die</strong><br />

LR-Zerlegung aus der dünnen Besetzungsstruktur Nutzen ziehen kann, muss <strong>die</strong> Matrix<br />

entsprechend permutiert (man sagt hier sortiert) se<strong>in</strong>. Werden Nulle<strong>in</strong>träge <strong>in</strong> A <strong>in</strong> der<br />

LR-Zerlegung überschrieben, so spricht man von fill-<strong>in</strong>. Die aktuelle Forschung zur Weiterentwicklung<br />

der LR-Zerlegung befasst sich weniger mit der Berechnung der LR-Zerlegung<br />

selbst, als mit effizienten Sortierverfahren zur Reduktion der fill-<strong>in</strong>s. Wir wissen, dass <strong>die</strong><br />

LR-Zerlegung e<strong>in</strong>er Bandmatrix mit Bandbreite m wieder e<strong>in</strong>e (voll besetzte) Bandmatrix<br />

mit Bandbreite m ist und <strong>in</strong> O(nm 2 ) Operationen durchgeführt werden kann. E<strong>in</strong>e<br />

Idee zur Sortierung der Matrix A besteht nun dar<strong>in</strong>, <strong>die</strong> E<strong>in</strong>träge so anzuordnen, dass <strong>die</strong><br />

sortierte Matrix e<strong>in</strong>e Bandmatrix mit möglichst dünner Bandbreite ist.<br />

E<strong>in</strong> bekanntes Verfahren ist der Cuthill-McKee-Algorithmus. Dieser erstellt e<strong>in</strong>e Sortierung<br />

{i 1 , i 2 , . . . , i n } der n Indizes, so dass mite<strong>in</strong>ander verbundene Indizes nahe beie<strong>in</strong>ander<br />

stehen. Zur Herleitung des Verfahrens benötigen wie e<strong>in</strong>ige Begriffe. Es sei A ∈ R n×n<br />

e<strong>in</strong>e dünn besetzte Matrix mit Besetzungsmuster B ⊂ {1, . . . , n} 2 . Dabei gehen wir der<br />

E<strong>in</strong>fachheit davon aus, dass B symmetrisch ist. Aus (i, j) ∈ B folgt (j, i) ∈ B. Zu e<strong>in</strong>em<br />

Index i ∈ {1, . . . , n} sei N (i) <strong>die</strong> Menge aller mit i verbundenen Indizes:<br />

N (i) := {j ∈ {1, . . . n} : (i, j) ∈ B},<br />

Und für e<strong>in</strong>e beliebige Menge N ⊂ {1, . . . , n} bezeichnen wir mit #N <strong>die</strong> Menge der<br />

Elemente <strong>in</strong> N, d.h. mit #N (i) <strong>die</strong> Anzahl der Nachbarn von i.<br />

Der Algorithmus füllt schrittweise e<strong>in</strong>e Indexliste I = (i 1 , i 2 , . . . ) bis alle Indizes 1, . . . , n<br />

e<strong>in</strong>sortiert s<strong>in</strong>d. Wir starten mit dem Index I = (i 1 ), welcher <strong>die</strong> ger<strong>in</strong>gste Zahl von<br />

Nachbarn #N (i 1 ) ≤ #N (j), ∀j besitzt. Im Anschluss fügen wir <strong>die</strong> Nachbarn j ∈ N (i 1 )<br />

von i 1 h<strong>in</strong>zu, <strong>in</strong> der Reihenfolge der jeweiligen Zahl von Nachbarn. Auf <strong>die</strong>se Weise hangelt<br />

sich der Algorithmus von Nachbar zu Nachbar und arbeitet <strong>die</strong> Besetzungsstruktur der<br />

Matrix ab bis alle Indizes zur Liste h<strong>in</strong>zugefügt wurden.<br />

Bei der genauen Def<strong>in</strong>ition des Algorithmus s<strong>in</strong>d noch e<strong>in</strong>ige Sonderfälle zu betrachten, so<br />

dass der Algorithmus auch wirklich term<strong>in</strong>iert und alle Indizes f<strong>in</strong>det:<br />

137


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Algorithmus 4.41 (Cuthill-McKee). Es sei A ∈ R n×n e<strong>in</strong>e dünn besetzte Matrix mit<br />

symmetrischem Besetzungsmuster B ∈ (i, j). Starte mit leerer Indexmenge I = (·) und<br />

iteriere für k = 1, . . . , n:<br />

(0) Stopp, falls <strong>die</strong> Indexmenge I bereits n Elemente besitzt.<br />

(1) Falls Indexmenge I nur k − 1 Elemente besitzt, bestimme Indexelement i k als (noch<br />

nicht verwendeter) Index mit m<strong>in</strong>imaler Nachbarzahl:<br />

i k = arg<br />

m<strong>in</strong><br />

j∈{1,...,n}\I<br />

#N (j).<br />

(2) Erstelle Liste aller Nachbarn von i k , welche noch nicht <strong>in</strong> I enthalten s<strong>in</strong>d:<br />

Falls N k = ∅, Neustart mit k + 1.<br />

N k := N (i k ) \ I.<br />

(3) Sortiere Liste N k aufsteigend nach Anzahl von Nachbarn:<br />

N k = {s k 1, s k 2, . . . },<br />

#N (s k i ) ≤ #N (s k i+1).<br />

Füge Indizes {s k 1 , sk 2 , . . . } <strong>in</strong> <strong>die</strong>ser Reihenfolge zu Liste I h<strong>in</strong>zu.<br />

Wir betrachten zur Veranschaulichung e<strong>in</strong> Beispiel:<br />

Beispiel 4.42 (Cuthill-McKee). Es sei e<strong>in</strong>e Matrix A ∈ R 8×8 mit folgendem Besetzungsmuster<br />

gegeben:<br />

⎛<br />

⎞<br />

∗ ∗ ∗<br />

∗ ∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

A :=<br />

∗<br />

∗ ∗ ∗ ∗<br />

∗<br />

∗<br />

⎜<br />

⎟<br />

⎝ ∗ ∗ ∗ ⎠<br />

∗ ∗ ∗ ∗<br />

Index N(i) #N(i)<br />

1 1,2,8 3<br />

2 1,2,5,6,8 5<br />

3 3,5,7,8 4<br />

4 4 1<br />

5 2,3,5,7 4<br />

6 2,6 2<br />

7 3,5,7 3<br />

8 1,2,3,8 4<br />

Schritt k = 1: (1) Die Indexliste I ist leer. Der Index 4 hat nur e<strong>in</strong>en Nachbarn (sich selbst), d.h.<br />

i 1 = 4, I = (4).<br />

(2) Für den Index 4 gilt N 1 = N (4) \ I = ∅, d.h. weiter mit k = 2.<br />

Schritt k = 2: (1) Die Indexliste hat nur k − 1 = 1 Element. Von den verbliebenden Indizes hat<br />

Index 6 <strong>die</strong> m<strong>in</strong>imale Zahl von zwei Nachbarn, d.h.<br />

i 2 = 6, I = (4, 6).<br />

138


4.2 Lösungsmethoden für l<strong>in</strong>eare Gleichungssysteme<br />

(2) Es gilt N 2 = N (6) \ I = {2, 6} \ {4, 6} = {2}.<br />

(3) E<strong>in</strong> e<strong>in</strong>zelnes Element ist natürlich sortiert, d.h.<br />

i 3 = 2, I = (4, 6, 2)<br />

Schritt k = 3: (1) Diese Schritt greift nicht, da I bereits 3 Elemente besitzt, es ist i 3 = 2.<br />

(2) Es gilt N 3 = N (2) \ I = {1, 2, 5, 6, 8} \ {4, 6, 2} = {1, 5, 8}.<br />

(3) Es gilt #N(1) = 3, #N(5) = 4 und #N(8) = 4, d.h. wir fügen sortiert h<strong>in</strong>zu:<br />

i 4 = 1, i 5 = 5, i 6 = 8, I = (4, 6, 2, 1, 5, 8).<br />

Schritt k = 4: (1) I hat mehr als 4 Elemente, d.h. i 4 = 1.<br />

(2) Es ist N 4 = N (1) \ I = {1, 2, 8} \ {4, 6, 2, 1, 5, 8} = ∅. Daher weiter mit k = 5<br />

Schritt k = 5: (1) I hat genug Elemente, i 5 = 5.<br />

(2) Es ist N 5 = N (5) \ I = {2, 3, 5, 7} \ {4, 6, 2, 1, 5, 8} = {3, 7}<br />

(3) Es gilt #N (3) = 4 und #N (7) = 3, d.h. Index 7 wird zuerst angefügt<br />

i 7 = 7, i 8 = 3, I = (4, 6, 2, 1, 5, 8, 7, 3).<br />

Wir erhalten <strong>die</strong> Sortierung:<br />

1 → 4, 2 → 6, 3 → 2, 4 → 1, 5 → 5, 6 → 8, 7 → 7, 8 → 3.<br />

Wir erstellen <strong>die</strong> sortiere Matrix à gemäß ã kj = a ik i l<br />

:<br />

4 6 2 1 5 8 3 7<br />

⎛<br />

⎞<br />

∗ 4<br />

∗ ∗ 6<br />

∗ ∗ ∗ ∗ ∗ 2<br />

A :=<br />

∗ ∗ ∗ 1<br />

∗ ∗ ∗ ∗ 5<br />

⎜ ∗ ∗ ∗ ∗⎟<br />

8<br />

⎝<br />

∗ ∗ ∗⎠<br />

7<br />

∗ ∗ ∗ ∗ 3<br />

Die so sortierte Matrix ist e<strong>in</strong>e Bandmatrix mit Bandbreite m = 4.<br />

139


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Abbildung 4.1: Besetzungsstruktur e<strong>in</strong>er dünn besetzten Matrix A ∈ R 1089×1089 mit <strong>in</strong>sgesamt<br />

9 409 von Null verschiedenen E<strong>in</strong>trägen. L<strong>in</strong>ks: vor Sortierung, Mitte:<br />

Cuthill-McKee Algorithmus und rechts: nach Sortierung mit e<strong>in</strong>em Multi-<br />

Fronten-Verfahren aus [4].<br />

Die meisten Verfahren basieren auf Methoden der Graphentheorie. Der Cuthill-McKee<br />

Algorithmus sucht e<strong>in</strong>e Permutierung des Besetzungsmusters, so dass eng benachbarte Indizes<br />

auch <strong>in</strong> der Reihenfolge nahe beie<strong>in</strong>ander stehen. Andere Methoden versuchen den<br />

durch das Besetzungsmuster aufgespannten Graphen möglichst <strong>in</strong> Teilgraphen zu zerlegen.<br />

Diese Teilgraphen entsprechen Blöcken <strong>in</strong> der Matrix A. Die anschließende LR-Zerlegung<br />

erzeugt dann voll besetzte, dafür kle<strong>in</strong>e Blöcke. Die e<strong>in</strong>zelnen Blöcke s<strong>in</strong>d nur schwach<br />

gekoppelt. E<strong>in</strong> Vorteil <strong>die</strong>ser Sortierung ist <strong>die</strong> Möglichkeit, effiziente Parallelisierungsverfahren<br />

für <strong>die</strong> e<strong>in</strong>zelnen Blöcke zu verwenden.<br />

In Abbildung 4.1 zeigen wir <strong>die</strong> Besetzungsstruktur e<strong>in</strong>er Matrix A vor und nach entsprechender<br />

Sortierung. Die Matrix hat e<strong>in</strong>e symmetrische Besetzungsstruktur und 9 409<br />

E<strong>in</strong>träge ungleich Null (das s<strong>in</strong>d weniger als 1% aller E<strong>in</strong>träge). Die LR-Zerlegung der unsortierten<br />

Matrix ist nahezu voll belegt mit etwa 1 000 000 E<strong>in</strong>trägen und deren Berechnung<br />

erfordert etwa 400 · 10 6 Operationen. Der Cuthill-McKee Algorithmus erzeugt e<strong>in</strong>e Bandmatrix<br />

mit sehr Bandbreite m ≈ 70. Zur Speicherung der LR-Zerlegung s<strong>in</strong>d etwa 150 000<br />

E<strong>in</strong>träge notwendig und <strong>die</strong> Berechnung erfordert etwa 5 · 10 6 Operationen. Schließlich<br />

zeigen wir zum Vergleich <strong>die</strong> Sortierung mit e<strong>in</strong>em sogenannten Multi-Fronten-Verfahren.<br />

Hier wird <strong>die</strong> Matrix <strong>in</strong> e<strong>in</strong>zelne Blöcke geteilt. Zur Berechnung der LR-Zerlegung s<strong>in</strong>d<br />

hier 3 · 10 6 Operationen notwendig. Details hierzu f<strong>in</strong>den sich <strong>in</strong> [4].<br />

4.3 Nachiteration<br />

Die numerisch durchgeführte LR-Zerlegung stellt aufgrund von Rundungsfehlern nur e<strong>in</strong>e<br />

Näherung dar A ≈ LR und <strong>die</strong> so approximierte Lösung LR˜x = b ist mit e<strong>in</strong>em Fehler<br />

x− ˜x behaftet. Es stellt sich nun <strong>die</strong> Frage nach e<strong>in</strong>er auswertbaren Abschätzung für <strong>die</strong>sen<br />

Fehler. E<strong>in</strong> erster Anhaltspunkt wird durch den Defekt gegeben, siehe auch Def<strong>in</strong>ition 2.19:<br />

140


4.3 Nachiteration<br />

Def<strong>in</strong>ition 4.43 (Defekt (LGS)). Es sei ˜x ∈ R n <strong>die</strong> Näherung zur Lösung x ∈ R n von<br />

Ax = b. Die Größe<br />

d(˜x) := b − A˜x,<br />

bezeichnet den Defekt.<br />

Für <strong>die</strong> exakte Lösung x ∈ R n von Ax = b gilt d(x) = 0. Für allgeme<strong>in</strong>e Approximationen<br />

erhalten wir <strong>die</strong> folgende a posteriori Fehlerabschätzung:<br />

Satz 4.44 (Fehlerabschätzung für l<strong>in</strong>eare Gleichungssysteme). Es sei ˜x ∈ R n <strong>die</strong> Approximation<br />

zur Lösung x ∈ R n von Ax = b. Dann gilt:<br />

‖x − ˜x‖<br />

‖x‖<br />

≤ cond(A) ‖d(˜x)‖<br />

‖b‖ .<br />

Beweis: Es gilt:<br />

x − ˜x = A −1 (b − A˜x) = A −1 d(˜x) ⇒ ‖x − ˜x‖ ≤ ‖A −1 ‖ ‖d˜x ‖.<br />

Teilen durch ‖b‖ = ‖Ax‖ ≤ ‖A‖ ‖x‖ liefert das gewünschte Ergebnis<br />

‖x − ˜x‖<br />

‖x‖<br />

≤ ‖A‖ ‖A −1 ‖ ‖d(˜x)‖<br />

‖b‖ . □<br />

Zur Veranschaulichung betrachten wir Beispiele 4.29 und 4.30 mit:<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

0.34995<br />

2.37<br />

0.35<br />

⎜ ⎟ ⎜ ⎟ ⎜ ⎟<br />

x ≈ ⎝−0.98024⎠ , ˜x 1 = ⎝−3.55⎠ , ˜x 2 = ⎝−0.98⎠<br />

2.1595<br />

2.15<br />

2.16<br />

mit den relativen Fehlern<br />

‖x − ˜x 1 ‖ 2<br />

‖x‖ 2<br />

≈ 1.5,<br />

‖x − ˜x 2 ‖ 2<br />

‖x‖ 2<br />

≈ 0.00024,<br />

sowie Defekten:<br />

‖d(x 1 )‖ 2<br />

‖b‖ 2<br />

≈ 3.8,<br />

‖d(x 2 )‖ 2<br />

‖b‖ 2<br />

≈ 0.0009.<br />

Der Spektralkondition der Matrix A ist cond 2 (A) ≈ 6, d.h., es ergeben sich <strong>die</strong> Fehlerschranken:<br />

‖x − ˜x 1 ‖ 2<br />

‖x − ˜x 2 ‖ 2<br />

≤ 6 · 3.8 ≈ 20,<br />

≤ 6 · 0.0009 = 0.005.<br />

‖x‖ 2 ‖x‖ 2<br />

In beiden Fällen wir der Fehler um e<strong>in</strong>en Faktor 10 ∼ 20 überschätzt. Zur praktischen<br />

Auswertung <strong>die</strong>ser Fehlerabschätzung wird <strong>die</strong> Konditionszahl der Matrix A benötigt.<br />

Diese ist im Allgeme<strong>in</strong>en jedoch nicht verfügbar, da A −1 weder bekannt, noch e<strong>in</strong>fach zu<br />

berechnen ist.<br />

141


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Neben se<strong>in</strong>er Rolle zur Fehlerabschätzung kommt dem Defekt e<strong>in</strong>e weitere wichtige Bedeutung<br />

zu. Wir gehen davon aus, dass wir den Defekt d(˜x) ohne Rundungsfehler berechnen<br />

können. Weiter nehmen wir an, dass wir auch <strong>die</strong> Defekt-Gleichung<br />

Aw = d(˜x) = b − A˜x,<br />

exakt nach w ∈ R n lösen können. Dann gilt für ˜x + w:<br />

˜x + w = ˜x + A −1 (b − A˜x) = ˜x + x − ˜x = x.<br />

Dieser Vorgang wird Defektkorrektur oder Nachiteration genannt. Die Annahme, dass Defekt<br />

und Defektgleichung ohne Rundungsfehler gelöst werden können ist natürlich nicht<br />

realistisch (dann könnte ja auch das Orig<strong>in</strong>al-System exakt gelöst werden). Dennoch erhalten<br />

wir als Grundlage der Nachiteration das folgende Ergebnis:<br />

Satz 4.45 (Nachiteration). Es sei ɛ (kle<strong>in</strong> genug) <strong>die</strong> Fehlertoleranz. Durch ˜x ∈ R n sei<br />

e<strong>in</strong>e Approximation zu Ax = b gegeben. Weiter sei ˜d e<strong>in</strong>e Approximation zu d(˜x) mit<br />

doppelter Genauigkeit:<br />

‖d(˜x) − ˜d‖ ≤ cond(A)ɛ 2 . (4.3)<br />

‖d(˜x)‖<br />

Es sei ˜w e<strong>in</strong>e Approximation der Defektgleichung Aw = ˜d mit e<strong>in</strong>facher Genauigkeit<br />

‖w − ˜w‖<br />

‖w‖<br />

≤ cond(A)ɛ. (4.4)<br />

Dann gilt für <strong>die</strong> Korrektur ˜x + ˜w <strong>die</strong> Abschätzung<br />

‖x − (˜x + ˜w)‖<br />

‖x‖<br />

≤ ɛc(A)<br />

‖x − ˜x‖<br />

,<br />

‖x‖<br />

mit e<strong>in</strong>er Konstante c(A), <strong>die</strong> von der Konditionszahl cond(A) abhängt.<br />

Beweis: Wir def<strong>in</strong>ieren zunächst e<strong>in</strong>e Hilfsgröße: es sei ŵ <strong>die</strong> exakte Lösung der exakten<br />

Defektgleichung Aŵ = d(˜x):<br />

Aŵ = b − A˜x ⇒ ŵ = A −1 b − A −1 A˜x = x − ˜x. (4.5)<br />

Für den Fehler ŵ − w zwischen den exakten Lösungen von Aŵ = d(˜x) und Aw = ˜d gilt<br />

laut Störungssatz 4.19:<br />

‖ŵ − w‖<br />

‖ŵ‖<br />

‖d(˜x) − ˜d‖<br />

≤ cond(A) ≤ ɛ 2 cond(A) 2 (4.6)<br />

‖d(˜x)‖<br />

} {{ }<br />

(4.3)<br />

142


4.3 Nachiteration<br />

Jetzt folgt durch E<strong>in</strong>schieben von ±ŵ sowie ±w <strong>in</strong> den Fehler ‖x − (˜x + ˜w)‖:<br />

‖x − (˜x + ˜w)‖ ≤ ‖x − (˜x + ŵ)‖ + ‖ŵ − w‖ + ‖w − ˜w‖<br />

} {{ } } {{ } } {{ }<br />

=0 wegen (4.5) (4.6) (4.4)<br />

≤ ɛ 2 cond(A) 2 ‖ŵ‖ + ɛ cond(A)‖w‖<br />

≤ ɛ cond(A) ( )<br />

ɛ cond(A)‖ŵ‖ + ‖ŵ‖ + ‖w − ŵ‖<br />

} {{ }<br />

(4.6)<br />

≤ ɛ cond(A) ( 1 + ɛ cond(A) + ɛ 2 cond(A) 2) ‖ŵ‖<br />

≤ ɛc(A)‖x − ˜x‖,<br />

mit c(A) := cond(A)(1 + ɛ cond(A) + ɛ 2 cond(A) 2 ). Das Ergebnis mit Teilen durch ‖x‖. □<br />

Durch e<strong>in</strong>en Nachiterationsschritt kann der Fehler um den Faktor ɛc(A) reduziert werden.<br />

Die Konstante c(A) hängt dabei allerd<strong>in</strong>gs sehr ungünstig von der oft sehr großen Konditionszahl<br />

der Matrix ab. Die Nachiteration ist e<strong>in</strong> universelles Pr<strong>in</strong>zip und nicht auf <strong>die</strong><br />

LR-Zerlegung beschränkt. Dennoch def<strong>in</strong>ieren wir für <strong>die</strong>se:<br />

Algorithmus 4.46 (Nachiteration). Es sei A ∈ R n×n e<strong>in</strong>e reguläre Matrix und b ∈ R n .<br />

Zur Lösung von Ax = b:<br />

1. Erstelle LR-Zerlegung von A mit e<strong>in</strong>facher Genauigkeit<br />

LR = P A.<br />

2. Setze d (1) = b sowie x (1) = 0 und iteriere für i = 1, 2, . . . :<br />

(i) Ly (i) = P d (i) mit e<strong>in</strong>facher Genauigkeit<br />

(ii) Rw (i) = y (i) mit e<strong>in</strong>facher Genauigkeit<br />

(iii) x (i+1) = x (i) + w (i) mit doppelter Genauigkeit<br />

(iv) d (i+1) = b − Ax (i+1) mit doppelter Genauigkeit<br />

Der Vorteil der Nachiteration liegt <strong>in</strong> der mehrfachen Verwendung der erstellten LR-<br />

Zerlegung. Zur Berechnung der LR-Zerlegung s<strong>in</strong>d O(n 3 ) Operationen notwendig, während<br />

zum Vorwärts- und Rückwärtse<strong>in</strong>setzen, sowie zur Berechnung des Defektes nur O(n 2 )<br />

Operationen benötigt werden. D.h., selbst bei Verwenden höherer Genauigkeit ist der<br />

Aufwand <strong>in</strong> Schritt 2.(iii) des Verfahrens kle<strong>in</strong> im Vergleich zu Schritt 1.<br />

Die Annahme, dass zum Erstellen der LR-Zerlegung mit ger<strong>in</strong>gerer Genauigkeit gerechnet<br />

wird, also zur Defektberechnung ist nicht unrealistisch. Der Speichertyp float von e<strong>in</strong>facher<br />

Genauigkeit benötigt zur Speicherung e<strong>in</strong>er Zahl nur den halben Speicher verglichen<br />

mit double. Gerade bei sehr großen Matrizen n ≫ 1 000 000 spielt der Speicherbedarf e<strong>in</strong>e<br />

wesentliche Rolle. Darüber h<strong>in</strong>aus unterscheidet moderne Hardware (z.B. GPU’s) zwischen<br />

der Rechnung mit doppelter und e<strong>in</strong>facher Genauigkeit, deren Operationen oft weit<br />

schneller durchgeführt werden können.<br />

143


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Beispiel 4.47 (Nachiteration). Wir führen Beispiel 4.30 fort. Zur Approximation ˜x 2 berechnen<br />

wir den Defekt d(˜x 2 ) mit doppelter Genauigkeit (hier sogar exakt):<br />

⎛ ⎞<br />

⎛ ⎞<br />

0.35<br />

0.001<br />

⎜ ⎟<br />

⎜ ⎟<br />

˜x 2 = ⎝−0.98⎠ , d(˜x 2 ) = b − A˜x 2 = ⎝ 0 ⎠ .<br />

2.16<br />

−0.002<br />

Mit dreistelliger (also hier e<strong>in</strong>facher) Genauigkeit lösen wir zunächst ỹ = P d(˜x) mit<br />

P d(˜x) = (−0.001, −0.002, 0) T und erhalten:<br />

⎛ ⎞<br />

0.001<br />

⎜ ⎟<br />

ỹ = ⎝−0.00165⎠ .<br />

0.000611<br />

Rückwärtse<strong>in</strong>setzen R ˜w = ỹ mit dreistelliger Genauigkeit ergibt:<br />

⎛<br />

⎞<br />

−0.0000545<br />

⎜<br />

⎟<br />

˜w = ⎝ −0.000227 ⎠ .<br />

−0.000466<br />

Wir berechnen <strong>die</strong> korrigierte Lösung ˆx := ˜x + ˜w mit sechsstelliger (also doppelter) Genauigkeit<br />

zu:<br />

⎛ ⎞<br />

0.349946<br />

⎜ ⎟<br />

ˆx = ⎝−0.980227⎠ .<br />

2.15953<br />

Diese verbesserte Lösung ist mit dem relativen Fehler<br />

‖ˆx − x‖ 2<br />

‖x‖ 2<br />

≈ 0.000017 · 10 −5<br />

versehen. Der Fehler konnte durch e<strong>in</strong>en Nachiterationsschritt um zwei Größenordnungen<br />

verbessert werden!<br />

Mit der gestörten LR-Zerlegung ˜L ˜R ≈ A lässt sich e<strong>in</strong> Nachiterationsschritt kompakt<br />

schreiben als:<br />

x (i+1) = x (i) + Cd(˜x (i) ), C := ˜R −1 ˜L−1 .<br />

Dabei ist <strong>die</strong> Matrix C e<strong>in</strong>e Approximation zur Inversen von A. Es stellt sich <strong>die</strong> Frage, ob<br />

<strong>die</strong> Nachiteration auch dann e<strong>in</strong> konvergentes Verfahren bildet, wenn ˜C e<strong>in</strong>e noch gröbere<br />

Approximation der Inversen ˜C ≈ A −1 ist. Dabei könnte man an Approximationen denken,<br />

<strong>die</strong> auf der e<strong>in</strong>en Seite weiter von A −1 entfernt s<strong>in</strong>d, dafür aber wesentlich e<strong>in</strong>facher, z.B.<br />

<strong>in</strong> O(n 2 ) Operationen zu erstellen s<strong>in</strong>d. Dieser Ansatz ist Ausgangspunkt von allgeme<strong>in</strong>en<br />

Defektkorrektur-Verfahren, wie wir sie <strong>in</strong> Kapitel 5 untersuchen werden.<br />

144


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

Die Zerlegung e<strong>in</strong>er regulären Matrix A ∈ R n×n <strong>in</strong> <strong>die</strong> beiden Dreiecksmatrizen L und R<br />

basiert auf der Elim<strong>in</strong>ation mit Frobeniusmatrizen, d.h. R = F A, mit L := F −1 . Es gilt:<br />

cond(R) = cond(F A) ≤ cond(F ) cond(A) = ‖F ‖ ‖L‖ cond(A).<br />

Bei entsprechender Pivotisierung gilt für <strong>die</strong> E<strong>in</strong>träge der Matrizen F sowie L |f ij | ≤ 1<br />

und |l ij | ≤ 1, siehe Satz 4.28. Dennoch können <strong>die</strong> Normen von L und F im Allgeme<strong>in</strong>en<br />

nicht günstiger als ‖F ‖ ∞ ≤ n und ‖L‖ ∞ ≤ n abgeschätzt werden. Es gilt dann:<br />

cond ∞ (R) ≤ n 2 cond ∞ (A).<br />

Die Matrix R, welche zur Rückwärtselim<strong>in</strong>ation gelöst werden muss, hat e<strong>in</strong>e unter Umständen<br />

weit schlechtere Konditionierung als <strong>die</strong> Matrix A selbst (welche auch schon sehr<br />

schlecht konditioniert se<strong>in</strong> kann). Wir suchen im Folgenden e<strong>in</strong>en Zerlegungsprozess <strong>in</strong><br />

e<strong>in</strong>e Dreiecksmatrix, welche numerisch stabil ist, <strong>in</strong>dem <strong>die</strong> Zerlegung nur mit Hilfe von<br />

orthogonalen Matrizen Q ∈ R n×n durchgeführt wird, für welche cond 2 (Q) = 1 gilt:<br />

Def<strong>in</strong>ition 4.48 (Orthogonale Matrix). E<strong>in</strong>e Matrix Q ∈ R n×n heißt orthogonal, falls<br />

ihre Zeilen und Spaltenvektoren e<strong>in</strong>e Orthonormalbasis des R n bilden.<br />

Es gilt:<br />

Satz 4.49 (Orthogonale Matrix). Es sei Q ∈ R n×n e<strong>in</strong>e orthogonale Matrix. Dann ist Q<br />

regulär und es gilt:<br />

Q −1 = Q T , Q T Q = I, ‖Q‖ 2 = 1, cond 2 (Q) = I.<br />

Es gilt det(Q) = 1 oder det(Q) = −1. Für zwei orthogonale Matrizen Q 1 , Q 2 ∈ R n×n ist<br />

auch das Produkt Q 1 Q 2 e<strong>in</strong>e orthogonale Matrix. Für e<strong>in</strong>e beliebige Matrix A ∈ R n×n gilt<br />

‖QA‖ 2 = ‖A‖ 2 . Für beliebige Vektoren x, y ∈ R n gilt:<br />

‖Qx‖ 2 = ‖x‖ 2 , (Qx, Qy) 2 = (x, y) 2 .<br />

Beweis: Wir beweisen hier nur <strong>die</strong> im Kontext der numerischen Stabilität wesentlich<br />

Eigenschaft, dass <strong>die</strong> Multiplikation mit orthogonalen Matrizen <strong>die</strong> Kondition e<strong>in</strong>er Matrix<br />

(d.h. <strong>die</strong> 2-Norm) nicht verändert, <strong>die</strong> weiteren Teile des Beweises belassen wir als Übung.<br />

Es gilt:<br />

‖QAx‖ 2 2 = (QAx, QAx) 2 = (Q T QAx, Ax) 2 = (Ax, Ax) 2 = ‖Ax‖ 2 2.<br />

Wir def<strong>in</strong>ieren:<br />

□<br />

145


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Def<strong>in</strong>ition 4.50 (QR-Zerlegung). Die Zerlegung e<strong>in</strong>er Matrix A ∈ R n×n <strong>in</strong> e<strong>in</strong>e orthogonale<br />

Matrix Q ∈ R n×n sowie e<strong>in</strong>e rechte obere Dreiecksmatrix R ∈ R n×n gemäß<br />

heißt QR-Zerlegung.<br />

A = QR,<br />

Die QR-Zerlegung hat den Vorteil, dass <strong>die</strong> Matrix R = Q T A <strong>die</strong> gleiche Konditionszahl<br />

hat wie <strong>die</strong> Matrix A selbst. E<strong>in</strong>mal erstellt, kann <strong>die</strong> QR-Zerlegung genutzt werden, um<br />

l<strong>in</strong>eare Gleichungssysteme mit der Matrix A effizient zu lösen:<br />

Ax = b ⇔ Q T Ax = Q T b ⇔ Rx = Q T b.<br />

Zur Realisierung der QR-Zerlegung stellt sich <strong>die</strong> Frage nach der Konstruktion orthogonaler<br />

Matrizen Q zur Reduktion von A auf Dreiecksgestalt.<br />

4.4.1 Das Gram-Schmidt Verfahren<br />

Der wichtigste Algorithmus zum Erstellen e<strong>in</strong>er Orthonormalbasis ist das Orthogonalisierungsverfahren<br />

nach Gram-Schmidt:<br />

Satz 4.51 (Gram-Schmidt Orthonormalisierungsverfahren). Es sei durch {a 1 , . . . , a n } e<strong>in</strong>e<br />

Basis des R n gegeben, durch (·, ·) e<strong>in</strong> Skalarprodukt mit <strong>in</strong>duzierter Norm ‖ · ‖. Die<br />

Vorschrift:<br />

(i) q 1 := a 1<br />

‖a 1 ‖ ,<br />

∑<br />

i = 2, . . . , n : (ii) ˜q i := a i − (a i , q j )q j , q i := ˜q i<br />

‖˜q i ‖ ,<br />

erzeugt e<strong>in</strong>e Orthonormalbasis {q 1 , . . . , q n } des R n . Es gilt ferner:<br />

i−1<br />

j=1<br />

(q i , a j ) = 0 ∀1 ≤ j < i ≤ n.<br />

Beweis: Wir führen den Beweis per Induktion. Für i = 1 ist a 1 ≠ 0, da durch a 1 , . . . , a n<br />

der ganze R n aufgespannt wird. Für i = 2 gilt:<br />

(˜q 2 , q 1 ) = (a 2 , q 1 ) − (a 2 , q 1 ) (q 1 , q 1 ) = 0.<br />

} {{ }<br />

=1<br />

Aus der l<strong>in</strong>earen Unabhängigkeit von a 2 und q 1 folgt, dass ˜q 2 ≠ 0. Es sei nun also (q k , q l ) =<br />

δ kl für k, l > i. Dann gilt für k < i beliebig<br />

i−1<br />

∑<br />

(˜q i , q k ) = (a i , q k ) − (a i , q j ) (q j , q k ) = (a i , q k ) − (a i , q k ) = 0.<br />

} {{ }<br />

j=1<br />

=δ jk<br />

146


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

Da span{q 1 , . . . , q j } = span{a 1 , . . . , a j } folgt auch (q i , a j ) = 0 für j < i.<br />

Mit Hilfe des Gram-Schmidt Verfahrens lässt sich <strong>die</strong> QR-Zerlegung e<strong>in</strong>er Matrix A ∈<br />

R n×n unmittelbar konstruieren:<br />

Satz 4.52 (QR-Zerlegung). Es sei A ∈ R n×n e<strong>in</strong>e reguläre Matrix. Dann existiert e<strong>in</strong>e<br />

QR-Zerlegung A = QR <strong>in</strong> e<strong>in</strong>e orthogonale Matrix Q ∈ R n×n und e<strong>in</strong>e rechte obere<br />

Dreiecksmatrix R ∈ R n×n .<br />

Beweis: Es seien A = (a 1 , . . . , a n ) <strong>die</strong> Spaltenvektoren der Matrix A. Da A regulär ist,<br />

s<strong>in</strong>d <strong>die</strong> Vektoren a i l<strong>in</strong>ear unabhängig und bilden e<strong>in</strong>e Basis des R n . Es sei {q 1 , . . . , q n }<br />

<strong>die</strong> durch das Gram-Schmidt Verfahren aus {a 1 , . . . , a n } konstruierte Orthonormalbasis.<br />

Dann ist durch Q = (q 1 , . . . , q n ) ∈ R n×n e<strong>in</strong>e orthogonale Matrix gegeben. Die Matrix<br />

R := Q T A ist regulär und aufgrund von Satz 4.51 gilt für ihre E<strong>in</strong>träge:<br />

r ij = (q i , a j ) = 0 ∀j < i.<br />

Das heißt: R ist e<strong>in</strong>e rechte obere Dreiecksmatrix.<br />

Die QR-Zerlegung e<strong>in</strong>er Matrix kann ohne e<strong>in</strong>er weiteren Normierungsbed<strong>in</strong>gung nicht e<strong>in</strong>deutig<br />

se<strong>in</strong>. Angenommen, wir modifizieren den Normierungsschritt (ii) im Gram-Schmidt<br />

Verfahren Satz 4.51) zu:<br />

q ′ i := − ˜q i<br />

‖˜q i ‖ .<br />

Dann wäre das resultierende System {q 1 , . . . , q n } wieder orthonormal und mit Q ′ R ′ = QR<br />

wäre e<strong>in</strong>e zweite (echt verschiedene) QR-Zerlegung gegeben. Wir können das Vorzeichen<br />

von q i <strong>in</strong> jedem Schritt so wählen, dass r ii = (q i , a i ) > 0, dass also R nur positive Diagonalelemente<br />

besitzt. Dann gilt:<br />

Satz 4.53 (E<strong>in</strong>deutigkeit der QR-Zerlegung). Die QR-Zerlegung A = QR e<strong>in</strong>er regulären<br />

Matrix A ∈ R n×n mit r ii > 0 ist e<strong>in</strong>deutig.<br />

Beweis: Es seien A = Q 1 R 1 = Q 2 R 2 zwei QR-Zerlegungen von A. Dann gilt:<br />

Q T 2 Q 1 = R 2 R −1<br />

1 , QT 1 Q 2 = R 1 R −1<br />

2 .<br />

Die Produkte R 2 R1 −1 sowie R 1 R2 −1 s<strong>in</strong>d rechte obere Dreiecksmatrizen. Weiter gilt Q :=<br />

Q T 2 Q 1 = (Q T 1 Q 2) T = Q T , d.h. Q ist e<strong>in</strong>e orthogonale Matrix mit Q −1 = Q T . Wegen<br />

Q −1 = Q T und Q = R 2 R1 −1 muss Q e<strong>in</strong>e Diagonalmatrix se<strong>in</strong>. Aus der Beziehung<br />

folgt für den j-ten E<strong>in</strong>heitsvektor e j :<br />

QR 1 = Q T 2 Q 1 R 1 = Q T 2 A = R 2<br />

QR 1 e j = q jj r 1 jj = r 2 jj > 0,<br />

also q jj > 0 und wegen der Orthogonalität Q = I. D.h.:<br />

R 1 = R 2 ⇒ Q 1 = AR −1<br />

1 = AR −1<br />

2 = Q 2 .<br />

□<br />

□<br />

147


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Die große Schwäche des Gram-Schmidt Verfahrens ist <strong>die</strong> ger<strong>in</strong>ge numerische Stabilität,<br />

<strong>in</strong>sbesondere, wenn <strong>die</strong> Vektoren a i “fast parallel” s<strong>in</strong>d. In <strong>die</strong>sem Fall droht Auslöschung.<br />

Wir betrachten hierzu e<strong>in</strong> Beispiel:<br />

Beispiel 4.54 (QR-Zerlegung mit Gram-Schmidt). Es sei <strong>die</strong> Matrix<br />

⎛<br />

⎞<br />

1 1 1<br />

⎜<br />

⎟<br />

A := ⎝0.01 0 0.01⎠<br />

0 0.01 0.01<br />

gegeben. Wir bestimmen mit dem Gram-Schmidt Verfahren aus den Spaltenvektoren A =<br />

(a 1 , a 2 , a 3 ) <strong>die</strong> entsprechende Orthonormalbasis. Bei dreistelliger Genauigkeit erhalten wir:<br />

⎛ ⎞<br />

q 1 = q 1<br />

1<br />

‖q 1 ‖ ≈ ⎜ ⎟<br />

⎝0.01⎠ .<br />

0<br />

□<br />

Weiter:<br />

⎛ ⎞<br />

⎛ ⎞<br />

0<br />

⎜ ⎟<br />

˜q 2 = q 2 − (a 2 , q 1 )q 1 ≈ a 2 − q 1 = ⎝−0.01⎠ , q 2 = ˜q 0<br />

2<br />

‖˜q<br />

0.01<br />

2 ‖ ≈ ⎜ ⎟<br />

⎝−0.707⎠ .<br />

0.707<br />

Schließlich:<br />

⎛ ⎞ ⎛<br />

0<br />

⎜ ⎟ ⎜<br />

0<br />

⎞<br />

⎟<br />

˜q 3 = a 3 − (a 3 , q 1 )q 1 − (a 3 , q 2 )q 2 ≈ a 3 − q 1 − 0 = ⎝ 0 ⎠ , q 3 = ⎝0⎠ .<br />

0.01<br />

1<br />

Die QR-Zerlegung ergibt sich mit der “orthogonalen Matrix”<br />

⎛<br />

⎞<br />

1 0 0<br />

⎜<br />

⎟<br />

˜Q = ⎝0.01 −0.707 0⎠ ,<br />

0 0.707 1<br />

sowie der rechten oberen Dreiecksmatrix ˜R mit ˜r ij = (q i , a j ) für j ≥ i:<br />

Die Probe A = ˜Q ˜R ergibt:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

(q 1 , a 1 ) (q 1 , a 2 ) (q 1 , a 3 ) 1 1 1<br />

⎜<br />

⎟ ⎜<br />

⎟<br />

˜R := ⎝ 0 (q 2 , a 2 ) (q 2 , a 3 ) ⎠ ≈ ⎝0 0.00707 0 ⎠ .<br />

0 0 (q 3 , a 3 ) 0 0 0.01<br />

⎛<br />

⎞ ⎛<br />

1 0 0<br />

⎜<br />

⎟ ⎜<br />

1 1 1<br />

⎞ ⎛<br />

⎞<br />

1 1 1<br />

⎟ ⎜<br />

⎟<br />

⎝0.01 −0.707 0⎠<br />

⎝0 0.00707 0 ⎠ ≈ ⎝0.01 0.005 0.01⎠ =: Ã<br />

0 0.707 1 0 0 0.01 0 0.005 0.01<br />

148


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

Auf den ersten Blick sieht à nach e<strong>in</strong>er brauchbaren Näherung für A aus. Der relative<br />

Fehler ‖ ˜Q ˜R − A‖ 2 /‖A‖ 2 ≈ 0.004 ist (beachte dreistellige Arithmetik) nicht sonderlich<br />

groß. Ã ist jedoch nicht e<strong>in</strong>mal regulär! Dieser wesentliche Fehler liegt an der Instabilität<br />

des Gram-Schmidt-Verfahrens. Für das berechnete ˜Q gilt:<br />

⎛<br />

⎞<br />

I = ! ˜Q<br />

1 −0.00707 0<br />

T ⎜<br />

⎟<br />

˜Q ≈ ⎝−0.00707 1 0.707⎠ ,<br />

0 0.707 1<br />

mit e<strong>in</strong>em relativen Fehler ‖ ˜Q T ˜Q − I‖2 ≈ 0.7!<br />

Die QR-Zerlegung hat pr<strong>in</strong>zipiell bessere Stabilitätseigenschaften als <strong>die</strong> LR-Zerlegung.<br />

Das Gram-Schmidt-Verfahren eignet sich jedoch nicht, um <strong>die</strong> orthogonale Matrix Q zu<br />

erstellen. Im Folgenden entwickeln wir e<strong>in</strong>e Transformationsmethode zum Erstellen der<br />

QR-Zerlegung welche selbst auf orthogonalen, und somit optimal konditionierten, Transformationen<br />

aufbaut.<br />

4.4.2 Householder-Transformationen<br />

Das geometrische Pr<strong>in</strong>zip h<strong>in</strong>ter dem Gram-Schmidt Verfahren ist <strong>die</strong> Projektion der Vektoren<br />

a i auf <strong>die</strong> bereits erstellte Orthogonalbasis q 1 , . . . , q i−1 . Diese Projektion ist schlecht<br />

konditioniert, falls a i fast parallel zu den q j mit j < i, etwa a i ≈ q j ist. Dann droht Auslöschung.<br />

Wir können e<strong>in</strong>en Schritt des Gram-Schmidt Verfahrens kompakt mit Hilfe e<strong>in</strong>es<br />

Matrix-Vektor Produktes schreiben (komponentenweise nachrechnen!)<br />

i−1<br />

˜q i = [I − G (i) ]a i , G (i) ∑<br />

= q l ql T ,<br />

mit dem dyadischen Produkt zweier Vektoren vv T ∈ R n×n . Die Matrix [I − G i ] stellt e<strong>in</strong>e<br />

Projektion dar:<br />

Weiter gilt:<br />

[I − G i ] 2 ∑i−1<br />

= I − 2 q l ql T +<br />

l=1<br />

i−1 ∑<br />

k,l=1<br />

i−1<br />

l=1<br />

q l q T l q k<br />

} {{ }<br />

=δ lk<br />

q T k = [I − G i ].<br />

[I − G i ∑<br />

]q k = q k − q l ql T q k = 0.<br />

} {{ }<br />

l=1<br />

=δ lk<br />

Die Matrix I − G i ist also nicht regulär. Falls <strong>in</strong> Schritt i der Vektor a i fast parallel zu<br />

den bereits orthogonalen Vektoren ist, also ã i ∈ δa i + span{q 1 , . . . , q i−1 }, so gilt<br />

˜q i = [I − G i ]ã i = [I − G i ]δa i ⇒ ‖δq i‖<br />

‖˜q i ‖ =<br />

‖δq i ‖<br />

‖[I − G i ]δa i ‖ ∼ ‖δa i‖<br />

‖a i ‖ . 149


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Bei δa i → 0 ist also e<strong>in</strong>e beliebig große Fehlerverstärkung möglich. Man vergleiche Bemerkung<br />

4.16 zur Konditionierung der Matrix-Vektor Multiplikation (bei regulärer Matrix).<br />

Im Folgenden suchen wir e<strong>in</strong>e Transformation von A zu e<strong>in</strong>er Dreiecksmatrix R, <strong>die</strong> selbst<br />

auf orthogonalen Operationen aufbaut. E<strong>in</strong>e orthogonale Matrix Q ∈ R n×n mit det(Q) = 1<br />

stellt e<strong>in</strong>e Drehung dar und bei det(Q) = −1 e<strong>in</strong>e Spiegelung (oder e<strong>in</strong>e Drehspiegelung).<br />

Die Householder-Transformationen nutzen das Pr<strong>in</strong>zip der Spiegelung, um e<strong>in</strong>e Matrix<br />

A ∈ R n×n <strong>in</strong> e<strong>in</strong>er rechte obere Dreiecksmatrix zu transformieren.<br />

Def<strong>in</strong>ition 4.55 (Householder-Transformation). Für e<strong>in</strong>en Vektor v ∈ R n mit ‖v‖ 2 = 1<br />

ist durch vv T das dyadische Produkt def<strong>in</strong>iert und <strong>die</strong> Matrix<br />

heißt Householder-Transformation.<br />

Es gilt:<br />

S := I − 2vv T ∈ R n×n ,<br />

Satz 4.56 (Householder-Transformation). Jede Householder-Transformation S = I−2vv T<br />

ist symmetrisch und orthogonal. Das Produkt zweier Householder-Transformationen S 1 S 2<br />

ist wieder e<strong>in</strong>er symmetrische orthogonale Matrix.<br />

Beweis: Es gilt:<br />

Weiter gilt:<br />

S T = [I − 2vv T ] T = I − 2(vv T ) T = I − 2vv T = S.<br />

S T S = I − 4vv T + 4v }{{} v T v v T = I,<br />

=1<br />

d.h. S −1 = S T . Mit zwei symmetrischen orthogonalen Matrizen S 1 sowie S 2 gilt:<br />

(S 1 S 2 ) T = S T 2 S T 1 = S 2 S 1 , (S 1 S 2 ) −1 = S −1<br />

2 S−1 1 = S T 2 S T 1 = (S 1 S 2 ) T .<br />

Wir schließen <strong>die</strong> grundlegende Untersuchung der Householder-Transformationen mit e<strong>in</strong>er<br />

geometrischen Charakterisierung ab:<br />

Bemerkung 4.57 (Householder-Transformation als Spiegelung). Es sei v ∈ R n e<strong>in</strong> beliebiger<br />

normierter Vektor mit ‖v‖ 2 = 1. Weiter sei x ∈ R n gegeben mit x = αv + w ⊥ , wobei<br />

w ⊥ ∈ R n e<strong>in</strong> Vektor mit v T w ⊥ = 0 im orthogonalen Komplement zu v ist. Dann gilt für<br />

<strong>die</strong> Householder-Transformation S := I − 2vv T :<br />

S(αv + w ⊥ ) = [I − 2vv T ](αv + w ⊥ ) = α(v − 2v }{{} v T v) + w ⊥ − 2v } v T {{ w ⊥<br />

} = −αv + w ⊥ .<br />

=1<br />

=0<br />

D.h., <strong>die</strong> Householder-Transformation beschreibt e<strong>in</strong>e Spiegelung an der auf v senkrecht<br />

stehenden Ebene.<br />

□<br />

150


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

a 1 − ‖a 1‖e 1 a 1<br />

v − = a 1 − ‖a 1‖e 1<br />

v + = a 1 + ‖a 1‖e 1<br />

−‖a 1‖ 2e 1 ‖a 1‖ 2e 1<br />

a 1 + ‖a 1‖e 1<br />

Abbildung 4.2: Spiegelungsachsen (gestrichelt) und Normalen zur Spiegelung v + und v −<br />

zur Spiegelung von a 1 auf span{e 1 }.<br />

Mit Hilfe der Householder-Transformationen soll e<strong>in</strong>e Matrix A ∈ R n×n nun Schritt für<br />

Schritt <strong>in</strong> e<strong>in</strong>e rechte obere Dreiecksmatrix transformiert werden:<br />

A (0) := A, A (i) = S (i) A (i−1) , S (i) = I − 2v (i) (v (i) ) T ,<br />

mit R := A (n−1) . Wir beschreiben den ersten Schritt des Verfahrens: <strong>die</strong> reguläre Matrix<br />

A ∈ R n×n soll durch Multiplikation mit e<strong>in</strong>er orthogonalen Householder-Transformation so<br />

transformiert werden A (1) = S (1) A, dass a (1)<br />

i1 = 0 für alle i > 1 unterhalb der ersten Diagonale.<br />

Hierzu schreiben wir <strong>die</strong> Matrix A = (a 1 , a 2 , . . . , a n ) mit ihren Spaltenvektoren. Dann<br />

ist A (1) = (a (1)<br />

1 , . . . , a(1) n ) mit a (1)<br />

i = S (1) a i . Wir suchen <strong>die</strong> Householder-Transformation<br />

S (1) , so dass:<br />

!<br />

e 1 = a (1)<br />

1 = S (1) a 1 .<br />

Hierzu müssen wir auf der Ebene senkrecht zu a 1 ± ‖a 1 ‖e 1 spiegeln, siehe Abbildung 4.2.<br />

Wir wählen<br />

v := a 1 + sign(a 11 )‖a 1 ‖e<br />

∥<br />

1<br />

∥<br />

∥a 1 + sign(a 11 )‖a 1 ‖e 1 , (4.7)<br />

um durch optimale Wahl des Vorzeichens <strong>die</strong> Gefahr von Auslöschung zu vermeiden. Mit<br />

<strong>die</strong>ser Wahl gilt:<br />

a (1)<br />

i = S (1) a i = a i − 2(v, a i )v, i = 2, . . . , n, a (1)<br />

1 = − sign(a 11 )‖a 1 ‖e 1 . (4.8)<br />

Die resultierende Matrix Ã(1) ist wieder regulär und es gilt ã (1)<br />

1 ∈ span(e 1 ):<br />

⎛<br />

⎞<br />

a 11 a 12 a 13 · · · a 1n<br />

. a 21 a .. 22 .<br />

A :=<br />

. a 31 a .. . .. 32 .<br />

⎜<br />

.<br />

⎝ .<br />

.. ⎟ . ⎠<br />

a n1 a n2 · · · · · · a nn<br />

⎛<br />

⎞<br />

a (1)<br />

11 a (1)<br />

12 a (1)<br />

13 · · · a (1)<br />

1n<br />

0 a (1) . ..<br />

22<br />

.<br />

→ A (1) := S (1) A =<br />

0 a (1) . .. . .. 32<br />

.<br />

.<br />

⎜<br />

. ⎟<br />

⎝ .<br />

.. . ⎠<br />

0 a (1)<br />

n2 · · · · · · a (1)<br />

nn<br />

151


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Wir setzen das Verfahren mit der Teilmatrix A (1)<br />

kl>1<br />

fort. Hierzu sei der verkürzte zweite<br />

Spaltenvektor def<strong>in</strong>iert als ã (1) = (a (1)<br />

22 , a(1) 32 , . . . , a(1) n2 )T ∈ R n−1 . Dann wählen wir:<br />

⎛<br />

⎞<br />

1 0 · · · · · · 0<br />

R n−1 ∋ ṽ (2) := ã(1) + sign(a (1)<br />

0<br />

22 )‖ã(1) ‖e 1<br />

∥<br />

∥ã (1) + sign(a (1) ∥, S (2) =<br />

0<br />

⎜ I − 2ṽ (2) (v (2) ) T ⎟∈ R n×n .<br />

22 )‖ã(1) ‖e 1 ⎝.<br />

⎠<br />

0<br />

Multiplikation mit S (2) von l<strong>in</strong>ks, also A (2) := S (2) A (1) lässt <strong>die</strong> erste Zeile unverändert.<br />

Elim<strong>in</strong>iert wird der Block A (1)<br />

kl>1 . Für <strong>die</strong> resultierende Matrix A(2) gilt a (2)<br />

kl<br />

= 0 für l = 1, 2<br />

und k > l. Nach n − 1 Schritten gilt:<br />

R := } S (n−1) S (n−2) {{ · · · S (1)<br />

} A.<br />

=:Q T<br />

Alle Transformationen s<strong>in</strong>d orthogonal, somit ist auch Q ∈ R n×n e<strong>in</strong>e orthogonale (und<br />

natürlich reguläre) Matrix.<br />

Wir fassen zusammen:<br />

Satz 4.58 (QR-Zerlegung mit Householder-Transformationen). Es sei A ∈ R n×n e<strong>in</strong>e<br />

reguläre Matrix. Dann lässt sich <strong>die</strong> QR-Zerlegung von A nach Householder <strong>in</strong><br />

2n 3<br />

3 + O(n2 )<br />

arithmetische Operationen numerisch stabil durchführen.<br />

Beweis: Die Durchführbarkeit der QR-Zerlegung geht aus dem Konstruktionspr<strong>in</strong>zip hervor.<br />

Aus der Regularität der Matrizen A (i) folgt, dass der Teilvektor ã (i) ∈ R n−i ungleich<br />

Null se<strong>in</strong> muss. Dann ist ṽ (i) gemäß (4.7) wohl def<strong>in</strong>iert. Die folgende Elim<strong>in</strong>ation wird<br />

gemäß (4.8) spaltenweise durchgeführt:<br />

ã (i+1)<br />

k<br />

= [I − 2ṽ (i) (ṽ (i) ) T ]<br />

} {{ }<br />

ã (i)<br />

k<br />

= ã(i) k<br />

− 2(ṽ(i) , ã (i)<br />

k )ṽ(i) .<br />

= ˜S (i)<br />

Die numerische Stabilität folgt aus cond 2 (S (i) ) = 1, siehe Bemerkung 4.16.<br />

Wir kommen nun zur Abschätzung des Aufwands. Im Schritt A (i) → A (i+1) muss zunächst<br />

der Vektor ṽ (i) ∈ R n−i berechnet werden. Hierzu s<strong>in</strong>d 2(n − i) arithmetische Operationen<br />

notwendig. Im Anschluss erfolgt <strong>die</strong> spaltenweise Elim<strong>in</strong>ation. (Es wird natürlich nicht <strong>die</strong><br />

Matrix S (i) aufgestellt und <strong>die</strong> Matrix-Matrix Multiplikation durchgeführt!) Für jeden der<br />

152


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

n−i Spaltenvektoren ist e<strong>in</strong> Skalarprodukt (ṽ (i) , ã (i) ) (das s<strong>in</strong>d n−i arithmetische Operationen)<br />

sowie e<strong>in</strong>e Vektoraddition (weitere n − i Operationen) durchzuführen. Insgesamt<br />

ergibt sich so e<strong>in</strong> Aufwand:<br />

n−1 ∑<br />

N QR = 2 (n − i) + (n − i) 2 = n(n − 1) +<br />

i=1<br />

n(n − 1)(2n − 1)<br />

3<br />

= 2n3<br />

3 + O(n2 ).<br />

□<br />

Bemerkung 4.59 (QR-Zerlegung mit Householder-Transformationen). Die Householder-<br />

Matrizen ˜S (i) = I − 2ṽ (i) (ṽ (i) ) T werden nicht explizit aufgestellt. Auch kann das Produkt<br />

Q := (S (1) ) T · · · (S (n−1) ) T ,<br />

aus Effizienzgründen nicht explizit berechnet werden. Die Matrix Q steht nur implizit zur<br />

Verfügung durch Speichern der Vektoren ṽ (i) . Mit implizit me<strong>in</strong>t man, dass etwa zur Berechnung<br />

des Produktes ˜b := Q T b (ist notwendig zum Lösen der Gleichungssysteme) <strong>die</strong><br />

Householder-Transformationen erneut Schritt für Schritt angewendet werden müssen:<br />

˜b = Q T b = S (n−1) · · · S (1) b.<br />

Jedes Produkt wird mittels der Vorschrift (4.7) berechnet, ohne dass <strong>die</strong> Matrizen S (i)<br />

explizit aufgestellt werden:<br />

b (i+1) = b (i) − 2(v (i) , b (i) )v (i) .<br />

Neben der oberen Dreiecksmatrix R müssen <strong>die</strong> Vektoren ṽ (i) ∈ R n−i gespeichert werden.<br />

Im Gegensatz zur LR-Zerlegung kann <strong>die</strong>s nicht alle<strong>in</strong>e im Speicherplatz der Matrix A<br />

geschehen, da sowohl R als auch <strong>die</strong> ṽ (i) <strong>die</strong> Diagonale besetzen. Bei der praktischen<br />

Realisierung muss e<strong>in</strong> weiterer Diagonalvektor vorgehalten werden.<br />

Abschließend berechnen wir <strong>die</strong> QR-Zerlegung zu Beispiel 4.54 mit Hilfe der Householder-<br />

Transformationen:<br />

Beispiel 4.60 (QR-Zerlegung mit Householder-Transformationen). Wir betrachten wieder<br />

<strong>die</strong> Matrix:<br />

⎛<br />

⎞<br />

1 1 1<br />

⎜<br />

⎟<br />

A := ⎝0.01 0 0.01⎠ ,<br />

0 0.01 0.01<br />

und führen alle Rechnungen mit dreistelliger Genauigkeit durch. Wir wählen mit a 1 =<br />

(1, 0.01, 0) T und ‖a 1 ‖ ≈ 1 den ersten Vektor zur Spiegelung als:<br />

⎛ ⎞<br />

v (1) = a 1<br />

1 + ‖a 1 ‖e 1<br />

‖a 1 + ‖a 1 ‖e 1 ‖ ≈ ⎜ ⎟<br />

⎝0.005⎠ .<br />

0<br />

153


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Hiermit ergibt sich (wird eigentlich nicht benötigt!)<br />

⎛<br />

⎞<br />

−1 −0.01 0<br />

S (1) = I − 2v (1) (v (1) ) T ⎜<br />

⎟<br />

≈ ⎝−0.01 1 0⎠ ,<br />

0 0 1<br />

und <strong>die</strong> neuen Spaltenvektoren ergeben sich zu:<br />

a (1)<br />

1 = −‖a 1 ‖e 1 ≈ −e 1 ,<br />

a (1)<br />

2 = a 2 − 2(v (1) , a 2 )v (1) ≈ a 2 − 2v (1) ,<br />

a (1)<br />

3 = a 3 − 2(v (1) , a 3 )v (1) ≈ a 3 − 2v (1) ,<br />

⎛<br />

⎞<br />

−1 −1 −1<br />

⇒ A (1) ⎜<br />

⎟<br />

= ⎝ 0 −0.01 0 ⎠ .<br />

0 0.01 0.01<br />

Wir fahren mit der Teilmatrix A (1)<br />

kl>1<br />

beachte das Vorzeichen sign(a (1)<br />

22 ) =“-”)<br />

fort und wählen mit ã(1) 2 = (−0.01, 0.01) T (man<br />

ṽ (2) =<br />

ã(1) 2 − ‖ã (1)<br />

2 ‖ẽ ( )<br />

2 −0.924<br />

‖ã (1)<br />

2 − ‖ã (1)<br />

2 ‖ẽ 2‖ ≈ .<br />

0.383<br />

Damit ergibt sich als Householder-Transformation<br />

I − 2ṽ (2) (ṽ (2) ) T ≈ ˜S (2) =<br />

( )<br />

−0.708 0.708<br />

, S (2) =<br />

0.708 0.706<br />

⎛<br />

⎜<br />

1 0 0<br />

⎞<br />

⎟<br />

⎝0 −0.708 0.708⎠ .<br />

0 0.708 0.706<br />

Wir erhalten:<br />

ã (2)<br />

2 = ‖ã (1)<br />

1 ‖ẽ 2,<br />

ã (2)<br />

3 = ã (1)<br />

3 − 2(ã (1)<br />

3 , ṽ(2) )ṽ (2) ≈ ã (1)<br />

3 − 2 · 0.00383ṽ (2) ,<br />

⎛<br />

⎞<br />

−1 −1 −1<br />

⇒ A (2) ⎜<br />

⎟<br />

= ⎝ 0 0.0141 0.00708⎠ .<br />

0 0 0.00707<br />

Zur Probe berechnen wir Q T = S (2) S (1) (mit dreistelliger Genauigkeit):<br />

⎛<br />

⎞<br />

−1 −0.01 0<br />

Q T ⎜<br />

⎟<br />

≈ ⎝ 0.00708 −0.708 0.708⎠ .<br />

−0.00708 0.708 0.707<br />

Bei dreistelliger Genauigkeit gilt für das Produkt Q T Q ≈ I:<br />

⎛<br />

Q T ⎜<br />

1 0 0<br />

⎞<br />

Q ≈ ⎝0 1 −7.58 · 10 −4 ⎟<br />

⎠ .<br />

0 −0.758 · 10 −4 1<br />

Dies entspricht e<strong>in</strong>em relativen Fehler ‖Q T Q − I‖ 2 ≤ 10 −3 im Rahmen der Rechengenauigkeit.<br />

Weiter gilt für <strong>die</strong> Zerlegung A ≈ QR:<br />

⎛<br />

⎞<br />

1 1 1<br />

⎜<br />

A ≈ QR = ⎝0.01 1.72 · 10 −5 ⎟<br />

0.01⎠ .<br />

0 0.00998 0.01<br />

154


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

Auch hier gilt ‖A − QR‖ 2 /‖A‖ 2 ≤ 10 −4 .<br />

Man vergleiche abschließend das Resultat mit dem Ergebnis von Beispiel 4.54. Dort wurden<br />

relative Fehler ‖Q T Q − I‖ 2 ≈ 0.7 sowie ‖QR − A‖ 2 /‖A‖ 2 ≈ 0.004 erreicht.<br />

4.4.3 Givens-Rotationen<br />

Das Gram-Schmidt Verfahren basiert auf Projektionen, <strong>die</strong> Householder-Transformationen<br />

s<strong>in</strong>d Spiegelungen. Schließlich stellen wir kurz e<strong>in</strong>e Methode vor, <strong>die</strong> auf Rotationen beruht.<br />

Wir def<strong>in</strong>ieren:<br />

Def<strong>in</strong>ition 4.61 (Givens-Rotation). Unter e<strong>in</strong>er Givens-Rotation im R n versteht man<br />

<strong>die</strong> Drehung <strong>in</strong> der durch zwei E<strong>in</strong>heitsvektoren e i und e j aufgespannten Ebene. Die Transformationsmatrix<br />

ist gegeben durch:<br />

⎛<br />

1<br />

G(i, j, θ) =<br />

⎜<br />

⎝<br />

. ..<br />

1<br />

c<br />

s<br />

. ..<br />

−s<br />

c<br />

1<br />

⎞<br />

, c := cos(θ), s := s<strong>in</strong>(θ).<br />

. ⎟ .. ⎠<br />

1<br />

Es gilt:<br />

Satz 4.62 (Givens-Rotation). Die Givens-Rotation G(i, j, θ) ist e<strong>in</strong>e orthogonale Matrix<br />

mit det(G) = 1. Es ist G(i, j, θ) −1 = G(i, j, −θ).<br />

Wie <strong>die</strong> Householder-Transformationen s<strong>in</strong>d <strong>die</strong> Givens-Rotationen orthogonale Matrizen.<br />

Die Multiplikation von l<strong>in</strong>ks an e<strong>in</strong>e Matrix, also GA oder e<strong>in</strong>en Vektor, also Gx ändert<br />

155


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

nur <strong>die</strong> i-te und j-te Zeile von A, bzw. von x:<br />

⎛<br />

⎞<br />

a 11 · · · a 1n<br />

. . .. .<br />

a i−1,1 · · · a i−1,n<br />

ca i1 − sa j1 · · · ca <strong>in</strong> − sa jn<br />

a i+1,1 · · · a i+1,n<br />

G(i, j)A =<br />

. . .. .<br />

.<br />

a j−1,1 · · · a j−1,n<br />

sa i1 + ca j1 · · · sa <strong>in</strong> + ca jn<br />

a j+1,1 · · · a j+1,n<br />

⎜<br />

⎝<br />

.<br />

. ..<br />

⎟ . ⎠<br />

a n1 · · · a nn<br />

Die QR-Zerlegung auf der Basis von Givens-Rotationen transformiert <strong>die</strong> Matrix A wieder<br />

schrittweise <strong>in</strong> e<strong>in</strong>e obere rechte Dreiecksmatrix R. Durch Anwenden e<strong>in</strong>er Givens-Rotation<br />

kann jedoch nur e<strong>in</strong> e<strong>in</strong>zelnes Unterdiagonalelement elim<strong>in</strong>iert werden und nicht e<strong>in</strong>e ganze<br />

Spalte:<br />

⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

⎞<br />

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

⎜<br />

⎟<br />

⎝∗ ∗ ∗ ∗⎠ → 0 ∗ ∗ ∗<br />

⎜<br />

⎟<br />

⎝∗ ∗ ∗ ∗⎠ → 0 ∗ ∗ ∗<br />

⎜<br />

⎟<br />

⎝0 ∗ ∗ ∗⎠ → 0 ∗ ∗ ∗<br />

⎜<br />

⎟<br />

⎝0 ∗ ∗ ∗⎠<br />

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗<br />

⎛<br />

⎞<br />

⎛<br />

⎞<br />

∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

0 ∗ ∗ ∗<br />

→ ⎜<br />

⎟<br />

⎝0 0 ∗ ∗⎠ → · · · → 0 ∗ ∗ ∗<br />

⎜<br />

⎟<br />

⎝0 0 ∗ ∗⎠ .<br />

0 ∗ ∗ ∗<br />

0 0 0 ∗<br />

Wir betrachten e<strong>in</strong>en Schritt des Verfahrens. Dazu sei <strong>die</strong> Matrix A gegeben <strong>in</strong> der Form:<br />

⎛<br />

⎞<br />

a 11 · · · · · · · · · · · · a 1n<br />

. 0 .. . .. .<br />

. . .. aii .<br />

. 0 a i+1,i+1 .<br />

A =<br />

. . .<br />

.<br />

. 0 .<br />

.<br />

. . a ji . .. .<br />

⎜<br />

⎟<br />

⎝ . . .<br />

. ⎠<br />

0 · · · a ni a n,i+1 · · · a nn .<br />

Wir suchen <strong>die</strong> Givens-Rotation G(i, j, θ) zur Elim<strong>in</strong>ation von a ji . Für GA gilt:<br />

(G(i, j, θ)A) ji = sa ii + ca ji , c := cos(θ), s := s<strong>in</strong>(θ).<br />

156


4.4 Orthogonalisierungsverfahren und <strong>die</strong> QR-Zerlegung<br />

Anstelle den W<strong>in</strong>kel θ zu f<strong>in</strong>den bestimmen wir gleich <strong>die</strong> Werte c und s mit dem Ansatz<br />

sa ii + ca ji = 0, c 2 + s 2 = 1 ⇒ c :=<br />

a ii<br />

√<br />

a 2 ii + a2 ji<br />

, s := −<br />

a ji<br />

√<br />

a 2 ii + .<br />

a2 ji<br />

Anwendung von G(i, j, θ) auf A ergibt:<br />

(G(i, j, θ)A) ji = −a jia ii + a ii a ji<br />

√<br />

a 2 ii + a2 ji<br />

= 0, (G(i, j, θ)A) ii = a2 ii + a2 ji<br />

√<br />

a 2 ii + a2 ji<br />

=<br />

√<br />

a 2 ii + a2 ji .<br />

Das Element a ji wird elim<strong>in</strong>iert. Zur Elim<strong>in</strong>ation der i-ten Spalte (unterhalb der Diagonale)<br />

s<strong>in</strong>d (n − i − 1) Givens-Rotationen notwendig. Hieraus lässt sich leicht abschätzen,<br />

dass der Aufwand zum Erstellen der QR-Zerlegung nach Givens großer ist als der Aufwand<br />

bei Verwenden der Householder-Transformationen. Genaue Analyse und effiziente Durchführung<br />

führt zu 4n3<br />

3<br />

+ O(n 2 ) arithmetische Operationen, also dem doppelten Aufwand<br />

verglichen mit der Householder-Methode.<br />

Die QR-Zerlegung nach Givens gew<strong>in</strong>nt aber an Bedeutung, wenn <strong>die</strong> Matrix A bereits<br />

dünn besetzt ist. Nur Unterdiagonalelemente a ji ≠ 0 müssen gezielt elim<strong>in</strong>iert werden. Bei<br />

sogenannten Hessenberg-Matrizen (das s<strong>in</strong>d rechte obere Dreiecksmatrizen, <strong>die</strong> zusätzlich<br />

noch e<strong>in</strong>e l<strong>in</strong>ke Nebendiagonale besitzen) kann <strong>die</strong> QR-Zerlegung mit Givens-Rotationen <strong>in</strong><br />

nur O(n 2 ) Operationen durchgeführt werden. Die QR-Zerlegung von Hessenberg-Matrizen<br />

spielt <strong>die</strong> entscheidende Rolle bei dem wichtigsten Verfahren zur Berechnung von Eigenwerten<br />

e<strong>in</strong>er Matrix, siehe Abschnitt 4.6.<br />

Beispiel 4.63 (QR-Zerlegung nach Givens). Wie <strong>in</strong> Beispielen 4.54 und 4.60 sei wieder<br />

<strong>die</strong> folgende Matrix gegeben:<br />

⎛<br />

⎞<br />

1 1 1<br />

⎜<br />

⎟<br />

A := ⎝0.01 0 0.01⎠<br />

0 0.01 0.01<br />

Wir führen alle Rechnungen mit dreistelliger Genauigkeit durch. Zur Elim<strong>in</strong>ation von<br />

a 21 = 0.01 ist:<br />

c (1) =<br />

1<br />

√<br />

1 + 0.01 2 ≈ 1,<br />

0.01<br />

s(1) = −√ ≈ −0.01,<br />

1 + 0.01 2<br />

d.h.<br />

⎛<br />

⎞<br />

1 0.01 0<br />

G (1) ⎜<br />

⎟<br />

= ⎝−0.01 1 0⎠ ,<br />

0 0 1<br />

⎛<br />

A (1) = G (1) ⎜<br />

1 1 1<br />

⎞<br />

⎟<br />

A ≈ ⎝0 −0.01 0 ⎠<br />

0 0.01 0.01<br />

Im zweiten Schritt wählen wir zur Elim<strong>in</strong>ation von a (1)<br />

32 = 0.01<br />

c (2) =<br />

−0.01<br />

√<br />

0.01 2 + 0.01 2 ≈ −0.707,<br />

s(2) = −<br />

0.01<br />

√<br />

0.01 2 + 0.01 2 ≈ −0.707, 157


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

also<br />

⎛<br />

G (2) ⎜<br />

1 0 0<br />

⎞<br />

⎟<br />

= ⎝0 −0.707 0.707 ⎠ ,<br />

0 −0.707 −0.707<br />

⎛<br />

A (2) = G (2) A (1) ⎜<br />

1 1 1<br />

⎞<br />

⎟<br />

≈ ⎝0 0.0141 0.00707 ⎠ = ˜R.<br />

0 0 −0.00707<br />

Zur Probe berechnen wir zunächst ˜Q := (G (1) ) T (G (2) ) T :<br />

⎛<br />

⎞<br />

1 0.00707 0.00707<br />

⎜<br />

⎟<br />

˜Q = ⎝0.01 −0.707 −0.707⎠ .<br />

0 0.707 −0.707<br />

Die Matrizen ˜Q sowie ˜R s<strong>in</strong>d nahezu identisch zu denen der Householder-Transformation<br />

<strong>in</strong> Beispiel 4.60. Daher ist auch <strong>die</strong> Genauigkeit der Approximation entsprechend gut:<br />

⎛<br />

˜Q T ⎜ ˜Q 1.0001 0 0<br />

⎞ ⎛<br />

⎞<br />

1 1 1<br />

= ⎝ 0 0.99975 −5 · 10 −5 ⎟ ⎜<br />

⎠ , ˜Q ˜R ≈ ⎝0.01 3 · 10 −5 ⎟<br />

0.01 ⎠ ,<br />

0 −5 · 10 −5 0.99975<br />

0 0.00997 0.009997<br />

mit relativen Fehlern ‖ ˜Q ˜R − A‖ 2 /‖A‖ 2 ≈ 0.00005 sowie ‖ ˜Q T ˜Q − I‖2 ≈ 0.0003.<br />

4.5 Überbestimmte Gleichungssysteme, Gauß’sche<br />

Ausgleichrechnung<br />

In vielen Anwendungen treten l<strong>in</strong>eare Gleichungssysteme auf, <strong>die</strong> e<strong>in</strong>e unterschiedliche<br />

Anzahl von Gleichungen und Unbekannten besitzen:<br />

Ax = b, A ∈ R n×m , x ∈ R m , b ∈ R n , n ≠ m.<br />

Im Fall n > m sprechen wir von überbestimmten Gleichungssystemen, im Fall n < m<br />

von unterbestimmten Gleichungssystemen. Die Untersuchung der e<strong>in</strong>deutigen Lösbarkeit<br />

von allgeme<strong>in</strong>en Gleichungssystemen mit rechteckiger Matrix A kann nicht mehr an deren<br />

Regularität ausgemacht werden. Stattdessen wissen wir, dass e<strong>in</strong> Gleichungssystem genau<br />

dann lösbar ist, falls der Rang der Matrix A gleich dem Rang der erweiterten Matrix<br />

(A|b) ist. Gilt zusätzlich rang(A) = m, so ist <strong>die</strong> Lösung e<strong>in</strong>deutig. E<strong>in</strong> unterbestimmtes<br />

l<strong>in</strong>eares Gleichungssystem kann daher nie e<strong>in</strong>deutig lösbar se<strong>in</strong>. Wir betrachten <strong>in</strong> <strong>die</strong>sem<br />

Abschnitt ausschließlich überbestimmte Gleichungssysteme, d.h. den Fall n > m. E<strong>in</strong><br />

solches Gleichungssystem ist im allgeme<strong>in</strong>en Fall nicht lösbar:<br />

Beispiel 4.64 (Überbestimmtes Gleichungssystem). Wir suchen das quadratische Interpolationspolynom<br />

p(x) = a 0 + a 1 x + a 2 x 2 ,<br />

gegeben durch <strong>die</strong> Vorschrift:<br />

p(−1/4) = 0, p(1/2) = 1, p(2) = 0, p(5/2) = 1.<br />

158


4.5 Überbestimmte Gleichungssysteme, Gauß’sche Ausgleichrechnung<br />

Dies ergibt <strong>die</strong> vier Gleichungen:<br />

a 0 − 1 4 a 1 + 1<br />

16 a 2 = 0<br />

a 0 + 1 2 a 1 + 1 4 a 2 = 1<br />

a 0 + 2a 1 + 4a 2 = 0<br />

a 0 + 5 2 a 1 + 25 4 a 2 = 1<br />

Wir versuchen, das l<strong>in</strong>eare Gleichungssystem mit Gauß-Elim<strong>in</strong>ation zu lösen:<br />

⎛<br />

⎞<br />

1 − 1 1<br />

4 16<br />

0<br />

1 1<br />

⎜1 2 4<br />

1⎟<br />

⎝1 2 4 0⎠<br />

5 25<br />

1<br />

2 4<br />

1<br />

→<br />

⎛<br />

⎞<br />

1 − 1 1<br />

4 16<br />

0<br />

⎜0 3 3 4⎟<br />

⎝<br />

63<br />

0 9 ⎠<br />

16<br />

0<br />

99<br />

0 11<br />

4<br />

4<br />

→<br />

⎛<br />

⎞<br />

1 − 1 1<br />

4 16<br />

0<br />

⎜0 3 3 4⎟<br />

⎝0 0 − 81 ⎠<br />

16<br />

−12 .<br />

319<br />

0 0<br />

16<br />

4<br />

D.h., es müsste gelten a 2 = 64/27 ≈ 2.37 sowie a 2 = 64/319 ≈ 0.2.<br />

In Anbetracht von Satz 3.6 ist <strong>die</strong>ses Ergebnis für <strong>die</strong> Lagrange-Interpolation zu erwarten.<br />

Bei allgeme<strong>in</strong>en überbestimmten Gleichungssystemen muss daher <strong>die</strong> Zielstellung geändert<br />

werden: gesucht wird nicht <strong>die</strong> Lösung des Gleichungssystems, sondern e<strong>in</strong> Vektor<br />

x ∈ R m , welcher <strong>in</strong> gewissem S<strong>in</strong>ne <strong>die</strong> beste Approximation ist. Entsprechend der Bestapproximation<br />

von Funktionen aus Abschnitt 3.6.1 def<strong>in</strong>ieren wir:<br />

Def<strong>in</strong>ition 4.65 (Methode der kle<strong>in</strong>sten Fehlerquadrate, Least-Squares). Es sei Ax = b<br />

mit A ∈ R n×m und b ∈ R n . Dann ist <strong>die</strong> Least-Squares Lösung x ∈ R m als <strong>die</strong> Näherung<br />

bestimmt, deren Defekt <strong>die</strong> kle<strong>in</strong>ste euklidische Norm annimmt:<br />

‖b − Ax‖ 2 = m<strong>in</strong><br />

y∈R m ‖b − Ay‖ 2 (4.9)<br />

Der wesentliche Unterschied zwischen <strong>die</strong>ser Aufgabenstellung und Satz 3.79 zur Gauß-<br />

Approximation ist <strong>die</strong> Wahl der Norm: hier betrachten wir <strong>die</strong> euklidische Vektor-Norm,<br />

bei der Gauß-Approximation von Funktionen <strong>die</strong> L 2 -Norm. Beiden Normen ist geme<strong>in</strong>,<br />

dass sie durch e<strong>in</strong> Skalarprodukt gegeben s<strong>in</strong>d. Es gilt:<br />

Satz 4.66 (Kle<strong>in</strong>ste Fehlerquadrate). Angenommen, für <strong>die</strong> Matrix A ∈ R n×m mit n > m<br />

gilt m = rang(A). Dann ist <strong>die</strong> Matrix A T A ∈ R m×m positiv def<strong>in</strong>it und <strong>die</strong> Least-Squares-<br />

Lösung x ∈ R m ist e<strong>in</strong>deutig bestimmt als Lösung des Normalgleichungssystems:<br />

A T Ax = A T b.<br />

Beweis: (i) Es gilt rang(A) = m. D.h. Ax = 0 gilt nur dann, wenn x = 0. Hieraus folgt<br />

<strong>die</strong> positive Def<strong>in</strong>itheit der Matrix A T A:<br />

(A T Ax, x) 2 = (Ax, Ax) 2 = ‖Ax‖ 2 2 > 0 ∀x ≠ 0,<br />

und das Gleichungssystem A T Ax = A T b ist für jede rechte Seite b ∈ R n e<strong>in</strong>deutig lösbar.<br />

159


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

(ii) Es sei x ∈ R m <strong>die</strong> Lösung des Normalgleichungssystems. Dann gilt für beliebiges<br />

y ∈ R m :<br />

‖b − A(x + y)‖ 2 2 = ‖b − Ax‖ 2 2 + ‖Ay‖ 2 2 − 2(b − Ax, Ay) 2<br />

= ‖b − Ax‖ 2 2 + ‖Ay‖ 2 2 − 2(A T b − A T Ax, y)<br />

} {{ } 2<br />

=0<br />

≥ ‖b − Ax‖ 2 2.<br />

(iii) Nun sei x das M<strong>in</strong>imum von (4.9). D.h., es gilt für beliebigen Vektor y:<br />

‖b − Ax‖ 2 2 ≤ ‖b − A(x + y)‖ 2 2 = ‖b − Ax‖ 2 2 + ‖Ay‖ 2 2 − 2(b − Ax, Ay) 2 ∀y ∈ R m .<br />

Hieraus folgt:<br />

−‖A‖ 2 2‖y‖ 2 2 ≤ −‖Ay‖ 2 2 ≤ 2(A T Ax − A T b, y) 2 ≤ ‖Ay‖ 2 2 ≤ ‖A‖ 2 2‖y‖ 2 2.<br />

Für y = se i , wobei s ∈ R und e i der i-te E<strong>in</strong>heitsvektor ist gilt:<br />

−s‖A‖ 2 2 ≤ 2[A T Ax − A T b] i ≤ s‖A‖ 2 2 ∀s ∈ R, i = 1, . . . , n.<br />

Bei s → 0 folgt [A T Ax] i = [A T b] i .<br />

□<br />

Die beste Approximation e<strong>in</strong>es überbestimmten Gleichungssystems kann durch Lösen des<br />

Normalgleichungssystems gefunden werden. Der naive Ansatz, <strong>die</strong> Matrix A T A zu bestimmen<br />

und dann das Normalgleichungsystem etwa mit dem Cholesky-Verfahren zu lösen ist<br />

numerisch nicht ratsam. Zunächst ist der Aufwand zur Berechnung von A T A sehr groß<br />

und <strong>die</strong> Berechnung der Matrix-Matrix Multiplikation ist schlecht konditioniert. Weiter<br />

gilt <strong>die</strong> Abschätzung:<br />

cond(A T A) ≈ cond(A) 2 .<br />

Wir lösen mit <strong>die</strong>ser Methode das überbestimmte Gleichungssystem aus Beispiel 4.64:<br />

Beispiel 4.67 (Lösen der Normalgleichung). Die exakte Lösung des Normalgleichungssystems<br />

A T Ax = A T b ist gegeben durch:<br />

⎛ ⎞<br />

0.3425<br />

⎜ ⎟<br />

x ≈ ⎝ 0.3840 ⎠ , p(x) = 0.3425 + 0.3740x − 0.1131x 2 .<br />

−0.1131<br />

Es gilt:<br />

‖b − Ax‖ 2 ≈ 0.947.<br />

Wir stellen das Normalgleichungssystem mit dreistelliger Rechnung auf:<br />

⎛<br />

⎞<br />

⎛ ⎞<br />

4 4.75 10.6<br />

2<br />

A T ⎜<br />

⎟<br />

A = ⎝4.75 10.6 23.7⎠ , A T ⎜ ⎟<br />

b = ⎝ 3 ⎠ .<br />

10.6 23.7 55.1<br />

6.5<br />

160


4.5 Überbestimmte Gleichungssysteme, Gauß’sche Ausgleichrechnung<br />

Die exakte Lösung ist bestimmt durch <strong>die</strong> Polynomkoeffizienten x = (a 0 , a 1 , a 2 ) T sowie das<br />

Polynom p(x) = a 0 + a 1 x + a 2 x 2 :<br />

Wir bestimmen <strong>die</strong> Cholesky-Zerlegung mit dem direkten Verfahren:<br />

l 11 = √ 4 = 2<br />

l 21 = 4.75/2 ≈ 2.38<br />

⎛<br />

⎞<br />

l 31 = 10.6/2 = 5.3<br />

2 0 0<br />

l 22 = √ ⎜<br />

⎟<br />

, L :=<br />

10.6 − 2.38 2 ⎝2.38 2.22 0 ⎠ .<br />

≈ 2.22<br />

5.3 5 1.42<br />

l 32 = (23.7 − 2.38 · 5.3)/2.22 ≈ 5<br />

l 33 = √ 55.1 − 5.3 2 − 5 2 ≈ 1.42.<br />

Wir lösen:<br />

⎛ ⎞<br />

⎛ ⎞<br />

1<br />

0.424<br />

L }{{} L T x = A T ⎜ ⎟<br />

⎜ ⎟<br />

b ⇒ y ≈ ⎝ 0.279 ⎠ ⇒ ˜x ≈ ⎝ 0.343 ⎠ ,<br />

=y<br />

−0.137<br />

−0.0965<br />

mit dem Polynom<br />

p(x) = 0.424 + 0.343x − 0.0965x 2 ,<br />

und dem Defekt ‖b − A˜x‖ ≈ 0.96 sowie dem relativen Fehler zur exakten Lösung:<br />

‖˜x − x‖<br />

‖x‖<br />

≈ 0.18.<br />

Wir entwickeln e<strong>in</strong> alternatives Verfahren, welches das Aufstellen des Normalgleichungssystems<br />

A T Ax = A T b umgeht und nutzen hierfür e<strong>in</strong>e Erweiterung der bereits vorgestellten<br />

QR-Zerlegung auf allgeme<strong>in</strong>e rechteckige Matrizen:<br />

Satz 4.68 (QR-Zerlegung rechteckiger Matrizen). Es sei A ∈ R n×m mit n > m und<br />

rang(A) = m. Dann existiert e<strong>in</strong>e orthogonale Matrix Q ∈ R n×n , sowie e<strong>in</strong>e “rechteckige<br />

obere Dreiecksmatrix” ˜R ∈ R n×m so dass gilt A = Q ˜R mit:<br />

⎛<br />

˜R =<br />

⎜<br />

⎝<br />

R<br />

0<br />

⎞<br />

⎟<br />

⎠<br />

}<br />

m<br />

}<br />

n − m<br />

⎛<br />

⎞<br />

∗ ∗ · · · ∗<br />

. 0 ∗ .. ∗<br />

, R =<br />

⎜ .<br />

⎝.<br />

.. .<br />

∈ R m×m .<br />

.. ⎟ . ⎠<br />

0 · · · 0 ∗<br />

Beweis: Der Beweis folgt durch Anwenden von m Schritten der QR-Zerlegung mit Householder-<br />

Transformationen auf <strong>die</strong> Matrix A. Die Spaltenvektoren A = (a (0)<br />

1 , . . . , a(0) m ) s<strong>in</strong>d l<strong>in</strong>ear<br />

161


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

unabhängig. Diese Eigenschaft bleibt durch Anwenden von orthogonalen Householder-<br />

Transformationen S (1) , . . . , S (m) erhalten, d.h.:<br />

dim ( span{a (i)<br />

1 , . . . , a(i) m } ) = m, i = 1, . . . , m, a (i)<br />

j = S (i) a (i−1)<br />

j .<br />

Die ersten m Schritte der Householder-Transformation s<strong>in</strong>d durchführbar und es gilt<br />

rang(A) = rang(Q T A) mit<br />

Q T = S (m) · · · S (1) .<br />

Die Matrix A wird dabei schrittweise auf “Dreiecksgestalt” gebracht:<br />

⎛<br />

∗ ∗ · · · ∗<br />

⎞<br />

. ∗ .. . .. .<br />

. . .. . .. .<br />

. . .. . .. .<br />

. . .. . .. .<br />

⎜<br />

⎟<br />

⎝ .<br />

. .. . .. .<br />

⎠<br />

∗ · · · · · · ∗<br />

→<br />

⎛<br />

∗ ∗ · · · ∗<br />

⎞<br />

. 0 ∗ .. .<br />

. . . .. .<br />

. . . .. .<br />

. . . .. .<br />

⎜<br />

⎟<br />

⎝ .<br />

. . .. .<br />

⎠<br />

0 ∗ · · · ∗<br />

→<br />

⎛<br />

∗ ∗ · · · ∗<br />

⎞<br />

. 0 ∗ .. .<br />

. . .. . ..<br />

. . .. 0 ∗<br />

=: ˜R ∈ R n×m .<br />

. . .. 0<br />

⎜<br />

⎟<br />

⎝<br />

.<br />

.<br />

⎠<br />

0 · · · · · · 0<br />

Im Gegensatz zur Householder-Transformation bei quadratischen Matrizen müssen m anstelle<br />

von m − 1 Schritte durchgeführt werden, um den Block unterhalb der m-ten Zeile<br />

zu elim<strong>in</strong>ieren.<br />

Die resultierende Matrix ˜R hat Rang m für ihre E<strong>in</strong>träge ˜r ij mit i > m gilt ˜r ij = 0.<br />

Daher ist der obere Matrixblock R ∈ R m×m mit r ij = ˜r ij für i, j ≤ m regulär mit<br />

rang(R) = rang( ˜R) = m.<br />

□<br />

Mit <strong>die</strong>ser verallgeme<strong>in</strong>erten QR-Zerlegung gilt nun:<br />

A T Ax = A T b ⇔ (Q ˜R) T Q ˜Rx = (Q ˜R) T b ⇔ ˜R T ˜Rx = ˜RT Q T b.<br />

Da alle E<strong>in</strong>träge von ˜R im unteren Block Null s<strong>in</strong>d gilt ˜R T ˜R = R T R und weiter mit<br />

˜bi := (Q T b) i≤m ,<br />

ist das Normalgleichungssystem äquivalent zum e<strong>in</strong>fachen Dreieckssystem<br />

mit e<strong>in</strong>er n × n-Matrix R.<br />

A T Ax = A T b ⇔ RX = ˜b,<br />

Beispiel 4.69 (“Lösen” e<strong>in</strong>es überbestimmten Gleichungssystems mit erweiterter QR–<br />

Zerlegung). Für das überbestimmte l<strong>in</strong>eare Gleichungssystem aus Beispiel 4.64 gilt:<br />

⎛<br />

⎞<br />

1 − 1 1 ⎛ ⎞<br />

4 16 0<br />

1 1<br />

⎜1 2 4 ⎟<br />

⎝1 2 4 ⎠<br />

1<br />

, b = ⎜ ⎟<br />

⎝0⎠ .<br />

5 25<br />

1<br />

2 4 1<br />

162


4.5 Überbestimmte Gleichungssysteme, Gauß’sche Ausgleichrechnung<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

Least-Squares Loesung<br />

Approximation mit Cholesky<br />

Approximation mit QR<br />

-0.2<br />

-1 -0.5 0 0.5 1 1.5 2 2.5 3<br />

Abbildung 4.3: Lösen e<strong>in</strong>es überbestimmten Gleichungssystems zum F<strong>in</strong>den der besten<br />

Approximation an Messdaten. Siehe Beispiele 4.64, 4.67 sowie 4.69.<br />

Wir wählen im ersten Schritt der Householder-Transformation (dreistellige Rechnung)<br />

⎛ ⎞<br />

0.866<br />

v (1) = a 1 + ‖a 1 ‖e 1<br />

‖ a 1 + ‖a 1 ‖e 1 ‖ ≈ 0.289<br />

⎜ ⎟<br />

⎝0.289⎠ .<br />

0.289<br />

Dann gilt mit a (1)<br />

i = a i − 2(a i , v (1) )v (1) :<br />

⎛<br />

⎞<br />

−2 −2.38 −5.29<br />

à (1) 0 −0.210 −1.54<br />

≈ ⎜<br />

⎟<br />

⎝ 0 1.29 2.21 ⎠<br />

0 1.79 4.46<br />

=: (a(1) 1 , a(1) 2 , a(1) 3 ).<br />

Mit dem reduzierten Vektor ã (1)<br />

2 = (−0.21, 1.29, 1.79) T gilt weiter<br />

⎛<br />

ṽ (2) =<br />

ã(1) 2 − ‖ã (1)<br />

2 ‖ẽ 2<br />

‖ ã (1)<br />

2 + ‖ã (1)<br />

2 ‖ẽ 2 ‖ ≈ ⎜<br />

−0.740<br />

⎞<br />

⎟<br />

⎝ 0.393 ⎠ .<br />

0.546<br />

Und hiermit:<br />

⎛<br />

⎞<br />

−2 −2.38 −5.29<br />

à (2) 0 2.22 5.04<br />

≈ ⎜<br />

⎟<br />

⎝ 0 0 −1.28 ⎠<br />

0 0 −0.392<br />

=: (a(2) 1 , a(2) 2 , a(2) 3 ).<br />

Wir müssen e<strong>in</strong>en dritten Schritt durchführen und mit ã (2)<br />

3 = (−1.28, −0.392) ergibt sich<br />

nach gleichem Pr<strong>in</strong>zip:<br />

( )<br />

ṽ (3) −0.989<br />

= .<br />

−0.148<br />

163


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Schließlich erhalten wir:<br />

⎛<br />

⎞<br />

−2 −2.38 −5.29<br />

˜R = Ã(3) 0 2.22 5.04<br />

≈ ⎜<br />

⎟<br />

⎝ 0 0 1.34 ⎠ .<br />

0 0 0<br />

Zum Lösen des Ausgleichsystems:<br />

A T Ax = A T b ⇔ Rx = ˜b,<br />

bestimmen wir zunächst <strong>die</strong> rechte Seite nach der Vorschrift b (i) = b (i−1) −2(b (i−1) , v (i) )v (i) :<br />

⎛ ⎞<br />

−1<br />

⎜ ⎟<br />

˜b = ⎝ 0.28 ⎠ .<br />

−0.155<br />

Abschließend lösen wir durch Rückwärtse<strong>in</strong>setzen Rx = ˜b (3) :<br />

⎛ ⎞<br />

0.342<br />

⎜ ⎟<br />

˜x ≈ ⎝ 0.390 ⎠<br />

−0.116<br />

und erhalten das Interpolationspolynom:<br />

mit Defekt<br />

p(x) = 0.342 + 0.39x − 0.116x 2 ,<br />

‖b − A˜x‖ ≈ 0.947,<br />

und relativem Fehler zur exakten Least-Squares-Lösung:<br />

‖˜x − x‖<br />

‖x‖<br />

≈ 0.01,<br />

d.h., e<strong>in</strong> Fehler von etwa e<strong>in</strong>em 1% anstelle von fast 20% beim direkten Lösen des Normalsystems.<br />

In Abbildung 4.3 zeigen wir <strong>die</strong> exakte Lösung sowie <strong>die</strong> beiden Approximierten<br />

Lösungen zu <strong>die</strong>sem Beispiel.<br />

Die <strong>in</strong> Abschnitt 3.6.1 betrachtete diskrete Gauss-Approximation ist e<strong>in</strong>e Anwendung der<br />

Methode der kle<strong>in</strong>sten Fehlerquadrate. Die l<strong>in</strong>eare Ausgleichsrechnung ist e<strong>in</strong> Spezialfall<br />

mit Matrizen A ∈ R n×2 .<br />

4.6 Berechnung von Eigenwerten<br />

In <strong>die</strong>sem Abschnitt befassen wir uns mit dem Eigenwertproblem: zu gegebener Matrix<br />

A ∈ R n×n s<strong>in</strong>d <strong>die</strong> Eigenwerte (und gegebenenfalls Eigenvektoren) gesucht. Wir er<strong>in</strong>nern<br />

an Def<strong>in</strong>ition 4.9 und formulieren<br />

164


4.6 Berechnung von Eigenwerten<br />

Satz 4.70 (Eigenwert). Es sei A ∈ R n×n . Dann gilt:<br />

• Die Matrix A hat genau n Eigenwerte, ihrer Vielfachheit nach gezählt.<br />

• Die Eigenwerte s<strong>in</strong>d Nullstellen des charakteristischen Polynoms:<br />

det(A − λI) = 0.<br />

• Reelle Matrizen können komplexe Eigenwerte haben, komplexe Eigenwerte treten<br />

stets als konjugierte Paare λ, ¯λ auf.<br />

• Eigenvektoren zu unterschiedlichen Eigenwerten s<strong>in</strong>d l<strong>in</strong>ear unabhängig.<br />

• Falls n l<strong>in</strong>ear unabhängige Eigenvektoren existieren, so existiert e<strong>in</strong>e reguläre Matrix<br />

S ∈ R n×n , so dass S −1 AS = D e<strong>in</strong>e Diagonalmatrix ist. Die Spaltenvektoren von S<br />

s<strong>in</strong>d <strong>die</strong> Eigenvektoren und <strong>die</strong> Diagonale<strong>in</strong>träge von D <strong>die</strong> Eigenwerte.<br />

• Symmetrische Matrizen A = A T haben nur reelle Eigenwerte. Es existiert e<strong>in</strong>e Orthonormalbasis<br />

von Eigenvektoren und e<strong>in</strong>e Diagonalisierung Q T AQ = D mit e<strong>in</strong>er<br />

orthogonalen Matrix.<br />

• Bei Dreiecksmatrizen stehen <strong>die</strong> Eigenwerte auf der Diagonalen.<br />

Zu e<strong>in</strong>em Eigenwert λ s<strong>in</strong>d <strong>die</strong> Eigenvektoren als Lösung des homogenen l<strong>in</strong>earen Gleichungssystems<br />

bestimmt:<br />

(A − λI)w = 0.<br />

Umgekehrt gilt:<br />

Def<strong>in</strong>ition 4.71 (Rayleigh-Quotient). Sei A ∈ R n×n sowie w ∈ R n e<strong>in</strong> Eigenvektor.<br />

Dann ist durch den Rayleigh-Quotienten der zugehörige Eigenwert gegeben:<br />

λ = (Aw, w) 2<br />

‖w‖ 2 .<br />

2<br />

Mit Hilfe <strong>die</strong>ser Def<strong>in</strong>ition folgt e<strong>in</strong>e e<strong>in</strong>fache Schranke für <strong>die</strong> Eigenwerte:<br />

(Aw, w) 2<br />

|λ| ≤ sup<br />

w≠0 ‖w‖ 2 2<br />

≤ ‖A‖ 2 ‖w‖ 2 2<br />

‖w‖ 2 2<br />

= ‖A‖ 2 .<br />

Wir haben <strong>in</strong> Abschnitt 4.1 bereits gesehen, dass <strong>die</strong>se Schranke für <strong>die</strong> Beträge der Eigenwerte<br />

<strong>in</strong> jeder Matrixnorm mit verträglicher Vektornorm gilt.<br />

4.6.1 Konditionierung der Eigenwertaufgabe<br />

Bevor wir auf konkrete Verfahren zur Eigenwertberechnung e<strong>in</strong>gehen, analysieren wir <strong>die</strong><br />

Kondition der Aufgabe, d.h. <strong>die</strong> Abhängigkeit der Eigenwerte von der Störung der Matrix.<br />

Hierfür benötigen wir zunächst e<strong>in</strong>en Hilfsatz:<br />

165


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Hilfsatz 4.72. Es seien A, B ∈ R n×n beliebige Matrizen. Dann gilt für jeden Eigenwert<br />

λ von A, der nicht zugleich Eigenwert von B für jede natürliche Matrizennorm <strong>die</strong> Abschätzung:<br />

‖(λI − B) −1 (A − B)‖ ≥ 1.<br />

Beweis: Es sei w ≠ 0 e<strong>in</strong> Eigenvektor zu λ. Dann gilt:<br />

(A − B)w = (λI − B)w.<br />

Wenn λ ke<strong>in</strong> Eigenwert von B ist, so ist <strong>die</strong> Matrix (λI − B) regulär, d.h. es folgt:<br />

(λI − B) −1 (A − B)w = w.<br />

Und schließlich durch Normbilden:<br />

1 = ‖(λI − B)−1 (A − B)w‖<br />

‖w‖<br />

≤ sup<br />

x<br />

‖(λI − B) −1 (A − B)x‖<br />

‖x‖<br />

= ‖(λI − B) −1 (A − B)‖.<br />

Auf <strong>die</strong>ser Basis erhalten wir e<strong>in</strong> e<strong>in</strong>faches Kriterium zur E<strong>in</strong>grenzung der Eigenwerte e<strong>in</strong>er<br />

Matrix:<br />

□<br />

Satz 4.73 (Gerschgor<strong>in</strong>-Kreise). Es sei A ∈ R n×n . Alle Eigenwerte λ von A liegen <strong>in</strong> der<br />

Vere<strong>in</strong>igung der Gerschgor<strong>in</strong>-Kreise:<br />

K i = {z ∈ C : |z − a ii | ≤<br />

n∑<br />

k=1,k≠i<br />

|a ik |}, i = 1, . . . , n.<br />

Angenommen zu den Indexmengen I m = {i 1 , . . . , i m } und I ′ m = {1, . . . , n} \ I m seien<br />

<strong>die</strong> Vere<strong>in</strong>igungen U m = ⋃ i∈I m<br />

K i und U ′ m = ⋃ i∈I ′ m K i disjunkt. Dann liegen genau m<br />

Eigenwerte (ihrer algebraischen Vielfachheit nach gezählt) <strong>in</strong> U m und n − m Eigenwerte<br />

<strong>in</strong> U ′ m.<br />

Beweis: (i) Es sei D ∈ R n×n <strong>die</strong> Diagonalmatrix D = diag(a ii ). Weiter sei λ e<strong>in</strong> Eigenwert<br />

von A mit λ ≠ a ii . (In <strong>die</strong>sem Fall wäre <strong>die</strong> Aussage des Satzes trivial erfüllt). Hilfsatz 4.72<br />

besagt bei Wahl der maximalen Zeilensummennorm:<br />

1 ≤ ‖(λI−D) −1 (A−D)‖ ∞ = max<br />

i<br />

⎧ ⎫ ⎧<br />

⎫<br />

⎨ n∑<br />

⎬ ⎨<br />

n<br />

|(λ − a<br />

⎩<br />

ii ) −1 a ij |<br />

⎭ = max<br />

i ⎩ |λ − a ii| −1 ∑ ⎬<br />

|a ij |<br />

⎭ .<br />

j=1,j≠i<br />

j=1,j≠i<br />

D.h. es existiert zu jedem λ e<strong>in</strong> Index i ∈ {1, . . . , n} so dass gilt:<br />

|λ − a ii | ≤<br />

n∑<br />

j=1,j≠i<br />

|a ij |.<br />

166


4.6 Berechnung von Eigenwerten<br />

(ii) Es seien durch I m und I ′ m Indexmengen mit oben genannter Eigenschaft gegeben. Wir<br />

def<strong>in</strong>ieren <strong>die</strong> Matrix<br />

A s := D + s(A − D),<br />

mit A 0 = D und A 1 = A. Entsprechend def<strong>in</strong>ieren wir <strong>die</strong> Vere<strong>in</strong>igungen:<br />

U m,s := ⋃<br />

i∈I m<br />

K i (A s ),<br />

U ′ m,s := ⋃<br />

i∈I ′ m<br />

K i (A s ), K i (A s ) = {z ∈ C, |z − a ii | ≤ s ∑ j≠i<br />

|a ij |}.<br />

Aufgrund der stetigen Abhängigkeit der Kreisra<strong>die</strong>n von s gilt U m,s ∩ U m,s ′ = ∅ für s ∈<br />

[0, 1]. Im Fall s = 0 gilt A 0 = D und jeder Eigenwert von A 0 liegt im Mittelpunkt (also<br />

λ i = a ii ) des trivialen Kreises mit Radius Null. Das Ergebnis folgt nun durch <strong>die</strong> stetige<br />

Abhängigkeit der Eigenwerte von s.<br />

□<br />

Wir betrachten hierzu e<strong>in</strong> Beispiel:<br />

Beispiel 4.74 (Gerschgor<strong>in</strong>-Kreise). Wir betrachten <strong>die</strong> Matrix<br />

⎛<br />

⎞<br />

2 0.1 −0.5<br />

⎜<br />

⎟<br />

A = ⎝ 0.2 3 0.5 ⎠ ,<br />

−0.4 0.1 5<br />

mit den Eigenwerten spr(A) ≈ {1.91, 3.01, 5.08}. E<strong>in</strong>e erste Schranke liefern verschiedene<br />

mit Vektornormen verträgliche Matrixnormen von A:<br />

Die Gerschgor<strong>in</strong>-Kreise von A s<strong>in</strong>d:<br />

‖A‖ ∞ = 5.5, ‖A‖ 1 = 6, ‖A‖ 2 ≈ 5.1.<br />

K 1 = {z ∈ C, |z −2| ≤ 0.6}, K 2 = {z ∈ C, |z −3| ≤ 0.7}, K 3 = {z ∈ C, |z −5| ≤ 0.5}.<br />

Diese Abschätzung kann verfe<strong>in</strong>ert werden, da A und A T <strong>die</strong> gleichen Eigenwerte besitzen.<br />

Die Ra<strong>die</strong>n der Gerschgor<strong>in</strong>-Kreise können auch als Summe der Spaltenbeträge berechnet<br />

werden. Zusammen ergibt sich:<br />

K 1 = {z ∈ C, |z −2| ≤ 0.6}, K 2 = {z ∈ C, |z −3| ≤ 0.2}, K 3 = {z ∈ C, |z −5| ≤ 0.5}.<br />

Alle drei Kreise s<strong>in</strong>d disjunkt.<br />

Wir können nun den allgeme<strong>in</strong>en Stabilitätssatz für das Eigenwertproblem beweisen:<br />

Satz 4.75 (Stabilität des Eigenwertproblems). Es sei A ∈ R n×n e<strong>in</strong>e Matrix mit n l<strong>in</strong>ear<br />

unabhängigen Eigenvektoren w 1 , . . . , w n . Durch à = A + δA sei e<strong>in</strong>e beliebig gestörte<br />

Matrix gegeben. Dann existiert zu jedem Eigenwert λ(Ã) von à = A + δA e<strong>in</strong> Eigenwert<br />

λ(A) von A so dass mit der Matrix W := (w 1 , . . . , w n ) gilt:<br />

|λ(A) − λ(Ã)| ≤ cond 2(W )‖δA‖.<br />

167


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Beweis: Es gilt für i = 1, . . . , n <strong>die</strong> Beziehung Aw i = λ i (A)w i , oder <strong>in</strong> Matrixschreibweise<br />

AW = W diag(λ i (A)), also<br />

W −1 AW = diag(λ i (A)).<br />

Wir betrachten nun e<strong>in</strong>en Eigenwert ˜λ = λ(Ã). Falls ˜λ auch Eigenwert von A ist, so gilt<br />

<strong>die</strong> Behauptung. Also sei ˜λ nun ke<strong>in</strong> Eigenwert von A. Dann folgt:<br />

‖(˜λI − A) −1 ‖ 2 = ‖W −1 [˜λI − diag(˜λ i (A))] −1 W ‖ 2 ≤ cond 2 (W )‖[˜λI − diag(λ i (A))] −1 ‖ 2 .<br />

Für <strong>die</strong> (symmetrische) Diagonalmatrix ˜λI − diag(λ i (A)) gilt<br />

‖[˜λI − diag(λ i (A))] −1 ‖ 2 = max<br />

i=1,...,n |˜λ − λ i (A)| −1 .<br />

Mit Hilfsatz 4.72 folgt das gewünschte Ergebnis:<br />

1 ≤ ‖[˜λI − A) −1 δA‖ 2 ≤ ‖[˜λI − A) −1 ‖ ‖δA‖ 2 ≤ cond 2 (W ) max<br />

i=1,...,n |˜λ − λ i (A)| −1<br />

2 ‖δA‖ 2 .<br />

Die Konditionierung des Eigenwertproblems e<strong>in</strong>er Matrix A hängt von der Konditionszahl<br />

der Matrix der Eigenvektoren ab. Für symmetrische (hermitesche) Matrizen existiert e<strong>in</strong>e<br />

Orthonormalbasis von Eigenvektoren mit cond 2 (W ) = 1. Für solche Matrizen ist das<br />

Eigenwertproblem gut konditioniert. Für allgeme<strong>in</strong>e Matrizen kann das Eigenwertproblem<br />

beliebig schlecht konditioniert se<strong>in</strong>.<br />

□<br />

4.6.2 Direkte Methode zur Eigenwertberechnung<br />

Die Eigenwerte e<strong>in</strong>er Matrix A können pr<strong>in</strong>zipiell als Nullstellen des charakteristischen<br />

Polynoms χ A (z) = det(zI − A) berechnet werden. Die Berechnung der Nullstellen kann<br />

zum Beispiel mit dem Newton-Verfahren geschehen, Startwerte können mit Hilfe der<br />

Gerschgor<strong>in</strong>-Kreise bestimmt werden.<br />

In Kapitel 2 haben <strong>die</strong> Berechnung von Nullstellen e<strong>in</strong>es Polynoms jedoch als e<strong>in</strong> sehr<br />

schlecht konditioniertes Problem kennengelernt. Wir betrachten hierzu e<strong>in</strong> Beispiel.<br />

Beispiel 4.76 (Direkte Berechnung von Eigenwerten). Es sei A ∈ R 5×5 e<strong>in</strong>e Matrix mit<br />

den Eigenwerten λ i = 1, i = 1, . . . , 5. Dann gilt:<br />

5∏<br />

χ A (z) = (z − i) = z 5 − 15z 4 + 85x 3 − 225x 2 + 274z − 120.<br />

i=1<br />

Der Koeffizient −55 vor z 9 sei mit e<strong>in</strong>em relativen Fehler von 0.1% gestört:<br />

˜χ A (z) = z 5 − 0.999 · 15z 4 + 85x 3 − 225x 2 + 274z − 120.<br />

Dieses gestörte Polynom hat <strong>die</strong> Nullstellen (d.h. Eigenwerte):<br />

λ 1 ≈ 0.999, λ 2 ≈ 2.05, λ 3 ≈ 2.76, λ 4/5 ≈ 4.59 ± 0.430i.<br />

168


4.6 Berechnung von Eigenwerten<br />

Die Eigenwerte können also nur mit e<strong>in</strong>em (ab λ 3 ) wesentlichen Fehler bestimmt werden.<br />

Es gilt etwa:<br />

|4.59 + 0.43i − 5|<br />

≈ 0.1,<br />

5<br />

d.h. der Fehler <strong>in</strong> den Eigenwerten beträgt 10%, e<strong>in</strong>e Fehlerverstärkung von 100.<br />

Das Aufstellen des charakteristischen Polynoms erfordert e<strong>in</strong>e Vielzahl schlecht konditionierter<br />

Additionen sowie Multiplikationen. Für allgeme<strong>in</strong>e Matrizen verbietet sich <strong>die</strong>ses<br />

direkte Verfahren. Lediglich für spezielle Matrizen wie Tridiagonalsysteme lassen <strong>die</strong> Eigenwerte<br />

bestimmen, ohne das zunächst <strong>die</strong> Koeffizienten des charakteristischen Polynoms<br />

explizit berechnet werden müssen.<br />

4.6.3 Iterative Verfahren zur Eigenwertberechnung<br />

Das vorangegangene Beispiel widerspricht sche<strong>in</strong>bar zunächst der (auf jeden bei hermiteschen<br />

Matrizen) guten Konditionierung der Eigenwertsuche. Wir leiten nun stabile numerische<br />

Verfahren her, <strong>die</strong> <strong>die</strong> Eigenwerte nicht mehr direkt berechnen, sondern sie iterativ<br />

approximieren.<br />

Zur Herleitung e<strong>in</strong>es ersten e<strong>in</strong>fachen Iterationsverfahren machen wir <strong>die</strong> folgende Beobachtung:<br />

angenommen, zu gegebener Matrix A ∈ R n×n existiere e<strong>in</strong>e Basis aus Eigenvektoren<br />

{w 1 , . . . , w n }, d.h. <strong>die</strong> Matrix sei diagonalisierbar. Weiter gelte |λ n | > |λ n−1 | ≥ · · · ≥<br />

|λ 1 | > 0. Dann sei x ∈ R n <strong>in</strong> Basisdarstellung:<br />

n∑<br />

x (0) = α j w j .<br />

j=1<br />

Wir nehmen an, dass α n ≠ 0, dass also <strong>die</strong> Komponente zum Eigenvektor des betragsmäßig<br />

größten Eigenwertes nicht trivial ist. Wir def<strong>in</strong>ieren <strong>die</strong> Iteration<br />

Dann gilt<br />

x (i+1) =<br />

Ax(i)<br />

‖Ax (i) ‖ .<br />

x (i+1) =<br />

A Ax(i−1)<br />

‖Ax (i−1) ‖<br />

‖A Ax(i−1)<br />

‖Ax (i−1) ‖ ‖ =<br />

A2 x (i−1) ‖Ax (i−1) ‖<br />

‖A 2 x (i−1) ‖ ‖Ax (i−1) ‖ = · · · = Ai+1 x (0)<br />

‖A i+1 x (0) ‖ . (4.10)<br />

Weiter gilt mit der Basisdarstellung von x (0) :<br />

⎛<br />

⎞<br />

n∑<br />

n−1<br />

A i x (0) = α j λ i jw j = α n λ i ∑ α j λ<br />

n<br />

⎝w i j<br />

n + ⎠<br />

α<br />

j=1<br />

j=1 n λ i . (4.11)<br />

n<br />

169


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Es gilt |λ j /λ n | < 1 für j < n, daher folgt:<br />

n∑<br />

A i x (0) = α j λ i jw j = α n λ i n (w n + o(1)) ,<br />

j=1<br />

Hieraus folgt durch Normierung:<br />

A i x (0) (<br />

‖A i x (0) ‖ = αn λ i )<br />

n wn<br />

|α n λ i n| ‖w n ‖ + o(1) → span{w n}<br />

(i → ∞).<br />

Die Iteration läuft <strong>in</strong> den Raum, der durch w n aufgespannt wird. Für e<strong>in</strong>en Vektor w, der<br />

Vielfaches e<strong>in</strong>es Eigenvektors ist w = sw n gilt:<br />

Aw = sAw n = sλ n w n = λ n w.<br />

Diese vektorwertige Gleichung gilt <strong>in</strong> jeder Komponente, kann daher nach dem Eigenwert<br />

aufgelöst werden:<br />

Wir fassen zusammen:<br />

λ n = [Aw] k<br />

w k<br />

.<br />

Satz 4.77 (Potenzmethode nach von Mises). Es sei A ∈ R n×n e<strong>in</strong>e Matrix n l<strong>in</strong>ear unabhängigen<br />

Eigenvektoren {w 1 , . . . , w n }. Der betragsmäßig größte Eigenwert sei separiert<br />

|λ n | > |λ n−1 | ≥ · · · ≥ |λ 1 |. Es sei x (0) ∈ R n e<strong>in</strong> Startwert mit nichttrivialer Komponente<br />

<strong>in</strong> Bezug auf w n . Für e<strong>in</strong>en beliebigen Index k ∈ {1, . . . , n} konvergiert <strong>die</strong> Iteration<br />

˜x (i) = Ax (i−1) , x (i) := ˜x(i)<br />

‖˜x (i) ‖ , λ(i) := ˜x(i) k<br />

x (i−1)<br />

k<br />

gegen den betragsmäßig größten Eigenwert:<br />

( ∣∣∣∣ ∣<br />

|λ (i+1) λ n−1 ∣∣∣ i )<br />

− λ n | = O<br />

, i → ∞.<br />

λ n<br />

Beweis: Wir knüpfen an der Vorbereitung des Beweises (4.10) an. Es gilt:<br />

λ (i) =<br />

˜x(i) k<br />

x (i−1)<br />

k<br />

= [Ax(i−1) ] k<br />

x (i−1)<br />

k<br />

= [Ai x (0) ] k<br />

[A i−1 x (0) ] k<br />

.<br />

Weiter, mit (4.11) gilt:<br />

(<br />

a n λ i<br />

λ (i) n [w n ] k + ∑ )<br />

n−1 α j λ i j<br />

j=1 α n<br />

[w<br />

λ i j ] k<br />

n<br />

= (<br />

a n λ i−1 n [w n ] k + ∑ n−1 α j λ i−1<br />

j<br />

j=1 α n λ i−1<br />

n<br />

( ) ∣ ∣<br />

[w n ] k +<br />

αn−1 ∣∣ λ<br />

α n<br />

+ o(1) n−1 ∣∣ i (<br />

λ [wn n<br />

] k<br />

= λ n ( ) ∣ ∣<br />

[w n ] k +<br />

αn−1 ∣∣ λ<br />

α n<br />

+ o(1) n−1 ∣∣ i−1<br />

= λ n<br />

λ [wn n<br />

] k<br />

[w n ] k + ∑ n−1<br />

j=1<br />

) = λ n<br />

[w j ] k [w n ] k + ∑ n−1<br />

1 + O<br />

,<br />

α j λ i j<br />

α n<br />

[w<br />

λ i j ] k<br />

n<br />

j=1 α λ i−1<br />

k j<br />

α n λn<br />

i−1<br />

[w j ] k<br />

( ∣∣∣∣<br />

λ n−1<br />

λ n<br />

∣ ∣∣∣ i−1 )) .<br />

170


4.6 Berechnung von Eigenwerten<br />

Die letzte Abschätzung nutzt <strong>die</strong> Reihenentwicklung:<br />

1 + x n+1<br />

1 + x n = 1 + O(|x|n ).<br />

□<br />

Die Potenzmethode ist e<strong>in</strong>e sehr e<strong>in</strong>fache und numerisch stabile Iteration. Sie kann allerd<strong>in</strong>gs<br />

nur den betragsmäßig größten Eigenwert ermitteln. Der Konvergenzbeweis kann<br />

verallgeme<strong>in</strong>ert werden auf Matrizen, deren größter Eigenwert mehrfach vorkommt. Konvergenz<br />

gilt jedoch nur dann, wenn aus |λ n | = |λ i | auch λ n = λ i folgt. Es darf also nicht<br />

zwei verschiedene Eigenwerte geben, <strong>die</strong> beide den gleichen, größten Betrag annehmen.<br />

Dies schließt zum Beispiel den Fall zweier komplex konjugierter Eigenwerten λ und ¯λ als<br />

beträgsgrößte aus.<br />

Bemerkung 4.78 (Potenzmethode bei symmetrischen Matrizen). Die Potenzmethode<br />

kann im Fall symmetrischer Matrizen durch Verwenden des Rayleigh-Quotienten verbessert<br />

werden. Die Iteration<br />

liefert <strong>die</strong> Fehlerabschätzung:<br />

λ (i) = (Ax(i−1) , x (i−1) ) 2<br />

(x (i−1) , x (i−1) ) 2<br />

= (˜x (i) , x (i−1) ) 2 ,<br />

λ (i) = λ n + O<br />

( ∣∣∣∣<br />

λ n−1<br />

λ n<br />

∣ ∣∣∣ 2i ) .<br />

Beispiel 4.79 (Potenzmethode nach von Mises). Es sei:<br />

⎛ ⎞<br />

2 1 2<br />

⎜ ⎟<br />

A = ⎝−1 2 1⎠ ,<br />

1 2 4<br />

mit den Eigenwerten:<br />

λ 1 ≈ 0.80131, λ 2 = 2.2865, λ 3 = 4.9122.<br />

Wir starten <strong>die</strong> Potenzmethode mit x (0)<br />

= (1, 1, 1) T , und wählen zur Normierung <strong>die</strong><br />

171


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Maximumsnorm. Weiter wählen wir als Index k = 1:<br />

⎛ ⎞<br />

⎛<br />

5<br />

i = 1 : ˜x (1) = Ax (0) ⎜ ⎟<br />

= ⎝2⎠ , x (1) = ˜x(1) ⎜<br />

0.714<br />

⎞<br />

⎟<br />

‖˜x<br />

7<br />

(1) ≈ ⎝0.286⎠ ,<br />

‖ ∞<br />

1<br />

⎛ ⎞<br />

⎛<br />

3.71<br />

i = 2 : ˜x (2) = Ax (1) ⎜ ⎟<br />

= ⎝0.857⎠ , x (2) = ˜x(2) ⎜<br />

0.702<br />

⎞<br />

⎟<br />

‖˜x<br />

5.29<br />

(2) ≈ ⎝0.162⎠ ,<br />

‖ ∞<br />

1<br />

⎛ ⎞<br />

⎛<br />

3.57<br />

i = 3 : ˜x (3) = Ax (2) ⎜ ⎟<br />

= ⎝0.124⎠ , x (3) = ˜x(3) ⎜<br />

0.710<br />

⎞<br />

⎟<br />

‖˜x<br />

1<br />

(3) ≈ ⎝0.124⎠ ,<br />

‖ ∞<br />

1<br />

⎛ ⎞<br />

⎛<br />

3.54<br />

i = 4 : ˜x (4) = Ax (3) ⎜ ⎟<br />

= ⎝0.538⎠ , x (4) = ˜x(4) ⎜<br />

0.715<br />

⎞<br />

⎟<br />

‖˜x<br />

4.96<br />

(4) ≈ ⎝0.108⎠ ,<br />

‖ ∞<br />

1<br />

⎛ ⎞<br />

⎛<br />

3.54<br />

i = 5 : ˜x (5) = Ax (4) ⎜ ⎟<br />

= ⎝0.502⎠ , x (5) = ˜x(5) ⎜<br />

0.717<br />

⎞<br />

⎟<br />

‖˜x<br />

4.93<br />

(5) ≈ ⎝0.102⎠ ,<br />

‖ ∞<br />

1<br />

⎛ ⎞<br />

⎛ ⎞<br />

3.54<br />

0.719<br />

i = 6 : ˜x (6) = Ax (5) ⎜ ⎟<br />

= ⎝0.486⎠ , x (6) = ˜x(6) ⎜ ⎟<br />

‖˜x<br />

4.92<br />

(6) ≈ ⎝0.0988⎠ ,<br />

‖ ∞<br />

1<br />

λ (1) = ˜x(1) 1<br />

x (0)<br />

1<br />

λ (2) = ˜x(2) 1<br />

x (1)<br />

1<br />

λ (3) = ˜x(3) 1<br />

x (2)<br />

1<br />

λ (4) = ˜x(4) 1<br />

x (3)<br />

1<br />

λ (5) = ˜x(5) 1<br />

x (4)<br />

1<br />

λ (6) = ˜x(6) 1<br />

x (5)<br />

1<br />

≈ 5,<br />

≈ 5.19,<br />

≈ 5.077,<br />

≈ 4.999,<br />

≈ 4.950,<br />

≈ 4.930.<br />

Neben der Festlegung auf den betragsgrößten Eigenwert hat <strong>die</strong> Potenzmethode den Nachteil<br />

sehr langsamer Konvergenz, falls <strong>die</strong> Eigenwerte nicht h<strong>in</strong>reichend separiert s<strong>in</strong>d. E<strong>in</strong>e<br />

e<strong>in</strong>fache Erweiterung der Potenzmethode ist <strong>die</strong> Inverse Iteration nach Wieland zur Berechnung<br />

des kle<strong>in</strong>sten Eigenwerts e<strong>in</strong>er Matrix. Zur Herleitung verwenden wir <strong>die</strong> Tatsache,<br />

dass zu e<strong>in</strong>em Eigenwert λ e<strong>in</strong>er regulären Matrix A ∈ R n×n durch λ −1 e<strong>in</strong> Eigenwert<br />

der <strong>in</strong>versen Matrix A −1 ∈ R n×n gegeben ist:<br />

Aw = λ(A)w ⇔ A −1 w = λ(A) −1 w =: λ(A −1 )w.<br />

Die Potenzmethode, angewendet auf <strong>die</strong> <strong>in</strong>verse Matrix liefert den betragsgrößten Eigenwert<br />

λ max (A −1 ) von A −1 . Der Kehrwert <strong>die</strong>ses Eigenwertes ist der betragskle<strong>in</strong>ste<br />

Eigenwert der Matrix A selbst λ m<strong>in</strong> (A) = λ max (A −1 ) −1 . Dieses Pr<strong>in</strong>zip kann weiter verallgeme<strong>in</strong>ert<br />

werden. Dazu sei λ(A) e<strong>in</strong> Eigenwert mit zugehörigem Eigenvektor w ∈ R n<br />

von A und σ ∈ C e<strong>in</strong>e beliebige komplexe Zahl (jedoch ke<strong>in</strong> Eigenwert von A). Dann gilt:<br />

(A − σI)w = (λ(A) − σ)w = λ(A − σI)w ⇔ [A − σI] −1 w = λ([A − σI] −1 )w.<br />

Die Anwendung der Potenzmethode auf <strong>die</strong> Matrix [A − σI] −1 liefert nach vorangestellter<br />

Überlegung den betragskle<strong>in</strong>sten Eigenwert der Matrix [A−σI], d.h. den Eigenwert von A,<br />

der σ am nächsten liegt. Liegen nun Schätzungen für <strong>die</strong> Eigenwerte der Matrix A vor, so<br />

können <strong>die</strong> genauen Werte mit der Inversen Iteration bestimmt werden. Die Gerschgor<strong>in</strong>-<br />

Kreise liefern oft e<strong>in</strong>en guten Anhaltspunkt für σ.<br />

172


4.6 Berechnung von Eigenwerten<br />

Satz 4.80 (Inverse Iteration mit Shift). Es sei A ∈ R n×n e<strong>in</strong>e reguläre Matrix. Es sei<br />

σ ∈ C. Für <strong>die</strong> Eigenwerte λ i von A gelte:<br />

0 < |λ 1 − σ| < |λ 2 − σ| ≤ · · · ≤ |λ n − σ|.<br />

Es sei x (0) ∈ R n e<strong>in</strong> geeigneter normierter Startwert. Für i = 1, 2, . . . konvergiert <strong>die</strong><br />

Iteration<br />

[A − σI]˜x (i) = x (i−1) , x (i) := ˜x(i)<br />

‖˜x (i) ‖ , µ(i) := ˜x(i) k<br />

x (i−1)<br />

k<br />

für jeden Index k ∈ {1, . . . , n} gegen den Eigenwert λ 1 von A:<br />

( ∣∣∣∣ |λ 1 − λ (i) λ 1 − σ<br />

| = O ∣<br />

∣i ) .<br />

λ 2 − σ<br />

, λ (i) := σ + (µ (i) ) −1 ,<br />

Beweis: Der Beweis ist e<strong>in</strong>e e<strong>in</strong>fache Folgerung aus Satz 4.77. Falls σ ke<strong>in</strong> Eigenwert von<br />

A ist, so ist B := A − σI <strong>in</strong>vertierbar. Die Matrix B −1 hat <strong>die</strong> Eigenwerte µ 1 , . . . , µ n , mit<br />

Für <strong>die</strong>se gilt nach Voraussetzung:<br />

µ i = (λ i − σ) −1 ⇔ λ i = µ −1<br />

i + σ. (4.12)<br />

|µ 1 | > |µ 2 | ≥ · · · ≥ |µ n | > 0.<br />

Die Potenzmethode, Satz 4.77, angewandt auf <strong>die</strong> Matrix B −1 liefert e<strong>in</strong>e Approximation<br />

für µ 1 :<br />

( ∣∣∣∣ ∣<br />

|µ (i) µ 2 ∣∣∣ i )<br />

− µ 1 | = O .<br />

µ 1<br />

Die gewünschte Aussage folgt mit (4.12).<br />

□<br />

In jedem Schritt der Iteration muss e<strong>in</strong> L<strong>in</strong>eares Gleichungssystem [A − σI]˜x = x gelöst<br />

werden. Dies geschieht am besten mit e<strong>in</strong>er Zerlegungsmethode, etwa der LR-Zerlegung<br />

der Matrix. Die Zerlegung kann e<strong>in</strong>mal <strong>in</strong> O(n 3 ) Operationen erstellt werden, anschließend<br />

s<strong>in</strong>d <strong>in</strong> jedem Schritt der Iteration weitere O(n 2 ) Operationen für das Vorwärts- und<br />

Rückwärtse<strong>in</strong>setzen notwendig. Die Konvergenzgeschw<strong>in</strong>digkeit der Inversen Iteration mit<br />

Shift kann durch e<strong>in</strong>e gute Schätzung σ gesteigert werden. E<strong>in</strong>e weitere Verbesserung<br />

der Konvergenzgeschw<strong>in</strong>digkeit kann durch ständiges Anpassen der Schätzung σ erreicht<br />

werden. Wird <strong>in</strong> jedem Schritt <strong>die</strong> beste Approximation σ + 1/µ (i) als neue Schätzung<br />

verwendet, so kann m<strong>in</strong>destens superl<strong>in</strong>eare Konvergenz erreicht werden. Hierzu wählen<br />

wir: σ (0) = σ und iterieren<br />

σ (i) = σ (i−1) + 1<br />

µ (i) .<br />

Jede Modifikation des Shifts ändert jedoch das l<strong>in</strong>eare Gleichungssystem und erfordert <strong>die</strong><br />

erneute (teure) Erstellung der LR-Zerlegung.<br />

173


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Beispiel 4.81 (Inverse Iteration nach Wieland). Es sei:<br />

mit den Eigenwerten:<br />

⎛<br />

⎞<br />

2 −0.1 0.4<br />

⎜<br />

⎟<br />

A = ⎝0.3 −1 0.4⎠<br />

0.2 −0.1 4<br />

λ 1 ≈ −0.983, λ 2 = 1.954, λ 3 = 4.029.<br />

Wir wollen alle Eigenwerte mit der <strong>in</strong>versen Iteration bestimmen. Startwerte erhalten wir<br />

durch Analyse der Gerschgor<strong>in</strong>-Kreise:<br />

K 1 = K 0.5 (2), K 2 = K 0.2 (−1), K 3 := K 0.3 (4).<br />

Die drei Kreise s<strong>in</strong>d disjunkt und wir wählen als Shift <strong>in</strong> der Inversen Iteration σ 1 = 2,<br />

σ 2 = −1 sowie σ 3 = 4. Die Iteration wird stets mit v = (1, 1, 1) T und Normierung bezüglich<br />

der Maximumsnorm gestartet. Wir erhalten <strong>die</strong> Näherungen:<br />

σ 1 = 2 : µ (1)<br />

1 = −16.571, µ (2)<br />

1 = −21.744, µ (3)<br />

1 = −21.619, µ (4)<br />

1 = −21.622,<br />

σ 2 = −1 : µ (1)<br />

2 = 1.840, µ (2)<br />

2 = 49.743, µ (3)<br />

2 = 59.360, µ (4)<br />

2 = 59.422,<br />

σ 3 = 4 : µ (1)<br />

3 = 6.533, µ (2)<br />

3 = 36.004, µ (3)<br />

3 = 33.962, µ (4)<br />

3 = 33.990.<br />

Diese Approximationen ergeben <strong>die</strong> folgenden Eigenwert-Näherungen:<br />

λ 1 = σ 1 + 1/µ (4)<br />

1 ≈ 1.954, λ 2 = σ 2 + 1/µ (4)<br />

2 ≈ −0.983, λ 3 = σ 3 + 1/µ (4)<br />

3 ≈ 4.029.<br />

Alle drei Näherungen s<strong>in</strong>d <strong>in</strong> den ersten wesentlichen Stellen exakt.<br />

Das Beispiel demonstriert, dass <strong>die</strong> <strong>in</strong>verse Iteration mit Shift zu e<strong>in</strong>er wesentlichen Beschleunigung<br />

der Konvergenz führt, falls gute Schätzungen der Eigenwerte vorliegen.<br />

4.6.4 Das QR-Verfahren zur Eigenwertberechnung<br />

Wir haben bereits <strong>die</strong> QR-Zerlegung e<strong>in</strong>er Matrix A <strong>in</strong> e<strong>in</strong>e orthogonale Matrix Q ∈ R n×n<br />

sowie e<strong>in</strong>e rechte obere Dreiecksmatrix R ∈ R n×n kennengelernt. Das QR-Verfahren zur<br />

Berechnung der Eigenwerte von A beruht auf der folgenden Beobachtung:<br />

A = QR = QR(QQ T ) = Q(RQ)Q T , (4.13)<br />

d.h., <strong>die</strong> Matrix A ist orthogonal ähnlich zur Matrix RQ, hat also <strong>die</strong> gleichen Eigenwerte<br />

wie <strong>die</strong>se. Wir def<strong>in</strong>ieren:<br />

174


4.6 Berechnung von Eigenwerten<br />

Algorithmus 4.82 (QR-Verfahren). Es sei A ∈ R n×n . Ausgehend von A (1) := A iteriere<br />

für i = 1, . . .<br />

1. Erstelle <strong>die</strong> QR-Zerlegung<br />

2. Berechne<br />

A (i) =: Q (i) R (i) ,<br />

A (i+1) := R (i) Q (i) .<br />

Das QR-Verfahren erzeugt e<strong>in</strong>e Folge A (i) , i ≥ 1 von Matrizen, <strong>die</strong> gemäß (4.13) alle<br />

ähnlich zur Matrix A s<strong>in</strong>d. Wir werden sehen, dass <strong>die</strong> Diagonale<strong>in</strong>träge der Folgenglieder<br />

A (i) gegen <strong>die</strong> Eigenwerte der Matrix A laufen.<br />

Satz 4.83 (QR-Verfahren zur Eigenwertberechnung). Es sei A ∈ R n×n e<strong>in</strong>e Matrix mit<br />

separierten Eigenwerten<br />

|λ 1 | > |λ 2 | > · · · > |λ n |.<br />

Dann gilt für <strong>die</strong> Diagonalelemente a (t)<br />

ii der durch das QR-Verfahren erzeugten Matrizen<br />

A (t) :<br />

{d (t)<br />

11 , . . . , d(t) nn} → {λ 1 , . . . , λ n } (t → ∞).<br />

Beweis: Für den technisch aufwändigen Beweis verweisen wir auf [9] oder [6].<br />

□<br />

Im Allgeme<strong>in</strong>en konvergieren <strong>die</strong> Diagonalelemente der Folgenglieder A (i) m<strong>in</strong>destens l<strong>in</strong>ear<br />

gegen <strong>die</strong> Eigenwerte. In speziellen Fällen wird jedoch sogar kubische Konvergenz<br />

erreicht. Verglichen mit der Potenzmethode und der <strong>in</strong>versen Iteration weist das QR-<br />

Verfahren daher zum e<strong>in</strong>en bessere Konvergenzeigenschaften auf, gleichzeitig werden alle<br />

Eigenwerte der Matrix A bestimmt. In jedem Schritt der Iteration muss jedoch e<strong>in</strong>e QR-<br />

Zerlegung der Iterationsmatrix A (i) erstellt werden. Bei allgeme<strong>in</strong>er Matrix A ∈ R n×n<br />

s<strong>in</strong>d hierzu O(n 3 ) arithmetische Operationen notwendig. Um <strong>die</strong> Eigenwerte mit h<strong>in</strong>reichender<br />

Genauigkeit zu approximieren s<strong>in</strong>d oft sehr viele, > 100 Schritte notwendig. In<br />

der praktischen Anwendung wird das QR-Verfahren daher immer <strong>in</strong> Verb<strong>in</strong>dung mit e<strong>in</strong>er<br />

Reduktionsmethode (siehe folgendes Kapitel) e<strong>in</strong>gesetzt, bei der <strong>die</strong> Matrix A zunächst <strong>in</strong><br />

e<strong>in</strong>e “e<strong>in</strong>fache” ähnliche Form transformiert wird.<br />

Bemerkung 4.84 (LR-Verfahren). Wie das QR-Verfahren liefert auch das LR-Verfahren:<br />

A (i) =: L (i) R (i) , A (i+1) := R (i) L (i) ,<br />

e<strong>in</strong>e Folge von Matrizen A (i) , deren Diagonalelemente gegen <strong>die</strong> Eigenwerte der Matrix A<br />

konvergieren. Das LR-Verfahren zur Eigenwertberechnung konvergiert nur dann, wenn <strong>die</strong><br />

LR-Zerlegung ohne Pivotisierung durchgeführt werden kann. Daher wird bei allgeme<strong>in</strong>en<br />

Matrizen üblicherweise das QR-Verfahren bevorzugt.<br />

175


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

4.6.5 Reduktionsmethoden zur Eigenwertbestimmung<br />

Das Erstellen der QR-Zerlegung e<strong>in</strong>er Matrix A ∈ R n×n mit Hilfe von Householder-<br />

Matrizen bedarf O(n 3 ) arithmetischer Operationen, siehe Satz 4.58. Da <strong>in</strong> jedem Schritt<br />

des QR-Verfahrens <strong>die</strong>se Zerlegung neu erstellt werden muss, ist <strong>die</strong>ser Aufwand zu groß.<br />

Hat <strong>die</strong> Matrix A jedoch e<strong>in</strong>e spezielle Struktur, ist sie z.B. e<strong>in</strong>e Bandmatrix, so kann<br />

auch <strong>die</strong> QR-Zerlegung mit weit ger<strong>in</strong>gerem Aufwand erstellt werden. Es gilt:<br />

Satz 4.85 (Ähnliche Matrizen). Zwei Matrizen A, B ∈ C n×n heißen ähnlich, falls es e<strong>in</strong>e<br />

reguläre Matrix S ∈ C n×n gibt, so dass gilt:<br />

A = S −1 BS.<br />

Ähnliche Matrizen haben das gleiche charakteristische Polynom und <strong>die</strong> gleichen Eigenwerte.<br />

Zu e<strong>in</strong>em Eigenwert λ sowie Eigenvektor w von A gilt:<br />

B(Sw) = S(Aw) = λSw.<br />

Ziel <strong>die</strong>ses Kapitels ist es durch Ähnlichkeitstransformationen<br />

A = A (0) → A (i) = (S (i) ) −1 A (i) S (i) ,<br />

<strong>die</strong> Matrix A Schritt für Schritt <strong>in</strong> e<strong>in</strong>e ähnliche Matrix (also mit den gleichen Eigenwerten)<br />

zu transformieren, <strong>die</strong> e<strong>in</strong>e e<strong>in</strong>fache Struktur hat, so dass <strong>die</strong> Eigenwerte leichter zu<br />

bestimmen, oder sogar direkt ablesbar s<strong>in</strong>d. Mögliche Normalformen, bei denen <strong>die</strong> Eigenwerte<br />

unmittelbar ablesbar s<strong>in</strong>d, s<strong>in</strong>d <strong>die</strong> Jordan’sche Normalform, <strong>die</strong> Diagonalisierung<br />

von A, oder <strong>die</strong> Schur’sche Normalform:<br />

Def<strong>in</strong>ition 4.86 (Schur’sche Normalform). Die Matrix A ∈ C n×n habe <strong>die</strong> Eigenwerte<br />

λ 1 , . . . , λ n (ihrer Vielfachheit gezählt). Dann existiert e<strong>in</strong>e unitäre Matrix U ∈ C n×n , so<br />

dass<br />

⎛<br />

⎞<br />

λ 1 ∗ · · · ∗<br />

.<br />

Ū T 0 .. . .. .<br />

AU =<br />

⎜ .<br />

⎝ . .. .<br />

. .. ⎟ ∗ ⎠<br />

0 · · · 0 λ n<br />

Falls ĀT = A hermitesch ist, so ist Ū T AU auch hermitesch, also e<strong>in</strong>e Diagonalmatrix.<br />

Die Aufgabe, e<strong>in</strong>e Matrix A <strong>in</strong> e<strong>in</strong>e Normalform zu transformieren, ist üblicherweise nur<br />

bei Kenntnis der Eigenwerte möglich. Dieser Weg eignet sich somit nicht zur Eigenwertberechnung.<br />

Daher werden wir im Folgenden <strong>die</strong> Reduktion der Matrix A auf e<strong>in</strong>e Normalform<br />

kennenlernen, bei der <strong>die</strong> Eigenwerte zwar nicht unmittelbar abgelesen werden, <strong>die</strong><br />

QR-Zerlegung jedoch mit sehr ger<strong>in</strong>gem Aufwand erstellt werden kann. Diese reduzierte<br />

Normalform <strong>die</strong>nt dann als Grundlage für das QR-Verfahren zur Eigenwertberechnung.<br />

Wir def<strong>in</strong>ieren:<br />

176


4.6 Berechnung von Eigenwerten<br />

Satz 4.87 (Hessenberg-Normalform). Zu jeder Matrix A ∈ R n×n existiert e<strong>in</strong>e orthogonale<br />

Matrix Q ∈ R n×n , so dass<br />

⎛<br />

⎞<br />

∗ · · · · · · · · · ∗<br />

. ∗ .. . .. . .. .<br />

Q T AQ =<br />

. 0 .. . .. . .. .<br />

,<br />

⎜ .<br />

⎝.<br />

.. . .. . .. ⎟ . ⎠<br />

0 · · · 0 ∗ ∗<br />

e<strong>in</strong>e Hessenberg-Matrix ist, also e<strong>in</strong>e rechte obere Dreiecksmatrix, <strong>die</strong> zusätzlich e<strong>in</strong>e untere<br />

Nebendiagonale besitzt. Falls A = A T symmetrisch ist, so ist Q T AQ e<strong>in</strong>e Tridiagonalmatrix.<br />

Beweis: Die Konstruktion der Hessenberg-Matrix erfolgt ähnlich der QR-Zerlegung mit<br />

Householder-Transformationen. Um Ähnlichkeitstransformationen sicherzustellen müssen<br />

wir <strong>die</strong> orthogonalen Householder-Matrizen S (i) jedoch von l<strong>in</strong>ks und rechts an <strong>die</strong> Matrix<br />

A multiplizieren.<br />

Wir beschreiben den ersten Schritt. Es seien A = (a 1 , . . . , a n ) <strong>die</strong> Spaltenvektoren von A.<br />

Wir bestimmen den Vektor v (1) = (0, v (1)<br />

2 , . . . , v(1) n ) T so, dass mit S (1) = I − 2v (1) (v (1) ) T<br />

gilt<br />

S (1) a 1 ∈ span(e 1 , e 2 ).<br />

Hierzu wählen wir e<strong>in</strong>e Householder-Transformation mit Vektor<br />

v (1) = ã1 + ‖ã 1 ‖e 2<br />

‖ ã 1 + ‖ã 1 ‖e 2 ‖ ,<br />

wobei ã 1 = (0, a 21 , . . . , a n1 ) der reduzierte erste Spaltenvektor ist. Dann gilt mit S (1) =<br />

I − 2v (1) (v (1) ) T mit S (1) = (S (1) ) T :<br />

⎛<br />

⎞<br />

a 11 a 12 · · · a 1n<br />

⎛<br />

⎞<br />

a 11 ∗ · · · ∗<br />

∗ ∗ · · · ∗<br />

A (1) = S (1) A(S (1) ) T . ∗<br />

=<br />

0 . .. .<br />

⎜<br />

⎟·S (1) =:<br />

0 Ã (1)<br />

⎜<br />

⎟, Ã (1) ∈ R n−1×n−1 .<br />

⎝ .<br />

. . .. . ⎠ ⎝ .<br />

⎠<br />

0 ∗ · · · ∗<br />

0<br />

Im zweiten Schritt wird das entsprechende Verfahren auf <strong>die</strong> Matrix Ã(1) angewendet.<br />

Nach n − 2 Schritten erhalten wir mit Matrix A (n−2) , welche Hessenberg-Gestalt hat.<br />

Q T AQ := S } (n−2) {{ · · · S (1)<br />

} A } S (1) · ·{{ · S (n−2)<br />

}<br />

=:Q T<br />

=:Q<br />

Im Falle A = A T gilt:<br />

(Q T AQ) T = Q T A T Q = Q T AQ.<br />

177


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

D.h., auch A (n−2) ist wieder symmetrisch. Symmetrische Hessenberg-Matrizen s<strong>in</strong>d Tridiagonalmatrizen.<br />

□<br />

Bemerkung 4.88 (Hessenberg-Normalform). Die Transformation e<strong>in</strong>er Matrix A ∈<br />

R n×n <strong>in</strong> Hessenberg-Form erfordert bei Verwendung der Householder-Transformationen<br />

5<br />

3 n3 + O(n 2 ) arithmetische Operationen. Im Fall symmetrischer Matrizen erfordert <strong>die</strong><br />

Transformation <strong>in</strong> e<strong>in</strong>e Tridiagonalmatrix 2 3 n3 + O(n 2 ) Operationen.<br />

Die Transformation <strong>in</strong> Hessenberg-Form benötigt demnach etwas mehr arithmetische Operationen<br />

als e<strong>in</strong>e QR-Zerlegung. Im Anschluss können <strong>die</strong> QR-Zerlegungen e<strong>in</strong>er Hessenberg-<br />

Matrix mit weitaus ger<strong>in</strong>gerem Aufwand erstellt werden. Weiter gilt, dass für <strong>die</strong> QR-<br />

Zerlegung e<strong>in</strong>er Hessenberg-Matrix A gilt, dass <strong>die</strong> Matrix RQ wieder Hessenberg-Gestalt<br />

hat. Beides fasst der folgende Satz zusammen:<br />

Satz 4.89 (QR-Zerlegung von Hessenberg-Matrizen). Es sei A ∈ R n×n e<strong>in</strong>e Hessenberg-<br />

Matrix. Dann kann <strong>die</strong> QR-Zerlegung A = QR mit Householder-Transformationen <strong>in</strong><br />

2n 2 + O(n) arithmetische Operationen durchgeführt werden. Die Matrix RQ hat wieder<br />

Hessenberg-Gestalt.<br />

Beweis: Es gilt a ij = 0 für i > j + 1. Wir zeigen, dass <strong>in</strong>duktiv, dass <strong>die</strong>se Eigenschaft für<br />

alle Matrizen A (i) gilt, <strong>die</strong> im Laufe der QR-Zerlegung entstehen. Zunächst folgt im ersten<br />

Schritt für v (1) = a 1 + ‖a 1 ‖e 1 hieraus v (1)<br />

k<br />

= 0 für alle k > 2. Die neuen Spaltenvektoren<br />

berechnen sich zu:<br />

a (1)<br />

i = a i − (a i , v (1) )v (1) . (4.14)<br />

Da v (1)<br />

k<br />

= 0 für k < 2 gilt (a (1)<br />

i ) k = 0 für k > i + 1, d.h. A (1) hat wieder Hessenberg-Form.<br />

Diese Eigenschaft gilt <strong>in</strong>duktiv für i = 2, . . . , n − 1.<br />

Da der (reduzierte) Vektor ṽ (i) <strong>in</strong> jedem Schritt nur zwei von Null verschiedene E<strong>in</strong>träge<br />

hat, kann <strong>die</strong>ser <strong>in</strong> 4 Operationen erstellt werden. Die Berechnung der n − i neuen Spaltenvektoren<br />

gemäß (4.14) bedarf je 4 arithmetischer Operationen. Insgesamt ergibt sich<br />

e<strong>in</strong> Aufwand von<br />

n−1 ∑<br />

i=1<br />

4 + 4(n − i) = 2n 2 + O(n).<br />

Es bleibt (als Übung) <strong>die</strong> Hessenberg-Gestalt der Matrix A ′ := RQ nachzuweisen.<br />

□<br />

In Verb<strong>in</strong>dung mit der Reduktion auf Hessenberg, bzw. auf Tridiagonalgestalt ist das QR-<br />

Verfahren e<strong>in</strong>es der effizientesten Verfahren zur Berechnung von Eigenwerten e<strong>in</strong>er Matrix<br />

A ∈ R n×n . Die QR-Zerlegung kann <strong>in</strong> O(n 2 ) Operationen durchgeführt werden, und im<br />

Laufe des QR-Verfahrens entstehen ausschließlich Hessenberg-Matrizen.<br />

Die Konvergenz des QR-Verfahrens hängt von der Separation der Eigenwerte |λ i |/|λ i+1 | ab.<br />

Je weiter <strong>die</strong> Eigenwerte vone<strong>in</strong>ander entfernt s<strong>in</strong>d, umso besser konvergiert das Verfahren.<br />

178


4.6 Berechnung von Eigenwerten<br />

Im allgeme<strong>in</strong>en kann l<strong>in</strong>eare Konvergenz gezeigt werden. In speziellen Fällen kann jedoch<br />

sogar kubische Konvergenz der Diagonalelemente A (t)<br />

ii gegen <strong>die</strong> Eigenwerte gezeigt werden.<br />

Wie <strong>die</strong> Inverse Iteration kann das QR-Verfahren durch E<strong>in</strong>führen e<strong>in</strong>es Shifts beschleunigt<br />

werden. Mit Koeffizienten µ i wird <strong>die</strong> Iteration ersetzt durch <strong>die</strong> Vorschrift:<br />

A (i−1) − µ i I = Q (i) R (i) , A (i) := R (i) Q (i) + µ i I.<br />

Abschließend betrachten wir hierzu e<strong>in</strong> Beispiel:<br />

Beispiel 4.90 (Eigenwert-Berechnung mit Reduktion und QR-Verfahren). Wir betrachten<br />

<strong>die</strong> Matrix<br />

⎛<br />

⎞<br />

338 −20 −90 32<br />

−20 17 117 70<br />

A = ⎜<br />

⎟<br />

⎝−90 117 324 −252⎠ .<br />

32 70 −252 131<br />

Die Matrix A ist symmetrisch und hat <strong>die</strong> Eigenwerte:<br />

λ 1 ≈ 547.407, λ 2 ≈ 297.255, λ 3 ≈ −142.407, λ 4 ≈ 107.745.<br />

Schritt 1: Reduktion auf Hessenberg- (Tridiagonal)-Gestalt.<br />

Im ersten Reduktionsschritt wählen wir mit ã 1 = (0, −20, −90, 32) den Spiegelungsvektor<br />

v (1) als:<br />

v (1) = ã1 + ‖ã 1 ‖e 2<br />

‖ ã 1 + ‖ã 1 ‖e 2 ‖ .<br />

Wir erhalten mit S (1) := I − 2v (1) (v (1) ) T :<br />

⎛<br />

⎞<br />

338 97.591 0 0<br />

A (1) = S (1) AS (1) 97.591 477.579 27.797 106.980<br />

= ⎜<br />

⎟<br />

⎝ 0 27.797 −82.345 −103.494⎠ .<br />

0 106.980 −103.494 76.765<br />

Mit ã (1)<br />

2 = (0, 0, 27.797, 106.980) T und<br />

folgt mit S (2) := I − 2v (2) (v (2) ) T :<br />

v (2) = ã2 + ‖ã 2 ‖e 3<br />

‖ ã 2 + ‖ã 2 ‖e 3 ‖<br />

⎛<br />

⎞<br />

338 97.591 0 0<br />

H := A (2) = S (2) A (1) S (2) 97.591 477.579 110.532 0<br />

= ⎜<br />

⎟<br />

⎝ 0 110.532 16.231 −129.131⎠ .<br />

0 0 −129.131 −21.900<br />

Die Matrix H hat nun Tridiagonalgestalt. Alle Transformationen waren Ähnlichkeitstransformationen.<br />

Daher haben H und A <strong>die</strong> gleichen Eigenwerte.<br />

179


4 <strong>Numerische</strong> L<strong>in</strong>eare Algebra<br />

Schritt 2: QR-Verfahren<br />

Wir führen nun e<strong>in</strong>ige Schritte des QR-Verfahrens durch, verzichten dabei auf <strong>die</strong> Zwischenschritte<br />

zum Erstellen der QR-Zerlegung. Es sei A (1) := H. Dann ist:<br />

⎛<br />

⎞<br />

400.759 123.634 0 0<br />

A (1) = Q (1) R (1) A (2) = R (1) Q (1) 123.634 441.338 −32.131 0<br />

= ⎜<br />

⎟<br />

⎝ 0 −32.131 −42.082 −122.498⎠<br />

0 0 −122.498 9.985<br />

⎛<br />

⎞<br />

473.938 113.971 0 0<br />

A (2) = Q (2) R (2) A (3) = R (2) Q (2) 113.971 370.411 10.831 0<br />

= ⎜<br />

⎟<br />

⎝ 0 10.831 −74.680 −111.053⎠<br />

0 0 −111.053 40.331<br />

⎛<br />

⎞<br />

520.095 78.016 0 0<br />

A (3) = Q (3) R (3) A (4) = R (3) Q (3) 78.016 324.515 −4.350 0<br />

= ⎜<br />

⎟<br />

⎝ 0 −4.350 −98.717 −94.942⎠<br />

0 0 −94.942 64.105<br />

⎛<br />

⎞<br />

538.682 45.895 0 0<br />

A (4) = Q (4) R (4) A (5) = R (4) Q (4) 45.895 305.970 1.926 0<br />

= ⎜<br />

⎟<br />

⎝ 0 1.926 −115.400 −77.620⎠<br />

0 0 −77.620 80.747<br />

.<br />

⎛<br />

⎞<br />

547.387 2.245 0 0<br />

A (9) = Q (9) R (9) A (10) = R (9) Q (9) 2.245 297.275 −0.0427 0<br />

= ⎜<br />

⎟<br />

⎝ 0 −0.0453 −140.561 −21.413⎠ .<br />

0 0 −21.413 105.898<br />

Für <strong>die</strong> Diagonalelemente gilt:<br />

a (10)<br />

11 ≈ 547.387, a (10)<br />

22 ≈ 297.275, a (10)<br />

33 ≈ −140.561, a (10)<br />

44 ≈ 105.898.<br />

Diese Diagonalelemente stellen sehr gute Näherungen an alle Eigenwerte der Matrix A<br />

dar:<br />

|a (10)<br />

11 − λ 1 |<br />

≈ 0.00005,<br />

|λ 1 |<br />

|a (10)<br />

22 − λ 2 |<br />

≈ 0.00007,<br />

|λ 2 |<br />

|a (10)<br />

33 − λ 3 |<br />

≈ 0.01,<br />

|λ 3 |<br />

|a (10)<br />

44 − λ 4 |<br />

≈ 0.01.<br />

|λ 4 |<br />

180


5 <strong>Numerische</strong> Iterationsverfahren<br />

In <strong>die</strong>sem Kapitel besprechen wir numerische Iterationsverfahren (<strong>in</strong>sbesondere Fixpunktverfahren)<br />

als e<strong>in</strong>e weitere Lösungsmethode zur Lösung von l<strong>in</strong>earen Gleichungssystemen<br />

(Kapitel 4) sowie zur Lösung von nicht-l<strong>in</strong>earen Gleichungen (siehe Kapitel 2). Das zentrale<br />

Hilfsmittel ist der Banachsche Fixpunktsatz, der als Voraussetzung e<strong>in</strong>e Fixpunktformulierung<br />

der Aufgabenstellung verlangt. Alle Resultate <strong>die</strong>ses Kapitels werden direkt für<br />

den höherdimensionalen Fall hergeleitet.<br />

5.1 Der Banachsche Fixpunktsatz<br />

In dem ganzen Kapitel betrachten wir Iterationen der Art<br />

x 0 ∈ R n , x k+1 = g(x k ), k = 0, 1, 2, . . . ,<br />

mit e<strong>in</strong>er Abbildung g(·) : R n → R n . E<strong>in</strong> Punkt x ∈ R n heißt Fixpunkt, falls g(x) = x.<br />

Beispiel 5.1 (Newton-Verfahren als Fixpunktiteration). Zur Lösung e<strong>in</strong>es nicht-l<strong>in</strong>earen<br />

Gleichungssystems im R n sei<br />

oder <strong>in</strong> kurzer Schreibweise:<br />

f i (x 1 , . . . , x n ) = 0, i = 1, . . . , n,<br />

f(x) = 0<br />

mit f = (f 1 , . . . , f n ) T und (x 1 , . . . , x n ) T . Dann lässt sich das vere<strong>in</strong>fachte Newton-Verfahren<br />

schreiben als<br />

x k+1 = x k + C −1 f(x k ), k = 0, 1, 2, . . .<br />

mit e<strong>in</strong>er Matrix C ∈ R n×n . Das Standard Verfahren von Newton verlangt <strong>die</strong> erste Ableitung,<br />

so dass C := f ′ (x k ) ∈ R n×n . Die Berechnung der höherdimensionalen Ableitung<br />

zeigen wir später.<br />

Im Folgenden sei ‖·‖ e<strong>in</strong>e beliebige Vektornorm auf R n und ‖·‖ <strong>die</strong> entsprechende natürliche<br />

Matrizennorm. Die ausführliche Diskussion der entsprechenden Eigenschaften f<strong>in</strong>det der<br />

aufmerksame Leser <strong>in</strong> Kapitel 4.<br />

Zunächst rekapitulieren wir <strong>die</strong> bereits aus der Analysis bekannte Lipschitz-Stetigkeit e<strong>in</strong>er<br />

Funktion:<br />

181


5 <strong>Numerische</strong> Iterationsverfahren<br />

Def<strong>in</strong>ition 5.2 (Lipschitz-Stetigkeit, Kontraktion). Es sei G ⊂ R n e<strong>in</strong>e nichtleere abgeschlossene<br />

Menge. E<strong>in</strong>e Abbildung g : G → R n wird Lipschitz-stetig genannt, falls<br />

‖g(x) − g(y)‖ ≤ q‖x − y‖, x, y ∈ G,<br />

mit q > 0. Falls 0 < q < 1, so nennt man g e<strong>in</strong>e Kontraktion auf G.<br />

Zur Rekapitulation:<br />

Bemerkung 5.3. Differenzierbarkeit ⇒ absolute Stetigkeit ⇒ Lipschitz-Stetigkeit ⇒<br />

gleichmäßige Stetigkeit ⇒ Stetigkeit.<br />

Zum Beispiel ist <strong>die</strong> Wurzelfunktion f(x) = √ x auf [0, 1] zwar gleichmäßig stetig aber<br />

nicht Lipschitz-stetig.<br />

Der Banachsche Fixpunktsatz besagt nun, dass jede Selbstabbildung g : G → G, welche<br />

e<strong>in</strong>e Kontraktion ist, e<strong>in</strong>en Fixpunkt besitzt:<br />

Satz 5.4 (Banach’scher Fixpunktsatz). Es sei G ⊂ R n e<strong>in</strong>e nichtleere und abgeschlossene<br />

Punktmenge und g : G → G e<strong>in</strong>e Lipschitz-stetige Selbstabbildung, mit Lipschitz-Konstante<br />

q < 1 (also e<strong>in</strong>e Kontraktion).<br />

• Dann existiert genau e<strong>in</strong> Fixpunkt z ∈ G von g und <strong>die</strong> Iterationsfolge (x k ) k konvergiert<br />

für jeden Startpunkt x 0 ∈ G, so dass x k → z für k → ∞.<br />

• Es gilt <strong>die</strong> a priori Abschätzung:<br />

‖x k − z‖ ≤<br />

• Es gilt <strong>die</strong> a posteriori Abschätzung:<br />

‖x k − z‖ ≤<br />

qk<br />

1 − q ‖x1 − x 0 ‖.<br />

q<br />

1 − q ‖xk − x k−1 ‖.<br />

Beweis:<br />

(i) Existenz e<strong>in</strong>es Grenzwertes. Da g e<strong>in</strong>e Selbstabbildung <strong>in</strong> G ist, s<strong>in</strong>d alle Iterierten<br />

x k = g(x k−1 ) = . . . = g k (x 0 ) bei Wahl e<strong>in</strong>es beliebigen Startpunkts x 0 ∈ G def<strong>in</strong>iert.<br />

Aufgrund der Kontraktionseigenschaft gilt:<br />

‖x k+1 − x k ‖ = ‖g(x k ) − g(x k−1 )‖ ≤ q‖x k − x k−1 ‖ ≤ . . . ≤ q k ‖x 1 − x 0 ‖.<br />

182


5.1 Der Banachsche Fixpunktsatz<br />

Wir zeigen, dass (x k ) k e<strong>in</strong>e Cauchy-Folge ist. Für jedes l ≥ m erhalten wir:<br />

‖x l − x m ‖ ≤ ‖x l − x l−1 ‖ + . . . + ‖x m+1 − x m ‖<br />

≤ (q l−1 + q l−2 + . . . + q m )‖x 1 − x 0 ‖<br />

= q m 1 − ql−m<br />

‖x 1 − x 0 ‖<br />

1 − q<br />

≤ q m 1<br />

1 − q ‖x1 − x 0 ‖ → 0 (l ≥ m → 0).<br />

(5.1)<br />

D.h., (x l ) l∈N ist e<strong>in</strong>e Cauchy-Folge. Da alle Folgenglieder <strong>in</strong> G liegen und G als abgeschlossene<br />

Teilmenge des R n vollständig ist, existiert der Grenzwert x l → z ∈ G.<br />

(ii) Fixpunkteigenschaft. Als zweites weisen wir nach, dass z tatsächlich e<strong>in</strong> Fixpunkt von<br />

g ist. Aus der Stetigkeit von g folgt mit x k → z auch g(x k ) → g(z). Dann gilt für <strong>die</strong><br />

Iteration x k+1 := g(x k ) bei Grenzübergang<br />

z ← x k+1 = g(x k ) → g(z)<br />

(k → ∞).<br />

(iii) E<strong>in</strong>deutigkeit. Die E<strong>in</strong>deutigkeit folgt aus der Kontraktionseigenschaft. Es seien z und<br />

ẑ zwei Fixpunkte von g. Dann ist<br />

‖z − ẑ‖ = ‖g(z) − g(ẑ)‖ ≤ q‖z − ẑ‖.<br />

Dies kann wegen q < 1 nur dann gültig se<strong>in</strong>, wenn ‖z − ẑ‖ = 0, d.h. z = ẑ ist. Damit ist<br />

der Fixpunkt e<strong>in</strong>deutig.<br />

(iv) A priori Fehlerabschätzung. Es gilt mit (5.1)<br />

‖z − x m ‖ ←−−−<br />

l→∞ ‖xl − x m ‖ ≤ q m 1<br />

1 − q ‖x1 − x 0 ‖.<br />

(v) A posteriori Fehlerabschätzung. Es gilt wieder mit (5.1):<br />

‖x m 1<br />

− z‖ ≤ q<br />

1 − q ‖xm − x m−1 ‖.<br />

Zur Anwendung des Banachschen Fixpunktsatzes auf e<strong>in</strong>e Abbildung g : G ⊂ R n → R n<br />

müssen <strong>die</strong> beiden Voraussetzungen Selbstabbildung sowie Kontraktionseigenschaft nachgewiesen<br />

werden. Angenommen, g sei e<strong>in</strong>e Kontraktion. Dann müssen wir <strong>die</strong> Existenz<br />

e<strong>in</strong>er abgeschlossenen und nichtleeren Teilmenge von G nachweisen, welche von der Abbildung<br />

g auf sich selbst abgebildet wird. Angenommen, auf der Kugel<br />

K ρ (c) := {x ∈ R n | ‖x − c‖ ≤ ρ}, ρ > 0, c ∈ R n ,<br />

sei g e<strong>in</strong>e Kontraktion mit Lipschitz-Konstante q < 1. Dann gilt für x ∈ K ρ (c):<br />

‖g(x) − c‖ ≤ ‖g(x) − g(c)‖ + ‖g(c) − c‖,<br />

□<br />

183


5 <strong>Numerische</strong> Iterationsverfahren<br />

wobei ‖g(x) − g(c)‖ ≤ qρ. Falls zusätzlich gilt:<br />

dann ist<br />

und g bildet <strong>in</strong> sich selbst ab.<br />

‖g(c) − c‖ ≤ (1 − q)ρ,<br />

‖g(x) − c‖ ≤ qρ + (1 − q)ρ = ρ<br />

Als nächstes rekapitulieren wir den Schrankensatz, der <strong>die</strong> erste Ableitung (partielle Ableitung)<br />

mit der Lipschitz-Stetigkeit verknüpft:<br />

Satz 5.5 (Schrankensatz). Die Abbildung g : G → R n sei stetig differenzierbar auf der<br />

konvexen Menge G. Dann gilt<br />

‖g(x) − g(y)‖ ≤ sup ‖g ′ (ξ)‖ ‖x − y‖, x, y ∈ G,<br />

ξ∈G<br />

mit der partiellen Ableitung (Jacobi-Matrix, weiter unten ausführlicher)<br />

g ′ (x) =<br />

( )<br />

∂gi<br />

∂x j<br />

i,j=1,...,n<br />

∈ R n×n .<br />

Falls sup ξ∈G ‖g ′ (ξ)‖ < 1, dann ist g e<strong>in</strong>e Kontraktion auf G. Insbesondere gilt <strong>in</strong> 1D auf<br />

dem Intervall G := [a, b]:<br />

q := max<br />

ξ∈[a,b] |g′ (ξ)|.<br />

Beweis: Der 1D-Fall ist e<strong>in</strong> Spezialfall des höher-dimensionalen Falles. Aufgrund se<strong>in</strong>er<br />

E<strong>in</strong>fachheit beweisen wir <strong>in</strong> separat.<br />

(i) Der e<strong>in</strong>dimensionale Fall. Es seien x, y ∈ [a, b]. Nach dem reellen Mittelwertsatz gibt<br />

es e<strong>in</strong> ξ ∈ [a, b], so dass<br />

|g(x) − g(y)| = |g ′ (ξ)(x − y)| = |g ′ (ξ)| |x − y| ≤ q|x − y|.<br />

(ii) Der n-dimensionale Fall. Es seien x, y ∈ G. Wir setzen aus Normierungsgründen für<br />

i = 1, . . . , n:<br />

φ i (s) := g i (x + s(y − x)), 0 ≤ s ≤ 1.<br />

Dann gilt<br />

Für <strong>die</strong> Ableitung gilt<br />

g i (x) − g i (y) = φ i (1) − φ i (0) =<br />

∫ 1<br />

0<br />

φ ′ (s) ds.<br />

φ ′ i(s) =<br />

n∑<br />

j=1<br />

∂g i<br />

∂x j<br />

(x + s(y − x))(y − x) j .<br />

184


5.1 Der Banachsche Fixpunktsatz<br />

Hiermit und den Stetigkeitseigenschaften der Vektornorm (e<strong>in</strong>e Norm ist immer e<strong>in</strong>e stetige<br />

Abbildung!) folgt<br />

∫ 1<br />

‖g(y) − g(x)‖ =<br />

∥ g ′ (x + s(y − x)) · (y − x) ds<br />

∥<br />

≤<br />

0<br />

∫ 1<br />

0<br />

‖g ′ (x + s(y − x))‖ ds ‖y − x‖<br />

≤ sup ‖g ′ (ξ)‖ ‖y − x‖.<br />

ξ∈G<br />

Zusammenfassen der Ergebnisse liefert das wichtige:<br />

Korollar 5.6. Zu jedem Fixpunkt z ∈ G der Abbildung g mit ‖g ′ (z)‖ < 1 gibt es e<strong>in</strong>e<br />

Umgebung<br />

K ρ = {x ∈ R n | ‖x − z‖ ≤ ρ} ⊂ G,<br />

so das g e<strong>in</strong>e Kontraktion von K ρ (z) <strong>in</strong> sich selbst ist.<br />

Beispiel 5.7 (Konvergenz zur Lösung nicht-l<strong>in</strong>earer Gleichungen). Zu f :∈ R n → R n<br />

suchen wir e<strong>in</strong>e Nullstelle x ∈ R n mit f(x) = 0. Mit e<strong>in</strong>er Matrix C ∈ R n×n def<strong>in</strong>ieren<br />

wir <strong>die</strong> Iteration:<br />

x 0 ∈ R n , x k+1 = x k + C −1 f(x k ), k = 0, 1, 2, . . .<br />

Dieses Verfahren konvergiert, falls f auf e<strong>in</strong>er Kugel K ρ (c) ⊂ R n stetig differenzierbar ist<br />

und<br />

sup<br />

ζ∈K ρ(c)<br />

‖I + C −1 f ′ (ζ)‖ =: q < 1, ‖C −1 f(c)‖ ≤ (1 − q)ρ.<br />

Beispiel 5.8 (Lösung l<strong>in</strong>earer Gleichungssysteme). Es seien A ∈ R n×n und b ∈ R n<br />

gegeben. Das l<strong>in</strong>eare Gleichungssystem ist äquivalent zur Nullstellenaufgabe<br />

f(x) := b − Ax = 0.<br />

Die iterative Lösung (im Gegensatz zur direkten Lösung) kann mit e<strong>in</strong>er regulären Matrix<br />

C ∈ R n×n als Fixpunktaufgabe hergeleitet werden:<br />

x = g(x) := x + C −1 f(x) = x + C −1 (b − Ax) = (I − C −1 A)x + C −1 b.<br />

Die Matrix B := I − C −1 A nennen wir <strong>die</strong> Iterationsmatrix der zugehörigen Fixpunktiteration<br />

(auch sukzessive Approximation genannt):<br />

Die Abbildung g ist wegen<br />

x k+1 = Bx k + C −1 b, k = 1, 2, . . . .<br />

‖g(x) − g(y)‖ = ‖B(x − y)‖ ≤ ‖B‖‖x − y‖<br />

für ‖B‖ < 1 mit B := I − C −1 A e<strong>in</strong>e Kontraktion auf ganz R n . Dann konvergiert <strong>die</strong><br />

Iterationsfolge gegen e<strong>in</strong>en Fixpunkt von g und somit zur Lösung von Ax = b.<br />

□<br />

185


5 <strong>Numerische</strong> Iterationsverfahren<br />

Bemerkung 5.9. Später werden wir mit Hilfe des Banachschen Fixpunktsatzes verschiedene<br />

Verfahren zur iterativen Lösung von l<strong>in</strong>earen Gleichungssystemen herleiten.<br />

Bemerkung 5.10. Die Konvergenzanalyse der Fixpunktverfahren kann mit Hilfe der bereits<br />

diskutieren Techniken <strong>in</strong> Kapitel 2.6 durchgeführt werden.<br />

5.2 Fixpunkt-Iterationen zum Lösen von nichtl<strong>in</strong>earen<br />

Gleichungen<br />

Wir rekapitulieren aus Kapitel 2, dass das klassische Newton-Verfahren <strong>in</strong> e<strong>in</strong>er Dimension<br />

als Fixpunktiteration aufgefasst werden kann. Die Newton-Iteration gehört zur Klasse der<br />

Fixpunktiterationen mit der Iterationsfunktion<br />

Jeder Fixpunkt z = F (z) ist offenbar e<strong>in</strong>e Nullstelle f(z) = 0.<br />

F (x) := x − f(x)<br />

f ′ (x) . (5.2)<br />

5.2.1 Newton-Verfahren im R n<br />

Aufgrund se<strong>in</strong>er herausragenden Bedeutung widmen wir dem Newton-Verfahren für höhere<br />

Dimensionen e<strong>in</strong>en eigenen Abschnitt. Die pr<strong>in</strong>zipiellen Aussagen (Existenz, quadratische<br />

Konvergenz, gedämpftes Newton-Verfahren, vere<strong>in</strong>fachtes Newton-Verfahren) s<strong>in</strong>d<br />

mit dem 1D-Fall vergleichbar.<br />

Es sei f : D ⊂ R n → R n . Zur Lösung von f(x) = (f 1 (x), . . . , f n (x)) = 0 lautet <strong>die</strong><br />

Newton-Iteration formal:<br />

x 0 ∈ R n , x k+1 = x k − f ′ (x k ) −1 f(x k ), k = 0, 1, 2, . . . (5.3)<br />

Die Ableitung f ′ (x) : R n → R n×n ist <strong>die</strong> Jacobi-Matrix von f:<br />

f ′ (x) ij = ∂f i<br />

∂x j<br />

, i, j = 1, . . . , n.<br />

Die Tatsache, dass <strong>die</strong> Ableitung von f im mehrdimensionalen Fall e<strong>in</strong>e Matrix ist, stellt<br />

den wesentlichen Unterschied zum e<strong>in</strong>dimensionalen Newton-Verfahren dar. Anstelle e<strong>in</strong>er<br />

Ableitung s<strong>in</strong>d nun n 2 Ableitungen zu berechnen. Und anstelle e<strong>in</strong>er Division durch f ′ (x k )<br />

ist <strong>in</strong> jedem Schritt der Newton-Iteration e<strong>in</strong> l<strong>in</strong>eares Gleichungssystem mit Koeffizientenmatrix<br />

f ′ (x k ) ∈ R n×n zu lösen. Wir multiplizieren <strong>in</strong> (5.3) mit f ′ (x k ) und erhalten<br />

x 0 ∈ R n , f ′ (x k )x k+1 = f ′ (x k )x k − f(x k ), k = 0, 1, 2, . . .<br />

Das Newton-Verfahren wird als Defektkorrektur-Verfahren durchgeführt. So kann <strong>in</strong> jedem<br />

Schritt der Aufwand e<strong>in</strong>er Matrix-Vektor Multiplikation gespart werden:<br />

186


5.2 Fixpunkt-Iterationen zum Lösen von nichtl<strong>in</strong>earen Gleichungen<br />

Def<strong>in</strong>ition 5.11 (Newton-Verfahren als Defektkorrektur). Wähle Startwert x 0 ∈ R n und<br />

iteriere:<br />

f ′ (x k )δx = d k , d k := −f(x k ),<br />

x k+1 = x k + δx, k = 0, 1, 2, . . . .<br />

Im Folgenden diskutieren wir kurz das Aufstellen der Jacobi-Matrix. Die Funktion f besitzt<br />

n Komponentenfunktionen f i und n unterschiedliche Variablen x 1 , . . . , x n . Jede Änderung<br />

<strong>in</strong> e<strong>in</strong>er Komponentenfunktion f i bezüglich der Variablen x j wird durch <strong>die</strong> partielle Ableitung<br />

(Analysis 2) beschrieben:<br />

∂f i<br />

∂x j<br />

.<br />

Letztendlich erhalten wir somit e<strong>in</strong>e n × n Matrix:<br />

⎛<br />

⎞<br />

∂f 1 ∂f 1 ∂f ∂x 1 ∂x 2<br />

. . . n<br />

∂x 1<br />

∂f 2 ∂f 2 ∂f<br />

f ′ ∂x<br />

(x) =<br />

1 ∂x 2<br />

. . . 2<br />

∂x n<br />

⎜ . ⎝ . . .. . ⎟<br />

⎠<br />

∂f n ∂f n ∂f<br />

∂x 1 ∂x 2<br />

. . . n<br />

∂x n<br />

.<br />

5.2.2 Newton-Kantorovich<br />

Die zentrale Konvergenzaussage des Newton-Verfahrens wird im Satz von Newton-Kantorovich<br />

zusammengefasst. Hierzu sei f : G ⊂ R n → R n e<strong>in</strong>e differenzierbare Abbildung. Mit ‖ · ‖<br />

bezeichnen wir stets <strong>die</strong> euklidische Vektornorm und <strong>in</strong>duzierte Matrixnorm, also <strong>die</strong> Spektralnorm.<br />

Wir suchen e<strong>in</strong>e Nullstelle z ∈ R n so dass f(z) = 0.<br />

187


5 <strong>Numerische</strong> Iterationsverfahren<br />

Satz 5.12 (Newton-Kantorovich). Es sei D ⊂ R n e<strong>in</strong>e offene und konvexe Menge. Weiterh<strong>in</strong><br />

sei f : D ⊂ R n → R n stetig-differenzierbar.<br />

(i) Die Jacobi-Matrix f ′ sei gleichmäßig Lipschitz-stetig für alle x, y ∈ D:<br />

‖f ′ (x) − f ′ (y)‖ ≤ γ‖x − y‖, x, y ∈ D. (5.4)<br />

(ii) Weiter habe <strong>die</strong> Jacobi-Matrix auf D e<strong>in</strong>e gleichmäßig beschränkte Inverse<br />

(iii) Es gelte für den Startpunkt x 0 ∈ D:<br />

(iv) Für r := 2α ist <strong>die</strong> abgeschlossene Kugel<br />

‖f ′ (x) −1 ‖ ≤ β, x ∈ D. (5.5)<br />

q := αβγ < 1 2 , α := ‖f ′ (x 0 ) −1 f(x 0 )‖. (5.6)<br />

B r (x 0 ) := {x ∈ R n : ‖x − x 0 ‖ ≤ r}<br />

<strong>in</strong> der Menge D enthalten.<br />

Dann besitzt <strong>die</strong> Funktion f e<strong>in</strong>e Nullstelle z ∈ B r (x 0 ) und <strong>die</strong> Newton-Iteration<br />

f ′ (x k )δx = d k , d k := −f(x k ),<br />

x k+1 = x k + δx, k = 0, 1, 2, . . . .<br />

konvergiert quadratisch gegen <strong>die</strong>se Nullstelle z. Darüber h<strong>in</strong>aus gilt <strong>die</strong> a priori Fehlerabschätzung<br />

‖x k − z‖ ≤ 2αq 2k −1 , k = 0, 1, . . . .<br />

Beweis: Der Beweis zum Satz ist weitaus aufwändiger als im e<strong>in</strong>dimensionalen Fall, daher<br />

geben wir zunächst e<strong>in</strong>e Skizze an:<br />

(i) Herleitung von Hilfsabschätzungen.<br />

(ii) Alle Iterierten liegen <strong>in</strong> der Kugel B r (x 0 ) und es gilt <strong>die</strong> a priori Fehlerabschätzung<br />

für ‖x k − x 0 ‖ (Beweis über vollständige Induktion).<br />

(iii) Zeige (x k ) k∈N ist Cauchy-Folge und hat damit <strong>in</strong> R n e<strong>in</strong>en e<strong>in</strong>deutigen Grenzwert z.<br />

(iv) Existenz e<strong>in</strong>er Nullstelle: Zeige, dass z e<strong>in</strong>e Nullstelle der Funktion f ist.<br />

(v) E<strong>in</strong>deutigkeit: Zeige, dass <strong>die</strong> Nullstelle z e<strong>in</strong>deutig ist.<br />

Nun zum ausführlichen Beweis:<br />

(i) Herleitung von Hilfsabschätzungen:<br />

Es seien x, y, z ∈ D. Da D konvex ist, gilt für alle x, y ∈ D:<br />

f j (x) − f j (y) =<br />

∫ 1<br />

0<br />

d<br />

ds f j(sx + (1 − s)y) ds, j = 1, . . . , n.<br />

188


5.2 Fixpunkt-Iterationen zum Lösen von nichtl<strong>in</strong>earen Gleichungen<br />

Mit der Kettenregel erhalten wir<br />

und damit<br />

d<br />

ds f j(sx + (1 − s)y) =<br />

f j (x) − f j (y) =<br />

∫ 1<br />

0<br />

n∑<br />

k=1<br />

In kompakter Schreibweise bedeutet <strong>die</strong>s:<br />

f(x) − f(y) =<br />

∫ 1<br />

0<br />

n∑<br />

k=1<br />

∂f j<br />

∂x k<br />

( sx + (1 − s)<br />

) (xk − y k )<br />

∂f j<br />

∂x k<br />

( sx + (1 − s)y<br />

) (xk − y k ) ds.<br />

f ′ (sx + (1 − s)y)(x − y) ds.<br />

Unter H<strong>in</strong>zunahme von f ′ (z)(y − x) folgern wir nun, dass<br />

f(x) − f(y) − f ′ (z)(y − x) =<br />

∫ 1<br />

0<br />

( f ′ (sx + (1 − s)y) − f ′ (z) ) (x − y) ds.<br />

Mit Hilfe der Lipschitz-Stetigkeit von f ′ , Bed<strong>in</strong>gung (5.4), folgern wir<br />

∫ 1<br />

‖f(y) − f(x) − f ′ (z)(y − x)‖ ≤ γ‖y − x‖ ‖s(x − z) + (1 − s)(y − z)‖ ds<br />

0<br />

Für <strong>die</strong> Wahl z = x schließen wir damit auf<br />

≤ γ 2 ‖y − x‖( ‖x − z‖ + ‖y − z‖ ) .<br />

‖f(y) − f(x) − f ′ (x)(y − x)‖ ≤ γ 2 ‖y − x‖2 , ∀x, y ∈ D. (5.7)<br />

Und für <strong>die</strong> <strong>die</strong> Wahl z = x 0 erhalten wir:<br />

‖f(y) − f(x) − f ′ (x 0 )(y − x)‖ ≤ rγ‖y − x‖, ∀x, y ∈ B r (x 0 ). (5.8)<br />

(ii) Wir zeigen: alle Iterierten liegen <strong>in</strong> B r (x 0 ) und es gilt <strong>die</strong> a priori Fehlerabschätzung<br />

für ‖x k − x 0 ‖. Wir führen den Beweis über vollständige Induktion und zeigen:<br />

‖x k − x 0 ‖ ≤ r, ‖x k − x k−1 ‖ ≤ αq 2k −1 , k = 1, 2, . . . . (5.9)<br />

Wir starten mit k = 1. Es gilt mit Hilfe der Bed<strong>in</strong>gungen (5.5) und (5.6):<br />

Die Aussage ist also wahr.<br />

‖x 1 − x 0 ‖ = ‖f ′ (x 0 ) −1 f(x 0 )‖ = α = r 2 < r.<br />

Induktionsschritt k → k + 1. Nach Induktionsvoraussetzung seien <strong>die</strong> beiden Gleichungen<br />

(5.9) wahr für k ≥ 1. Das ist aufgrund der Bed<strong>in</strong>gung (5.5) und x k ∈ B r (x 0 ) ⊂ D,<br />

<strong>die</strong> Iterierte x k+1 wohl-def<strong>in</strong>iert. Dann gilt unter Ausnutzung von Bed<strong>in</strong>gung (5.5), der<br />

189


5 <strong>Numerische</strong> Iterationsverfahren<br />

Newton-Iteration für x k und Abschätzung (5.7), der Induktionsvoraussetzung (5.9) und<br />

der Def<strong>in</strong>ition von q folgende Abschätzungskette:<br />

Weiter erhalten wir<br />

‖x k+1 − x k ‖ = ‖f ′ (x k ) −1 f(x k )‖<br />

≤ β ‖f(x k )‖<br />

= β‖f(x k ) − f(x k−1 ) − f ′ (x k−1 )(x k − x k−1 )‖<br />

≤ βγ<br />

2 ‖xk − x k−1 ‖ 2<br />

≤ βγ [αq ] 2<br />

2k−1 −1<br />

2<br />

= α −1<br />

2 q2k<br />

< αq 2k −1 .<br />

‖x k+1 − x 0 ‖ ≤ ‖x k+1 − x k ‖ + . . . + ‖x 1 − x 0 ‖<br />

≤ α ( 1 + q + q 3 + q 7 + . . . + q 2k −1 )<br />

≤<br />

α<br />

1 − q<br />

≤ 2α<br />

= r.<br />

Damit ist der Induktionsschritt von k → k + 1 gezeigt, d.h., <strong>die</strong> beiden Ungleichungen<br />

(5.9) s<strong>in</strong>d gültig für k + 1.<br />

(iii) Existenz e<strong>in</strong>es Grenzwertes x k → z durch Nachweis der Cauchy-Eigenschaft:<br />

Es sei m > 0. Unter Ausnutzung von q < 1 2<br />

(Voraussetzung!) gilt<br />

‖x k − x k+m ‖ ≤ ‖x k − x k+1 ‖ + . . . + ‖x k+m−1 − x k+m ‖<br />

≤ α ( q 2k −1 + q 2k+1 −1 + . . . + q 2m+k−1 −1 )<br />

= αq 2k −1 ( 1 + q 2k + . . . + (q 2k ) 2m−1 −1 )<br />

≤ 2αq 2k −1<br />

(5.10)<br />

Damit ist gezeigt, dass (x k ) ⊂ D 0 e<strong>in</strong>e Cauchy-Folge ist, da q < 1 2<br />

. Da D endlichdimensional<br />

(hier ist jeder Raum e<strong>in</strong> Banachraum - also vollständig!), existiert der Limes<br />

z = lim<br />

k→∞ xk<br />

Im Grenzübergang k → ∞ erhalten wir dann <strong>in</strong> der ersten Ungleichung <strong>in</strong> (5.9):<br />

‖z − x 0 ‖ ≤ r,<br />

so dass z ∈ B r (x 0 ). Im Grenzübergang m → ∞ <strong>in</strong> (5.10), verifizieren wir <strong>die</strong> Fehlerabschätzung<br />

des Satzes:<br />

‖x k − z‖ ≤ 2αq 2k −1 , k = 0, 1, . . . .<br />

190


5.2 Fixpunkt-Iterationen zum Lösen von nichtl<strong>in</strong>earen Gleichungen<br />

(iv) Zeige, dass z ∈ B r (x 0 ) e<strong>in</strong>e Nullstelle von f ist:<br />

Die Newton-Iterationsvorschrift sowie Bed<strong>in</strong>gung (5.4) liefern<br />

Daher gilt<br />

‖f(x k )‖ = ‖f ′ (x k )(x k − x k−1 )‖<br />

≤ ‖f ′ (x k ) − f ′ (x 0 ) + f ′ (x 0 )‖ ‖x k+1 − x k ‖<br />

≤ ( γ‖x k − x 0 ‖ + ‖f ′ (x 0 )‖ ) ‖x k+1 − x k ‖<br />

→ 0, k → ∞.<br />

f(x k ) → 0, k → ∞.<br />

Die Stetigkeit von f impliziert dann f(z) = 0.<br />

(v) E<strong>in</strong>deutigkeit der Nullstelle z ∈ B r (x 0 ):<br />

Die E<strong>in</strong>deutigkeit wird mit Hilfe der Kontraktionseigenschaft und der Formulierung der<br />

Newton-Iteration als Fixpunktiteration gezeigt. Die gefundene Nullstelle x k → z von f(x)<br />

ist auch Fixpunkt der vere<strong>in</strong>fachten Iteration:<br />

ḡ(x) := x − f ′ (x 0 ) −1 f(x).<br />

Diese Iteration ist e<strong>in</strong>e Kontraktion, denn aus<br />

ḡ(x) − ḡ(y) = x − y − f ′ (x 0 ) −1 f(x) + f ′ (x 0 ) −1 f(y) = f ′ (x 0 ) −1 (f(y) − f(x) − f ′ (x 0 )(y − x)),<br />

folgt mit den Bed<strong>in</strong>gungen (5.5) und (5.6) sowie (5.8) <strong>die</strong> Abschätzung:<br />

‖ḡ(x) − ḡ(y)‖ ≤ ββγr‖y − x‖ ≤ 2q‖y − x‖, ∀x, y ∈ B r (x 0 ).<br />

Da q < 1 2<br />

ist ḡ e<strong>in</strong>e Kontraktion. E<strong>in</strong>e Kontraktionsabbildung kann höchstens e<strong>in</strong>en<br />

Fixpunkt haben. Da <strong>die</strong>ser Fixpunkt <strong>die</strong> Nullstelle von f ist, haben wir <strong>die</strong> Nullstelle<br />

z ∈ B r (x 0 ) e<strong>in</strong>deutig bestimmt. Damit ist alles gezeigt.<br />

□<br />

Bemerkung 5.13. Der Satz von Newton-Kantorovich unterscheidet sich <strong>in</strong> e<strong>in</strong>igen Punkten<br />

wesentlich von Satz 2.10 über das e<strong>in</strong>dimensionale Newton-Verfahren. Der wesentliche<br />

Unterschied ist <strong>die</strong> Regularität von f, welches beim Newton-Kantorovich nur über e<strong>in</strong>e<br />

Lipschitz-stetige Jacobi-Matrix anstelle von zweimal stetiger Differenzierbarkeit verfügen<br />

muss. Ferner muss <strong>die</strong> Existenz e<strong>in</strong>er Nullstelle nicht vorausgesetzt werden, sie folgt beim<br />

Newton-Kantorovich als Ergebnis des Satzes.<br />

Daher nun e<strong>in</strong>e der Hauptanwendungen des vorherigen Satzes 5.12: das folgende lokale<br />

Konvergenzresultat:<br />

Korollar 5.14. Es sei D ⊂ R n offen und f : D ⊂ R n → R n zweimal stetig-differenzierbar.<br />

Wir nehmen an, dass z ∈ D e<strong>in</strong>e Nullstelle mit regulärer Jacobi-Matrix f ′ (z) ist. Dann<br />

ist das Newton-Verfahren lokal konvergent, d.h. es existiert e<strong>in</strong>e Umgebung B um z, so<br />

dass das Newton-Verfahren für alle Startwerte x 0 ∈ B konvergiert.<br />

191


5 <strong>Numerische</strong> Iterationsverfahren<br />

Beweis: Den Beweis stellen wir als Übungsaufgabe.<br />

□<br />

Korollar 5.15. Korollar 5.14 stellt den Zusammenhang zu dem e<strong>in</strong>-dimensionalen Resultat<br />

her: Dazu sei z ∈ G e<strong>in</strong>e Nullstelle von f und ‖ · ‖ ∞ <strong>die</strong> Maximumsnorm. Damit<br />

können <strong>die</strong> Konstanten<br />

m = 1 β , M = γ<br />

bestimmt werden. Dann kann gilt zusätzlich zur a priori Fehlerabschätzung, <strong>die</strong> a posteriori<br />

Schranke:<br />

‖x k − z‖ ∞ ≤ 1 m ‖f(xk )‖ ∞ ≤ M 2m ‖xk − x k−1 ‖ 2 ∞, k = 1, 2, . . . .<br />

Beispiel 5.16. Newton im R n Wir suchen <strong>die</strong> Nullstelle der Funktion<br />

mit der Jacobi-Matrix<br />

(<br />

)<br />

1 − x<br />

f(x 1 , x 2 ) =<br />

2 − y 2<br />

,<br />

(x − 2y)/(1/2 + y)<br />

f ′ (x) =<br />

Die Nullstellen von f ist gegeben durch:<br />

(<br />

−2x −2y<br />

)<br />

2<br />

1+2y<br />

− 4+4x .<br />

(1+2y) 2<br />

x ≈ ±(0.894427, 0.447214).<br />

Wir starten <strong>die</strong> Iteration mit x 0 = (1, 1) T und erhalten <strong>die</strong> Iterierten:<br />

x 1 ≈<br />

( ) ( )<br />

1.14286<br />

, x 2 0.92659<br />

≈<br />

, x 3 ≈<br />

0.357143<br />

0.442063<br />

Nach nur vier Iterationen s<strong>in</strong>d <strong>die</strong> ersten sechs Stellen exakt.<br />

( )<br />

0.894935<br />

, x 4 ≈<br />

0.447349<br />

( )<br />

0.894427<br />

.<br />

0.447214<br />

5.2.3 Vere<strong>in</strong>fachtes und gedämpftes Newton-Verfahren<br />

Analog zum e<strong>in</strong>-dimensionalen Fall können wir auch im R n das vere<strong>in</strong>fachte und das<br />

gedämpfte Newton-Verfahren formulieren. Diese Verallgeme<strong>in</strong>erungen <strong>die</strong>nen im Wesentlichen<br />

wieder zwei Zwecken:<br />

• Durch festhalten der Inversen f ′ (c) −1 <strong>in</strong> e<strong>in</strong>em Punkt c ∈ R n kann <strong>in</strong> jedem folgenden<br />

Newton-Schritt e<strong>in</strong> l<strong>in</strong>eares Gleichungssystem mit derselben Matrix gelöst werden.<br />

• Durch E<strong>in</strong>fügen e<strong>in</strong>es Dämpfungsparameters kann der E<strong>in</strong>zugsbereich des Newton-<br />

Verfahrens vergrößert werden (Globalisierung).<br />

192


5.2 Fixpunkt-Iterationen zum Lösen von nichtl<strong>in</strong>earen Gleichungen<br />

Vere<strong>in</strong>fachtes Newton-Verfahren Im höher-dimensionalen Newton-Verfahren liegt der<br />

Hauptaufwand <strong>in</strong> der Lösung des l<strong>in</strong>earen Gleichungssystems <strong>in</strong> jedem Newton-Schritt.<br />

Daher macht sich hier <strong>die</strong> Verwendung e<strong>in</strong>es vere<strong>in</strong>fachten Newton-Verfahrens deutlicher<br />

bemerkbar als im e<strong>in</strong>dimensionalen Fall. Wir wählen e<strong>in</strong> c ∈ R n möglichst nahe an der<br />

gesuchten Nullstelle c ≈ z und iterieren:<br />

f ′ (c)(x k+1 − x k ) = −f(x k ), k = 1, 2, . . .<br />

Dabei kann z.B. c = x 0 gewählt werden. Das “e<strong>in</strong>frieren” der Inversen hat zwei Vorteile:<br />

zunächst muss <strong>die</strong>se seltener berechnet werden. Dies kann bei komplizierten Ableitungen,<br />

<strong>die</strong> möglicherweise nur numerisch bestimmt werden können e<strong>in</strong> wesentlicher Vorteil<br />

se<strong>in</strong>. Noch wichtiger ist jedoch, dass <strong>die</strong> Matrix f ′ (c) nur e<strong>in</strong>mal zerlegt werden muss,<br />

etwa f ′ (c) = LR. Diese Zerlegung kann dann <strong>in</strong> jedem Schritt zum Lösen des l<strong>in</strong>earen<br />

Gleichungssystems genutzt werden. Da e<strong>in</strong> Erstellen der Zerlegung O(n 3 ) und das<br />

anschließende Lösen nur O(n 2 ) Operationen benötigt, kann selbst dann e<strong>in</strong> enormer Effizienzgew<strong>in</strong>n<br />

erreicht werden, falls das vere<strong>in</strong>fachte Newton-Verfahren weit mehr Schritte<br />

benötigt. Das vere<strong>in</strong>fachte Newton-Verfahren kann nur noch l<strong>in</strong>ear konvergieren und <strong>die</strong><br />

Konvergenz kann e<strong>in</strong>fach durch Anwenden des Banachschen Fixpunktsatzes auf <strong>die</strong> Iterationsvorschrift<br />

x k+1 = x k − f ′ (c) −1 f(x k )<br />

gesichert werden.<br />

Bei e<strong>in</strong>em konkreten Verfahren mit x 0 und fester Matrix A kann während der Berechnung<br />

mit Hilfe des Banachschen Fixpunktsatzes geklärt werden, ob Konvergenz vorliegt. Hierzu<br />

kann der Kontraktionsfaktor q a posteriori berechnet werden:<br />

q k = ‖g(xk ) − g(x k−1 )‖<br />

‖x k − x k−1 ‖<br />

= ‖xk+1 − x k ‖<br />

‖x k − x k−1 , k = 1, 2, . . . .<br />

‖<br />

Die zugrundeliegende Norm kann <strong>die</strong> Maximums-Norm oder l 1 -Norm se<strong>in</strong> (siehe zu den<br />

Vektornormen auch Kapitel 4). Falls der Schätzfaktor q k ≪ 1, dann ist das vere<strong>in</strong>fachte<br />

Newton-Verfahren sehr wahrsche<strong>in</strong>lich konvergent. Falls q k ≈ 1 bzw. q k ≥ 1, dann liegt<br />

wahrsche<strong>in</strong>lich ke<strong>in</strong>e Konvergenz vor.<br />

Hier hat man nun folgende Möglichkeiten:<br />

• Wahl e<strong>in</strong>es besseren Startwertes x 0 ,<br />

• Bessere Wahl von f ′ (c) als Approximation für f ′ (x),<br />

• Oder e<strong>in</strong> vere<strong>in</strong>fachtes Newton-Verfahren <strong>in</strong> dem f ′ (c) z.B. alle 4 Schritte neu aufgebaut<br />

wird, um so ab und zu <strong>die</strong> Matrix anzupassen.<br />

Die letzte Methodik wird sehr häufig bei nicht-l<strong>in</strong>earen Problemen im Rahmen von partiellen<br />

Differentialgleichungen verwendet. Denn hier ist <strong>die</strong> kluge Wahl e<strong>in</strong>es Startwertes<br />

oftmals mit sehr viel Aufwand verbunden, weshalb <strong>die</strong> Möglichkeit 1 ausgeschlossen wird.<br />

Daher ist <strong>die</strong> Wahl von x 0 oftmals sehr schlecht, weshalb aber auch A := f ′ (x 0 ) e<strong>in</strong>e<br />

sehr schlechte Approximation von f ′ (z) ist. Deshalb sollte man nach z.B. 3 Schritten<br />

A := f ′ (x 3 ) wählen, um e<strong>in</strong>e bessere Approximation der Jacobi-Matrix zu erhalten.<br />

193


5 <strong>Numerische</strong> Iterationsverfahren<br />

Gedämpftes Newton-Verfahren Die Vergrößerung des Konvergenzbereiches (Globalisierung)<br />

kann mit Hilfe e<strong>in</strong>es Dämpfungsparameters erreicht werden. Hierzu wird <strong>die</strong> Newton-<br />

Iteration abgewandelt:<br />

x k+1 = x k − ω k f ′ (x k ) −1 f(x k ).<br />

Der Dämpfungsparameter ω k ist dabei im Intervall (0, 1] zu wählen. Dieser wird am Anfang<br />

kle<strong>in</strong> gewählt, um das Konvergenzgebiet zu vergrößern. Allerd<strong>in</strong>gs konvergiert das Verfahren<br />

dann nur mit l<strong>in</strong>earer Ordnung. Quadratische Konvergenz wird nur dann erreicht, falls<br />

für k → ∞ auch ω k → 1 gilt. Der folgenden Satz gibt e<strong>in</strong> konstruktives Kriterium, den<br />

Dämpfungsparameter ω k a posteriori bestimmen zu können.<br />

Satz 5.17 (Gedämpftes Newton-Verfahren). Unter den Voraussetzungen von Satz 5.12<br />

erzeugt <strong>die</strong> gedämpfte Newton-Iteration (siehe 2.4.4) mit<br />

ω k := m<strong>in</strong>{1,<br />

1<br />

α k βγ },<br />

α k := ‖f ′ (x k ) −1 f(x k )‖<br />

e<strong>in</strong>e Folge (x k ) k∈N , für <strong>die</strong> nach t ∗ Schritten<br />

q ∗ := α k∗ βγ < 1 2<br />

erfüllt ist. Ab dann konvergiert x k quadratisch und es gilt <strong>die</strong> a priori Fehlerabschätzung<br />

‖x k − z‖ ≤<br />

α<br />

1 − q ∗<br />

q 2k −1<br />

∗ , k ≥ k ∗ .<br />

Beweis: In [9].<br />

□<br />

In der praktischen Anwendung wird der Dämpfungsparameter oft über <strong>die</strong> sogenannte<br />

L<strong>in</strong>e-Search-Strategie bestimmt:<br />

Algorithmus 5.18 (Newton-Verfahren mit L<strong>in</strong>e-Search). Gegeben sei e<strong>in</strong> Startwert x 0 ∈<br />

R n sowie σ ∈ (0, 1). Iteriere für k = 0, 1, . . .<br />

(i) Löse f ′ (x k )w k = −f(x k )<br />

(ii) Starte mit ω 0 = 1 und iteriere für l = 0, 1, . . .<br />

solange bis |f(x k+1 )| < |f(x k )|.<br />

x k+1 = x k + ω l w k , ω l+1 = σω l ,<br />

Der L<strong>in</strong>e-Search Algorithmus versucht zunächst ohne Dämpfung zu iterieren. Besitzt <strong>die</strong><br />

neue Approximation allerd<strong>in</strong>gs e<strong>in</strong> größeres Residuum |f(x k+1 )| > |f(x k )|, so wird der<br />

Dämpfungsparameter schrittweise reduziert. Auf <strong>die</strong>se Weise wird monotone Konvergenz<br />

im Residuum erzwungen.<br />

194


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Als zweite Hauptanwendung des Banachschen Fixpunktsatzes besprechen wir <strong>in</strong> <strong>die</strong>sem<br />

Kapitel <strong>die</strong> iterative Lösung l<strong>in</strong>earer Gleichungssysteme. Die <strong>in</strong> Kapitel 4 kennengelernten<br />

Zerlegungsverfahren (also LR, Cholesky sowie QR-Zerlegung) haben alle den Nachteil kubischer<br />

Laufzeit O(n 3 ). Gerade bei sehr großen Problemen wächst der Aufwand so schnell<br />

an, dass <strong>die</strong> Lösung <strong>in</strong> s<strong>in</strong>nvoller Zeit nicht zu erreichen ist, siehe Tabelle 4.1. Neben der<br />

Laufzeit spielt auch der Speicheraufwand e<strong>in</strong>e Rolle. Zur Speicherung e<strong>in</strong>er voll besetzten<br />

Matrix A ∈ R n×n mit n = 1 000 000 s<strong>in</strong>d bei doppelter Genauigkeit etwa 7 Terabyte (!!!)<br />

Speicher notwendig. Dies übersteigt jeden noch so modernen Computer. Die l<strong>in</strong>earen Gleichungssysteme<br />

<strong>die</strong> aus den meisten Anwendungen resultieren (etwa bei der Diskretisierung<br />

von Differentialgleichungen) s<strong>in</strong>d sehr dünn besetzt, d.h., <strong>in</strong> jeder Zeile stehen nur e<strong>in</strong>ige<br />

wenige E<strong>in</strong>träge. E<strong>in</strong>e dünn besetzte Matrix mit n = 1 000 000 aber nur 100 E<strong>in</strong>trägen<br />

pro Zeile benötigt zur Speicherung nur etwa 750 MB und passt <strong>in</strong> jeden Laptop. In Abschnitt<br />

4.2.5 haben wir Sortierverfahren kennengelernt, um <strong>die</strong>ses dünne Besetzungsmuster<br />

auch für e<strong>in</strong>e LR-Zerlegung nutzbar zu machen. Im Allgeme<strong>in</strong>en können <strong>die</strong> Matrizen L<br />

und R aber voll besetzt se<strong>in</strong> und somit den zur Verfügung stehenden Speicher wieder bei<br />

weitem übersteigen.<br />

E<strong>in</strong> weiterer Nachteil der Zerlegungsverfahren s<strong>in</strong>d numerische Stabilitätsprobleme. Durch<br />

Rundungsfehler beim Zerlegungsprozess gilt für <strong>die</strong> LR-Zerlegung üblicherweise nur A ≠<br />

˜L ˜R. D.h., obwohl <strong>die</strong> LR-Zerlegung e<strong>in</strong>e direkte Methode darstellt, kann das Gleichungssystem<br />

nicht exakt gelöst werden. Mit der Nachiteration haben wir <strong>in</strong> Abschnitt 4.3 e<strong>in</strong>e<br />

Methode kennengelernt, um <strong>die</strong>sen Fehlere<strong>in</strong>fluss durch sukzessive Iteration zu verr<strong>in</strong>gern.<br />

Mit der gestörten LR-Zerlegung A ≈ ˜L ˜R haben wir <strong>die</strong> Iteration<br />

x k+1 = x k + ˜R −1 ˜L−1 (b − Ax k ), k = 0, 1, 2, . . .<br />

def<strong>in</strong>iert. Obwohl ˜L und ˜R nicht exakt s<strong>in</strong>d, konvergiert <strong>die</strong>se Iteration (falls das Residuum<br />

d k := b − Ax k exakt berechnet werden kann), siehe Satz 4.45.<br />

In <strong>die</strong>sem Abschnitt werden wir auf der Basis der Nachiteration e<strong>in</strong>e eigene Verfahrensklasse<br />

zur iterativen Lösung großer Gleichungssysteme entwickeln. Dazu sei C ≈ A −1 e<strong>in</strong>e<br />

Approximation an <strong>die</strong> Inverse (etwa C := ˜R −1 ˜L−1 ). Dann def<strong>in</strong>ieren wir:<br />

Def<strong>in</strong>ition 5.19 (Fixpunktverfahren zum Lösen l<strong>in</strong>earer Gleichungssysteme). Es sei A ∈<br />

R n×n sowie b ∈ R n und C ∈ R n×n . Für e<strong>in</strong>en beliebigen Startwert x 0 ∈ R n iteriere für<br />

k = 1, 2, . . .<br />

x k = x k−1 + C(b − Ax k−1 ). (5.11)<br />

Alternativ führen wir <strong>die</strong> Bezeichnungen B := I − CA und c := Cb e<strong>in</strong>. Dann gilt:<br />

x k = Bx k−1 + c.<br />

Aufgrund der Konstruktion kann man sich e<strong>in</strong>fach klarmachen, dass durch <strong>die</strong> Vorschrift<br />

g(x) = Bx+c = x+C(b−Ax) wirklich e<strong>in</strong>e Fixpunktiteration mit der Lösung von Ax = b<br />

195


5 <strong>Numerische</strong> Iterationsverfahren<br />

als Fixpunkt gegeben ist. Die Konvergenz von allgeme<strong>in</strong>en (auch l<strong>in</strong>earen) Fixpunktiterationen<br />

kann leicht mit dem Banachschen Fixpunktsatz untersucht werden. Hierzu ist <strong>die</strong><br />

Kontraktionseigenschaft nachzuweisen:<br />

‖g(x) − g(y)‖ ≤ ‖B‖ ‖x − y‖.<br />

Es ergibt sich jedoch das Dilemma, das je nach verwendeter Matrixnorm ‖ · ‖ unterschiedliche<br />

Konvergenzresultate vorhergesagt werden. Für e<strong>in</strong>e Matrix B ∈ R n×n kann etwa<br />

‖B‖ 2 < 1 aber ‖B‖ ∞ > 1 gelten. Diese Beobachtung steht im Widerspruch zur Normäquivalenz<br />

im R n welche <strong>in</strong>sbesondere e<strong>in</strong>e Äquivalenz von Konvergenzausdrücken besagt.<br />

Um uns <strong>in</strong> der Analyse von konkreten Matrixnormen zu befreien beweisen wir zunächst<br />

e<strong>in</strong>en Hilfsatz:<br />

Hilfsatz 5.20 (Matrixnorm und Spektralradius). Zu jeder beliebigen Matrix B ∈ R n×n<br />

und zu jedem ɛ > 0 existiert e<strong>in</strong>e natürliche Matrixnorm ‖ · ‖ ɛ , so dass gilt:<br />

spr(B) ≤ ‖B‖ ɛ ≤ spr(B) + ɛ.<br />

Beweis: Für den allgeme<strong>in</strong>en Fall verweisen wir auf [9]. Hier machen wir uns nur klar,<br />

dass <strong>die</strong> Aussage für symmetrische Matrizen gilt. Denn <strong>in</strong> <strong>die</strong>sem Fall, siehe Satz 4.14 gilt<br />

sogar spr(B) = ‖B‖ 2 .<br />

□<br />

Mit <strong>die</strong>sem Hilfsatz zeigen wir das fundamentale Resultat über allgeme<strong>in</strong>e l<strong>in</strong>eare Fixpunktiterationen:<br />

Satz 5.21 (Fixpunktverfahren zum Lösen l<strong>in</strong>earer Gleichungssysteme). Die Iteration<br />

(5.11) konvergiert für jeden Startwert x 0 ∈ R n genau dann gegen <strong>die</strong> Lösung x ∈ R n<br />

von Ax = b falls ρ := spr(B) < 1. Dann gilt das asymptotische Konvergenzverhalten<br />

lim sup<br />

k→∞<br />

(<br />

‖x k ) 1/k<br />

− x‖<br />

‖x 0 = spr(B).<br />

− x‖<br />

Beweis: Wir führen den Beweis <strong>in</strong> drei Schritten. Zunächst (i) gehen wir davon aus, dass<br />

spr(B) < 1 und zeigen, dass x k → x. In Schritt (ii) zeigen wir <strong>die</strong> Rückrichtung und<br />

schließlich <strong>in</strong> Schritt (iii) <strong>die</strong> Konvergenzaussage.<br />

(0) Zunächst weisen wir nach, dass <strong>die</strong> Iteration überhaupt e<strong>in</strong>e Fixpunktiteration ist. Für<br />

<strong>die</strong> Lösung x ∈ R n von Ax = b gilt:<br />

Bx + c = (I − CA)x + Cb = x − C (Ax − b) = x.<br />

} {{ }<br />

=0<br />

E<strong>in</strong>e Konvergenzaussage erhalten wir jetzt sofort über den Fixpunktsatz von Banach.<br />

Weiter def<strong>in</strong>ieren den Fehler e k := x k − x und erhalten bei Ausnutzen der Fixpunkteigenschaft<br />

x = Bx + c <strong>die</strong> Iterationsvorschrift:<br />

e k = x k − x = Bx k−1 + c − (Bx + c) = Be k−1 .<br />

196


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Entsprechend gilt:<br />

e k = B k e 0 = B k (x 0 − x). (5.12)<br />

(i) Hilfsatz 5.20 besagt, dass zu jedem ɛ > 0 e<strong>in</strong>e natürlichen Matrixnorm ‖ · ‖ ɛ existiert<br />

mit<br />

spr(B) ≤ ‖B‖ ɛ ≤ spr(B) + ɛ.<br />

Es sei nach Voraussetzung spr(B) < 1, dann existiert e<strong>in</strong> ɛ > 0 mit<br />

‖B‖ ɛ ≤ spr(B) + ɛ < 1,<br />

und aus (5.12) erhalten wir sofort bei k → ∞ <strong>in</strong> der entsprechenden <strong>in</strong>duzierten Vektornorm<br />

‖ · ‖ ɛ :<br />

‖e k ‖ ɛ = ‖B k e 0 ‖ ɛ ≤ ‖B k ‖ ɛ ‖e 0 ‖ ɛ ≤ ‖B‖ k ɛ ‖e 0 ‖ ɛ → 0.<br />

Da im R n alle Normen äquivalent s<strong>in</strong>d, konvergiert also x k → x für k → ∞.<br />

(ii) Es sei nach Voraussetzung <strong>die</strong> Iteration konvergent. Hieraus folgt (für beliebige Startwerte)<br />

mit der Wahl x 0 = w + x mit e<strong>in</strong>em Eigenvektor w ∈ R n \ {0} zum betragsmäßig<br />

größten Eigenwert λ von B mit (5.12):<br />

λ k w = B k w = B k e 0 = e k → 0 (k → ∞).<br />

Dies bedeutet notwendig |λ| < 1 für λ ∈ σ(B), d.h. spr(B) < 1.<br />

(iii) Fehlerabschätzung: Aufgrund der Äquivalenz aller Normen existieren Konstanten<br />

m, M mit m ≤ M so dass:<br />

Damit gilt<br />

m‖x‖ ≤ ‖x‖ ɛ ≤ M‖x‖, x ∈ R n .<br />

‖e k ‖ ≤ 1 m ‖ek ‖ ɛ = 1 m ‖Bk e 0 ‖ ɛ ≤ 1 m ‖B‖k ɛ ‖e 0 ‖ ɛ ≤ M m (spr(B) + ɛ)k ‖e 0 ‖.<br />

Wegen<br />

( M<br />

m<br />

) 1/k<br />

→ 1, (k → ∞)<br />

folgt damit<br />

(<br />

‖e k ) 1/k<br />

‖<br />

lim sup<br />

k→∞ ‖e 0 ≤ spr(B) + ɛ.<br />

‖<br />

Da ɛ > 0 beliebig kle<strong>in</strong> gewählt wird, folgt hiermit <strong>die</strong> Behauptung.<br />

□<br />

197


5 <strong>Numerische</strong> Iterationsverfahren<br />

5.3.1 Konstruktion von Fixpunktverfahren<br />

Satz 5.21 legt das theoretische Fundament für allgeme<strong>in</strong>e Fixpunkt-Iterationen. Für den<br />

Spektralradius ρ := spr(B) = spr(I − CA) muss gelten ρ < 1. Ziel <strong>die</strong>ses Abschnittes ist<br />

<strong>die</strong> Konstruktion von Iterationsmatrizen C, welche<br />

• möglichst Nahe an der Inversen C ≈ A −1 liegen, damit spr(I − CA) ≪ 1,<br />

• e<strong>in</strong>e möglichst e<strong>in</strong>fache Berechnung der Iteration x k = Bx k−1 + c ermöglichen.<br />

Die erste Forderung ist e<strong>in</strong>leuchtend und C = A −1 stellt <strong>in</strong> <strong>die</strong>sem S<strong>in</strong>ne <strong>die</strong> optimale<br />

Matrix dar. Die zweite Bed<strong>in</strong>gung beschreibt den Aufwand zum Durchführen der Fixpunktiteration.<br />

Wählen wir etwa C = ˜R −1 ˜L−1 so bedeutet jeder Schritt e<strong>in</strong> Vorwärtsund<br />

e<strong>in</strong> Rückwärtse<strong>in</strong>setzen, d.h. e<strong>in</strong>en Aufwand der Größenordnung O(n 2 ). H<strong>in</strong>zu kommen<br />

<strong>die</strong> O(n 3 ) Operationen zum e<strong>in</strong>maligen Erstellen der Zerlegung. Die Wahl C = I<br />

erlaubt e<strong>in</strong>e sehr effiziente Iteration mit O(n) Operationen <strong>in</strong> jedem Schritt und Bedarf<br />

ke<strong>in</strong>es zusätzlichen Aufwands zum Erstellen der Iterationsmatrix C. Die E<strong>in</strong>heitsmatrix<br />

I ist jedoch e<strong>in</strong>e sehr schlechte Approximation von A −1 . Die beiden Forderungen s<strong>in</strong>d<br />

Maximalforderungen und nicht gleichzeitig zu erreichen.<br />

Zur Konstruktion e<strong>in</strong>facher iterativer Verfahren spalten wir <strong>die</strong> Matrix A additiv auf zu<br />

A = L + D + R, mit<br />

⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

⎞<br />

0 . . . 0 a 11 . . . 0 0 a 21 . . . a n1<br />

. a ..<br />

. A = 21 .. . .. . .. .<br />

⎜ .<br />

⎝ . .. .<br />

+<br />

.. ⎟ ⎜ .<br />

+<br />

⎠ ⎝ .. ⎟ ⎜ .<br />

.<br />

⎠ ⎝ .. ⎟ an−1,n ⎠<br />

a n1 . . . a n,n−1 0 0 . . . a nn 0 . . . 0<br />

} {{ } } {{ } } {{ }<br />

=:L<br />

=:D<br />

=:R<br />

Diese additive Zerlegung ist nicht mit der multiplikativen LR-Zerlegung zu verwechseln!<br />

Ist <strong>die</strong> Matrix A bekannt, so s<strong>in</strong>d auch <strong>die</strong> additiven Bestandteile L, D, R unmittelbar<br />

verfügbar.<br />

Wir def<strong>in</strong>ieren <strong>die</strong> zwei wichtigsten Iterationsverfahren:<br />

Def<strong>in</strong>ition 5.22 (Jacobi-Verfahren). Zur Lösung von Ax = b mit A = L + D + R sei<br />

x 0 ∈ R n e<strong>in</strong> beliebiger Startwert. Iteriere für k = 1, 2, . . . :<br />

x k = x k−1 + D −1 (b − Ax k−1 ),<br />

bzw. mit der Jacobi-Iterationsmatrix J := −D −1 (L + R)<br />

x k = Jx k−1 + D −1 b.<br />

198


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Def<strong>in</strong>ition 5.23 (Gauß-Seidel-Verfahren). Zur Lösung von Ax = b mit A = L + D + R<br />

sei x 0 ∈ R n e<strong>in</strong> beliebiger Startwert. Iteriere für k = 1, 2, . . . :<br />

x k = x k−1 + (D + L) −1 (b − Ax k−1 ),<br />

bzw. mit der Gauß-Seidel-Iterationsmatrix H := −(D + L) −1 R<br />

x k = Hx k−1 + (D + L) −1 b.<br />

Diese beiden Fixpunktverfahren s<strong>in</strong>d e<strong>in</strong>fach, aber dennoch sehr gebräuchlich. Zum Aufstellen<br />

der Iterationsmatrix C s<strong>in</strong>d ke<strong>in</strong>e Rechenoperationen notwendig. Es gilt:<br />

Satz 5.24 (Durchführung des Jacobi- und Gauß-Seidel-Verfahrens). E<strong>in</strong> Schritt des<br />

Jacobi- bzw. Gauß-Seidel-Verfahrens ist jeweils <strong>in</strong> n 2 + O(n) Operationen durchführbar.<br />

Für jeden Schritt des Jacobi-Verfahren gilt <strong>die</strong> Index-Schreibweise<br />

⎛<br />

⎞<br />

x k i = 1<br />

n∑<br />

⎝b i − a ij x k−1 ⎠<br />

j , i = 1, . . . , n,<br />

a ii<br />

j=1,j≠i<br />

für das Gauß-Seidel-Verfahren gilt <strong>die</strong> Vorschrift:<br />

⎛<br />

x k i = 1 ⎝b i − ∑ a ij x k j − ∑ a ii ji<br />

a ij x k−1<br />

j<br />

⎞<br />

⎠ , i = 1, . . . , n.<br />

Beweis: Übung!<br />

□<br />

Jeder Schritt <strong>die</strong>ser Verfahren benötigt mit O(n 2 ) größenordnungsmäßig genauso viele<br />

Operationen wie <strong>die</strong> Nachiteration mit der LR-Zerlegung. Bei Jacobi- und Gauß-Seidel<br />

s<strong>in</strong>d jedoch weit schlechtere Konvergenzraten zu erwarten (wenn <strong>die</strong> Verfahren überhaupt<br />

konvergieren, <strong>die</strong>ser Nachweis steht hier noch aus!). Der Vorteil der e<strong>in</strong>fachen Iterationsverfahren<br />

zeigt sich erst bei dünn besetzten Matrizen. Hat e<strong>in</strong>e Matrix A ∈ R n×n nur<br />

O(n) E<strong>in</strong>träge, so benötigt jeder Iterationsschritt nur O(n) Operationen.<br />

5.3.2 Konvergenzkriterium für Jacobi- und Gauß-Seidel-Iteration<br />

Zur Untersuchung der Konvergenz muss gemäß Satz 5.21 der Spektralradius der Iterationsmatrizen<br />

J = −D −1 (L+R) sowie H := −(D +L) −1 R untersucht werden. Im E<strong>in</strong>zelfall<br />

ist <strong>die</strong>se Untersuchung nicht ohne weiteres möglich und e<strong>in</strong>er Matrix A kann der entsprechende<br />

Spektralradius nur schwer angesehen werden. Daher leiten wir <strong>in</strong> <strong>die</strong>sem Abschnitt<br />

e<strong>in</strong>fach überprüfbare Kriterien her, um e<strong>in</strong>e Aussage über <strong>die</strong> Konvergenz der beiden Verfahren<br />

treffen zu können. Zunächst gilt:<br />

199


5 <strong>Numerische</strong> Iterationsverfahren<br />

Satz 5.25 (Starkes Zeilensummenkriterium). Falls <strong>die</strong> Zeilensummen der Matrix A ∈<br />

R n×n der strikte Diagonaldom<strong>in</strong>anz genügt<br />

n∑<br />

k=1,k≠j<br />

|a jk | < |a jj |, j = 1, . . . , n,<br />

so gilt spr(J) < 1 bzw. spr(H) < 1, sprich Jacobi- und Gauß-Seidel-Verfahren konvergieren.<br />

Beweis: Wir beweisen den Satz für beide Verfahren gleichzeitig. Es seien λ ∈ σ(J) bzw.<br />

µ ∈ σ(H) und v bzw. w <strong>die</strong> zugehörigen Eigenvektoren. Das bedeutet für das Jacobi-<br />

Verfahren<br />

λv = Jv = D −1 (L + R)v,<br />

und für das Gauß-Seidel-Verfahren<br />

µw = Hw = −(D + L) −1 Rw ⇔ µw = −D −1 (µL + R)w.<br />

Falls ‖v‖ ∞ = ‖w‖ ∞ = 1, dann folgt hieraus für das Jacobi-Verfahren<br />

⎧<br />

⎨<br />

|λ| ≤ ‖D −1 (L + R)‖ ∞ ‖v‖ ∞ = ‖D −1 1<br />

(L + R)‖ ∞ ≤ max<br />

j=1,...,n ⎩|a jj |<br />

und für das Gauß-Seidel-Verfahren<br />

|µ| ≤ ‖D −1 (µL+R)‖ ∞ ‖w‖ ∞ = ‖D −1 (µL+R)‖ ∞ ≤ max<br />

⎧<br />

⎨<br />

1<br />

1≤j≤n ⎩|a jj | [∑ kj<br />

Hier muss jetzt noch |µ| < 1 gezeigt werden. Für |µ| ≥ 1 ergäbe sich der Widerspruch<br />

woraus notwendig |µ| < 1 folgt.<br />

|µ| ≤ |µ|‖D −1 (L + R)‖ ∞ < |µ|<br />

Dieses Kriterium ist e<strong>in</strong>fach zu überprüfen und erlaubt sofort e<strong>in</strong>e E<strong>in</strong>schätzung, ob Jacobiund<br />

Gauß-Seidel-Verfahren bei e<strong>in</strong>er gegebenen Matrix konvergieren. Es zeigt sich jedoch,<br />

dass <strong>die</strong> strikte Diagonaldom<strong>in</strong>anz e<strong>in</strong>e zu starke Forderung darstellt: <strong>die</strong> schon bekannte<br />

Modellmatrix der Form<br />

⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

⎞<br />

B −I<br />

4 −1<br />

1<br />

−I B −I<br />

A = ⎜<br />

⎟<br />

⎝ −I B −I⎠ , B = −1 4 −1<br />

⎜<br />

⎟<br />

⎝ −1 4 −1⎠ , I = 1<br />

⎜<br />

⎟<br />

⎝ 1 ⎠ ,<br />

−I B<br />

−1 4<br />

1<br />

ist nur Diagonaldom<strong>in</strong>ant (siehe Def<strong>in</strong>ition 4.31), jedoch nicht strikt Diagonaldom<strong>in</strong>ant.<br />

(Es zeigt sich aber, dass sowohl Jacobi- als auch Gauß-Seidel-Verfahren dennoch konvergieren).<br />

E<strong>in</strong>e Abschwächung der Konvergenzaussage erhalten wir mit Hilfe der folgenden<br />

Def<strong>in</strong>ition:<br />

□<br />

200


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Def<strong>in</strong>ition 5.26 (Irreduzibel). E<strong>in</strong>e Matrix A ∈ R n×n heißt irreduzibel, wenn es ke<strong>in</strong>e<br />

Permutationsmatrix P gibt, so dass <strong>die</strong> Matrix A durch Spalten- und Zeilen <strong>in</strong> e<strong>in</strong>e Block-<br />

Dreiecksmatrix zerfällt:<br />

)<br />

(Ã11<br />

P AP T 0<br />

=<br />

à 21 à 22<br />

mit den Matrizen Ã11 ∈ R p×p , Ã 22 ∈ R q×q , Ã 21 ∈ R q×p , mit p, q > 0, p + q = n.<br />

Ob e<strong>in</strong>e gegebene Matrix A ∈ R n×n irreduzibel ist lässt sich nicht unmittelbar bestimmen.<br />

Oft hilft das folgende äquivalente Kriterium, welches e<strong>in</strong>facher zu überprüfen ist:<br />

Satz 5.27 (Irreduzibel). E<strong>in</strong>e Matrix A ∈ R n×n ist genau dann irreduzibel, falls der<br />

zugehörige gerichtete Graph<br />

G(A) = {Knoten: {1, 2, . . . , n}, Kannten: {i, j} falls a ij ≠ 0}<br />

zusammenhängend ist. Dies heißt: zu zwei beliebigen Knoten i und j existiert e<strong>in</strong> Pfad<br />

{i, i 1 } =: {i 0 , i 1 }, {i 1 , i 2 }, . . . , {i m−1 , i m } := {i m−1 , j} mit {i k−1 , i k } ∈ G(A).<br />

Für den Beweis verweisen wir auf [9]. Nach <strong>die</strong>ser alternativen Charakterisierung bedeutet<br />

<strong>die</strong> Irreduzibilität, dass zu je zwei Indizes i, j e<strong>in</strong> Pfad i = i 0 , i 1 , . . . , i m =: j besteht, so<br />

dass a ik−1 ,i k ≠ 0 ist. Anschaulich entspricht <strong>die</strong>s e<strong>in</strong>em abwechselnden Spr<strong>in</strong>gen <strong>in</strong> Zeilen<br />

und Spalten der Matrix A, wobei nur E<strong>in</strong>träge ungleich Null getroffen werden dürfen.<br />

Nun gilt:<br />

Satz 5.28 (Schwaches Zeilensummenkriterium). Die Matrix A ∈ R n×n sei irreduzibel und<br />

es gelte das schwache Zeilensummenkriterium, d.h., <strong>die</strong> Matrix A sei diagonaldom<strong>in</strong>ant:<br />

n∑<br />

k=1,k≠j<br />

|a jk | ≤ |a jj |, j = 1, . . . , n,<br />

und <strong>in</strong> m<strong>in</strong>destens e<strong>in</strong>er Zeile r ∈ {1, . . . , n} gelte strikte Diagonaldom<strong>in</strong>anz:<br />

n∑<br />

k=1,k≠r<br />

|a rk | < |a rr |.<br />

Dann ist A regulär und es gilt spr(J) < 1 bzw. spr(H) < 1. D.h., Jacobi- und Gauß-<br />

Seidel-Verfahren konvergieren.<br />

Beweis: (i) Durchführbarkeit der Verfahren:<br />

Aufgrund der Irreduzibilität von A gilt notwendig<br />

n∑<br />

|a jk | > 0, j = 1, . . . , n.<br />

k=1<br />

201


5 <strong>Numerische</strong> Iterationsverfahren<br />

Wegen der vorausgesetzten Diagonaldom<strong>in</strong>anz folgt dann hieraus a jj ≠ 0 für j = 1, 2, . . . , n.<br />

(ii) Zeige spr(J) ≤ 1 und spr(H) ≤ 1:<br />

Diese Aussage erhalten wir entsprechend zum Vorgehen im Beweis zu Satz 5.25. Es bleibt<br />

zu zeigen, dass ke<strong>in</strong> Eigenwert den Betrag E<strong>in</strong>s hat.<br />

(iii) Nachweis, dass |λ| < 1:<br />

Angenommen, es gebe e<strong>in</strong>en Eigenwert λ ∈ σ(J) mit |λ| = 1. Es sei v ∈ C n der zugehörige<br />

normierte Eigenvektor mit ‖v‖ ∞ = 1. Insbesondere gelte |v s | = ‖v‖ ∞ = 1 für e<strong>in</strong> s ∈<br />

{1, . . . , n}. Dann erhalten wir aufgrund der Struktur der Iterationsmatrix (hier nun explizit<br />

für Jacobi)<br />

⎛ −a<br />

0<br />

12 −a 13 −a<br />

a 11 a 11<br />

. . . 1n<br />

⎞<br />

a 11<br />

−a<br />

J = −D −1 21<br />

−a<br />

(L + R) =<br />

a 22<br />

0<br />

23 −a<br />

a 22<br />

. . . 2n<br />

a 22<br />

⎜<br />

.<br />

⎝ .<br />

.. ⎟ . ⎠<br />

−a n1<br />

a nn<br />

. . . . . . 0<br />

<strong>die</strong> folgende Abschätzung:<br />

|v i | = |λ|<br />

}{{}<br />

=1<br />

|v i | ≤ ∑ k≠i<br />

|a ik |<br />

|a ii | |v k| ≤ ∑ |a ik |<br />

≤ 1, i = 1, 2, . . . , n, (5.13)<br />

|a<br />

k≠i ii |<br />

wobei wir <strong>die</strong> Struktur von J <strong>in</strong> der ersten Ungleichung, |v i | = ‖v‖ ∞ (<strong>in</strong> der zweiten) und<br />

<strong>die</strong> schwache Diagonaldom<strong>in</strong>anz <strong>in</strong> der letzten Abschätzung verwendet haben.<br />

Aufgrund der Irreduzibilität gibt es zu je zwei Indizes s, r stets e<strong>in</strong>e Kette von Indizes<br />

i 1 , . . . , i m ∈ {1, . . . , n} (siehe Beweis zur Irreduzibilität), so dass<br />

a s,i1 ≠ 0, a i1 ,i 2 ≠ 0, . . . , a im,r ≠ 0.<br />

Durch mehrfache Anwendung von (5.13) folgt der Widerspruch (nämlich, dass |λ| = 1):<br />

|v r | = |λv r | ≤ 1<br />

|a rr |<br />

|v im | = |λv im | ≤<br />

∑<br />

|a rk | ‖v‖ ∞ < ‖v‖ ∞ (strikte DD <strong>in</strong> e<strong>in</strong>er Zeile),<br />

k≠r<br />

⎡<br />

1<br />

|a im,i m<br />

|<br />

⎣ ∑<br />

k≠i m,r<br />

|a im,k| ‖v‖ ∞ + |a im,r| |v r | ⎦ < ‖v‖ ∞ ,<br />

.<br />

⎡<br />

⎤<br />

|v i1 | = |λv i1 | ≤ 1 ⎣ ∑<br />

|a i1 ,k| ‖v‖ ∞ + |a i1 ,i<br />

|a i1 ,i 1<br />

|<br />

2<br />

| |v i2 | ⎦ < ‖v‖ ∞ ,<br />

k≠i 1 ,i 1<br />

⎡<br />

⎤<br />

‖v‖ ∞ = |λv s | ≤ 1 ⎣ ∑<br />

|a s,k | ‖v‖ ∞ + |a s,i1 | |v i1 | ⎦ < ‖v‖ ∞ .<br />

|a ss |<br />

k≠s,i 1<br />

Daher muss spr(J) < 1. Mit analoger Schlussfolgerung wird spr(H) < 1 bewiesen. Hierzu<br />

nutzt man ebenfalls <strong>die</strong> spezielle Struktur der Iterationsmatrix H sowie <strong>die</strong> umgekehrte<br />

Dreiecksungleichung, um (5.13) zu erhalten. Die restliche Argumentation erfolgt dann auf<br />

analogem Wege.<br />

□<br />

⎤<br />

202


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Bemerkung 5.29. Es ist (hoffentlich!) klar, dass starke und schwache Spaltensummenkriterien<br />

mit analoger Argumentation hergeleitet werden können.<br />

Der vorherige Satz sichert <strong>die</strong> Konvergenz von Jacobi- sowie Gauß-Seidel-Verfahren für <strong>die</strong><br />

Modellmatrizen. Denn <strong>die</strong>se s<strong>in</strong>d z.B. <strong>in</strong> erster und letzter Zeile strikt Diagonaldom<strong>in</strong>ant.<br />

E<strong>in</strong>e Abschätzung des Spektralradius spr(J) sowie spr(H) ist nicht ohne weiteres möglich.<br />

Im allgeme<strong>in</strong>en Fall konvergieren beide Verfahren sehr langsam.<br />

Beispiel 5.30 (Jacobi- und Gauß-Seidel-Verfahren bei der Modellmatrix). Wir betrachten<br />

das l<strong>in</strong>eare Gleichungssystem Ax = b mit der Modellmatrix A ∈ R n×n<br />

⎛<br />

⎞<br />

2 −1<br />

−1 2 −1<br />

A =<br />

. .. . .. . ..<br />

, (5.14)<br />

⎜<br />

⎟<br />

⎝ −1 2 −1⎠<br />

−1 2<br />

sowie der rechten Seite b ∈ R n mit b = (1, . . . , 1) T . Zu i, j mit i < j gilt<br />

a i,i ≠ 0 → a i,i+1 ≠ 0 → a i+1,i+2 ≠ 0 → a i+2,i+3 ≠ 0 → · · · → a j−1,j ≠ 0.<br />

Die Matrix ist also irreduzibel, weiter diagonaldom<strong>in</strong>ant und <strong>in</strong> erster und letzter Zeile<br />

auch stark diagonaldom<strong>in</strong>ant. Jacobi und Gauß-Seidel-Verfahren konvergieren. Experimentell<br />

bestimmen wir für <strong>die</strong> Problemgröße n = 10 · 2 k für k = 2, 3, . . . <strong>die</strong> Anzahl<br />

der notwendigen Iterationsschritte, sowie <strong>die</strong> Rechenzeit (Core i7-Prozessor ’2011) zur<br />

Approximation des Gleichungssystems mit e<strong>in</strong>er Fehlertoleranz ‖x k − x‖ < 10 −4 :<br />

Matrixgröße Jacobi Gauß-Seidel<br />

Schritte Zeit (sec) Schritte Zeit (sec)<br />

80 9 453 0.02 4 727 0.01<br />

160 37 232 0.13 18 617 0.06<br />

320 147 775 0.92 73 888 0.43<br />

640 588 794 7.35 294 398 3.55<br />

1 280 2 149 551 58 1 074 776 29<br />

2 560 8 590 461 466 4 295 231 233<br />

Es zeigt sich, dass für das Gauß-Seidel-Verfahren stets halb so viele Iterationsschritte<br />

notwendig s<strong>in</strong>d, wie für das Jacobi-Verfahren. Weiter steigt <strong>die</strong> Anzahl der notwendigen<br />

Iterationsschritte mit der Matrixgröße n. Bei doppelter Matrixgröße steigt <strong>die</strong> Anzahl der<br />

Iterationen etwa um den Faktor 4. Der Zeitaufwand steigt noch stärker mit e<strong>in</strong>em Faktor<br />

von etwa 8, da jeder e<strong>in</strong>zelne Schritt e<strong>in</strong>en größeren Aufwand bedeutet. Diesen Zusammenhang<br />

zwischen Matrixeigenschaft und Konvergenzgeschw<strong>in</strong>digkeit werden wir später<br />

genauer untersuchen.<br />

Wir merken hier noch an, dass Jacobi- und Gauß-Seidel-Verfahren effizient unter Ausnutzung<br />

der dünnen Besetzungsstruktur programmiert wurden. Dennoch steigt der Gesamtaufwand<br />

zur Approximation mit vorgegebener Genauigkeit mit dritter Ordnung <strong>in</strong> der<br />

Problemgröße n.<br />

203


5 <strong>Numerische</strong> Iterationsverfahren<br />

5.3.3 Relaxationsverfahren: das SOR-Verfahren<br />

Das vorangehende Beispiel zeigt, dass Jacobi- sowie Gauß-Seidel-Verfahren sehr langsam<br />

konvergieren. Für <strong>die</strong> Modellmatrix A ∈ R n×n steigt <strong>die</strong> Anzahl der notwendigen Iterationsschritte<br />

(zum Erreichen e<strong>in</strong>er vorgegebenen Genauigkeit) quadratisch O(n 2 ). Obwohl<br />

jeder e<strong>in</strong>zelne Schritt sehr e<strong>in</strong>fach ist und äußerst effizient <strong>in</strong> O(n) Operationen durchgeführt<br />

werden kann, s<strong>in</strong>d <strong>die</strong>se Verfahren den direkten nicht überlegen. Oft, etwa bei<br />

Tridiagonalsystemen s<strong>in</strong>d direkte Löser mit e<strong>in</strong>em Aufwand von O(n) sogar unschlagbar<br />

schneller.<br />

Das SOR-Verfahren ist e<strong>in</strong>e Weiterentwicklung der Gauß-Seidel-Iteration durch <strong>die</strong> <strong>E<strong>in</strong>führung</strong><br />

e<strong>in</strong>es Relaxationsparameters ω > 0. Das i-te Element berechnet sich laut Satz 5.24<br />

als:<br />

⎞<br />

⎛<br />

x k,GS<br />

i = 1 ⎝b i − ∑ a ij x k,GS<br />

j − ∑ a ii ji<br />

a ij x k−1<br />

j<br />

⎠ , i = 1, . . . , n.<br />

Zur Bestimmung der SOR-Lösung verwenden wir nicht unmittelbar <strong>die</strong>se Approximation<br />

, sondern führen e<strong>in</strong>en Relaxationsparameter ω > 0 e<strong>in</strong> und def<strong>in</strong>ieren<br />

x k,GS<br />

i<br />

x k,SOR<br />

i<br />

= ωx k,GS<br />

i<br />

+ (1 − ω)x k−1<br />

i , i = 1, . . . , n<br />

als e<strong>in</strong>en gewichteten Mittelwert zwischen Gauß-Seidel Iteration und alter Approximation.<br />

Dieser Relaxationsparameter ω kann nun verwendet werden, um <strong>die</strong> Konvergenzeigenschaften<br />

der Iteration wesentlich zu bee<strong>in</strong>flussen. Im Fall ω = 1 ergibt sich gerade das<br />

Gauß-Seidel-Verfahren. Im Fall ω < 1 spricht man von Unterrelaxation, im Fall ω > 1<br />

von Überrelaxation. Das SOR-Verfahren steht für Successive Over Relaxation, verwendet<br />

also Relaxationsparameter ω > 1. Successive (also schrittweise) bedeutet, dass <strong>die</strong> Relaxation<br />

für jeden e<strong>in</strong>zelnen Index angewendet wird. Die Vorstellung zunächst <strong>die</strong> komplette<br />

Gauß-Seidel Approximation x k,GS zu berechnen und x k,SOR = ωx k,GS + (1 − ω)x k−1 zu<br />

bestimmen ist falsch! Stattdessen def<strong>in</strong>ieren wir <strong>in</strong> Indexschreibweise:<br />

⎛<br />

x k,SOR<br />

i = ω 1 ⎝b i − ∑ a ij x k,SOR<br />

j − ∑ a ii ji<br />

In Vektorschreibweise gilt:<br />

a ij x k−1<br />

j<br />

⎞<br />

⎠ + (1 − ω)x k−1<br />

i , i = 1, . . . , n.<br />

x k,SOR = ωD −1 (b − Lx k,SOR − Rx k−1 ) + (1 − ω)x k−1 .<br />

Trennen der Terme nach x k,SOR sowie x k−1 ergibt<br />

also <strong>die</strong> Iteration<br />

(D + ωL)x k,SOR = ωb + [(1 − ω)D − ωR]x k−1 ,<br />

x k,SOR = H ω x k−1 + ω[D + ωL] −1 b,<br />

H ω := [D + ωL] −1 [(1 − ω)D − ωR].<br />

Dieses Verfahren, mit der Iterationsmatrix H ω passt wieder <strong>in</strong> das Schema der allgeme<strong>in</strong>en<br />

Fixpunktiterationen und gemäß Satz 5.21 hängt <strong>die</strong> Konvergenz des Verfahrens an ρ ω :=<br />

spr(H ω ) < 1.<br />

204


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Die Schwierigkeit bei der Realisierung des SOR-Verfahrens ist <strong>die</strong> Bestimmung von guten<br />

Relaxationsparametern, so dass <strong>die</strong> Matrix H ω e<strong>in</strong>en möglichst kle<strong>in</strong>en Spektralradius<br />

besitzt. Es gilt <strong>die</strong> erste Abschätzung:<br />

Satz 5.31 (Relaxationsparameter des SOR-Verfahrens). Es sei A ∈ R n×n mit regulärem<br />

Diagonalteil D ∈ R n×n Dann gilt:<br />

Für spr(H ω ) < 1 muss gelten ω ∈ (0, 2).<br />

spr(H ω ) ≥ |ω − 1|, ω ∈ R.<br />

Beweis: Wir nutzen <strong>die</strong> Matrix-Darstellung der Iteration:<br />

H ω = [D + ωL] −1 [(1 − ω)D − ωR] = (I + w } D −1 {{ L}<br />

) −1 D} −1 {{ D}<br />

[(1 − ω)I − ω } D −1 {{ R}<br />

].<br />

=: ˜L =I<br />

=: ˜R<br />

Die Matrizen ˜L sowie ˜R s<strong>in</strong>d echte Dreiecksmatrizen mit Nullen auf der Diagonale. D.h., es<br />

gilt det(I +ω ˜L) = 1 sowie det((1−ω)I −ω ˜R) = (1−ω) n , also Nun gilt für <strong>die</strong> Determ<strong>in</strong>ante<br />

von H ω<br />

det(H ω ) = 1 · (1 − ω) n .<br />

Für <strong>die</strong> Eigenwerte λ i von H ω gilt folglich<br />

n∏<br />

i=1<br />

λ i = det(H ω ) = (1 − ω) n ⇒ spr(H ω ) = max<br />

1≤i≤n |λ i| ≥<br />

( n ∏<br />

|λ i |<br />

i=1<br />

) 1<br />

n<br />

= |1 − ω|.<br />

Die letzte Abschätzung nutzt, dass das geometrische Mittel von n Zahlen kle<strong>in</strong>er ist, als<br />

das Maximum.<br />

□<br />

Dieser Satz liefert e<strong>in</strong>e erste Abschätzung für <strong>die</strong> Wahl des Relaxationsparameters, hilft<br />

jedoch noch nicht beim Bestimmen e<strong>in</strong>es Optimums. Für <strong>die</strong> wichtige Klasse von positiv<br />

def<strong>in</strong>iten Matrizen erhalten wir e<strong>in</strong> sehr starkes Konvergenzresultat:<br />

Satz 5.32 (SOR-Verfahren für positiv def<strong>in</strong>ite Matrizen). Es sei A ∈ R n×n e<strong>in</strong>e symmetrisch<br />

positiv def<strong>in</strong>ite Matrix. Dann gilt:<br />

spr(H ω ) < 1 für 0 < ω < 2.<br />

SOR-Verfahren und auch Gauß-Seidel-Verfahren s<strong>in</strong>d konvergent.<br />

Beweis: Siehe [9].<br />

Für <strong>die</strong> oben angegebene Modellmatrix ist <strong>die</strong> Konvergenz von Jacobi- sowie Gauß-Seidel-<br />

Iteration auch theoretisch abgesichert. Für <strong>die</strong>se Matrizen (und allgeme<strong>in</strong> für <strong>die</strong> Klasse<br />

der konsistent geordneten Matrizen, siehe [9]) kann für <strong>die</strong> Jacobi- J und Gauß-Seidel-<br />

Iteration H 1 der folgende Zusammenhang gezeigt werden:<br />

spr(J) 2 = spr(H 1 ). (5.15)<br />

□<br />

205


5 <strong>Numerische</strong> Iterationsverfahren<br />

1<br />

0.8<br />

0.6<br />

spr<br />

0.4<br />

0.2<br />

0<br />

0 0.5 1 1.5 2<br />

omega<br />

Abbildung 5.1: Bestimmung des optimalen Relaxationsparameters ω opt .<br />

E<strong>in</strong> Schritt der Gauß-Seidel-Iteration führt zu der gleichen Fehlerreduktion wie zwei Schritte<br />

der Jacobi-Iteration. Dieses Resultat f<strong>in</strong>det sich <strong>in</strong> Beispiel 5.30 exakt wieder. Weiter<br />

kann für <strong>die</strong>se Matrizen e<strong>in</strong> Zusammenhang zwischen Eigenwerten der Matrix H ω<br />

sowie den Eigenwerten der Jacobi-Matrix J hergeleitet werden. Angenommen, es gilt<br />

ρ J := spr(J) < 1. Dann gilt für den Spektralradius der SOR-Matrix:<br />

⎧<br />

⎨ω − 1 ω ≤ ω opt ,<br />

spr(H ω ) =<br />

√<br />

⎩ 1<br />

4 (ρ Jω + ρ 2 J ω2 − 4(ω − 1)) 2 ω ≥ ω opt<br />

Ist der Spektralradius der Matrix J bekannt, so kann der optimale Parameter ω opt kann<br />

als Schnittpunkt <strong>die</strong>ser beiden Funktionen gefunden werden, siehe Abbildung 5.1. Es gilt:<br />

√<br />

ω opt = 2(1 − 1 − ρ 2 J )<br />

. (5.16)<br />

Beispiel 5.33 (Modellmatrix mit SOR-Verfahren). Wir betrachten wieder <strong>die</strong> vere<strong>in</strong>fachte<br />

Modellmatrix aus Beispiel 5.30. Für <strong>die</strong> Jacobi-Matrix J = −D −1 (L + R) gilt:<br />

⎛<br />

⎞<br />

J =<br />

⎜<br />

⎝<br />

ρ 2 J<br />

1<br />

0<br />

2<br />

1 1<br />

2<br />

0 2<br />

. .. . .. . ..<br />

1 1⎟<br />

2<br />

0 ⎠<br />

2<br />

1<br />

2<br />

0<br />

Zunächst bestimmen wir <strong>die</strong> Eigenwerte λ i und Eigenvektoren w i für i = 1, . . . , n <strong>die</strong>ser<br />

Matrix. Hierzu machen machen wir den Ansatz:<br />

( ) πik<br />

w i = (wk) i k=1,...,n , wk i = s<strong>in</strong> .<br />

n + 1<br />

Dann gilt mit dem Additionstheoremen s<strong>in</strong>(x ± y) = s<strong>in</strong>(x) cos(y) ± cos(x) s<strong>in</strong>(y):<br />

(Jw i ) k = 1 2 wi k−1 + 1 2 wi k+1 = 1 ( ( ) ( ))<br />

πi(k − 1) πi(k + 1)<br />

s<strong>in</strong><br />

+ s<strong>in</strong><br />

2 n + 1<br />

n + 1<br />

= 1 ( ) ( ( ) ( )) ( )<br />

πik<br />

πi<br />

πi<br />

πi<br />

2 s<strong>in</strong> cos + cos<br />

= wk i cos .<br />

n + 1 n + 1 n + 1<br />

n + 1<br />

.<br />

206


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Man beachte, dass <strong>die</strong>se Gleichung wegen w0 i = wi n+1 = 0 auch für <strong>die</strong> erste und letzte<br />

Zeile, d.h. für i = 1 sowie i = n gültig ist. Es gilt λ i = cos(πi/(n+1)) und der betragsmäßig<br />

größte Eigenwert von J wird für i = 1 sowie i = n angenommen. Hier gilt mit der<br />

Reihenentwicklung des Kos<strong>in</strong>us:<br />

( ) π<br />

π 2 ( )<br />

λ max = λ 1 = cos = 1 −<br />

n + 1 2(n + 1) 2 + O 1<br />

(n + 1) 4 .<br />

Der größte Eigenwert geht mit n → ∞ quadratisch gegen 1. Hieraus bestimmen wir<br />

mit (5.16) für e<strong>in</strong>ige Schrittweiten aus Beispiel 5.30 <strong>die</strong> optimalen Relaxationsparameter:<br />

n λ max (J) ω opt<br />

320 0.9999521084 1.980616162<br />

640 0.9999879897 1.990245664<br />

1280 0.9999969927 1.995107064<br />

Schließlich führen wir für <strong>die</strong>se Parameter das SOR-Verfahren mit optimalem Relaxationsparameter<br />

durch und fassen <strong>die</strong> Ergebnisse <strong>in</strong> folgender Tabelle zusammen:<br />

Matrixgröße Jacobi Gauß-Seidel SOR<br />

Schritte Zeit (sec) Schritte Zeit (sec) Schritte Zeit (sec)<br />

320 147 775 0.92 73 888 0.43 486 ≪ 1<br />

640 588 794 7.35 294 398 3.55 1 034 0.02<br />

1 280 2 149 551 58 1 074 776 29 1937 0.05<br />

2 560 4 127 0.22<br />

5 120 zu aufwendig 8 251 0.90<br />

10 240 16 500 3.56<br />

Die Anzahl der notwendigen Schritte steigt beim SOR-Verfahren nur l<strong>in</strong>ear <strong>in</strong> der Problemgröße.<br />

Dies ist im Gegensatz zum quadratischen Anstieg beim Jacobi- sowie beim Gauß-<br />

Seidel-Verfahren e<strong>in</strong> wesentlicher Fortschritt. Da der Aufwand e<strong>in</strong>es Schrittes des SOR-<br />

Verfahrens mit dem von Jacobi- und Gauß-Seidel vergleichbar ist für das SOR-Verfahren<br />

zu e<strong>in</strong>em Gesamtaufwand von nur O(n 2 ) Operationen. Dieses positive Resultat gilt jedoch<br />

nur dann, wenn der optimale SOR-Parameter bekannt ist.<br />

5.3.4 Praktische Aspekte<br />

Wir fassen zunächst <strong>die</strong> bisher vorgestellten Verfahren zusammen:<br />

Beispiel 5.34 (E<strong>in</strong>fache Iterationsverfahren). Es gilt <strong>in</strong> allgeme<strong>in</strong>er Darstellung<br />

x k+1 = x k + C −1 (b − Ax k ) = (I − C −1 A) x k + C −1 b.<br />

} {{ }<br />

=B<br />

207


5 <strong>Numerische</strong> Iterationsverfahren<br />

Ausgehend von der natürlichen Aufspaltung A = L + D + R sowie mit e<strong>in</strong>em Relaxationsparameter<br />

ω s<strong>in</strong>d Richardson-, Jacobi-, Gauß-Seidel- sowie SOR-Verfahren gegeben als<br />

als:<br />

• Gedämpftes Richardson Verfahren:<br />

C −1 = ωI,<br />

B = I − ωA,<br />

mit der Index-Schreibweise:<br />

• Jacobi-Verfahren:<br />

x k i = ωb i + x k−1<br />

i<br />

mit der Index-Schreibweise:<br />

• Gauß-Seidel-Verfahren<br />

− ω<br />

C −1 = D −1 ,<br />

x k i = 1<br />

a ii<br />

⎛<br />

⎝b i −<br />

n∑<br />

j=1,j≠i<br />

n∑<br />

j=1<br />

a ij x k−1<br />

j , i = 1, . . . , n.<br />

B = −D −1 (L + R),<br />

a ij x k−1 ⎠ , i = 1, . . . , n.<br />

j<br />

⎞<br />

C −1 = [D + L] −1 ,<br />

B = −(D + L) −1 R<br />

mit der Index-Schreibweise:<br />

⎛<br />

x k i = 1 ⎝b i − ∑ a ij x k j − ∑ a ii ji<br />

a ij x k−1<br />

j<br />

⎞<br />

⎠ , i = 1, . . . , n.<br />

• SOR-Verfahren (englisch. Successive Over-Relaxation):<br />

C = [D + ωL] −1 , B = [D + ωL] −1 [(1 − ω)D − ωR], ω = ω opt ∈ (0, 2),<br />

mit der Index-Schreibweise:<br />

⎛<br />

x k i = ω 1 ⎝b i − ∑ a ij x k j − ∑ a ii ji<br />

⎞<br />

a ij x k−1 ⎠<br />

j + (1 − ω)x k−1<br />

i , i = 1, . . . , n.<br />

Zur e<strong>in</strong>fachen Durchführung der Verfahren eignet sich stets <strong>die</strong> Index-Schreibweise. Die<br />

Matrix-Form <strong>die</strong>nt <strong>in</strong>sbesondere der e<strong>in</strong>fachen Charakterisierung sowie zum Herleiten von<br />

Konvergenzaussagen.<br />

Als iterative Verfahren werden <strong>die</strong> Gleichungssysteme nur im (praktisch irrelevanten) Fall<br />

n → ∞) wirklich gelöst. Üblicherweise muss <strong>die</strong> Iteration nach e<strong>in</strong>er bestimmten Anzahl<br />

von Schritten abgebrochen werden. Als Kriterium für e<strong>in</strong> Abbrechnen kann zunächst <strong>die</strong><br />

208


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

asymptotische Konvergenzaussage aus Satz 5.21 herangezogen werden. Mit ρ := spr(B)<br />

gilt im Grenzfall:<br />

‖x k − x‖ ≈ ρ k ‖x 0 − x‖.<br />

Und bei vorgegebener Toleranz T OL kann <strong>die</strong> notwendige Zahl an Iterationsschritten<br />

abgeschätzt werden:<br />

( )<br />

‖x k − x‖ < T OL ⇒ k = log T OL<br />

‖x 0 −x‖<br />

.<br />

log(ρ)<br />

Die Toleranz T OL gibt hier an, um welchen Faktor der Anfängliche Fehler ‖x 0 − x‖<br />

reduziert wird. Dieses Vorgehen ist <strong>in</strong> der praktischen Anwendung wenig hilfreich, da der<br />

Spektralradius ρ der Iterationsmatrix B im Allgeme<strong>in</strong>en nicht bekannt ist.<br />

E<strong>in</strong> alternatives allgeme<strong>in</strong>es Kriterium liefert <strong>die</strong> Abschätzung aus Satz 4.44 für den Defekt<br />

d k := b − Ax k :<br />

‖x k − x‖<br />

‖x‖<br />

≤ cond(A) ‖b − Axk ‖<br />

.<br />

‖b‖<br />

Hier entsteht jedoch e<strong>in</strong> ähnliches Problem: <strong>die</strong> Konditionszahl der Matrix A ist im Allgeme<strong>in</strong>en<br />

nicht bekannt, so kann auch ke<strong>in</strong>e quantitativ korrekte Abschätzung hergeleitet<br />

werden. Dieser e<strong>in</strong>fache Zusammenhang zwischen Defekt und Fehler kann jedoch genutzt<br />

werden um e<strong>in</strong>e relative Toleranz zu erreichen:<br />

Bemerkung 5.35 (Relative Toleranz). Bei der Durchführung von iterativen Lösungsverfahren<br />

werden als Abbruchskriterium oft relative Toleranzen e<strong>in</strong>gesetzt. Die Iteration wird<br />

gestoppt, falls gilt:<br />

‖x k − x‖ ≤ T OL ‖x 0 − x‖.<br />

Als praktisch durchführbares Kriterium werden <strong>die</strong> unbekannten Fehler durch <strong>die</strong> Defekte<br />

ersetzt:<br />

‖b − Ax k ‖ ≤ T OL ‖b − Ax 0 ‖.<br />

5.3.5 Abstiegs & Gra<strong>die</strong>ntenverfahren<br />

Die bisher kennengelernten Iterationsverfahren zur Approximation von l<strong>in</strong>earen Gleichungssystemen<br />

haben alle den Nachteil, dass <strong>die</strong> Konstruktion nicht durch e<strong>in</strong>en fun<strong>die</strong>rten Zugang<br />

erfolgt, sondern auf Kontraktionspr<strong>in</strong>zipien beruht, <strong>die</strong> von Fall zu Fall untersucht<br />

werden müssen. In <strong>die</strong>sem abschließenden Abschnitt werden wir zur Vorbereitung von<br />

leistungsfähigeren Verfahren e<strong>in</strong>ige Grundlagen entwickeln.<br />

Alle bisherigen Fixpunktiterationen lassen sich allgeme<strong>in</strong>er <strong>in</strong> folgender Form schreiben<br />

x k+1 = x k + d k , k = 1, 2, . . . ,<br />

wobei d k <strong>in</strong> jedem Schritt <strong>die</strong> Richtung angibt, <strong>in</strong> der <strong>die</strong> Lösung verbessert wird. Beim<br />

Jacobi-Verfahren bestimmt sich <strong>die</strong>se Richtung z.B. als d k = D −1 (b − Ax k ), beim Gauß-<br />

Seidel Verfahren als d k = (D +L) −1 (b−Ax k ). Um <strong>die</strong>se allgeme<strong>in</strong>e Iteration zu verbessern<br />

209


5 <strong>Numerische</strong> Iterationsverfahren<br />

setzen wir an zwei Punkten an: zunächst fügen wir <strong>in</strong> jedem Schritt der Iteration e<strong>in</strong>en<br />

Relaxationsparameter ω k e<strong>in</strong><br />

x k+1 = x k + ω k d k , k = 1, 2, . . . ,<br />

welchen wir Schritt für Schritt optimal bestimmen werden. Anschließen versuchen wir<br />

neue Suchrichtungen d k auf e<strong>in</strong>e systematische Art und Weise zu entwickeln. D.h., wir<br />

suchen e<strong>in</strong>e Richtung d k , <strong>in</strong> der <strong>die</strong> größte Fehlerreduktion zu erwarten ist. In <strong>die</strong>sem<br />

Abschnitt beschränken wir uns auf symmetrisch positiv def<strong>in</strong>ite Matrizen A ∈ R n×n . Zentral<br />

für das gesamte Kapitel ist <strong>die</strong> folgende Charakterisierung zur Lösung e<strong>in</strong>es l<strong>in</strong>earen<br />

Gleichungssystems mit symmetrisch, positiv def<strong>in</strong>iter Matrix:<br />

Satz 5.36 (L<strong>in</strong>eares Gleichungssystem und M<strong>in</strong>imierung). Es sei A ∈ R n×n e<strong>in</strong>e symmetrische<br />

positiv def<strong>in</strong>ite Matrix. Das l<strong>in</strong>eare Gleichungssystem Ax = b ist äquivalent zur<br />

M<strong>in</strong>imierungsaufgabe:<br />

Q(x) ≤ Q(y) ∀y ∈ R n , Q(y) = 1 2 (Ay, y) 2 − (b, y) 2 .<br />

Beweis: (i) Zunächst sei x Lösung des l<strong>in</strong>earen Gleichungssystems Ax = b. Dann gilt mit<br />

beliebigem y ∈ R n :<br />

d.h. Q(y) ≥ Q(x).<br />

2Q(y) − 2Q(x) = (Ay, y) 2 − 2(b, y) 2 − (Ax, x) 2 + 2(b, x)<br />

= (Ay, y) 2 − 2(Ax, y) 2 + (Ax, x) 2<br />

= (A(y − x), y − x) 2 ≥ 0,<br />

(ii) Umgekehrt sei Q(x) nun M<strong>in</strong>imum. D.h. x ∈ R n ist stationärer Punkt der quadratischen<br />

Form Q(x), also:<br />

0 ! = ∂<br />

∂x i<br />

Q(x) =<br />

∂ { 1 }<br />

∂x i 2 (Ax, x) 2 − (b, x) 2 = (Ax) i − b i , i = 1, . . . , n.<br />

D.h., x ist Lösung des l<strong>in</strong>earen Gleichungssystems.<br />

□<br />

Anstelle e<strong>in</strong> l<strong>in</strong>eares Gleichungssystem Ax = b zu lösen betrachten wir <strong>die</strong> M<strong>in</strong>imierung<br />

des “Energiefunktionals” Q(x). Dieser Zugang ist Grundlage der im Folgenden diskutieren<br />

Verfahren und auch Basis der allgeme<strong>in</strong>en Klasse von Krylow-Raum-Verfahren.<br />

Wir betrachten zunächst nur symmetrisch positiv def<strong>in</strong>ite Matrizen, daher ist durch ‖x‖ A :=<br />

√<br />

(Ax, x)2 e<strong>in</strong>e Norm, <strong>die</strong> sogenannte Energienorm gegeben. Die M<strong>in</strong>imierung des Energiefunktionals<br />

Q(·) ist auch äquivalent zur M<strong>in</strong>imierung des Fehlers x k −x <strong>in</strong> der zugehörigen.<br />

Denn, angenommen x ∈ R n sei <strong>die</strong> Lösung und x k ∈ R n e<strong>in</strong>e Approximation, dann gilt:<br />

‖x k −x‖ 2 A = (A(x k −x), x k −x) 2 = (Ax k , x k )− 2(Ax k , x)<br />

} {{ }<br />

+(Ax, x) = 2Q(x k )+(Ax, x).<br />

=2(Ax,x k )=2(b,x k )<br />

210


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Abstiegsverfahren Wir gehen zunächst davon aus, dass <strong>die</strong> Suchrichtungen d k durch e<strong>in</strong><br />

gegebenes Verfahren (etwa Jacobi oder Gauß-Seidel) bestimmt s<strong>in</strong>d und stellen uns der<br />

Frage, den nächsten Schritt optimal zu gestalten, also <strong>in</strong> der Iteration k → k + 1 mit<br />

x k+1 = x k + ω k d k ,<br />

den skalaren Faktor ω k möglichst optimal zu bestimmen, so dass <strong>die</strong> neue Approximation<br />

x k+1 e<strong>in</strong>e möglichst ger<strong>in</strong>ge “Energie” Q(x k+1 ) aufweist:<br />

ω k = arg m<strong>in</strong><br />

ω∈R Q(xk + ωd k ).<br />

Das gesuchte M<strong>in</strong>imum ω können wir wieder als Extrempunkt des quadratischen Funktionals<br />

bestimmen:<br />

0 = ! ∂<br />

∂ { 1 }<br />

Q(x + ωd) =<br />

∂ω ∂ω 2 (A(x + ωd), x + ωd) 2 − (b, x + ωd) 2 = ω(Ad, d) 2 + (Ax − b, d) 2<br />

Hieraus bestimmt sich ω zu:<br />

ω = (b − Ax, d) 2<br />

.<br />

(Ad, d) 2<br />

Wir fassen zusammen:<br />

Algorithmus 5.37 (Abstiegsverfahren). Es sei A ∈ R n×n symmetrisch positiv def<strong>in</strong>it,<br />

x 0 , b ∈ R n sowie für k = 1, 2, . . . durch d k ∈ R n Abstiegsrichtungen gegeben. Iteriere:<br />

1. Bestimme ω k als<br />

2. Berechne<br />

ω k = (b − Axk , d k ) 2<br />

(Ad k , d k ) 2<br />

,<br />

x k+1 = x k + ω k d k .<br />

E<strong>in</strong> konkretes Verfahren entsteht durch Wahl der Abstiegsrichtungen d k . Es zeigt sich, dass<br />

<strong>die</strong> Komb<strong>in</strong>ation des Abstiegsverfahrens mit den bisher e<strong>in</strong>geführten Methoden wie Jacobi<br />

und Gauß-Seidel nicht zu wesentlichen Verbesserungen <strong>in</strong> der Konvergenzgeschw<strong>in</strong>digkeit<br />

führt. Wir betrachten hierzu e<strong>in</strong> Beispiel:<br />

Beispiel 5.38 (Abstiegsverfahren, Jacobi & Gauß-Seidel). Es sei Ax = b mit<br />

⎛<br />

⎞ ⎛ ⎞ ⎛<br />

2 −1 0<br />

2<br />

⎜<br />

⎟ ⎜ ⎟ ⎜<br />

1<br />

⎞<br />

⎟<br />

A = ⎝−1 2 −1⎠ , b = ⎝−3⎠ , x = ⎝0⎠ .<br />

0 −1 2<br />

4<br />

2<br />

Mit dem Startvektor x 0 = 0 führen wir jeweils 10 Schritte mit Jacobi-, Gauß-Seidel-<br />

Verfahren sowie jeweils mit den entsprechenden Komb<strong>in</strong>ationen unter Verwendung des<br />

optimalen Abstiegs-Schritts ω k . In Abbildung 5.2 l<strong>in</strong>ks fassen wir für alle Verfahren <strong>die</strong><br />

Fehler zusammen. Auf der rechten Seite der Abbildung stellen wir den Approximationsverlauf<br />

x k ∈ R 3 für Jacobi- sowie Jacobi-Abstiegsverfahren graphisch dar. Obwohl der<br />

Verlauf des Jacobi-Abstiegsverfahrens wesentlich “gradl<strong>in</strong>iger” sche<strong>in</strong>t, konvergiert <strong>die</strong>ses<br />

Verfahren ebenso langsam wie das Jacobi-Verfahren selbst. Nur im Falle des Gauß-Seidel-<br />

Verfahrens wird <strong>die</strong> Konvergenz durch Wahl optimaler Schrittweite ω k wesentlich beschleunigt.<br />

211


5 <strong>Numerische</strong> Iterationsverfahren<br />

10<br />

1<br />

0.1<br />

Jacobi<br />

Gauss-Seidel<br />

Abstiegs-Jacobi<br />

Abstiegs-Gauss-Seidel<br />

2<br />

1.9<br />

1.8<br />

1.7<br />

1.6<br />

1.5<br />

1.4<br />

1.3<br />

1.2<br />

Jacobi<br />

Abstiegsverfahren<br />

0.01<br />

1<br />

0.9<br />

0.001<br />

0.0001<br />

1e-05<br />

1 2 3 4 5 6 7 8 9 10<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2 0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

-1.2<br />

-1.4<br />

-1.6<br />

Abbildung 5.2: L<strong>in</strong>ks: Konvergenz von Jacobi-, Gauß-Seidel- sowie den entsprechenden<br />

Abstiegsverfahren. Rechts: Vergleich der Annäherung bei Jacobi- und<br />

Jacobi-Abstiegs-Verfahren an <strong>die</strong> Lösung x = (1, 0, 2) T .<br />

Gra<strong>die</strong>ntenverfahren Abschließend werden wir e<strong>in</strong> erstes Verfahren entwickeln, welches<br />

<strong>die</strong> neue Suchrichtung d k ∈ R n systematisch so bestimmt, dass das quadratische Funktional<br />

Q(x) möglichst stark m<strong>in</strong>imiert werden kann. Wir suchen also <strong>die</strong> Richtung des<br />

stärksten Abfalls. Zu e<strong>in</strong>em Punkt x ∈ R n ist <strong>die</strong>s gerade <strong>die</strong> Richtung d ∈ R n , <strong>die</strong> normal<br />

auf den Niveaumenge N(x) steht:<br />

N(x) := {y ∈ R n : Q(y) = Q(x)}<br />

In e<strong>in</strong>em Punkt x ist <strong>die</strong> Niveaumenge aufgespannt durch alle Richtungen δx ∈ R n mit:<br />

0 ! = Q ′ (x) · δx = (∇Q(x), δx) = (b − Ax, δx).<br />

Die Vektoren δx, welche <strong>die</strong> Niveaumenge aufspannen stehen orthogonal auf dem Defekt<br />

b − Ax, <strong>die</strong>ser zeigt daher <strong>in</strong> Richtung der stärksten Änderung von Q(·). Wir wählen<br />

d k := b − Ax k . Die so gefundene Suchrichtung wird dann mit dem Abstiegsverfahren<br />

komb<strong>in</strong>iert, d.h. wir iterieren:<br />

d k := b − Ax k , ω k := ‖dk ‖ 2 2<br />

(Ad k , d k ) 2<br />

, x k+1 := x k + ω k d k .<br />

Wir def<strong>in</strong>ieren das Gra<strong>die</strong>ntenverfahren:<br />

Algorithmus 5.39 (Gra<strong>die</strong>ntenverfahren). Es sei A ∈ R n×n symmetrisch positiv def<strong>in</strong>it,<br />

b ∈ R n . Es sei x 0 ∈ R n beliebig und d 0 := b − Ax 0 . Iteriere für k = 0, 1, 2, . . .<br />

1. r k := Ad k<br />

2. ω k = ‖d k‖ 2 2<br />

(r k ,d k ) 2<br />

3. x k+1 = x k + ω k d k .<br />

4. d k+1 = d k − ω k r k .<br />

212


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Durch E<strong>in</strong>führen e<strong>in</strong>es zweiten Hilfsvektors r k ∈ R n kann <strong>in</strong> jeder Iteration e<strong>in</strong> Matrix-<br />

Vektor-Produkt gespart werden. Für Matrizen mit Diagonalanteil D = αI ist das Gra<strong>die</strong>ntenverfahren<br />

gerade das Jacobi-Verfahren <strong>in</strong> Verb<strong>in</strong>dung mit dem Abstiegsverfahren.<br />

Daher kann für <strong>die</strong>ses Verfahren im Allgeme<strong>in</strong>en auch ke<strong>in</strong>e verbesserte Konvergenzaussage<br />

erreicht werden. Es stellt jedoch den E<strong>in</strong>stieg <strong>in</strong> e<strong>in</strong>e ganze Klasse von fortgeschrittenen<br />

Verfahren, <strong>die</strong> Krylow-Unterraum-Verfahren dar. Wir zeigen:<br />

Satz 5.40 (Gra<strong>die</strong>ntenverfahren). Es sei A ∈ R n×n symmetrisch positiv def<strong>in</strong>it. Dann<br />

konvergiert das Gra<strong>die</strong>ntenverfahren für jeden Startvektor x 0 ∈ R n gegen <strong>die</strong> Lösung des<br />

Gleichungssystems Ax = b.<br />

Beweis: Es sei x k ∈ R n e<strong>in</strong>e gegebene Approximation. Weiter sei d := b − Ax k . Dann<br />

berechnet sich e<strong>in</strong> Schritt des Gra<strong>die</strong>ntenverfahrens als:<br />

Für das Energiefunktional gilt:<br />

x k+1 = x k +<br />

(d, d)<br />

(Ad, d) d.<br />

Q(x k+1 ) = 1 2 (Axk+1 , x k+1 ) − (b, x k+1 )<br />

Also folgt:<br />

= 1 2 (Axk , x k ) + 1 (d, d) 2<br />

(d, d)<br />

(Ad, d) +<br />

2 (Ad, d) 2 (Ad, d) (Axk , d) − (b, x k (d, d)<br />

) − (b, d)<br />

(Ad, d)<br />

{<br />

= Q(x k (d, d) 1<br />

) +<br />

(Ad, d) 2 (d, d) + (Axk , d) − (b, d)}<br />

⎧<br />

⎫<br />

= Q(x k (d, d) ⎨1<br />

⎬<br />

) +<br />

(Ad, d) ⎩2 (d, d) + (Axk − b, d)<br />

} {{ } ⎭<br />

=−d<br />

Q(x k+1 ) = Q(x k ) −<br />

(d, d)2<br />

2(Ad, d) .<br />

Wegen der positiven Def<strong>in</strong>itheit von A gilt λ m<strong>in</strong> (A)(d, d) ≤ (Ad, d) ≤ λ max (A)(d, d) und<br />

schließlich ist mit<br />

Q(x k+1 ) ≤ Q(x k (d, d)<br />

) − ,<br />

2λ<br />

} {{ max<br />

}<br />

≥0<br />

<strong>die</strong> Folge Q(x k ) monoton fallend. Weiter ist Q(x k ) nach unten durch Q(x) beschränkt. Also<br />

konvergiert <strong>die</strong> Folge Q(x k ) → c ∈ R n . Im Grenzwert muss gelten 0 = (d, d) = ‖b − Ax‖ 2 ,<br />

also Ax = b.<br />

□<br />

Schließlich zitieren wir noch zur Abschätzung der Konvergenzgeschw<strong>in</strong>digkeit <strong>die</strong> folgende<br />

Fehlerabschätzung:<br />

213


5 <strong>Numerische</strong> Iterationsverfahren<br />

Satz 5.41 (Konvergenz des Gra<strong>die</strong>ntenverfahrens). Es sei A ∈ R n×n e<strong>in</strong>e symmetrisch<br />

positiv def<strong>in</strong>ite Matrix. Dann gilt für das Gra<strong>die</strong>ntenverfahren zur Lösung von Ax = b <strong>die</strong><br />

Fehlerabschätzung<br />

Beweis: Siehe [9]<br />

‖x k − x‖ A ≤<br />

( ) 1 − 1/κ k<br />

, κ := cond 2 (A) = λ max(A)<br />

1 + 1/κ<br />

λ m<strong>in</strong> (A) .<br />

Die asymptotische Konvergenzrate des Gra<strong>die</strong>ntenverfahrens wir durch <strong>die</strong> Kondition der<br />

Matrix bestimmt. Für <strong>die</strong> Modellmatrix gilt κ = O(n 2 ), siehe Beispiel 5.33. Also gilt:<br />

ρ = 1 − 1 n 2<br />

1 + 1 n 2 = 1 − 2 n 2 + O ( 1<br />

n 4 )<br />

.<br />

Die Konvergenz ist demnach ebenso langsam wie <strong>die</strong> des Jacobi-Verfahrens (wir haben<br />

bereits diskutiert, dass es für <strong>die</strong> Modellmatrix mit dem Jacobi-Abstiegsverfahren übere<strong>in</strong>stimmt).<br />

Für das Gra<strong>die</strong>ntenverfahren gilt jedoch der folgende Zusammenhang, der<br />

Basis des CG-Verfahrens ist:<br />

Satz 5.42 (Abstiegsrichtungen im Gra<strong>die</strong>ntenverfahren). Es sei A ∈ R n×n symmetrisch<br />

positiv def<strong>in</strong>it. Dann stehen je zwei aufe<strong>in</strong>anderfolgende Abstiegsrichtungen d k und d k+1<br />

des Gra<strong>die</strong>ntenverfahren orthogonal aufe<strong>in</strong>ander.<br />

Beweis: Zum Beweis, siehe Algorithmus 5.39. Es gilt:<br />

Also gilt:<br />

d k+1 = d k − ω k r k = d k − (dk , d k )<br />

(Ad k , d k ) Adk .<br />

(d k+1 , d k ) = (d k , d k ) − (dk , d k )<br />

(Ad k , d k ) (Adk , d k ) = (d k , d k ) − (d k , d k ) = 0.<br />

□<br />

□<br />

Das CG-Verfahren Der Zusammenhang aus Satz 5.42 gilt nur für jeweils aufe<strong>in</strong>ander folgende<br />

Abstiegsrichtungen, im Allgeme<strong>in</strong>en gilt jedoch d k ̸⊥ d k+2 . In Abbildung 5.2 rechts<br />

ist der Approximationsverlauf des Abstiegs-Jacobi-Verfahren, welches mit dem Gra<strong>die</strong>ntenverfahren<br />

übere<strong>in</strong>stimmt dargestellt. Zwei aufe<strong>in</strong>ander folgende Richtungen s<strong>in</strong>d zwar<br />

je orthogonal, <strong>die</strong> dritte Richtung steht jedoch wieder nahezu parallel auf der ersten. Dies<br />

führt dazu, dass das Gra<strong>die</strong>ntenverfahren im Allgeme<strong>in</strong>en sehr langsam konvergiert. Das<br />

CG-Verfahren, oder “Verfahren der konjugierten Gra<strong>die</strong>nten”, entwickelt <strong>die</strong>sen Ansatz<br />

weiter und wählt Suchrichtungen {d 1 , . . . , d k } <strong>die</strong> paarweise orthogonal s<strong>in</strong>d. Orthogonalität<br />

wird dabei im A-Skalarprodukt erreicht:<br />

(Ad r , d s ) = 0 ∀r ≠ s.<br />

214


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Im k-ten Schritt wird <strong>die</strong> Approximation x k = x 0 + ∑ k<br />

i=1 α i d i als das M<strong>in</strong>imum über alle<br />

α 1 , . . . , α k bezüglich Q(x k ) gesucht:<br />

(<br />

) { (<br />

) (<br />

)}<br />

k∑<br />

1<br />

k∑<br />

k∑<br />

k∑<br />

m<strong>in</strong> Q x 0 + α i d i = m<strong>in</strong> Ax 0 + α i Ad i , x 0 + α i d i − b, x 0 + α i d i .<br />

2<br />

i=1<br />

i=1<br />

i=1<br />

i=1<br />

Der stationäre Punkt ist bestimmt durch:<br />

0 = ! ∂<br />

(<br />

Q(x k ) = Ax 0 +<br />

∂α j<br />

k∑<br />

i=1<br />

)<br />

(<br />

α i Ad i , d j − (b, d j ) = − b − Ax k , d j) , j = 1, . . . , k.<br />

D.h., das neue Residuum b − Ax k steht orthogonal auf allen Suchrichtungen d j für j =<br />

1, . . . , k. Diese Gleichung<br />

(b − Ax k , d j ) = 0 ∀j = 1, . . . , k, (5.17)<br />

wird Galerk<strong>in</strong>-Gleichung genannt. Beim Entwurf des CG-Verfahrens ist es nun wichtig,<br />

dass <strong>die</strong> neu gewählte Suchrichtung d k+1 nicht im Erzeugnis der bisherigen Suchrichtungen<br />

span{d 1 , . . . , d k } enthalten ist. Denn <strong>in</strong> <strong>die</strong>sem Fall wird der Suchraum nicht größer und<br />

<strong>die</strong> Approximation kann nicht verbessert werden. Daher wählt man für das CG-Verfahren<br />

ausgehend von e<strong>in</strong>er Startapproximation x 0 ∈ R n mit d 0 := b − Ax 0 den Krylow-Raum<br />

K k (d 0 , A):<br />

K k (d 0 , A) := span{d 0 , Ad 0 , . . . , A k−1 d 0 }.<br />

Es gilt:<br />

Hilfsatz 5.43. Angenommen es gilt A k d 0 ∈ K k . Dann liegt auch für <strong>die</strong> Lösung x ∈ R n<br />

von Ax = b im k-ten Krylow-Raum K k (d 0 , A).<br />

Beweis: Es sei K k gegeben und x k ∈ x 0 + K k <strong>die</strong> beste Approximation, welche <strong>die</strong><br />

Galerk<strong>in</strong>-Gleichung (5.17) erfüllt. Es sei r k := b − Ax t . Wegen<br />

r k = b − Ax k = b − Ax<br />

} {{ 0 +A (x<br />

}<br />

0 − x k ) ∈ d 0 + AK k ,<br />

} {{ }<br />

=d 0 ∈K k<br />

gilt r k ∈ K k+1 . Angenommen nun, K k+1 ⊂ K k . Dann gilt r k ∈ K k . Die Galerk<strong>in</strong>-Gleichung<br />

besagt r k ⊥ K k , d.h. es gilt zw<strong>in</strong>gend r k = 0 und Ax k = b.<br />

□<br />

Falls das CG-Verfahren abbricht weil ke<strong>in</strong>e neuen Suchrichtungen h<strong>in</strong>zukommen, so ist<br />

<strong>die</strong> Lösung gefunden. Angenommen, <strong>die</strong> A-orthogonalen Suchrichtungen {d 0 , d 1 , . . . , d k−1 }<br />

liegen vor, so kann <strong>die</strong> CG-Approximation durch Ausnutzen der Basisdarstellung x k =<br />

x 0 + ∑ α i d i aus der Galerk<strong>in</strong>-Gleichung berechnet werden:<br />

(<br />

)<br />

k∑<br />

b − Ax 0 − α i Ad i , d j<br />

i=1<br />

= 0 ⇒ (b − Ax 0 , d j ) = α j (Ad j , d j ) ⇒ α j = (d0 , d j )<br />

(Ad j , d j ) .<br />

215


5 <strong>Numerische</strong> Iterationsverfahren<br />

Die A-orthogonale Basis {d 0 , . . . , d k−1 } des Krylow-Raums K k (d 0 , A) kann z.B. mit dem<br />

Gram-Schmidt-Verfahren berechnet werden. Der Nachteil <strong>die</strong>ser Methode ist zum e<strong>in</strong>en der<br />

quadratische (<strong>in</strong> k) Aufwand des Gram-Schmidt-Verfahrens sowie dessen numerische Instabilität.<br />

Se<strong>in</strong>e Leistungsfähigkeit erlangt das CG-Verfahren durch ausnutzen e<strong>in</strong>er zweistufigen<br />

Rekursionsformel, welche <strong>die</strong> A-orthogonale Basis effizient und stabil berechnet:<br />

Hilfsatz 5.44 (2-stufige Rekursionsformel zur Orthogonalisierung). Es sei A ∈ R n×n<br />

symmetrisch positiv def<strong>in</strong>it, sowie x 0 ∈ R n und d 0 := b − Ax 0 . Dann wird durch <strong>die</strong><br />

Iteration<br />

r k := b − Ax k , β k−1 := − (rk , Ad k−1 )<br />

(d k−1 , Ad k−1 ) , dk := r k − β k−1 d k−1 , k = 1, 2, . . .<br />

e<strong>in</strong>e A-orthogonale Basis mit (Ad r , d s ) = 0 für r ≠ s erzeugt. Dabei ist x k <strong>in</strong> Schritt k<br />

def<strong>in</strong>iert als <strong>die</strong> Galerk<strong>in</strong>-Lösung (b − Ax k , d j ) = 0 für j = 0, . . . , k − 1.<br />

Beweis: Es sei durch {d 0 , . . . , d k−1 } e<strong>in</strong>e A-orthogonale Basis des K k (d 0 , A) gegeben.<br />

Weiter sei x k ∈ x 0 +K k (d 0 , A) <strong>die</strong> Galerk<strong>in</strong>-Lösung zu (5.17). Es sei r k := b−Ax k ∈ K k+1<br />

und wir fordern, dass g k ∉ K k (d 0 , A). Ansonsten bricht <strong>die</strong> Iteration nach Hilfsatz 5.43<br />

ab. Wir bestimmen d k mit dem Ansatz:<br />

Die Orthogonalitätsbed<strong>in</strong>gung besagt:<br />

k−1<br />

d k = r k ∑<br />

− βj k−1 d j . (5.18)<br />

j=0<br />

0 = ! k−1<br />

(d k , Ad i ) = (r k , Ad i ∑<br />

)+ βj<br />

k−1 (d j , Ad i ) = (r k , Ad i )+βi k−1 (d i , Ad i ), i = 0, . . . , k −1.<br />

j=1<br />

Es gilt (r k , Ad i ) = (b − Ax k , Ad i ) = 0 für i = 0, . . . , k − 2, da Ar k ⊥ K k−1 . Hieraus folgt<br />

= 0 für i = 0, 1, . . . , k − 2. Für i = k − 1 gilt:<br />

β k−1<br />

i<br />

β k−1 := β k−1<br />

k−1 = − (rk , Ad k−1 )<br />

(d k−1 , Ad k−1 ) .<br />

Schließlich gilt mit (5.18) d k = r k − β k−1 d k−1 .<br />

□<br />

Mit <strong>die</strong>sen Vorarbeiten können wir alle Bestandteile des CG-Verfahrens zusammensetzen.<br />

Es sei also mit x 0 e<strong>in</strong>e Startlösung und mit d 0 := b − Ax 0 der Startdefekt gegeben.<br />

Angenommen, K k := span{d 0 , . . . , d k−1 } sowie x k ∈ x 0 + K k und der Defekt r k = b − Ax k<br />

liegen vor. Dann berechnet sich d k gemäß Hilfsatz 5.44 als<br />

β k−1 = − (rk , Ad k−1 )<br />

(d k−1 , Ad k−1 ) , dk = r k − β k−1 d k−1 . (5.19)<br />

216


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Für den neuen Entwicklungskoeffizienten α k <strong>in</strong> x k+1 = x 0 + ∑ k<br />

i=0 α i d i gilt durch Testen<br />

der Galerk<strong>in</strong>-Gleichung (5.17) mit d k :<br />

⎛<br />

⎝b − Ax<br />

} {{ 0 −<br />

}<br />

=d 0<br />

k∑<br />

i=0<br />

α i Ad i , d k ⎞<br />

⎠ = (b−Ax 0 , d k )−α k (Ad k , d k ) = (b−Ax 0 +A (x 0 − x k )<br />

} {{ }<br />

∈K k<br />

, d k )−α k (Ad k , d k ).<br />

Also:<br />

α k = (rk , d k )<br />

(Ad k , d k ) , xk+1 = x k + α k d k . (5.20)<br />

Hieraus lässt sich auch unmittelbar der neue Defekt r k+1 bestimmen:<br />

r k+1 = b − Ax k+1 = b − Ax k − α k Ad k = r k − α k Ad k . (5.21)<br />

Wir fassen (5.19-5.21) zusammen und formulieren das klassische CG-Verfahren:<br />

Algorithmus 5.45 (CG-Verfahren). Es sei A ∈ R n×n symmetrisch positiv def<strong>in</strong>it, x 0 ∈<br />

R n und r 0 = d 0 = b − Ax 0 gegeben. Iteriere für k = 0, 1, . . .<br />

1. α k = (rk ,d k )<br />

(Ad k ,d k )<br />

2. x k+1 = x k + α k d k<br />

3. r k+1 = r k − α k Ad k<br />

4. β k = (rk+1 ,Ad k )<br />

(d k ,Ad k )<br />

5. d k+1 = r k+1 − β k d k<br />

Das CG-Verfahren liefert e<strong>in</strong>e Lösung nach (höchstens) n Schritten für e<strong>in</strong> n-dimensionales<br />

Problem und kann daher pr<strong>in</strong>zipiell als direktes Verfahren betrachtet werden. Allerd<strong>in</strong>gs<br />

s<strong>in</strong>d schon für relativ kle<strong>in</strong>e Probleme (z.B. n = 1000) im ungünstigsten Fall 1000 Iterationen<br />

notwendig. Deshalb wird das CG-Verfahren üblicherweise approximativ e<strong>in</strong>gesetzt. In<br />

jedem Iterationsschritt s<strong>in</strong>d Rundungsfehler zu erwarten, daher werden <strong>die</strong> Suchrichtungen<br />

{d 0 , . . . , d k−1 } nie wirklich orthogonal se<strong>in</strong>. Die Konvergenzanalyse des CG-Verfahrens<br />

gestaltet sich als sehr aufwendig. Daher zitieren wir hier nur das Ergebnis:<br />

Satz 5.46 (Konvergenz des CG-Verfahrens). Es sei A ∈ R n×n symmetrisch positiv def<strong>in</strong>it.<br />

Dann gilt für beliebigen Startvektor x 0 ∈ R n <strong>die</strong> Fehlerabschätzung<br />

‖x k − x‖ A ≤ 2<br />

( √ ) k<br />

1 − 1/ κ<br />

1 + 1/ √ ‖x 0 − x‖ A , k ≥ 0,<br />

κ<br />

mit der Spektralkondition κ = cond 2 (A) der Matrix A.<br />

217


5 <strong>Numerische</strong> Iterationsverfahren<br />

Die Konvergenz des CG-Verfahrens ist gerade doppelt so schnell wie <strong>die</strong> des Gra<strong>die</strong>ntenverfahrens.<br />

Es gilt:<br />

ρ := 1 − 1/√ κ<br />

1 + 1/ √ κ = 1 − 2√ κ + O(κ).<br />

Für <strong>die</strong> Modellmatrix folgt ρ = 1 − 1 n<br />

. Das CG-Verfahren ist für dünn besetzte symmetrische<br />

Gleichungssysteme e<strong>in</strong>es der effizientesten Iterationsverfahren. Die Konvergenz<br />

hängt wesentlich von der Kondition cond 2 (A) der Matrix A ab. Für cond 2 (A) ≈ 1 ist das<br />

Verfahren optimal: zur Reduktion des Fehlers um e<strong>in</strong>en gegebenen Faktor ɛ ist e<strong>in</strong>e feste<br />

Anzahl von Schritten notwendig. Verallgeme<strong>in</strong>erungen des CG-Verfahrens für nicht symmetrische<br />

Matrizen müssen <strong>die</strong> Orthogonalisierung der Suchrichtungen entweder aufwendig<br />

durch volle Orthogonalisierungsverfahren wie Gram-Schmidt sicherstellen (<strong>die</strong>s führt auf<br />

das GMRES-Verfahren) oder <strong>die</strong> Orthogonalitätsbeziehung wird verletzt (<strong>die</strong>s führt zum<br />

Beispiel auf das BiCGStab-Verfahren).<br />

Abschließend diskutieren wir anhand der Modellmatrix <strong>die</strong> verschiedenen Verfahren im<br />

Vergleich:<br />

Beispiel 5.47 (LGS mit der Modellmatrix). Es sei A ∈ R n×n mit n = m 2 <strong>die</strong> Modellmatrix:<br />

⎛<br />

⎞ ⎛<br />

⎞ ⎛<br />

⎞<br />

B −I<br />

4 −1<br />

1<br />

−I B −I<br />

A = ⎜<br />

⎟<br />

⎝ −I B −I⎠ , B = −1 4 −1<br />

⎜<br />

⎟<br />

⎝ −1 4 −1⎠ , I = 1<br />

⎜<br />

⎟<br />

⎝ 1 ⎠ ,<br />

−I B<br />

−1 4<br />

1<br />

mit B, I ∈ R m×m . Die Matrix A ist e<strong>in</strong>e Bandmatrix mit Bandbreite 2m. Weiter ist <strong>die</strong><br />

Matrix A symmetrisch positiv def<strong>in</strong>it. Sie ist irreduzibel und diagonaldom<strong>in</strong>ant und erfüllt<br />

<strong>in</strong> den Rändern der Blöcke das starke Zeilensummenkriterium. Alle bisher diskutieren<br />

Verfahren können auf <strong>die</strong> Matrix A angewendet werden. Größter sowie kle<strong>in</strong>ster Eigenwert<br />

und Spektralkondition von A berechnen sich zu:<br />

λ m<strong>in</strong> = 2π2<br />

n + O(n−2 ), λ max = 8 − 2π2<br />

n + O(n−2 ), κ ≈ 2π 2 n<br />

Direkte Verfahren Die LR-Zerlegung ist (da A positiv def<strong>in</strong>it) ohne Permutierung durchzuführen.<br />

Gemäß Satz 4.39 beträgt der Aufwand hierzu N LR = nm 2 = 4n 2 Operationen.<br />

Die Lösung ist dann bis auf Rundungsfehlere<strong>in</strong>flüsse exakt gegeben. Alternativ kann <strong>die</strong><br />

Cholesky-Zerlegung von A erstellt werden. Hierzu s<strong>in</strong>d N LL = 2n 2 Operationen notwendig.<br />

LR- bzw. Cholesky-Zerlegung s<strong>in</strong>d dich besetzte Bandmatrizen. Das anschließende Lösen<br />

mit Vorwärts und Rückwärtselim<strong>in</strong>ation benötigt weitere 2nm Operationen. Wir fassen<br />

<strong>die</strong> notwendigen Operationen <strong>in</strong> folgender Tabelle zusammen:<br />

n = m 2 N LR N LL<br />

100 5 · 10 4 2 · 10 4<br />

10000 5 · 10 9 2 · 10 9<br />

1000000 5 · 10 12 2 · 10 12<br />

218


5.3 Iterative Lösungsverfahren für l<strong>in</strong>eare Gleichungssysteme<br />

Bei effizienter Implementierung auf moderner Hardware ist das Gleichungssystem mit<br />

10 000 Unbekannten <strong>in</strong> wenigen Sekunden, das größte Gleichungssystem <strong>in</strong> wenigen Stunden<br />

lösbar.<br />

E<strong>in</strong>fache Fixpunktiterationen Wir schätzen zunächst für Jacobi- sowie Gauß-Seidel-<br />

Verfahren <strong>die</strong> Spektralra<strong>die</strong>n ab. Mit e<strong>in</strong>em Eigenwert λ und Eigenvektor w von A gilt:<br />

Aw = λw ⇒ Dw + (L + R)w = λw ⇒ −D −1 (L + R)w = −D −1 (λI − D)w.<br />

D.h. wegen D ii = 4 gilt<br />

und <strong>die</strong> Eigenwerte von J liegen zwischen<br />

Jw = λ − 4 w,<br />

4<br />

λ m<strong>in</strong> (J) = 1 4 (λ m<strong>in</strong>(A) − 4) ≈ −1 + π2<br />

2n ,<br />

λ max(J) = 1 4 (λ max(A) − 4) ≈ 1 − π2<br />

2n .<br />

Für <strong>die</strong> Konvergenzrate gilt:<br />

Aus (5.15) folgt:<br />

ρ J := 1 − π2<br />

2n .<br />

ρ H := ρ 2 J ≈ 1 − π2<br />

n .<br />

Zur Reduktion des Fehlers um e<strong>in</strong>en gegebenen Faktor ɛ s<strong>in</strong>d t Schritte erforderlich:<br />

ρ t J<br />

J<br />

= ɛ ⇒ t J = log(ɛ)<br />

log(ρ) ≈ 2 π 2 log(ɛ)n,<br />

t H ≈ 1 π 2 log(ɛ)n,<br />

Jeder Schritt hat den Aufwand e<strong>in</strong>es Matrix-Vektor Produktes, d.h. im gegebenen Fall 5n.<br />

Schließlich bestimmen wir gemäß (5.16) den optimalen SOR-Parameter zu<br />

ω opt ≈ 2 − 2 π √ n<br />

.<br />

Dann gilt:<br />

ρ ω = ω opt − 1 ≈ 1 − 2 π √ n<br />

.<br />

Hieraus erhalten wir:<br />

t ω ≈ log(ɛ) √ n.<br />

2π<br />

Der Aufwand des SOR-Verfahrens entspricht dem des Gauß-Seidel-Verfahrens mit e<strong>in</strong>er<br />

zusätzlichen Relaxation, d.h. 6n Operationen pro Schritt. Wir fassen zusammen für <strong>die</strong><br />

drei Verfahren Konvergenzrate, Anzahl der notwendigen Schritte und Gesamtaufwand zusammen.<br />

Dabei ist stets ɛ = 10 −4 gewählt:<br />

219


5 <strong>Numerische</strong> Iterationsverfahren<br />

Jacobi Gauß-Seidel SOR<br />

n = m 2 t J N j t H N H ω opt t J N j<br />

100 180 10 5 90 5 · 10 4 1.53 9 10 5<br />

10000 18500 10 9 9300 5 · 10 8 1.94 142 10 7<br />

1000000 1866600 10 13 933000 5 · 10 12 1.99 1460 10 9<br />

Während das größte Gleichungssystem mit dem optimalen SOR-Verfahren <strong>in</strong> wenigen Sekunden<br />

gelöst werden kann, benötigen Jacobi und Gauß-Seidel-Verfahren etliche Stunden.<br />

Abstiegsverfahren<br />

Schließlich betrachten wir Gra<strong>die</strong>nten und CG-Verfahren. Es gilt:<br />

ρ GR ≈ 1 − 2κ ≈ 1 − 4π 2 n, ρ CG ≈ 1 − 2 √ κ ≈ 1 − 2π √ n.<br />

Bei effizienter Implementierung benötigt das Gra<strong>die</strong>ntenverfahren pro Iterationsschritt e<strong>in</strong>e<br />

Matrix-Vektor Multiplikation (5n Operationen), zwei Skalarprodukte (2n Operationen)<br />

sowie 2 Vektor-Additionen (2n Operationen), <strong>in</strong>sgesamt somit 9n Operationen. Der Aufwand<br />

des CG-Verfahrens ist mit 15n Operationen etwas größer. Die Anzahl der Schritte<br />

bestimmt sich zu<br />

ρ t GR = 10 −4 ⇒ t GR ≈ n π 2 , t CG ≈ 2<br />

π √ n .<br />

Wir fassen zusammen:<br />

Gra<strong>die</strong>nten CG<br />

n = m 2 t GR N GR t CG N CG<br />

100 18 10 4 9 10 4<br />

10000 2 330 10 8 140 10 7<br />

1000000 233 300 10 12 1400 10 10<br />

Wie bereits bekannt ist das Gra<strong>die</strong>nten-Verfahren ebenso <strong>in</strong>effektiv wie das Jacobi-Verfahren.<br />

Das CG-Verfahren erreicht etwa <strong>die</strong> gleiche Effizienz wie das SOR-Verfahren bei optimaler<br />

Wahl des Relaxationsparameters. Dieses Ergebnis darf nicht falsch <strong>in</strong>terpretiert werden:<br />

im Allgeme<strong>in</strong>en ist <strong>die</strong>ser Relaxationsparameter nicht verfügbar und muss grob approximiert<br />

werden. D.h., <strong>in</strong> der praktischen Anwendung wird das SOR-Verfahren weit schlechter<br />

konvergieren und das CG-Verfahren ist im Allgeme<strong>in</strong>en stark überlegen!<br />

220


6 Anwendungsbeispiel: dünner Balken<br />

In <strong>die</strong>sem Kapitel fassen wir alle vorherigen Kapitel mit Hilfe e<strong>in</strong>es physikalisch motivierten<br />

Anwendungsbeispiels zusammen. Das Beispiel kann als typischer prototypischer Vertreter<br />

für zahlreiche Anwendungsfälle numerischer Verfahren angesehen werden. Grundsätzlich<br />

s<strong>in</strong>d für den Numeriker dabei <strong>die</strong> folgenden Schritte durchzuführen, wobei der Schwerpunkt<br />

von Numerik 0 immer auf Diskretisierung und numerischer Lösung liegt.<br />

1. Problem/Aufgabenstellung: Biegung e<strong>in</strong>es dünnen Balkens (z.B. Brücke oder<br />

Membran),<br />

2. Modellierung: Herleitung e<strong>in</strong>es physikalischen Modells (Abschnitt 6.1),<br />

3. Diskretisierung (Abschnitt 6.2) mit Hilfe der Methoden aus Kapitel 3 (Interpolation,<br />

stückweise Interpolation, Differenzenverfahren zur Approximation von Ableitungen),<br />

4. <strong>Numerische</strong> Lösung (Abschnitt 6.3) des diskretisierten Problems. Bei l<strong>in</strong>earen<br />

Problemen können sofort <strong>die</strong> Methoden aus Kapitel 4 genutzt werden. Bei nichtl<strong>in</strong>earen<br />

Problemen wird mittels e<strong>in</strong>es Fixpunktverfahrens als Nullstellenaufgabe geschrieben<br />

(siehe Kapitel 5 bzw. 2) und hier<strong>in</strong> Lösung der l<strong>in</strong>earen Gleichungen mit<br />

den Methoden aus Kapitel 4,<br />

5. Analyse der Ergebnisse mit Vergleich zu anderen Methoden für dasselbe Problem<br />

oder Abgleich mit Experimenten.<br />

y(x) = 0<br />

y(x)<br />

f<br />

Abbildung 6.1: Balken im Ruhezustand und rechts durch Kraft f ausgedehnter Balken.<br />

Der Balken ist an den Endpunkten x = 0 sowie x = 1 fixiert und wird<br />

über <strong>die</strong> Position y(x) der Mittell<strong>in</strong>ie parametrisiert.<br />

221


6 Anwendungsbeispiel: dünner Balken<br />

6.1 Modellierung e<strong>in</strong>es elastischen Balkens<br />

In Abbildung 6.1 zeigen wir zunächst <strong>die</strong> Konfiguration. E<strong>in</strong> Balken mit Länge L = 1 (im<br />

Ruhezustand) ist auf beiden Seiten e<strong>in</strong>gespannt. Unter E<strong>in</strong>wirkung e<strong>in</strong>es Biegemoments f<br />

wird der Balken ausgelenkt. Dabei bezeichnen wir mit y(x) <strong>die</strong> Deformation der Mittell<strong>in</strong>ie<br />

<strong>in</strong> jedem Punkt x ∈ [0, 1] des undeformierten Balkens. Dabei gilt stets y(0) = y(1) = 0<br />

aufgrund der E<strong>in</strong>spannung. Die Biegung e<strong>in</strong>es Balkens kann <strong>in</strong> jedem Punkt durch den<br />

Krümmungsradius ρ := ρ(x) gekennzeichnet werden. Der Krümmungsradius ist der Radius<br />

desjenigen Kreises, der <strong>in</strong> (x, y(x)) <strong>die</strong> Mittell<strong>in</strong>ie des Balkens bei gleicher Krümmung<br />

berührt, siehe Abbildung 6.2.<br />

Die Krümmung erzeugt e<strong>in</strong>e Dehnung ɛ := δe/e, welche <strong>die</strong> relative Längenänderung e<strong>in</strong>er<br />

Balkenl<strong>in</strong>ie angibt, <strong>die</strong> radial von der Mittell<strong>in</strong>ie verschoben ist, siehe Abbildung 6.2 Mitte.<br />

Für e<strong>in</strong>e L<strong>in</strong>ie, <strong>die</strong> um y verschoben ist, gilt mit dem Strahlensatz:<br />

ρ + y<br />

ρ<br />

= e + δe<br />

e<br />

⇔<br />

y ρ = δe<br />

e . (6.1)<br />

Das Hooke’sche Gesetz besagt, dass <strong>die</strong> Dehnung ɛ e<strong>in</strong>es Balkens proportional zur Deformation<br />

y und der e<strong>in</strong>wirkenden Kraft f ist:<br />

ɛ = µfy,<br />

wobei µ ∈ R e<strong>in</strong> Parameter ist, der <strong>die</strong> Materialeigenschaften des Balkens beschreibt (<strong>die</strong><br />

Biegesteifigkeit). Aus dem Zusammenhang zwischen Dehnung und Krümmungsradius (6.1)<br />

folgt:<br />

µf = 1 ρ . (6.2)<br />

Schließlich werden wir den Krümmungsradius ρ(x) lokal durch <strong>die</strong> Deformation y(x) ausdrücken.<br />

Siehe hierzu <strong>die</strong> rechte Skizze <strong>in</strong> Abbildung 6.2. Zunächst gilt aus geometrischen<br />

Überlegungen e<strong>in</strong>erseits den Anstiegsw<strong>in</strong>kel<br />

sowie für <strong>die</strong> Bogenlänge:<br />

δs = δα =<br />

√<br />

δx 2 + δy 2 = δx<br />

tan(α) = δy<br />

δx ,<br />

√<br />

1 + δy2<br />

δx 2 ⇒ δα<br />

δx = √<br />

1 +<br />

( ) δy 2<br />

.<br />

δx<br />

Wir betrachten alle Änderungen δx sowie δy und δα als <strong>in</strong>f<strong>in</strong>itesimal. D.h., es gilt<br />

δy 2<br />

δx 2 = ∂2<br />

∂ 2 x y(x) = ∂ δy<br />

∂x δx<br />

= ∂<br />

∂x tan(α) = (1 + tan2 (α)) ∂α<br />

∂x<br />

= (1 + tan 2 (α)) δα<br />

=<br />

(<br />

1 +<br />

δx<br />

( ) )<br />

δy<br />

2<br />

δα<br />

δx δx<br />

222


6.2 Diskretisierung<br />

ρ<br />

ρ<br />

y<br />

e<br />

e + δe<br />

α + δα<br />

ρ(x + δx)<br />

δα<br />

ρ(x)<br />

y<br />

e<br />

e<br />

δy<br />

ds<br />

δx<br />

α<br />

Abbildung 6.2: L<strong>in</strong>ks: Krümmungsradius ρ als Radius desjenigen Kreises mit der gleichen<br />

Krümmung. Mitte: Herleitung der Dehnung ɛ := δe/e als relative Längenänderung<br />

e<strong>in</strong>er um radial verschobenen L<strong>in</strong>ie. Rechts: Herleitung der<br />

Beziehung zwischen Deformation y(x) und Krümmungsradius ρ(x).<br />

Hiermit können wir δα/δx mit Hilfe der 2. Ableitung ersetzen und mit y ′ := ∂ x y sowie<br />

mit y ′′ := ∂ xx y gilt für <strong>die</strong> Krümmung<br />

∆α<br />

κ := lim<br />

∆s→0 ∆s = δα<br />

δs = δα/δx<br />

δs/δx =<br />

y ′′ (x)<br />

√<br />

1 + y ′ (x) 23 .<br />

und mit dem Zusammenhang zum Krümmungsradius κ := 1 ρ<br />

und dem Materialgesetz 6.2<br />

erhalten wir <strong>die</strong> (nicht-l<strong>in</strong>eare) Differentialgleichung für <strong>die</strong> Deformation e<strong>in</strong>es <strong>die</strong> Balkens:<br />

y ′′ (x)<br />

(1 + y ′ (x) 2 ) 3 2<br />

= µf. (6.3)<br />

Für sehr kle<strong>in</strong>e Auslenkungen (dann gilt y ′ (x) ≪ 1) erhalten wir hieraus <strong>die</strong> l<strong>in</strong>earisierte<br />

Variante:<br />

y ′′ (x) = µf (6.4)<br />

<strong>die</strong> <strong>in</strong> vielen Büchern als Laplace-Gleichung (Modellgleichung) bekannt ist.<br />

6.2 Diskretisierung<br />

Wir suchen also e<strong>in</strong>e Funktion y ∈ C 2 ([0, 1]), welche <strong>die</strong> Differentialgleichung (6.3) <strong>in</strong> jedem<br />

Punkt x ∈ [0, 1] erfüllt. Diese Differentialgleichung ist für gegebene Kraftverteilung f im<br />

Allgeme<strong>in</strong>en nicht analytisch lösbar und muss mit numerischen Verfahren approximiert<br />

223


6 Anwendungsbeispiel: dünner Balken<br />

werden. Die Lösung y ∈ C 2 ([0, 1]) ist e<strong>in</strong> unendlich dimensionales Objekt und kann mit<br />

diskreten Methoden nie komplett beschrieben werden. Daher müssen wir <strong>in</strong> e<strong>in</strong>em ersten<br />

Schritt das Problem diskretisieren, also <strong>in</strong> e<strong>in</strong> endlich dimensionales Problem überführen.<br />

Der übliche Zugang hierzu ist, <strong>die</strong> Funktion y ∈ C 2 ([0, 1]) durch e<strong>in</strong>e Interpolierende y h (x)<br />

zu ersetzen. Hierzu zerlegen wir das Intervall I = [0, 1] zunächst <strong>in</strong> n + 1 diskrete Punkte<br />

0 = x 0 < x 1 < · · · < x n = 1, h = x i − x i−1 = 1 n , x i = ih.<br />

Wir wählen <strong>die</strong> Zerlegung äquidistant, d.h., je zwei benachbarte Punkte haben den Abstand<br />

h. Zur Interpolation der Funktion y(x) <strong>in</strong> den Stützstellen y i := y(x i ) wählen wir<br />

zwei verschiedene Zugänge aus Kapitel 3. Zunächst wählen wir <strong>die</strong> globale Lagrange-<br />

Interpolation:<br />

y n ∈ P n (I) = span{1, x, . . . , x n }.<br />

Zu gegebenen Stützstellenpaaren (x i , y(x i )) ist <strong>die</strong>se Interpolation stets e<strong>in</strong>deutig bestimmt,<br />

siehe Satz 3.6. Wir wählen <strong>die</strong> Lagrange-Darstellung:<br />

n∑<br />

n∏<br />

y n (x) = y i L (n)<br />

i (x), L (n)<br />

x − x j<br />

i (x) =<br />

. (6.5)<br />

x i − x j<br />

i=0<br />

j=1,j≠i<br />

Alternativ setzen wir y h (x) als stückweise l<strong>in</strong>eare Interpolierende zusammen:<br />

y h (x) ∣ = x − x i<br />

y i−1 + x − x i−1<br />

y i . (6.6)<br />

[xi−1 ,x i ] x i−1 − x i x i − x i−1<br />

Im Falle e<strong>in</strong>er h<strong>in</strong>reichend regulären Lösung y(x) gelten bei exakter Interpolation (d.h.<br />

falls y i = y(x i ) exakt bekannt s<strong>in</strong>d) <strong>die</strong> Abschätzungen<br />

‖y n − y‖ ∞ ≤ ‖y(n+1) ‖ ∞<br />

, ‖y h − y‖ ∞ ≤ h2<br />

(n + 1)!<br />

2 ‖y′′ ‖ ∞ , (6.7)<br />

siehe Satz 3.4 sowie (3.6). Bei der ersten Abschätzung haben wir wegen |x − x j | ≤ 1 ganz<br />

grob abgeschätzt mit:<br />

n∏<br />

|x − x i | ≤ 1.<br />

i=0<br />

Diese Abschätzung ist sehr pessimistisch, da <strong>die</strong> meisten Faktoren |x − x j | ≪ 1 sehr viel<br />

kle<strong>in</strong>er als e<strong>in</strong>s s<strong>in</strong>d.<br />

Die Diskretisierung der Aufgabe besteht nun dar<strong>in</strong>, <strong>die</strong> Klasse der möglichen Lösungen<br />

zu verr<strong>in</strong>gern. Anstelle e<strong>in</strong>es y ∈ C 2 ([0, 1]) lassen wir nur noch Polynome gemäß (6.5)<br />

bzw. (6.6) zu. Das unendlich-dimensionale Problem wird durch e<strong>in</strong> endlich-dimensionales<br />

Problem ersetzt. Die beiden diskreten Funktionen haben jeweils n+1 Freiheiten, von denen<br />

<strong>die</strong> Randpunkte y 0 = y n = 1 bereits bestimmt s<strong>in</strong>d. Diese n + 1 Freiheitsgrade werden<br />

durch n + 1 Gleichungen <strong>in</strong> den Stützstellen beschrieben:<br />

y n (0) = 0,<br />

y n′′ (x i )<br />

(1 + y n′ (x i ) 2 ) 3 2<br />

= µf(x i ), i = 1, . . . , n − 1, y n (1) = 0.<br />

Das Ergebnis ist e<strong>in</strong> nichtl<strong>in</strong>eares Gleichungssystem mit n + 1 Gleichungen und den n + 1<br />

unbekannten Koeffizienten y 0 , . . . , y n .<br />

224


6.2 Diskretisierung<br />

6.2.1 Diskretes Modell mit globaler Interpolation<br />

Zum Aufstellen des diskreten Gleichungssystems müssen <strong>die</strong> Ableitungen von y n′ (x) und<br />

y n′′ (x) <strong>in</strong> den Gitterpunkten x i berechnet werden:<br />

n∑<br />

n∑<br />

y n′ (x i ) = y k ∂ x L (n)<br />

k (x i)<br />

} {{ }<br />

, y n′′ (x i ) = y k ∂ xx L (n)<br />

k (x i) .<br />

} {{ }<br />

k=0<br />

k=0<br />

=:a (1) (i,k,n)<br />

=:a (2) (i,k,n)<br />

Die Koeffizienten a (k) (i, k, n), also <strong>die</strong> k-te Ableitung der k-ten Lagrange-Basisfunktion<br />

im Punkt x i , müssen für jede Komb<strong>in</strong>ation von i, k und n berechnet werden. Für kle<strong>in</strong>e<br />

Indizes kann <strong>die</strong>se Berechnung e<strong>in</strong>fach analytisch geschehen. Für große Indizes muss <strong>die</strong>se<br />

Berechnung numerisch, z.B. mit der Newton’schen Darstellung aus Abschnitt 3.1.2 erfolgen.<br />

Diese Koeffizienten hängen nicht von der diskreten Funktion y n ab, sondern lediglich<br />

vom Ansatzgrad n und der Position der Stützstellen x i . Mit <strong>die</strong>ser Schreibweise gilt für<br />

das nichtl<strong>in</strong>eare Gleichungssystem:<br />

y 0 = 0,<br />

⎛ (<br />

n∑<br />

n<br />

) ⎞ 3<br />

a (2) ∑<br />

2 2<br />

(i, k, n)y k − µf(x i ) ⎝1 + a (1) (i, k, n)y k<br />

⎠ = 0, i = 1, . . . , n − 1,<br />

k=0<br />

k=0<br />

y n = 0.<br />

(6.8)<br />

Mit dem Koeffizientenvektor y ∈ R n+1 und entsprechender vektorwertiger Funktion F n :<br />

R n+1 → R n+1 schreiben wir kurz<br />

F n (y) = 0.<br />

6.2.2 Diskretes Modell mit stückweiser Interpolation<br />

Wir betrachten nun den stückweisen l<strong>in</strong>earen Ansatz y h (x). Im Gegensatz zur globalen<br />

Interpolation y n (x) dürfen wir <strong>die</strong>se Ansatzfunktion nicht <strong>in</strong> <strong>die</strong> Differentialgleichung (6.3)<br />

e<strong>in</strong>setzen, da y h (x) <strong>in</strong> den Stützstellen gar nicht differenzierbar ist!<br />

Stattdessen werden wir zunächst <strong>die</strong> Ableitungen y ′ (x) und y ′′ (x) <strong>in</strong> den Stützstellen durch<br />

geeignete Differenzenquotienten approximieren. In Abschnitt 3.3 haben wir für <strong>die</strong> erste<br />

Ableitung zunächst <strong>die</strong> e<strong>in</strong>seitigen Differenzenquotienten kennengelernt:<br />

y ′ (x) =<br />

y(x + h) − y(x)<br />

h<br />

+ h 2 y′′ (ξ) + O(h 2 ).<br />

Dieser Differenzenquotient ist von erster Ordnung. D.h., bei Halbierung der Gitterweite<br />

ist e<strong>in</strong>e Halbierung des Fehlers zu erwarten. Für den gewählten Diskretisierungsansatz<br />

mit stückweise l<strong>in</strong>earen Funktionen ist <strong>die</strong>se erste Ordnung nicht optimal. Denn Abschätzung<br />

(6.7) besagt, dass sich der Interpolationsfehler zwischen y h und y quadratisch <strong>in</strong> h<br />

verhält. Zur besseren Balancierung wählen wir den zentralen Differenzenquotienten:<br />

y ′ (x) =<br />

y(x + h) − y(x − h)<br />

2h<br />

+ h2<br />

6 y′′′ (ξ) + O(h 4 ).<br />

225


6 Anwendungsbeispiel: dünner Balken<br />

Zur Approximation der Ableitung <strong>in</strong> e<strong>in</strong>em Punkt x i ersetzen wir <strong>die</strong> Funktionswerte y(x)<br />

durch <strong>die</strong> Koeffizienten der Lagrange-Darstellung:<br />

(y h ) ′ (x i ) ≈ y i+1 − y i−1<br />

.<br />

2h<br />

Bei der zweiten Ableitung gehen wir entsprechend vor und approximieren mit dem zentralen<br />

Differenzenquotienten zweiter Ordnung:<br />

(y h ) ′′ (x i ) ≈ −2y i + y i+1 + y i−1<br />

h 2 .<br />

Wir setzen beide Approximationen <strong>in</strong> <strong>die</strong> Differentialgleichung (6.3) e<strong>in</strong> und erhalten das<br />

nichtl<strong>in</strong>eare Gleichungssystem:<br />

(<br />

−2y i + y i−1 + y i+1<br />

h 2 − µf(x i ) 1 +<br />

( yi+1 − y i−1<br />

2h<br />

) 2<br />

) 3<br />

2<br />

y 0 = 0,<br />

= 0, i = 1, . . . , n − 1,<br />

y n = 0.<br />

(6.9)<br />

Dieses Gleichungssystem können wir wieder kurz mit e<strong>in</strong>er nichtl<strong>in</strong>earen Funktion F h :<br />

R n+1 → R n+1 schreiben.<br />

6.2.3 Vergleich und Diskussion der beiden Modelle<br />

Beide Diskretisierungsansätze führen jeweils auf e<strong>in</strong> nichtl<strong>in</strong>eares Gleichungssystem mit<br />

n + 1 Unbekannten und n + 1 Gleichungen. Der Lösungsvektor y ∈ R n+1 steht jeweils für<br />

Approximationen an <strong>die</strong> Lösung <strong>in</strong> den Stützstellen y i ≈ y(x i ). Das zweite Modell F h (·)<br />

ist von zweiter Ordnung <strong>in</strong> der Gitterweite h. Dabei geht <strong>die</strong> Ordnung gleich zweimal e<strong>in</strong>:<br />

zunächst kann e<strong>in</strong>e stückweise l<strong>in</strong>eare Funktion höchstens quadratisch <strong>in</strong> h → 0 gegen y(x)<br />

konvergieren. Auf der anderen Seite beruht <strong>die</strong> Diskretisierung auf Differenzenquotienten<br />

zweiter Ordnung <strong>in</strong> h. Das Modell F n ist zunächst e<strong>in</strong>e Approximation von Grad n. Falls<br />

<strong>die</strong> Lösung y(x) h<strong>in</strong>reichend regulär ist, so ist durch (6.7) e<strong>in</strong>e weit bessere, nämlich<br />

exponentielle Konvergenz <strong>in</strong> n zu erwarten.<br />

Das erste Modell hat jedoch zwei wesentliche Nachteile: <strong>die</strong> Koeffizienten des nichtl<strong>in</strong>earen<br />

Gleichungssystems (6.8) können nicht direkt angegeben werden, da <strong>die</strong> Faktoren<br />

a (k) (i, j, n) jeweils (numerisch) berechnet werden müssen. Zweitens kommen <strong>in</strong> jeder Gleichung<br />

sämtliche Koeffizienten y 0 , . . . , y n vor. D.h., das Gleichungssystem F n (y) = 0 ist<br />

global gekoppelt: jeder Koeffizient y i steht <strong>in</strong> direkter Kopplung mit jedem anderen Koeffizienten<br />

y j . Bei Modell F h (y) = 0 koppeln dagegen nur direkt benachbarte Koeffizienten.<br />

Wir kommen auf <strong>die</strong>sen wesentlichen Punkt bei der Diskussion der Lösungsverfahren zurück.<br />

226


6.3 Lösungsverfahren<br />

6.3 Lösungsverfahren<br />

Wir betrachten nun allgeme<strong>in</strong> das Problem F (y) = 0 mit y ∈ R n+1 und F : R n+1 → R n+1 .<br />

Dieses nichtl<strong>in</strong>eare Gleichungssystem ist als Nullstellenproblem formuliert. Die Lösung<br />

kann nicht direkt bestimmt werden. Daher approximieren wir y mit Hilfe e<strong>in</strong>es Iterationsverfahrens.<br />

Hier bietet sich das Newton-Verfahren im R n+1 an. Wir wählen e<strong>in</strong>e<br />

Startlösung, z.B. y 0 = 0 und iterieren für t = 0, 1, 2, . . .<br />

y t+1 = y t − F ′ (y t ) −1 F (y t ).<br />

Die Ableitung A t := F ′ (y t ) ist e<strong>in</strong>e Matrix. Daher formulieren wir das Verfahren <strong>in</strong> Form<br />

e<strong>in</strong>er Defekt-Korrektur:<br />

A t (y t+1 − y t ) = −F (y t ), A t := F ′ (y t ).<br />

Zunächst müssen wir <strong>die</strong> Voraussetzungen des Newton-Verfahrens überprüfen. Die Funktion<br />

F (·) muss (siehe Satz 5.12):<br />

1. Stetig differenzierbar se<strong>in</strong>. Wir berechnen <strong>die</strong> Ableitungen von F n und F h :<br />

A t ij := ∂F i<br />

n<br />

= a (2) (i, j, n) − 3 (<br />

∂y j 2 µf(x ∑ n<br />

√<br />

i) 1 +<br />

∂F h<br />

i<br />

∂y j<br />

=<br />

) 2 ( n<br />

)<br />

∑<br />

a (1) (i, k, n)y k 2 a (1) (i, k, n)y k a (1) (i, j, n),<br />

k=0<br />

k=0<br />

⎧<br />

√<br />

( )<br />

1<br />

+ 3<br />

h 2 2h µf(x i) 1 +<br />

yi+1 −y 2 ( )<br />

i−1 yi+1 −y i−1<br />

2h<br />

2h<br />

j = i − 1,<br />

⎪⎨ − 2 j = i,<br />

h 2 √<br />

( )<br />

1<br />

− 3<br />

h<br />

⎪⎩<br />

2 2h µf(x i) 1 +<br />

yi+1 −y 2 ( )<br />

i−1 yi+1 −y i−1<br />

2h<br />

2h<br />

j = i + 1,<br />

0 sonst.<br />

Der Term unter der Wurzel ist stets größer gleich e<strong>in</strong>s. Daher existiert <strong>die</strong> Ableitung<br />

für alle y.<br />

2. E<strong>in</strong>e gleichmäßig beschränkte und <strong>in</strong>vertierbare Jacobimatrix besitzen. Die Invertierbarkeit<br />

<strong>die</strong>ser Matrix ist schwer zu prüfen. Im Fall F h ist <strong>die</strong> Analyse verhältnismäßig<br />

e<strong>in</strong>fach: für sehr kle<strong>in</strong>es h ist der erste Anteil der Matrix 2h −2 und −h −2 dom<strong>in</strong>ant.<br />

Die Matrix ist dann also e<strong>in</strong>e kle<strong>in</strong>e Störung der bereits bekannten Modellmatrix,<br />

deren Invertierbarkeit wir bereits kennen. E<strong>in</strong>e kle<strong>in</strong>e Störung e<strong>in</strong>er Matrix ist nach<br />

Hilfsatz 4.17 wieder <strong>in</strong>vertierbar.<br />

Da <strong>die</strong> Funktion F (·) nichtl<strong>in</strong>ear ist, hängt <strong>die</strong> Jacobi-Matrix von der Approximation y<br />

ab.<br />

227


6 Anwendungsbeispiel: dünner Balken<br />

6.4 E<strong>in</strong> Beispiel<br />

Wir werden mit e<strong>in</strong>em Beispiel den Diskretisierungsansatz prüfen. Als Beispiel wollen wir<br />

e<strong>in</strong>e Funktion f(x) sowie e<strong>in</strong>en Materialparameter µ so wählen, dass wir <strong>die</strong> exakte Lösung<br />

y(x) analytisch bestimmen können. So können wir <strong>die</strong> numerischen Approximationen<br />

y h sowie y n auf ihre Genauigkeit überprüfen. Da nichtl<strong>in</strong>eare Differentialgleichungen im<br />

Allgeme<strong>in</strong>en nicht e<strong>in</strong>fach analytisch gelöst werden können, gehen wir hier umgekehrt vor:<br />

wir wählen e<strong>in</strong>e gewünschte Lösung y(x) und bestimmen durch E<strong>in</strong>setzen <strong>in</strong> <strong>die</strong> Differentialgleichung<br />

(6.3) <strong>die</strong> zugehörige rechte Seite f(x). Wir wählen µ = 1 und bestimmen <strong>die</strong><br />

Lösung y(x) als y(x) = s<strong>in</strong>(2πx). Diese Lösung erfüllt <strong>die</strong> Randdaten y(0) = y(1) = 0. Es<br />

gilt:<br />

y ′′ (x)<br />

4 s<strong>in</strong>(2πx)π 2<br />

f(x) =<br />

= −<br />

.<br />

(1 + y ′ (x) 2 ) 3 2 (1 + 4 cos(2πx) 2 π 2 ) 3 2<br />

Im folgenden bestimmen wir <strong>die</strong> zugehörigen Approximationen y n sowie y h jeweils bei<br />

Unterteilung des Intervalls I = [0, 1] <strong>in</strong> n = 4 bzw. <strong>in</strong> n = 8 Teil<strong>in</strong>tervalle.<br />

6.4.1 Globaler Polynomansatz<br />

Wir starten das Newton-Verfahren mit der Anfangsnäherung y 0 = 0, da ke<strong>in</strong>e bessere<br />

Näherung bekannt ist. Im Folgenden führen wir solange Newton-Schritte y 1 , y 2 , . . . durch,<br />

bis e<strong>in</strong> Newton-Residuum |F (y t )| < 10 −6 erreicht wird.<br />

• Schritt 1. Es gilt für n = 4 sowie n = 8 bei y 0 = 0:<br />

‖F 4 (y 0 )‖ ≈ 10, ‖F 8 (y 0 )‖ ≈ 30.<br />

Die beiden E<strong>in</strong>träge F 0 = F 8 = 0 s<strong>in</strong>d Null, da hier <strong>die</strong> Gleichung e<strong>in</strong>fach durch<br />

y 0 = y n = 0 gegeben ist. Diese ist bereits erfüllt. Im nächsten Schritt berechnen wir<br />

<strong>die</strong> Jacobimatrix A 0 := f ′ (y 0 ):<br />

⎛<br />

⎞<br />

1 0 0 0 0<br />

14.67 −26.67 8 5.33 −1.33<br />

A n=4 =<br />

−1.33 21.33 −40 21.33 −1.33<br />

,<br />

⎜<br />

⎟<br />

⎝−1.33 5.33 8 −26.67 14.67 ⎠<br />

0 0 0 0 1<br />

228


6.4 E<strong>in</strong> Beispiel<br />

und im Fall n = 8:<br />

⎡<br />

1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0<br />

41.49 1.625 −265.6 489.6 −470.2 300.8 −124.8 30.43 −3.314<br />

−3.314 71.31 −117.7 12.80 72.0 −52.62 22.40 −5.486 0.5968<br />

0.5968 −8.686 92.80 −167.8 88.0 −3.200 −2.489 0.9143 −0.1143<br />

A 0 ≈<br />

−0.1143 1.625 −12.80 102.4 −182.2 102.4 −12.80 1.625 −0.1143<br />

−0.1143 0.9143 −2.489 −3.200 88.0 −167.8 92.80 −8.686 0.5968<br />

0.5968 −5.486 22.40 −52.62 72.0 12.80 −117.7 71.31 −3.314<br />

⎢<br />

⎣<br />

−3.314 30.43 −124.8 300.8 −470.2 489.6 −265.6 1.625 41.49<br />

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0<br />

Diese 9×9-Matrix ist mit cond 2 (A) n=4 ≈ 90 sowie cond 2 (A) n=8 ≈ 2 500 sehr schlecht<br />

konditioniert. Es zeigt sich, dass <strong>die</strong> Konditionszahl von A exponentiell <strong>in</strong> n steigt<br />

für n = 16 gilt bereits cond 2 (A) ≈ 10 6 , für n = 32 bereits 10 13 . Da <strong>die</strong> Matrizen A t<br />

weder dünn besetzt s<strong>in</strong>d noch e<strong>in</strong>e spezielle Struktur aufweisen bietet sich zum Lösen<br />

nur e<strong>in</strong> direktes Verfahren an. Beide Matrizen s<strong>in</strong>d nicht diagonaldom<strong>in</strong>ant. E<strong>in</strong>fache<br />

iterative Verfahren werden somit vermutlich nicht konvergieren. Wir verwenden <strong>die</strong><br />

LR-Zerlegung und berechnen:<br />

y 1 − y 0 = −[A 0 ] −1 F (y 0 ).<br />

Wir geben hier <strong>die</strong> Zwischenschritte nicht an.<br />

• Schritt 2:<br />

‖F 4 (y 1 )‖ 2 ≈ 4, ‖F 8 (y 1 )‖ 2 ≈ 10.<br />

⎤<br />

⎥<br />

⎦<br />

• Schritt 3:<br />

• Schritt 4:<br />

• Schritt 5:<br />

‖F 4 (y 2 )‖ 2 ≈ 0.7, ‖F 8 (y 2 )‖ 2 ≈ 5.<br />

‖F 4 (y 3 )‖ 2 ≈ 0.05, ‖F 8 (y 3 )‖ 2 ≈ 2.5<br />

‖F 4 (y 4 )‖ 2 ≈ 3 · 10 −4 , ‖F 8 (y 4 )‖ 2 ≈ 0.9<br />

• Schritt 6:<br />

‖F 4 (y 5 )‖ 2 ≈ 1 · 10 −8 , ‖F 8 (y 5 )‖ 2 ≈ 0.03.<br />

Für n = 4 ist das gewünschte Residuum erreicht und <strong>die</strong> approximative Lösung<br />

lautet:<br />

⎛ ⎞<br />

0<br />

0.70853<br />

y n=4 ≈<br />

1.0025<br />

⎜ ⎟<br />

⎝0.70853⎠<br />

0<br />

229


6 Anwendungsbeispiel: dünner Balken<br />

Diese Lösung ist mit dem folgenden Fehler versehen:<br />

max<br />

i=0,...,n<br />

|yi n=4 − y(x i )|<br />

= 0.0025,<br />

|y(x i )|<br />

• Schritt 7: wir fahren mit n = 8 fort:<br />

‖F 8 (y 6 )‖ 2 ≈ 5 · 10 −6 ,<br />

• Schritt 8:<br />

mit der Lösung:<br />

‖F 8 (y 7 )‖ 2 ≈ 10 −10 ,<br />

⎛ ⎞<br />

0<br />

0.382681<br />

0.707105<br />

y n=8 0.923878<br />

≈<br />

0.999998<br />

.<br />

0.923878<br />

0.707105<br />

⎜ ⎟<br />

⎝0.382681⎠<br />

0<br />

Diese Lösung ist mit dem folgenden relativen Fehler versehen:<br />

max<br />

i=0,...,n<br />

|yi n=8 − y(x i )|<br />

= 0.0000054.<br />

|y(x i )|<br />

Mit den berechneten Koeffizienten y kann das Lösungspolynom <strong>in</strong> der Lagrangedarstellung<br />

angegeben werden. Durch Verdoppelung der Anzahl der Unbekannten von n = 4 auf n = 8<br />

wird <strong>die</strong> Approximation um den Faktor 500 verbessert! Dieser große Zugew<strong>in</strong>n liegt an<br />

der exponentiellen Fehlerabschätzung der globalen Interpolation 6.7.<br />

6.4.2 Stückweiser Polynomansatz<br />

Wir wählen wieder <strong>die</strong> Diskretisierungen n = 4 sowie n = 8 und starten <strong>die</strong> Iteration<br />

mit y 0 = 0. Wir iterieren mit dem Newton-Verfahren bis das Residuum <strong>die</strong> Schwelle 10 −6<br />

erreicht:<br />

• Schritt 1: Es gilt mit (6.9) für das erste Residuum<br />

‖F 4 (y 0 )‖ ∞ ≈ 10, ‖F 8 (y 0 )‖ ≈ 10.<br />

230


6.4 E<strong>in</strong> Beispiel<br />

Die Jacobi-Matrizen ergeben sich zu<br />

im Fall von n = 4 und<br />

⎛<br />

⎞<br />

1 0 0 0 0<br />

16 −32 16 0 0<br />

A 4 :=<br />

0 16 −32 16 0<br />

,<br />

⎜<br />

⎟<br />

⎝ 0 0 16 −32 16⎠<br />

0 0 0 0 1<br />

⎛<br />

⎞<br />

1 0 0 0 0 0 0 0 0<br />

64 −128 64 0 0 0 0 0 0<br />

0 64 −128 64 0 0 0 0 0<br />

A 8 0 0 64 −128 64 0 0 0 0<br />

:=<br />

0 0 0 64 −128 64 0 0 0<br />

,<br />

0 0 0 0 64 −128 64 0 0<br />

0 0 0 0 0 64 −128 64 0<br />

⎜<br />

⎟<br />

⎝ 0 0 0 0 0 0 64 −128 64⎠<br />

0 0 0 0 0 0 0 0 1<br />

im Fall n = 8. Für <strong>die</strong> Konditionszahlen gilt cond 2 (A 4 ) ≈ 90 und cond 2 (A 8 ) ≈<br />

500. Die Matrizen s<strong>in</strong>d Tridiagonal-Matrizen. Das LGS kann z.B. sehr effizient mit<br />

der LR-Zerlegung für Bandmatrizen, <strong>in</strong> <strong>die</strong>sem Fall mit dem Thomas-Algorithmus<br />

(Satz 4.37) gelöst werden. Für y 0 = 0 erfüllen darüber h<strong>in</strong>aus beide Matrizen das<br />

schwache Zeilensummenkriterium (siehe Satz 5.28), d.h., Jacobi- sowie Gauß-Seidel-<br />

Verfahren könnten ebenso e<strong>in</strong>gesetzt werden. Wir wählen hier den direkten Löser.<br />

Wir berechnen das Update:<br />

A(y 1 − y 0 ) = −F (y 0 ),<br />

ohne <strong>die</strong> Zwischenschritte hier anzugeben.<br />

• Schritt 2: es gilt:<br />

‖F 4 (y 1 )‖ 2 ≈ 1.63, ‖F 8 (y 1 )‖ 2 ≈ 2.38<br />

• Schritt 3: es gilt:<br />

‖F 4 (y 2 )‖ 2 ≈ 0.22, ‖F 8 (y 2 )‖ 2 ≈ 0.73<br />

• Schritt 4: es gilt:<br />

‖F 4 (y 3 )‖ 2 ≈ 0.01, ‖F 8 (y 3 )‖ 2 ≈ 0.21<br />

• Schritt 5: es gilt:<br />

‖F 4 (y 4 )‖ 2 ≈ 10 −10 , ‖F 8 (y 4 )‖ 2 ≈ 0.015<br />

231


6 Anwendungsbeispiel: dünner Balken<br />

Die Lösung y n=4 ist gegeben als:<br />

⎛ ⎞<br />

0<br />

0.5373<br />

y n=4 ≈<br />

0.8457<br />

,<br />

⎜ ⎟<br />

⎝0.5473⎠<br />

0<br />

und ist mit folgendem relativen Fehler versehen:<br />

‖y − y n=4 ‖ ∞<br />

‖y‖ ∞<br />

≈ 0.17.<br />

• Schritt 6: wir fahren mit n = 8 fort:<br />

‖F 8 (y 5 )‖ 2 ≈ 5 · 10 −4 ,<br />

• Schritt 7: für n = 8:<br />

mit der Approximation:<br />

mit e<strong>in</strong>em Fehler:<br />

‖F 8 (y 6 )‖ 2 ≈ 10 −10 ,<br />

⎛ ⎞<br />

0<br />

0.320<br />

0.604<br />

y n=8 0.808<br />

=<br />

0.885<br />

,<br />

0.808<br />

0.604<br />

⎜ ⎟<br />

⎝0.320⎠<br />

0<br />

‖y − y n=8 ‖ ∞<br />

‖y‖ ∞<br />

≈ 0.11.<br />

Da der Fehler bei der zweiten Approximation n = 8 immer noch sehr groß ist, bestimmen<br />

wir - ohne <strong>die</strong> Zwischenschritte anzugeben - weitere Approximationen. Hier zeigt sich<br />

quadratische Konvergenz <strong>in</strong> h:<br />

n ‖y n − y‖ ∞ /‖y‖ ∞ ‖y h − y‖ ∞ /‖y‖ ∞<br />

4 2.5 · 10 −3 2 · 10 −1<br />

8 5 · 10 −6 1 · 10 −1<br />

16 2 · 10 −2<br />

32 5 · 10 −3<br />

232


6.4 E<strong>in</strong> Beispiel<br />

6.4.3 Analyse und Vergleich<br />

Beide Diskretisierungsansätze eignen sich pr<strong>in</strong>zipiell zur Approximation des Anwendungsproblems.<br />

Es zeigen sich jedoch wesentliche Unterschiede. Das globale Polynom vierten<br />

Grades erzeugt etwa <strong>die</strong> gleiche Approximationsgüte wie das stückweise Polynom mit<br />

n = 32 Teil<strong>in</strong>tervallen! Dieser große Unterschied beruht auf der exponentiellen Konvergenzrate<br />

der Interpolation im Fall n → ∞.<br />

Die gute Approximation muss durch e<strong>in</strong>e aufwändige Lösung erkauft werden: <strong>in</strong> jedem<br />

Schritt der Newton-Iteration muss e<strong>in</strong> l<strong>in</strong>eares Gleichungssystem mit voll besetzter Matrix<br />

gelöst werden. Spezielle Bandstrukturen können nicht ausgenutzt werden. Der Stückweise<br />

Ansatz h<strong>in</strong>gegen erzeugt sehr dünne Bandmatrizen, <strong>die</strong> auch für sehr große Systeme effizient<br />

<strong>in</strong>vertiert werden können. H<strong>in</strong>zu kommt, dass der globale Polynomansatz e<strong>in</strong>e sehr<br />

schlecht konditionierte Matrix erzeugt. Dies spielt bei den hier betrachteten sehr kle<strong>in</strong>en<br />

Problemen noch ke<strong>in</strong>e wesentliche Rolle. Die schlechte Kondition kommt aber z.B. bei<br />

der Diskretisierung von zwei- oder dreidimensionalen Problemen schnell zu tragen. Der<br />

globale Polynomansatz wird bei n > 20 aufgrund von Rundungsfehleranfälligkeit versagen.<br />

Der stückweise Ansatz kann (und wird) auch für sehr große n > 1 000 000 Systeme<br />

durchgeführt.<br />

Schließlich wird <strong>die</strong> hier dargestellte Situation durch das gewählte Beispiel verzerrt. Die<br />

Lösung y(x) ist analytisch vorgegeben und es gilt y ∈ C ∞ (I). Nur bei <strong>die</strong>ser hohen Differenzierbarkeit<br />

kann der globale Polynomansatz se<strong>in</strong>e volle Ordnung erreichen. In der<br />

praktischen Anwendung ist <strong>die</strong> Lösung meist nicht bekannt. Stattdessen werden Kräfte<br />

vorgeben. E<strong>in</strong>e übliche Kraft kann z.B. <strong>die</strong> stückweise Belastung des Balkens se<strong>in</strong>:<br />

⎧<br />

⎪⎨ 0 x < 1 4<br />

f(x) =<br />

1<br />

−1<br />

4<br />

⎪⎩<br />

≤ x ≤ 1 .<br />

2<br />

0 x > 1 2<br />

Diese Funktion f ist nicht mehr differenzierbar, sie ist sogar nicht mehr stetig. Es zeigt sich,<br />

dass <strong>in</strong> <strong>die</strong>sem Fall auch <strong>die</strong> Lösung y(x) nicht mehr über beliebige Regularität verfügt. Die<br />

Vere<strong>in</strong>fachung y ′′ (x) ≈ f(x) legt nahe, dass y(x) <strong>die</strong> zwei-fache Stammfunktion zu f(x)<br />

ist und dass daher y ∈ C 1 (I) gilt. In <strong>die</strong>sem Fall kann der globale Polynomansatz nicht<br />

mehr <strong>die</strong> volle Ordnung erreichen und e<strong>in</strong>e stückweise Diskretisierung ist überlegen. In<br />

Abbildung 6.3 zeigen wir für <strong>die</strong>ses Beispiel <strong>die</strong> Lösungen zu n = 4 und n = 8, jeweils mit<br />

globalem Polynomansatz und mit stückweise def<strong>in</strong>iertem Ansatz. Der globale Ansatz zeigt<br />

e<strong>in</strong> unphysikalisches Verhalten: obwohl <strong>die</strong> Kraft nur nach unten geht, wird der Balken<br />

am Rand nach oben ausgelenkt. Dies ist gerade <strong>die</strong> numerische Instabilität der globalen<br />

Lagrange-Interpolation an den Intervallenden!<br />

233


6 Anwendungsbeispiel: dünner Balken<br />

Abbildung 6.3:<br />

Oben: Diskretisierung mit globalem Polynomansatz. L<strong>in</strong>ks n = 4 und<br />

rechts n = 8. Unten: Diskretisierung mit stückweise l<strong>in</strong>earen Polynomen.<br />

234


Index<br />

l 1 -Norm, 110<br />

Ahnliche Matrizen, 176<br />

Approximation, 47<br />

Aufwand, elementare Operation, 3<br />

Ausloschung, 13<br />

Banach’scher Fixpunktsatz, 182<br />

Banachraum, 111<br />

Bandmatrix, 134<br />

Basis, 109<br />

Besetzungsmuster, 134<br />

Boxregel, 72<br />

Cauchy-Schwarz Ungleichung, 111<br />

Charakteristisches Polynom, 165<br />

Cholesky-Zerlegung, 132<br />

Cuthill-McKee, 137<br />

Darstellungsfehler, 12<br />

Defekt, 32, 140<br />

L<strong>in</strong>eares Gleichungssystem, 141<br />

Defektkorrektur, 140, 142<br />

denormalisierte Zahlen, 9<br />

Diagonaldom<strong>in</strong>anz, 131<br />

strikte, 200<br />

Differenzenquotien<br />

e<strong>in</strong>seitig, 64<br />

Differenzenquotient<br />

zentral, 64<br />

zweite Ableitung, 65<br />

direktes Verfahren, 116<br />

Divi<strong>die</strong>rte Differenzen, 52<br />

Eigenvektor, 112<br />

Eigenwert, 112<br />

Eigenwerte, 164<br />

E<strong>in</strong>seitiger Differenzenquotient, 64<br />

elementare Operation, 3<br />

Energienorm, 210<br />

euklidische Norm, 110<br />

euklidischer Raum, 111<br />

Euler-Maclaur<strong>in</strong>sche Summenformel, 95<br />

Exponent, 8<br />

Extrapolation zum Limes, 67<br />

Fixkommadarstellung, 8<br />

float<strong>in</strong>g-po<strong>in</strong>t process<strong>in</strong>g unit, 9<br />

FLOPS, 14<br />

Fourier-Entwicklung, 98<br />

FPU, 9<br />

Frobeniusmatrix, 122<br />

Frobeniusnorm, 114<br />

Gaus-Legendre, 83<br />

Gaus-Seidel-Verfahren, 199<br />

Gaus-Tschebyscheff, 90<br />

Gauss-Quadratur, 81<br />

Gerschgor<strong>in</strong>-Kreise, 166<br />

Givens-Rotation, 155<br />

Gleitkommadarstellung, 8<br />

GPU, 10<br />

Gra<strong>die</strong>ntenverfahren, 212<br />

Gram-Schmidt Verfahren, 146<br />

graphics process<strong>in</strong>g unit, 10<br />

Hessenberg-Matrix, 157, 177<br />

Hilbertraum, 111<br />

Horner-Schema, 2, 3<br />

Householder-Transformation, 150<br />

IEEE 754, 9<br />

Interpolation, 47<br />

Hermite, 57<br />

Lagrangesche Darstellung, 51<br />

Newtonsche Darstellung, 52<br />

235


Index<br />

Intervallschachtelung, 24<br />

Inverse Iteration, 172<br />

Irreduzibel, 201<br />

iterative Verfahren, 116<br />

Jacobi-Matrix, 186<br />

Jacobi-Verfahren, 198<br />

kle<strong>in</strong>ste Fehlerquadrate, 159<br />

Konditionszahl, 6<br />

Matrix, 117<br />

Konditionszahl e<strong>in</strong>er Matrix, 119<br />

Kontraktion, 182<br />

Konvergenz<br />

iterativer Verfahren, 36<br />

Kronecker-Symbol, 51<br />

Lagrange Interpolationsaufgabe, 50<br />

Landau-Symbole, 4<br />

Least-Squares Losung, 159<br />

Legendre-Polynome, 89<br />

L<strong>in</strong>e-Search, 34, 194<br />

L<strong>in</strong>eares Gleichungssystem<br />

uberbestimmt, 158<br />

Lipschitz-stetig, 182<br />

LR-Verfahren zur Eigenwertberechnung,<br />

175<br />

Mantisse, 8<br />

Masch<strong>in</strong>engenauigkeit, 12<br />

Matrix<br />

dunn besetzt, 134<br />

orthogonal, 145<br />

Matrixnorm, 114<br />

<strong>in</strong>duzierte, 114<br />

vertraglich, 114<br />

Maximumsnorm, 110<br />

Mittelpunktsregel, 72<br />

Nachiteration, 142<br />

Neville-Schema, 53<br />

Newton-Cotes Formeln, 77<br />

Newton-Verfahren, 187<br />

1D, 27<br />

gedampftes, 33<br />

vere<strong>in</strong>fachtes, 33<br />

Norm, 109<br />

l 1 , 110<br />

euklidisch, 110<br />

Normalgleichungssystem, 159<br />

Normaquivalenz, 110<br />

Nullstellensuche, 19<br />

Orthogonalbasis, 111<br />

Orthonormalbasis, 111<br />

Parallelogrammidentitat, 111<br />

Pivot-Element, 125<br />

Pivot-Matrizen, 126<br />

Pivotisierung, 125<br />

Polynomauswertung, 2<br />

Postprocess<strong>in</strong>g, 68<br />

Potenzmethode, 170<br />

Prahilbertraum, 99, 111<br />

QR-Verfahren zur Eigenwertberechnung,<br />

175<br />

QR-Zerlegung, 146<br />

Quadratur, 72<br />

Quadraturgewicht, 72<br />

Rayleigh-Quotient, 165<br />

Relaxation, 204<br />

Residuum, 32<br />

Ruckwartse<strong>in</strong>setzen, 120<br />

Satz von Newton-Kantorovich, 188<br />

Schrankensatz, 184<br />

Simpson-Regel, 76<br />

Skalarprodukt, 110<br />

SOR-Verfahren, 204<br />

Sparsity Pattern, 134<br />

Spektralnorm, 114<br />

Spektralradius, 112<br />

Spektrum, 112<br />

Spl<strong>in</strong>e, 62<br />

Stutzstellen, 72<br />

Taylor-Entwicklung, 49<br />

Trapezregel, 72<br />

Tridiagonalmatrix, 134<br />

Tschebyscheff-Polynome, 91<br />

236


Index<br />

Uberrelaxation, 204<br />

unitarer Raum, 111<br />

Unterrelaxation, 204<br />

Zeilensummenkriterium<br />

schwaches, 201<br />

starkes, 200<br />

Zentraler Differenzenquotient, 64<br />

237

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!