DOKK Library

Einführung in die Numerik

Authors Dr. Ole Klein

License CC-BY-SA-4.0

Plaintext
          Einführung in die Numerik

                            Dr. Ole Klein
Interdisziplinäres Zentrum für Wissenschaftliches Rechnen (IWR)
                       Universität Heidelberg
               email: ole.klein@iwr.uni-heidelberg.de

            Basierend auf den Vorlesungsunterlagen
                  von Prof. Dr. Peter Bastian

                   Wintersemester 2021/22
Lizenz und Copyright

                       Dieses Werk ist unter der Creative Commons-Lizenz 4.0 (CC BY-SA)
                       veröffentlicht.

Bis auf einzelne Ausnahmen, die jeweils entsprechend gekennzeichnet sind, gilt für den Inhalt
dieses Skripts:

Text, Illustrationen © 2021 Ole Klein, Peter Bastian

Falls Sie in Ihren wissenschaftlichen Arbeiten Bezug auf den Inhalt dieses Skripts nehmen
möchten, referenzieren Sie es bitte via “Klein, O., and Bastian, P., 2021: Einführung in die
Numerik, Lecture Notes, Heidelberg University” unter Angabe des Links, unter dem dieses
Dokument online zu finden ist:
                 https://conan.iwr.uni-heidelberg.de/people/oklein/
                                                                                                                            Inhaltsverzeichnis


Inhaltsverzeichnis

1 Motivation                                                                                                                                             3
  1.1 Die Wissenschaftliche Methode         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    3
  1.2 Ein Beispiel . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    5
  1.3 Lösungsansätze . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    7
  1.4 Numerische Resultate . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9
  1.5 Weitere Anwendungen . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9
  1.6 Ausblick . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13

2 Fließkommazahlen                                                                                                                                      15
  2.1 Zahlendarstellung . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
  2.2 Runden und Rundungsfehler .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
  2.3 Fließkommaarithmetik . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
  2.4 Fehleranalyse . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
  2.5 Die quadratische Gleichung .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   28
  2.6 Auslöschung . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   29
  2.7 Die Exponentialfunktion . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   30
  2.8 Rekursionsformel für Integrale    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33

3 Motivation linearer Gleichungssysteme                                                                                                                 37
  3.1 Strömung in Rohrleitungsnetzen . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37
  3.2 Die Kirchhoffschen Gesetze . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
  3.3 Das Knotenpotentialverfahren . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
  3.4 Partielle Differentialgleichungen . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
  3.5 Radiosity-Methode in der Computergraphik                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   45

4 Kondition linearer Gleichungssysteme                                                                                                                  50
  4.1 Lösbarkeit linearer Gleichungssysteme                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   50
  4.2 Vektornormen . . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   51
  4.3 Matrixnormen . . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
  4.4 Eigenwerte und Eigenvektoren . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
  4.5 Die Spektralnorm . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   57
  4.6 Positiv definite Matrizen . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
  4.7 Störungstheorie . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   59

5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme                                                                                           61
  5.1 Dreieckssysteme (gestaffelte Gleichungssysteme) . . . . . .                                       .   .   .   .   .   .   .   .   .   .   .   .   61
  5.2 Gauß-Elimination . . . . . . . . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   61
  5.3 LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   66
  5.4 Rundungsfehleranalyse der LR-Zerlegung . . . . . . . . . .                                        .   .   .   .   .   .   .   .   .   .   .   .   71
  5.5 Pivotisierung . . . . . . . . . . . . . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   76
  5.6 Spezielle Systeme . . . . . . . . . . . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   81
  5.7 Nichtreguläre Systeme . . . . . . . . . . . . . . . . . . . .                                     .   .   .   .   .   .   .   .   .   .   .   .   84



                                                                                                                                                         1
Inhaltsverzeichnis


6 Interpolation und Approximation                                                                                                                       92
  6.1 Einführung . . . . . . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    92
  6.2 Polynominterpolation . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    93
  6.3 Anwendungen der Polynominterpolation . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   100
  6.4 Bernstein-Polynome und Kurvendarstellung                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   104
  6.5 Splines . . . . . . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   109
  6.6 Trigonometrische Interpolation . . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   114
  6.7 Gauß-Approximation von Funktionen . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   120
  6.8 Tschebyscheff-Approximation . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   128

7 Numerische Integration                                                                                                                               131
  7.1 Einführung . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   131
  7.2 Newton-Cotes-Formeln . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   131
  7.3 Summierte Quadraturformeln .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   135
  7.4 Quadraturen höherer Ordnung          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   137
  7.5 Ausblick . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   139

8 Iterative Lösung von Gleichungssystemen                                                                                                              141
  8.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   141
  8.2 Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . .                                     .   .   .   .   .   .   .   .   .   .   .   .   142
  8.3 Sukzessive Approximation (Fixpunktiteration) . . . . . . .                                       .   .   .   .   .   .   .   .   .   .   .   .   145
  8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme                                        .   .   .   .   .   .   .   .   .   .   .   .   146

9 Schlussbemerkungen                                                                                                                                   156




2
1 Motivation

1.1 Die Wissenschaftliche Methode

   • Experiment: Beobachte (und messe) was passiert.

   • Theorie: Versuche die Beobachtung mit Hilfe von Modellen zu erklären.

   • Theorie und Experiment werden sukzessive verfeinert und verglichen, bis eine akzeptable
     Übereinstimmung vorliegt.

   • In Naturwissenschaft und Technik liegen Modelle oft in Form mathematischer Gleichun-
     gen vor, z. B. gewöhnliche oder partielle Differentialgleichungen.

   • Oft können die Modellgleichungen nicht geschlossen (mit Papier und Bleistift, oder Ma-
     thematica . . . ) gelöst werden.

⇒ Numerische Simulation und Optimierung


Simulation


Simulation: Gleichungen numerisch lösen.

   • Undurchführbare Experimente ermöglichen (z.B. Galaxienkollisionen).

   • Einsparung teurer Experimente (z.B. Windkanal).

   • Parameterstudien schneller durchführbar.

   • (Automatische) Optimierung von Prozessen.

   • Identifikation von Modellparametern aus Messungen.

   • Abschätzung von Unsicherheiten.

   • Vielfältiger Einsatz in Naturwissenschaft, Technik und Industrie: Strömungsberechnung
     (Wetter, Klima), Festigkeit von Bauwerken . . .

   • Grundlage für alle diese Anwendungen sind numerische Algorithmen!

   • Auch Informatiker sind beteiligt: Software-Engineering, High-Performance (Parallel) Com-
     puting, . . .

Die prinzipielle Herangehensweise im Wissenschaftlichen Rechnen zeigt Abbildung 1. Die er-
folgreiche Durchführung einer Simulation erfordert die interdisziplinäre Zusammenarbeit von
Naturwissenschaftlern oder Ingenieuren mit Mathematikern und Informatikern.



                                                                                           3
1 Motivation




                         konzeptionelles Modell              mathematisches Modell

                         wesentliche Prozesse                algebraische Gleichungen
                                                             Differentialgleichungen
     Realität            Transport von Materie               Wahrscheinlichkeiten
                         Wellenausbreitung
                         Reaktion                            Objekte: reelle Zahlen,
                         Phasenübergänge                               Funktionen, ...
                         ...

    ?
                          Computerprogramm                     numerisches Modell

                         Komplexe SW                         Näherungsverfahren
                         SW−Engineering, Qualität            zur Lösung oben
    Simulation
                         Effizienz ("Teraflop")              genannter Gleichungen
                         High Performance Comp.
                         Visualisierung




            Abbildung 1: Prinzipielles Vorgehen im Wissenschaftlichen Rechnen.




4
                                                                              1.2 Ein Beispiel


Fehlerquellen


Unterschiede zwischen Experiment und Simulation haben verschiedene Gründe:

   • Modellfehler: Ein relevanter Prozess wurde nicht oder ungenau modelliert (Temp. kon-
     stant, Luftwiderstand vernachlässigt, . . . )

   • Datenfehler: Messungen von Anfangsbedingungen, Randbedingungen, Werte für Parame-
     ter sind fehlerbehaftet.

   • Abschneidefehler: Abbruch von Reihen oder Iterationsverfahren, Approximation von Funk-
     tionen (z.B. stückweise Polynome).

   • Rundungsfehler: Reelle Zahlen werden im Rechner genähert dargestellt.

Untersuchung von Rundungsfehlern und Abschneidefehlern ist ein zentraler Aspekt der Vorle-
sung!



1.2 Ein Beispiel

Pisa, 1582


Der Student Galileo Galilei sitzt in der Kirche und ihm ist langweilig. Er beobachtet den
langsam über ihm pendelnden Kerzenleuchter und denkt: „Wie kann ich nur die Bewegung
dieses Leuchters beschreiben?“.



Konzeptionelles Modell


Welche Eigenschaften (physikalischen Prozesse) sind für die gestellte Frage relevant?

   • Leuchter ist ein Massenpunkt mit der Masse m.

   • Der Faden der Länge ` wird als rigide und masselos angenommen.

   • Der Luftwiderstand wird vernachlässigt.

Nun entwickle mathematisches Modell.



                                                                                            5
1 Motivation


                                      (0, 0)

                                          φ


                                                   `


                                                        m




Kräfte

    • Annahme: Pendel läuft auf Kreisbahn: Nur Tangentialkraft ist relevant.

    • Tangentialkraft bei Auslenkung φ:
                                                                        
                                                             cos(φ)
                                F~T (φ) = −m g sin(φ)                        .
                                                             sin(φ)


    • Also etwa:
                                                             
                                                         0
                                       F~T (0) = −mg             ,
                                                         0
                                                                
                                                             0
                                     F~T (π/2) = −mg                 .
                                                             1


    • Vorzeichen kodiert Richtung.


                                     (0, 0)

                                        φ


                                               `


                                                F~T m
                                                       F~N
                                                    F~



6
                                                                                1.3 Lösungsansätze


Weg, Geschwindigkeit, Beschleunigung

   • Weg s(t), Geschwindigkeit v(t), Beschleunigung a(t) erfüllen:

                                              ds(t)               dv(t)
                                     v(t) =         ,    a(t) =         .
                                               dt                  dt

   • Für den zurückgelegten Weg (mit Vorzeichen!) gilt s(t) = `φ(t).
   • Also für die Geschwindigkeit

                                          d s(φ(t))   d `φ(t)    dφ(t)
                                 v(t) =             =         =`
                                              dt         dt       dt

   • und die Beschleunigung
                                                d v(φ(t))    d2 φ(t)
                                       a(t) =             =`         .
                                                    dt        dt2

Bewegungsgleichung

   • Einsetzen in das 2. Newton’sche Gesetz m a(t) = F (t) liefert nun:

                                     d2 φ(t)
                                m`           = −mg sin(φ(t))        ∀t > t0 .
                                      dt2

   • Die Kraft ist hier skalar (vorzeichenbehafteter Betrag der Tangentialkraft), da wir nur
     den zurückgelegten Weg betrachten.
   • Ergibt gewöhnliche Differentialgleichung 2. Ordnung für die Auslenkung φ(t):

                                 d2 φ(t)    g
                                     2
                                         = − sin(φ(t))            ∀t > t0 .                  (1.1)
                                  dt        `

   • Eindeutige Lösung erfordert zwei Anfangsbedingungen (t0 = 0):

                                                         dφ
                                       φ(0) = φ0 ,          (0) = u0 .                       (1.2)
                                                         dt

1.3 Lösungsansätze

Lösung bei kleiner Auslenkung

   • Allgemeine Gleichung für das Pendel ist schwer „analytisch“ zu lösen.
   • Für kleine Winkel φ gilt
                                                 sin(φ) ≈ φ,
     z.B. sin(0, 1) = 0, 099833417.



                                                                                                7
1 Motivation


    • Diese Näherung reduziert die Gleichung auf

                                           d2 φ(t)    g
                                                   = − φ(t).
                                            dt2       `

    • Ansatz φ(t) = A cos(ωt) liefert mit φ(0) = φ0 , dφ
                                                      dt (0) = 0 dann die aus der Schule bekannte
      Formel                                           r 
                                                            g
                                        φ(t) = φ0 cos         t                              (1.3)
                                                            `


Volles Modell; Verfahren 1

    • Löse das volle Modell mit zwei numerischen Verfahren.
    • Ersetze Gleichung zweiter Ordnung durch zwei Gleichungen erster Ordnung:

                     dφ(t)                        d2 φ(t)   du(t)    g
                           = u(t),                        =       = − sin(φ(t)).
                      dt                           dt2       dt      `

    • Ersetze Ableitungen durch Differenzenquotienten:
                              φ(t + ∆t) − φ(t)   dφ(t)
                                               ≈       = u(t),
                                    ∆t            dt
                              u(t + ∆t) − u(t)   du(t)     g
                                               ≈       = − sin(φ(t)).
                                     ∆t           dt       `

    • Mit φn = φ(n∆t), un = u(n∆t) erhält man Rekursion (Euler):

                        φn+1 = φn + ∆t un                               φ0 = φ0              (1.4)
                        un+1 = un − ∆t (g/`) sin(φn )                   u0 = u0              (1.5)


Volles Modell; Verfahren 2

    • Nutze Näherungsformel für die zweite Ableitung, sogenannter zentraler Differenzenquo-
      tient:
                    φ(t + ∆t) − 2φ(t) + φ(t − ∆t)    d2 φ(t)    g
                                    2
                                                  ≈      2
                                                             = − sin(φ(t)).
                                 ∆t                    dt       `
    • Auflösen nach φ(t + ∆t) ergibt Rekursionsformel (n ≥ 2):

                               φn+1 = 2φn − φn−1 − ∆t2 (g/`) sin(φn )                        (1.6)

      mit der Anfangsbedingung

                                     φ0 = φ0 ,    φ1 = φ0 + ∆t u0 .                          (1.7)

      (Die zweite Bedingung kommt aus dem Eulerverfahren oben).



8
                                                                                               1.4 Numerische Resultate


                                             Konvergenz Differenzenquotient (Euler), phi=0.1
                            0.2
                                                                          vereinfachtes Modell
                                                                                        dt=0.2
                           0.15                                                         dt=0.1
                                                                                       dt=0.01
                                                                                      dt=0.001
                            0.1

                           0.05
              Auslenkung




                              0

                           -0.05

                            -0.1

                           -0.15

                            -0.2
                                   0   0.5        1       1.5      2        2.5       3         3.5    4
                                                                  Zeit



Abbildung 2: Simulation des Fadenpendels (volles Modell) bei φ0 = 0.1 ≈ 5.7◦ mit dem Euler-
             verfahren.


1.4 Numerische Resultate

Abbildung 2 zeigt das Eulerverfahren in Aktion. Für festen Zeitpunkt t und ∆t → 0 konvergiert
das Verfahren. Für festes ∆t und t → ∞ nimmt das Verfahren immer größere Werte an.
Abbildung 3 zeigt zum Vergleich das zentrale Verfahren für die gleiche Anfangsbedingung. Im
Unterschied zum expliziten Euler scheint der Fehler bei festem ∆t und t → ∞ nicht unbe-
schränkt zu wachsen.
Nun können wir das volle Modell mit dem vereinfachten Modell vergleichen und sehen welche
Auswirkungen die Annahme sin φ ≈ φ auf das Ergebnis hat. Abbildung 4 zeigt die numerische
Simulation. Selbst bei 28.6◦ ist die Übereinstimmung noch einigermaßen passabel. Für größere
Auslenkungen ist das vereinfachte Modell völlig unbrauchbar, die Form der Schwingung ist kein
Kosinus mehr.


1.5 Weitere Anwendungen

Eine Geothermieanlage

Wir betrachten die Modellierung und Simulation einer Geothermieanlage. Den schematischen
Aufbau zeigt die Abbildung 5. Kaltes Wasser fließt in einer Bohrung nach unten, wird erwärmt
und in einem isolierten Innenrohr wieder nach oben geführt.

   • Grundwasserströmung gekoppelt mit Wärmetransport.



                                                                                                                     9
1 Motivation


                                                 Konvergenz zentriertes Verfahren, phi=0.1
                             0.15
                                                                            vereinfachtes Modell
                                                                                          dt=0.2
                                                                                          dt=0.1
                              0.1                                                        dt=0.01
                                                                                        dt=0.001

                             0.05
                Auslenkung




                                0


                             -0.05


                              -0.1


                             -0.15
                                     0     0.5     1        1.5       2       2.5      3       3.5   4
                                                                     Zeit



Abbildung 3: Simulation des Fadenpendels (volles Modell) bei φ0 = 0.1 ≈ 5.7◦ mit dem zen-
             tralen Verfahren.


     • Welche Leistung erzielt so eine Anlage?



Modell für eine Geothermieanlage

     • Strömung des Wassers in und um das Bohrloch

                                                       ∇ · u = f,
                                                                    K
                                                          u=−         (∇p − %w G)
                                                                    µ


     • Transport der Wärme durch Konvektion und Wärmeleitung

                                         ∂(ce %e T )
                                                     + ∇ · q + cw %w f T = g,
                                            ∂t
                                                                       q = cw %w uT − λ∇T

       in Abhängigkeit diverser Parameter: Bodendurchlässigkeit, Wärmekapazität, Dichte, Wär-
       meleitfähigkeit, Pumprate sowie Rand- und Anfangsbedingungen.

Abbildung 5 zeigt die Entzugsleistung so einer Anlage für die ersten hundert Tage Betriebszeit.
Dabei wurden plausible Werte für die Modellparameter gewählt.



10
                                                                                                                   1.5 Weitere Anwendungen




                                                                    Zentriertes Verfahren, phi=0.5
                                   0.6
                                                                                          vereinfachtes Modell
                                                                                                       dt=0.01
                                                                                                    dt=0.0001
                                   0.4


                                   0.2
                     Auslenkung




                                       0


                                  -0.2


                                  -0.4


                                  -0.6
                                           0     0.5           1         1.5      2          2.5     3       3.5     4
                                                                                 Zeit

                                                                   Zentriertes Verfahren, phi=3.0
                                  4
                                                                                          vereinfachtes Modell
                                                                                                    dt=0.0001
                                  3

                                  2

                                  1
                     Auslenkung




                                  0

                                  -1

                                  -2

                                  -3

                                  -4
                                       0       0.5         1           1.5       2        2.5        3       3.5     4
                                                                                Zeit

                                                                   Zentriertes Verfahren, phi=3.14
                                  4
                                                                                          vereinfachtes Modell
                                                                                                    dt=0.0001
                                  3

                                  2

                                  1
                     Auslenkung




                                  0

                                  -1

                                  -2

                                  -3

                                  -4
                                       0               2                  4              6               8           10
                                                                                Zeit




Abbildung 4: Vergleich von vollem und vereinfachtem Modell (jeweils in rot) bei den Winkeln
             φ = 0.5, 3.0, 3.14 gerechnet mit dem zentralen Verfahren.




                                                                                                                                        11
1 Motivation




                                                   Ruecklauf                 Vorlauf




                                                                                     Wasserstrom


                                               Waermestrom




                                     Abbildung 5: Schematischer Aufbau einer Geothermieanlage.




                                                             Entzugsleistung im kalibrierten System
                                     1.3e+06

                                     1.2e+06

                                     1.1e+06
            Entzugsleistung [Watt]




                                       1e+06

                                      900000

                                      800000

                                      700000

                                      600000

                                      500000

                                      400000

                                      300000
                                               0   10    20      30     40      50      60   70       80   90   100
                                                                          Zeit [Tage]



Abbildung 6: Entzugsleistung der Geothermieanlage über die Zeit für bestimmte Systempara-
             meter.




12
                                                                               1.6 Ausblick




    Abbildung 7: Ausbreitung eines mit Wasser nicht mischbaren Schadstoffes im Boden.


Schadstoffausbreitung

Als weiteres Beispiel nennen wir die Modellierung und Simulation einer Schadstoffausbreitung
im Boden, siehe Abbildung 7. Der Schadstoff wird hier als nicht mit Wasser mischbar und
schwerer als Wasser angenommen (Bestimmte Reinigungsmittel haben diese Eigenschaften).

   • Wo erreicht der Schadstoff welche Konzentrationen?
   • Wie bekommt man den Schadstoff wieder weg?
   • Wohin bewegt sich gelöster Schadstoff?


1.6 Ausblick

Wir werden in dieser Vorlesung die folgenden Themengebiete behandeln:
   • Grundbegriffe, Gleitpunktzahlen, Gleitpunktarithmetik
   • Direkte Methoden zur Lösung linearer Gleichungssysteme
   • Interpolation und Approximation
   • Numerische Integration
   • Iterationsverfahren zur Lösung linearer Gleichungssysteme



                                                                                         13
1 Motivation


     • Iterationsverfahren zur Lösung nichtlinearer Gleichungssysteme
     • Eigenwerte und Eigenvektoren




14
2 Fließkommazahlen

2.1 Zahlendarstellung

Stellenwertsystem


Definition 2.1 (Stellenwertsystem / Positionssystem). System, das Zahlen x ∈ R wie folgt
darstellt:

                      x = ± . . . m2 β 2 + m1 β + m0 + m−1 β −1 + m−2 β −2 . . .
                          X
                        =      mi β i
                           i∈Z

β ∈ N, β ≥ 2 heißt Basis, mi ∈ {0, 1, 2, . . . , β − 1} heißen Ziffern


Geschichte: [Knuth, Band 2, S. 194]

   • Babylonier (≈ −1750), β = 60

   • Basis 10 ab ca. 1580

   • Pascal: alle β ≥ 2 möglich


Festkommazahlen


Festkommazahlen: brich Reihe nach endlich vielen Einträgen ab

                                                 n
                                                 X
                                          x=±           mi β i
                                                 i=−k




Problem: wissenschaftl. Anwendungen brauchen Zahlen sehr unterschiedlicher Größe

 Plancksches Wirkungsquantum h:         6.626093 · 10−34 Js
         Avogadro-Konstante NA :                          1
                                        6.021415 · 1023 mol
         Ruhemasse Elektron me :        9.109384 · 10−31 kg
           Lichtgeschwindigkeit c:      2.997925 · 108 ms

Fließkommazahlen können unterschiedlich große Zahlen hinreichend genau und effizient dar-
stellen



                                                                                      15
2 Fließkommazahlen


Fließkommazahlen

Definition 2.2 (Fließkommazahlen). Sei β, r, s ∈ N und β ≥ 2. Das Fließkommagitter F(β, r, s) ⊂
R besteht aus den Zahlen mit folgenden Eigenschaften:
     1. ∀x ∈ F(β, r, s) : x = m(x) · β e(x) mit
                                            r
                                            X                            s−1
                                                                         X
                                                      −i
                                 m(x) = ±          mi β ,   e(x) = ±           ej β j
                                             i=1                         j=0

        mit Ziffern mi und ej . m heißt Mantisse, e heißt Exponent.
     2. ∀x ∈ F(β, r, s) : x = 0 ∨ m1 6= 0. m1 6= 0 heißt Normierung und macht die Darstellung
        eindeutig.


Eigenschaften

Ist x ∈ F(β, r, s) und x 6= 0, dann gilt wegen Punkt 2:
                        β −1 ≤ |m(x)| < 1 und damit β e(x)−1 ≤ |x| < β e(x)             (2.1)


Größte / kleinste darstellbare Zahl in F(β, r, s):
                                                                  s −1
                                      X+/− = ±(1 − β −r ) · β β


Kleinste positive / größte negative Zahl:
                                                            s
                                            x+/− = ±β −β


     Beweis: Tafel


Beispiel

Beispiel 2.3.        1. F(10, 3, 1) besteht aus Zahlen der Form:
                              x = ±(m1 · 0.1 + m2 · 0.01 + m3 · 0.001) · 10±e0
        mit m1 6= 0 ∨ (m1 = m2 = m3 = 0), z.B. 0, 0.999 · 104 , und 0.123 · 10−1 , aber nicht
        0.140 · 10−10 , da Exponent zu klein
     2. F(2, 2, 1) besteht aus Zahlen der Form:
                                    x = ±(m1 · 0.5 + m2 · 0.25) · 2±e0
                                                                              
                                         3        3 1 3 1            1 3 1 3 3
                      =⇒ F(2, 2, 1) = − , −1, − , − , − , − , 0, , , , , 1,
                                         2        4 2 8 4            4 8 2 4 2




16
                                                                      2.1 Zahlendarstellung


Abstände zwischen Fließkommazahlen


Sei x0 ∈ F die nächstliegende Fließkommazahl zu x ∈ F, x > 0.

Dann gilt:
                                         |x|
  1. Für m(x) 6= β −1 : |x − x0 | =    |m(x)| β
                                                −r


  2. Für m(x) = β −1 : |x − x0 | = |x|β −r


Für den relativen Abstand gilt:

                                                  |x − x0 |
                                         β −r ≤             ≤ β 1−r
                                                     |x|

Schwankt um Faktor β je nach Größe von |x|. Nennt man wobble. Daher: kleine β besser!


   Beweis: Tafel



Standard: IEEE 754 / IEC 559


Ziel: Portabilität von Programmen mit Fließkommaarithmetik

Standard IEEE 754 / IEC 559, verabschiedet 1985


β = 2, mit vier Genauigkeitsstufen und normierter Darstellung:

               single     single-ext     double      double-ext
 emax              127    ≥ 1024         1023        ≥ 16384
 emin              -126   ≤ -1021        -1022       ≤ -16381
 Bits Expon.         8     ≤ 11            11         ≥ 15
 Bits total         32     ≥ 43            64         ≥ 79


Der Standard definiert vier Rundungsarten:

nach −∞, nach +∞, nach 0, nearest


Seit 2008: zusätzlich half precision und quadruple precision



                                                                                        17
2 Fließkommazahlen


Double Precision

Betrachte double precision genauer:
     • Insgesamt 64 bit
     • 11 bit für Exponent, der vorzeichenlos als Zahl c ∈ [1, 2046] gespeichert wird
     • Setze e := c − 1023 =⇒ e ∈ [−1022, 1023], kein Vorzeichen nötig
     • Die Werte c ∈ {0, 2047} werden anderweitig genutzt:
         – c = 0 ∧ m = 0 kodiert die Null
         – c = 0 ∧ m 6= 0 kodiert denormalisierte Darstellung
         – c = 2047 ∧ m = 0 kodiert ∞ (Überlauf)
         – c = 2047 ∧ m 6= 0 kodiert NaN = “not a number”, z.B. bei Division durch Null

     • 64 − 11 = 53 bit für Mantisse, eines für Vorzeichen, bleiben 52 Nachkommastellen
     • Wegen β = 2 gilt immer m1 = 1
     • Diese Ziffer heißt hidden bit und wird nicht gespeichert
     • Somit r = 53 im Sinne der Definition von Fließkommazahlen


Bis auf die Spezialcodes entspricht double precision somit F(2, 53, 10).


2.2 Runden und Rundungsfehler

Rundungsfunktion

Um x ∈ R in F(β, r, s) zu approximieren, brauchen wir

                                      rd : D(β, r, s) → F(β, r, s),                       (2.2)

wobei D(β, r, s) ⊂ R der Bereich ist, der F(β, r, s) enthält:

                                 D := [X− , x− ] ∪ {0} ∪ [x+ , X+ ]


Achtung: das setzt voraus, dass x im darstellbaren Bereich liegt! Bei Über-/Unterlauf sind r,s
zu ändern.

Sinnvollerweise soll für rd gelten:

                    ∀x ∈ D : |x − rd(x)| = min |x − y| (Bestapproximation)
                                              y∈F




18
                                                                2.2 Runden und Rundungsfehler


Mit l(x) := max{y ∈ F|y ≤ x} und r(x) := min{y ∈ F|y ≥ x} gilt dann:
                                  
                                  
                                  
                                  x      l(x) = r(x), x ∈ F
                                  
                                  l(x) |x − l(x)| < |x − r(x)|
                          rd(x) =
                                  
                                  
                                  r(x) |x − l(x)| > |x − r(x)|
                                  ?
                                  
                                          |x − l(x)| = |x − r(x)|



Im letzten Fall ist eine Rundung nötig. Dafür gibt es verschiedene Möglichkeiten.


Natürliche Rundung

                                                              P∞
Definition 2.4 (Natürliche Rundung). Sei x = sign(x) ·                    −i       β e die normierte Dar-
                                                                               
                                                               i=1 mi β
stellung von x ∈ D. Setze
                       (                 Pr          −i β e
                                                       
                        l(x) = sign(x) ·    i=1 mi β          falls 0 ≤ mr+1 < β/2
              rd(x) :=
                        r(x) = l(x) + β e−r (letzte Stelle)   falls β/2 ≤ mr+1 < β



Das ist die übliche Rundung, die jeder kennt.


Gerade Rundung


Definition 2.5 (Gerade Rundung). Setze (mit Notation wie bei natürlicher Rundung)
                           
                           l(x)
                                    falls |x − l(x)| < |x − r(x)|
                   rd(x) := l(x)     falls |x − l(x)| = |x − r(x)| ∧ mr gerade
                           
                            r(x)     sonst
                           



Damit ist mr in rd(x) immer gerade, wenn gerundet wurde.

   • Für rd(x) = l(x) ist das nach Definition so.

   • Sonst rd(x) = r(x) = l(x) + β e−r , mr in l(x) ungerade, und Addition von β e−r ändert
     die letzte Stelle um Eins.


Diese Wahl von Rundung vermeidet eine mögliche Drift beim Aufrunden. Entspricht “round to
nearest” im Standard.



                                                                                                      19
2 Fließkommazahlen


Beispiel

Beispiel 2.6. Stelle die Zahl x = (106)10 in F(4, 3, 2) dar, d.h. konvertiere ins Vierersystem
(β = 4) und runde.
     • log4 (106) = 3.36   Exponent 4, damit Mantisse < 1 ist
     • Berechne r + 1 = 4 Ziffern, um runden zu können
         m1 = 1, m2 = 2, m3 = 2, m4 = 2
     • =⇒ (106)10 = 0.1222 · (10)10
                                 4 (exakt, Ziffern zur Basis 4)

     • Natürliche Rundung: (x0 )4 = 0.123 · 410 , da mr+1 = 2 = 4/2
     • Gerade Rundung: (x0 )4 = 0.122 · 410 , da mr = 2 gerade



Absoluter und relativer Fehler

Definition 2.7 (absoluter und relativer Fehler). Sei x0 ∈ R eine Näherung von x ∈ R. Dann
heißt
                             ∆x := x0 − x absoluter Fehler
und für x 6= 0
                                           ∆x
                                  x0 :=        relativer Fehler
                                           x
Umformen liefert:                                 
                            0                   ∆x
                           x = x + ∆x = x · 1 +      = x · (1 + x0 )
                                                 x


Motivation

Motivation:
Es sei ∆x = x0 − x = 100 km.
Für x = Entfernung Erde—Sonne ≈ 1.5 · 108 km ist

                                           102 km
                                 x0 =                ≈ 6.6 · 10−7
                                         1.5 · 108 km
relativ klein.
Für x = Entfernung Heidelberg—Paris ≈ 460 km ist

                                          102 km
                                x0 =                ≈ 0.22 (22%)
                                        4.6 · 102 km
dagegen relativ groß.



20
                                                                    2.3 Fließkommaarithmetik


Fehlerabschätzung

Lemma 2.8 (Rundungsfehler). Bei der Rundung in F(β, r, s) gilt für den absoluten Fehler
                                                  1
                                     |x − rd(x)| ≤ β e(x)−r                                (2.3)
                                                  2
und für den relativen Fehler (x 6= 0)
                                      |x − rd(x)|  1
                                                  ≤ β 1−r .
                                          |x|      2


Diese Abschätzung ist scharf (d.h. der Fall “=” existiert).
Die Zahl eps := 12 β 1−r heißt Maschinengenauigkeit.

   Beweis: Tafel


2.3 Fließkommaarithmetik

Wir benötigen eine Arithmetik auf F:
                            ~ : F × F → F mit ~ ∈ {⊕, , , }
die den bekannten Operationen ∗ ∈ {+, −, ·, /} auf R entsprechen.

Problem: in der Regel x, y ∈ F =⇒
                                6 x∗y ∈F

Daher muss das Ergebnis wieder gerundet werden. Wir definieren
                                  ∀x, y ∈ F : x ~ y := rd(x ∗ y)                           (2.4)
Man sagt: ~ ist “exakt gerundet”. Das ist nicht trivial!


Guard digit

Beispiel 2.9 (Guard digit). Sei F = F(10, 3, 1), x = 0.215·108 , y = 0.125·10−5 . Wir betrachten
die Subtraktion x y = rd(x − y).
  1. Subtraktion und anschließendes Runden benötigt extrem hohe Stellenzahl O(β s )!
  2. Runden vor der Subtraktion liefert das selbe Ergebnis. Gute Idee?
  3. Aber: betrachte z.B. x = 0.101 · 101 , y = 0.993 · 100
     =⇒ relativer Fehler 18% ≈ 35 eps
  4. Mit ein, zwei zusätzlichen Stellen erreicht man exakte Rundung!
  5. Diese Stellen heißen guard digits und werden auch in der Praxis (CPU) genutzt.




                                                                                             21
2 Fließkommazahlen


Tabellenmacher-Dilemma


Algebraische Funktionen:
                       √
z.B. Polynome, 1/x,        x, rationale Funktionen,. . .

grob: endliche Kombination der Grundrechenarten und Wurzeln


Transzendente Funktionen: der Rest, z.B. exp(x), ln(x), sin(x), xy , . . .


Tabellenmacher-Dilemma:

Es lässt sich nicht im Voraus entscheiden, wie viele guard digits für eine bestimmte Kombination
von transzendenter Funktion f und Argument x benötigt werden, um f (x) exakt gerundet zu
berechnen.

                                                                     √
IEEE754 garantiert exakte Rundung für ⊕, , , , ebenso                    x.



Weitere Probleme / Eigenschaften


Die folgenden Punkte sind zu beachten:

     • Assoziativ- und Distributivgesetz gelten nicht, es kommt auf die Reihenfolge von Opera-
       tionen an!

     • Es gibt y ∈ F, y 6= 0, so dass x ⊕ y = x

     • Beispiel: ( ⊕ 1)       1=1     1 = 0 6=  =  ⊕ 0 =  ⊕ (1   1)

     • Das Kommutativgesetz gilt jedoch:
       x ~ y = y ~ x für ~ ∈ {⊕, }

     • Weitere einfache gültige Regeln:

          – (−x)    y = −(x       y)

          – 1   x=x⊕0=x

          – x    y = 0 =⇒ x = 0 ∨ y = 0

          – x    z≤y       z    falls x ≤ y ∧ z > 0



22
                                                                                            2.4 Fehleranalyse


2.4 Fehleranalyse

Rundungsfehler pflanzen sich in Rechnungen fort.
                                                                       
                                                  F1 (x1 , . . . , xm )
   • Sei F : Rm   → Rn , in Komponenten F (x) =            ..
                                                             .
                                                                       
                                                                        
                                                 Fn (x1 , . . . , xm )

   • Zur Berechnung von F im Rechner nutze numerische Realisierung F 0 : Fm → Fn .
     F 0 wird durch einen Algorithmus realisiert, d.h. aus

        – endlich vielen (= Terminierung)

        – elementaren (= bekannten, d.h. ⊕, , , )

     Rechenoperationen zusammengesetzt:

                                      F 0 (x) = ϕl (. . . ϕ2 (ϕ1 (x)) . . . )


Wichtig:

  1. Zu einem F gibt es in der Regel viele Realisierungen, im Sinne unterschiedlicher Reihen-
     folgen
                              a + b + c ≈ (a ⊕ b) ⊕ c 6= a ⊕ (b ⊕ c)!

  2. Jeder Schritt ϕi steuert einen (unbekannten) Fehler bei.

  3. Im Prinzip kann die Rechengenauigkeit beliebig gesteigert werden, d.h. eigentlich Folge
                        m         n
     (F 0 )(k) : (F(k) ) → (F(k) ) . Das machen wir aber nicht so formal.


                  F (x) − F 0 (rd(x)) = F (x) − F (rd(x)) + F (rd(x)) − F 0 (rd(x))                     (2.5)
                                        |      {z       } |           {z          }
                                         Konditionsanalyse          Rundungsfehleranalyse

   • F (x): exaktes Ergebnis

   • F 0 (rd(x)): numerische Auswertung

   • F (rd(x)): exaktes Ergebnis für rd(x) ≈ x


Von hier aus:

   • Analyse “in erster Näherung”

   • absolute / relative Fehler

   • Normen bilden, das lassen wir aber i.d.R. weg



                                                                                                          23
2 Fließkommazahlen


Differentielle Konditionsanalyse


Wir nehmen an, dass F : Rm → Rn zweimal stetig differenzierbar.

Nach dem Satz von Taylor gilt für die Komponenten Fi :
                                        m
                                        X ∂Fi
               Fi (x + ∆x) = Fi (x) +               (x)∆xj + RiF (x; ∆x) i = 1, . . . , n.
                                              ∂xj
                                        j=1

Für das Restglied gilt unter diesen Voraussetzungen

                                     RiF (x; ∆x) = O k∆xk2 ,
                                                          


d.h. der Fehler der Näherung ist quadratisch in ∆x.


Definition 2.10 (Landausche Symbole). Man schreibt:

                                     g(t) = O(h(t)),        (t → 0)

falls es t0 > 0 und c ≥ 0 gibt, so dass für alle t ∈ (0, t0 ] die Abschätzung |g(t)| ≤ c · |h(t)| gilt.

Sprechweise: “g(t) geht wie h(t) gegen 0”

(quantifiziert also, “wie schnell” eine Funktion gegen Null geht)

Weiter bedeutet
                                      g(t) = o(h(t)),      (t → 0)
dass es t0 > 0 und eine Funktion c(t), limt→0 c(t) = 0 gibt, so dass für alle t ∈ (0, t0 ] die
Abschätzung |g(t)| ≤ c(t) · |h(t)| gilt.

Bedeutung: “g(t) geht schneller als h(t) gegen 0” (falls h(t) → 0)


Somit können wir die Taylorformel umformen:
                                               m
                                               X ∂Fi
                   Fi (x + ∆x) − Fi (x) =                (x)∆xj        + RiF (x; ∆x)
                                                     ∂xj                 | {z }
                                               j=1                      höhere Ordnungen
                                               |       {z     }
                                            führende (erste) Ordnung




                                                                .
Oft lässt man die Terme höherer Ordnung weg und schreibt dann “ =” statt “=”.

Sprechweise: “ist in erster Näherung gleich”



24
                                                                                    2.4 Fehleranalyse


Damit gilt:
                                            m
                    Fi (x + ∆x) − Fi (x) . X ∂Fi        ∆xj
                                         =         (x)                                           (2.6)
                            Fi (x)             ∂xj     Fi (x)
                                           j=1
                                            m                          
                                         . X       ∂Fi       xj       ∆xj
                                         =             (x)          ·       ,
                                                   ∂xj     Fi (x)     xj
                                           j=1 |        {z        } | {z }
                                                Verstärkungsfaktor kij (x)   ≤eps

                                                                                          ∆xj
d.h. die Verstärkungsfaktoren kij (x) geben an, wie die (relativen) Eingabefehler          xj   in den
(relativen) Fehler der i-ten Komponente von F eingehen!


Kondition

Definition 2.11 (Kondition). Wir nennen die Auswertung y = F (x) “schlecht konditioniert”
im Punkt x, falls |kij (x)|  1, andernfalls “gut konditioniert”.

|kij (x)| < 1 heißt Fehlerdämpfung, |kij (x)| > 1 heißt Fehlerverstärkung.



Das Symbol “” steht für “viel größer als”. Meist bedeutet das, dass die eine Zahl mehrere
Größenordnungen größer als die andere ist (z.B. 1 Mio.  1).


Definition stellt ein Kontinuum dar: es gibt einen fließenden Übergang von “gut konditioniert”
zu “schlecht konditioniert”!

Warum relative Kondition?


Wegen Lemma 2.8 (Rundungsfehler) gilt

                                    x − rd(x)        1
                                              ≤ eps = β 1−r ,
                                        x            2

d.h. es gibt  ∈ R, || ≤ eps, so dass

                                         x − rd(x)
                                                   = ,
                                             x
d.h. für die relativen Eingabefehler in Gl. (2.6) gilt gerade

                                            ∆xj
                                                = j
                                            xj




                                                                                                   25
2 Fließkommazahlen


Beispiel

                                                              ∂F      ∂F
Beispiel 2.12.          1. Addition: F (x1 , x2 ) = x1 + x2 , ∂x1
                                                                  =   ∂x2   = 1.
        Nach obiger Formel:

           F (x1 + ∆x1 , x2 + ∆x2 ) − F (x1 , x2 )
                         F (x1 , x2 )
                                                                .      x1   ∆x1        x2   ∆x2
                                                                =1·             +1·
                                                                    x1 + x2 x1      x1 + x2 x2
                                                                  | {z    }      | {z     }
                                                                        =k1                    =k2

        Schlecht konditioniert für x1 → −x2 !
                                   ∂F           ∂F
     2. F (x1 , x2 ) = x21 − x22 , ∂x 1
                                        = 2x1 , ∂x 2
                                                     = −2x2 .

           F (x1 + ∆x1 , x2 + ∆x2 ) − F (x1 , x2 )
                         F (x1 , x2 )
                                  .        x1      ∆x1               x2    ∆x2
                                 = 2x1 · 2             + (−2x2 ) · 2
                                        x1 − x22 x1               x1 − x22 x2
                                     |  {z      }        |      {z       }
                                           =k1                    =k2
                                                                                     2x21             2x2
                                                                 =⇒ k1 =                    , k2 = − 2 2 2 ,
                                                                                   x21− x22         x1 − x2

        schlecht konditioniert für |x1 | ≈ |x2 |.


Rundungsfehleranalyse

Sogenannte “Vorwärtsrundungsfehleranalyse”, rückwärts: später.


Nach Fehler-Aufspaltung, Gl. (2.5): F (x) − F 0 (x) mit x ∈ Fm ,
F 0 “zusammengesetzt” aus Einzeloperationen ~ ∈ {⊕, , , }


Wegen Gl. (2.4) (exakt gerundete Arithmetik) und Lemma 2.8 (Rundungsfehler) gilt

                                    (x ~ y) − (x ∗ y)
                                                      =  mit || ≤ eps
                                         (x ∗ y)

Vorsicht,  hängt von x und y ab und ist daher für jede Operation verschieden!

                         =⇒ x ~ y = (x ∗ y) · (1 + ) für ein |(~, x, y)| ≤ eps




26
                                                                                              2.4 Fehleranalyse


Beispiel


Beispiel 2.13. F (x1 , x2 ) = x21 − x22 mit zwei Realisierungen:

  1. Fa (x1 , x2 ) = (x1   x1 )      (x2    x2 )

  2. Fb (x1 , x2 ) = (x1   x2 )     (x1 ⊕ x2 )

Erste Realisierung:

                                     u = x1        x1 = (x1 · x1 ) · (1 + 1 )
                                     v = x2        x2 = (x2 · x2 ) · (1 + 2 )
                                  Fa (x1 , x2 ) = u        v = (u − v) · (1 + 3 )
                  Fa (x1 , x2 ) − F (x1 , x2 ) .    x2                x2
                                               = 2 1 2 (1 + 3 ) + 2 2 2 (2 + 3 )
                          F (x1 , x2 )           x1 − x2           x2 − x1


Zweite Realisierung:

                                    u = x1     x2 = (x1 − x2 ) · (1 + 1 )
                                    v = x1 ⊕ x2 = (x1 + x2 ) · (1 + 2 )
                                  Fb (x1 , x2 ) = u        v = (u · v) · (1 + 3 )
                  Fb (x1 , x2 ) − F (x1 , x2 ) .     x21   − x22
                                               =                 (1 + 2 + 3 ) = 1 + 2 + 3
                          F (x1 , x2 )               x21   − x22


=⇒ Zweite Realisierung besser als erste.




Numerische Stabilität


Definition 2.14 (Numerische Stabilität). Wir nennen einen numerischen Algorithmus “nume-
risch stabil”, wenn die im Lauf der Rechnung akkumulierten Rundungsfehler den unvermeidbaren
Problemfehler aus der Konditionsanalyse nicht übersteigen.



Mit anderen Worten:

Verstärkungsfaktoren aus Rundungsfehleranalyse ≤ denen aus Konditionsanalyse =⇒ “nume-
risch stabil”


Beide Realisierungen a, b aus Bsp. 2.13 sind numerisch stabil.



                                                                                                            27
2 Fließkommazahlen


2.5 Die quadratische Gleichung

Die Gleichung
                                                         y 2 − py + q = 0
hat für p2 /4 > q 6= 0 die beiden reellen und verschiedenen Lösungen
                                             r
                                         p     p2
                       y1,2 = f± (p, q) = ±       − q. (Definiert zwei f !)
                                         2      4

                                                         q
                                                             p2
Die Konditionsanalyse liefert mit D :=                       4    − q:

     f (p + ∆p, q + ∆q) − f (p, q)
                f (p, q)
                                                                         .
                                                                              p   p  ∆p        q    ∆q
                                                                         = 1±             −
                                                                              2D p ± 2D p   D (p ± 2D) q


Das heißt:
              p2
      • Für   4     q und p < 0 ist
                                                                           r
                                                                  p             p2
                                                       f− (p, q) = −               −q
                                                                  2             4
        gut konditioniert
              p2
      • Für   4     q und p > 0 ist
                                                                           r
                                                                  p             p2
                                                       f+ (p, q) = +               −q
                                                                  2             4
        gut konditioniert
               2
      • Für p4 ≈ q sind f+ und f− beide schlecht konditioniert, dieses Problem kann nicht
        vermieden werden
                                                                    p2
Numerisch geschickte Auswertung für den Fall                        4     q:

p < 0:
                             q
                     p           p2                q
Berechne y2 =        2   −       4    − q, y1 =   y2   nach Satz von Vieta (q = y1 · y2 ).

p > 0:
                             q
                     p           p2                        q
Berechne y1 =        2   +       4    − q, dann y2 =      y1 .


=⇒ Jedes Problem ist ein Spezialfall!



28
                                                                              2.6 Auslöschung


2.6 Auslöschung

Die obigen Beispiele enthalten das Phänomen der Auslöschung.
Dies tritt auf bei
   • Addition x1 + x2 mit x1 ≈ −x2
   • Subtraktion x1 − x2 mit x1 ≈ x2


Bemerkung 2.15. Bei der Auslöschung werden vor der entsprechenden Addition bzw. Sub-
traktion eingeführte Fehler extrem verstärkt.


Sind x1 , x2 ∈ F Maschinenzahlen, so gilt wie oben gezeigt:
                                  (x1    x2 ) − (x1 − x2 )
                                                           ≤ eps.
                                         (x1 − x2 )
Das ist also kein Problem. Das Problem tritt erst ein, wenn x1 und x2 selbst schon mit Fehlern
behaftet sind.


Beispiel

Beispiel 2.16. Betrachte F = F(10, 4, 1).

x1 = 0.11258762 · 102 , x2 = 0.11244891 · 102
=⇒ rd(x1 ) = 0.1126 · 102 , rd(x2 ) = 0.1124 · 102

x1 − x2 = 0.13871 · 10−1 , aber rd(x1 ) − rd(x2 ) = 0.2 · 10−1

Ergebnis hat keine gültige Ziffer! Relativer Fehler:
                       0.2 · 10−1 − 0.13871 · 10−1                1
                                          −1
                                                   ≈ 0.44 ≈ 883 · · 10−3 !
                              0.13871 · 10                       |2 {z }
                                                                    =eps



Grundregel

Im Beispiel: Fehler durch Rundung der Eingangsgrößen.

Herkunft der Fehler ist egal, tritt ebenso auf, wenn x1 , x2 mit Fehlern vorhergehender Rechen-
schritte behaftet sind.


Regel 2.17. Setze potentiell gefährliche Operationen möglichst früh im Algorithmus ein. (Ver-
gleiche Bsp. 2.13).



                                                                                            29
2 Fließkommazahlen


2.7 Die Exponentialfunktion

Die Exponentialreihe

Die Funktion exp(x) = ex lässt sich für alle x ∈ R als Potenzreihe darstellen:
                                                        ∞
                                                        X xk
                                             exp(x) =
                                                              k!
                                                        k=0



                                                                                                  Pn       xk
Naheliegender Ansatz: breche zur Berechnung nach n Gliedern ab, exp(x) ≈                               k=0 k! .


Verwende Rekursionsvorschrift:

                                          y0 := 1, S0 := y0 = 1,
                                                 x
                              ∀k > 0 :    yk := · yk−1 , Sk := Sk−1 + yk
                                                 k

yn : Glieder der Reihe, Sn : Partialsummen


Fehler für verschiedene Werte von x

Ergebnisse für Rekursionsformel mit float, n = 100:

                 1*1040
                                                               relativer Fehler von exp(x)
                 1*1035

                 1*1030

                 1*1025

                 1*1020

                 1*1015

                 1*1010

                  1*105

                  1*100

                 1*10-5

                 1*10-10
                        -50   -40   -30    -20   -10    0      10       20       30          40   50




     • Für negative Werte für x wird der relative Fehler beliebig groß
     • Dieser Effekt hat nichts mit dem Abbruch der Reihe zu tun!



30
                                                                               2.7 Die Exponentialfunktion


Abweichung für imaginäre Argumente



      1                                                       2
                                Einheitskreis                                                 Einheitskreis
                            Auswertung exp(z)                                             Auswertung exp(z)
                                                          1.5

  0.5                                                         1

                                                          0.5

      0                                                       0

                                                         -0.5

  -0.5                                                     -1

                                                         -1.5

      -1                                                   -2
           -1        -0.5         0        0.5       1            -2   -1.5   -1   -0.5      0    0.5   1     1.5   2



                                                         10
                                Einheitskreis                                                 Einheitskreis
  4                         Auswertung exp(z)                                             Auswertung exp(z)


                                                          5
  2



  0                                                       0



 -2
                                                          -5


 -4

                                                         -10
                -4    -2      0        2         4          -10               -5            0           5           10




Ergebnisse für das imaginäre Intervall [−50, 50] · i

      • Für |z| ≤ π ist das Ergebnis noch halbwegs brauchbar

      • Für |z| → 2π wächst der Fehler weiter an

      • Danach entfernen sich die Werte vom Kreis (die Trajektorie nähert sich einer Geraden an
        und kommt auch nicht zurück)



                                                                                                                     31
2 Fließkommazahlen


Visualisierung des Konvergenzverhaltens



                                                    exp(2πi · 0.1)
                          4                         exp(2πi · 0.2)
                                                    exp(2πi · 0.3)
                                                    exp(2πi · 0.4)
                                                    exp(2πi · 0.5)
                                                     Einheitskreis
                          2



                          0



                          -2



                          -4


                                  -4    -2      0          2         4


     • gerade Potenzen tragen zum Realteil von exp(2πi · x) bei

     • ungerade Potenzen tragen zum Imaginärteil bei

=⇒ Addieren eines Gliedes ändert abwechselnd Real- und Imaginärteil



                                                    exp(2πi · 0.6)
                          40                        exp(2πi · 0.7)
                                                    exp(2πi · 0.8)
                                                    exp(2πi · 1.0)
                                                    exp(2πi · 1.0)
                                                     Einheitskreis
                          20



                              0



                          -20



                          -40


                                  -40   -20     0          20        40


     • Betrag der Zwischenergebnisse wächst exponentiell in x



32
                                                                    2.8 Rekursionsformel für Integrale


   • Form der Trajektorie nähert sich immer mehr Quadrat an

=⇒ Auslöschung


Konditionsanalyse für exp(x)


Für die Funktion exp gilt wegen exp0 = exp:
                                                                        
                  exp(x + ∆x) − exp(x) .                     x          ∆x
                                       =        exp0 (x)             ·       = ∆x
                         exp(x)                            exp(x)        x


=⇒ absoluter Fehler von x wird zu relativem Fehler von exp(x)

(Vergleiche: exp ist Isomorphismus zwischen (R, +) und (R+ , ·).)


Wegen k = x ist exp gut konditioniert, falls x nicht zu groß

=⇒ betrachteter Algorithmus ist instabil für x < 0


Gibt es stabileren Algorithmus?     Übungsaufgabe



2.8 Rekursionsformel für Integrale

Integrale der Form
                                           Z    1
                                    Ik =            xk exp(x) dx
                                            0

kann man mithilfe einer Rekursionsformel berechnen:

                            I0 = e − 1,    ∀k > 0 : Ik = e − k · Ik−1



Für das erste Glied ist wegen exp0 (x) = exp(x) eine Stammfunktion bekannt, die weiteren
Glieder kann man dann über die obige Formel bestimmen.


Wie gut funktioniert das in der Praxis?

Die ersten 26 Werte für Ik , mit endlicher Genauigkeit berechnet:



                                                                                                   33
2 Fließkommazahlen


 k      berechnetes Ik        Fehler |∆Ik |   k     berechnetes Ik        Fehler |∆Ik |
 0      1.718281828459050     2.6 ·10−15      13    0.181983054536145     3.3 · 10−7
 1      1                     (Null)          14    0.170519064953013     4.6 · 10−6
 2      0.718281828459045     1.5 · 10−15     15    0.160495854163853     7.0 · 10−5
 3      0.563436343081910     5.5 · 10−16     16    0.150348161837404     1.1 · 10−3
 4      0.464536456131406     1.0 · 10−15     17    0.162363077223183     1.9 · 10−2
 5      0.395599547802016     6.0 · 10−15     18    -0.204253561558257    3.4 · 10−1
 6      0.344684541646949     3.8 · 10−14     19    6.59909949806592      6.7 · 100
 7      0.305490036930402     2.7 · 10−13     20    -129.263708132859     1.3 · 101
 8      0.274361533015832     2.1 · 10−12     21    2717.25615261851      2.7 · 103
 9      0.249028031316559     1.9 · 10−11     22    -59776.9170757787     6.0 · 104
 10     0.228001515293454     1.9 · 10−10     23    1374871.81102474      1.4 · 106
 11     0.210265160231056     2.1 · 10−9      24    -32996920.7463119     3.3 · 107
 12     0.195099905686377     2.5 · 10−8      25    824923021.376079      8.2 · 108


Rekursionsformel Ik = e − k · Ik−1 führt zu Fehlerverstärkung um Faktor k im k-ten Schritt!



Bessere Optionen

     1. Alle Ik sind von der Form a · e + b, mit a, b ∈ Z. Berechne diese Zahlen über die Rekursi-
        onsformel, und werte erst ganz am Ende mit Fließkommazahlen aus.

     2. Drehe die Rekursionsformel um: wenn Ik → Ik+1 den Fehler um k verstärkt, wird er
        durch Ik+1 → Ik um den Faktor k reduziert!



Wegen 0 ≤ xk ≤ 1 und 0 ≤ exp(x) ≤ 3 auf [0, 1] muss 0 ≤ Ik ≤ 3 gelten. Wenn wir also z.B.
I50 := 1.5 setzen, kann der Fehler maximal 1.5 sein.


Benutze dann umgedrehte Rekursionsformel

                                    Ik = (k + 1)−1 · (e − Ik+1 ).




Rekursionsformel für Integrale


Die Werte für Ik zwischen k = 25 und 50, rückwärts berechnet:



34
                                                              2.8 Rekursionsformel für Integrale


 k    berechnetes Ik           Fehler |∆Ik |   k    berechnetes Ik         Fehler |∆Ik |
 50   1.5                      1.4 ·100        37   0.0697442966294832     2.8 · 10−16
 49   0.0243656365691809       2.9 · 10−2      36   0.0715820954548530     1.9 · 10−16
 48   0.0549778814671401       5.9 · 10−4      35   0.0735194370278942     2.8 · 10−17
 47   0.0554854988956647       1.2 · 10−5      34   0.0755646397551757     2.2 · 10−16
 46   0.0566552410545400       2.6 · 10−7      33   0.0777269761383491     2.7 · 10−18
 45   0.0578614475522718       5.7 · 10−9      32   0.0800168137066878     1.8 · 10−16
 44   0.0591204529090394       1.3 · 10−10     31   0.0824457817110112     2.6 · 10−16
 43   0.0604354858079547       2.9 · 10−12     30   0.0850269692499366     2.9 · 10−16
 42   0.0618103800616533       6.7 · 10−14     29   0.0877751619736370     4.5 · 10−17
 41   0.0632493201999379       1.8 · 10−15     28   0.0907071264305313     4.3 · 10−16
 40   0.0647568904453441       1.4 · 10−16     27   0.0938419536438755     4.7 · 10−16
 39   0.0663381234503425       2.1 · 10−16     26   0.0972014768450063     1.3 · 10−17
 38   0.0679985565386847       1.5 · 10−16     25   0.1008107827543860     1.1 · 10−16

Trotz völlig unbrauchbarer Schätzung für den Startwert I50 führt die neue Rekursionsformel
Ik = (k + 1)−1 · (e − Ik+1 ) sehr schnell zu brauchbaren Ergebnissen!


Idee der Fehlerabschätzung

Nach Fehleranalyse gilt für Startwert Ik+m , m ≥ 1:
                               k!                  k!
                 |∆Ik | ≈            |∆Ik+m | ≤          · 1.5 ≤ (k + 1)−m · 1.5
                            (k + m)!            (k + m)!


Idee: berechne benötigte Anzahl Schritte m aus gewünschter Genauigkeit |∆Ik | < tol.
                                                                    tol
                   (k + 1)−m · 1.5 < tol =⇒ exp(−m · ln(k + 1)) <
                                                                    1.5
                                          tol
                                         
                                                         ln(tol) − ln(1.5)
                 =⇒ −m · ln(k + 1) < ln       =⇒ m >
                                          1.5                ln(k + 1)


Beispiel: k = 25, tol = 10−8 =⇒ m > 5.7
Ergebnis für m = 6:
 k    berechnetes Ik           Fehler |∆Ik |
 31   1.5                      1.4 · 100
 30   0.0392994138212595       4.6 · 10−2
 29   0.0892994138212595       1.5 · 10−3
 28   0.0906545660219926       5.3 · 10−5
 27   0.0938438308013233       1.9 · 10−6
 26   0.0972014073206564       7.0 · 10−8
 25   0.1008107854284000       2.9 · 10−9



                                                                                             35
2 Fließkommazahlen


     • Umgedrehte Rekursionsformel ist im Gegensatz zum naiven Ansatz stabil
     • Fehlerabschätzung minimiert Aufwand für vorgegebene Genauigkeit


=⇒ stabil und effizient




36
3 Motivation linearer Gleichungssysteme

3.1 Strömung in Rohrleitungsnetzen

Netzwerk aus Röhren




                Pumpe
                                                                        Pumpe




Betrachte Netzwerk aus Röhren, in denen Flüssigkeit zirkuliert
   • Um es einfach zu halten: nur durch Pumpen getrieben, keine Quellen und Senken im
     Kreislauf vorhanden
   • Mögliche Anwendungen: Trinkwasserversorgung, elektrische Schaltkreise, Blutkreislauf
     (als Näherung)




                Pumpe
                                                                        Pumpe




Beschrieben durch gerichteten, (schwach) zusammenhängenden Graphen G = (V, E):
   • Knotenmenge V = {v1 , . . . , vn }, |V | = n
   • Kantenmenge E = {e1 , . . . , eM } ⊂ V × V, |E| = M
   • gerichtet “von v nach w”: (v, w) ∈ E =⇒ (w, v) ∈
                                                    /E
   • Röhren ER = {e1 , . . . , em }, Pumpen EP = {em+1 , . . . , eM }



                                                                                      37
3 Motivation linearer Gleichungssysteme


Gesetz von Hagen-Poiseuille

Fluss durch lange zylindrische Röhre e = (v, w):

                                                   πre4
                                            qe =        ∆pe
                                                   8ρde

 qe :    gerichteter Volumenstrom [m3 /s]
 ∆pe :   gerichtete Druckdifferenz [Pa = N/m2 ]
 re :    Radius der Röhre e [m]
 de :    Länge der Röhre e [m]
 ρ:      dynamische Viskosität [Pa s]

qe > 0, ∆pe > 0 falls Fluss von v nach w, qe < 0, ∆pe < 0 sonst


3.2 Die Kirchhoffschen Gesetze




                                      Quelle: wikipedia.org, gemeinfrei




Gustav Robert Kirchhoff (1824–1887):
     • deutscher Physiker
     • Beiträge zur Erforschung von
         – elektrischen Schaltkreisen



38
                                                                       3.2 Die Kirchhoffschen Gesetze


        – Spektralanalyse
        – Schwarzkörperstrahlung
   • Kirchhoffsche Gesetze (Erhaltungsregeln für Schaltkreise)


Knotenregel (1. Kirchhoffsches Gesetz)


                                  1
                                                               2


                            5                                    3
                                                 4
q1 + q4 + q5 = q2 + q3
Knotenregel (Erhaltung der Ladung):
Die Summe der zufließenden Ströme ist für jeden Knoten eines elektrischen Netzwerks gleich
der Summe der abfließenden Ströme.


Hier: Massenerhaltung
Flüssigkeit wird in den einzelnen Knoten weder vernichtet noch zwischengespeichert.
Definiere für Knoten v ∈ V eingehende und ausgehende Kanten:

                  Ev+ := {(u, w) ∈ E | w = v},          Ev− := {(u, w) ∈ E | u = v}



Die Trennung in ein- und ausgehend basiert auf der Orientierung der Kanten und hat nichts
mit dem physikalischen Fluss zu tun!


Knotenregel:                    X              X
                                        qe −           qe = 0 ∀v ∈ V                            (3.1)
                                e∈Ev+          e∈Ev−




                                                                                                  39
3 Motivation linearer Gleichungssysteme


Das definiert n − 1 = |V | − 1 linear unabhängige Bedingungen, da sich aufgrund globaler
Massenerhaltung die Erhaltung im letzten Knoten jeweils automatisch ergibt.


     Beweis: Tafel


Maschenregel (2. Kirchhoffsches Gesetz)




                                         1
                                                      2
                                     5

                                                          3
                                         4

∆p3 + ∆p2 = ∆p4 − ∆p5 + ∆p1
Maschenregel (Energieerhaltung):
Die Summe der Spannungsdifferenzen entlang eines geschlossenen Pfades ist Null. Anders ge-
sagt: Die Spannungsdifferenz zwischen zwei Knoten ist wegunabhängig.

(Sonst könnte man entlang des Pfades beliebig Energie erzeugen =⇒ Perpetuum Mobile)


Hier: Energieerhaltung
Es gibt keine spontanen (d.h. nicht durch Pumpen verursachte) Kreisbewegungen von Flüssig-
keit.
Betrachte C ⊂ E, c beliebiger geschlossener Pfad. Definiere:

                          C + := {e ∈ C | e genauso wie C orientiert}
                          C − := {e ∈ C | e entgegen C orientiert}

(Anmerkung: wir vernachlässigen in der Notation, dass Kanten in C mehrfach vorkommen
dürfen, evtl. mit geänderter Orientierung (!))



40
                                                                     3.3 Das Knotenpotentialverfahren


Maschenregel:             X               X
                                  ∆pe −           ∆pe = 0 ∀ geschl. Pfade C ⊂ E                 (3.2)
                          e∈C +           e∈C −




3.3 Das Knotenpotentialverfahren

Grundidee des Knotenpotentialverfahrens:
   1. Wegen der Maschenregel ist Potentialdifferenz zwischen je zwei Knoten wegunabhängig
      und somit wohldefiniert
         Druckdifferenz zu (beliebigem) Referenzknoten als Variablen
   2. Da das Potential nur bis auf Konstante eindeutig ist, können wir die Referenz als Null
      definieren
         n − 1 Knotendrücke pv als Unbekannte
   3. Wegen der Knotenregel gibt es n − 1 unabh. Nebenbedingungen
         n − 1 lineare Gleichungen für die Unbekannten


Stelle System auf und löse nach Unbekannten (Druckdifferenzen) auf, daraus kann man dann
die Flüsse berechnen.
Wähle Referenzknoten r, ergibt Druckdifferenzen ∆pe            der Röhren:
                                          
                                          pw − pv
                                                               v 6= r ∧ w 6= r
                ∀e = (v, w) ∈ ER : ∆pe = −pv                    w = r (setze pw = 0)
                                          
                                            pw                  v = r (setze pv = 0)
                                          



Wähle feste Anordnung ek , k ∈ {1, . . . , m}, vi , i ∈ {1, . . . , n} der Kanten und Knoten mit Wahl
r = vn
=⇒ p = (pv1 , . . . , pvn−1 )T , ∆p = (∆pe1 , . . . , ∆pem )


Als lineares Gleichungssystem:

                                      [∆p]m = [B]m×(n−1) · [p]n−1



Berechne resultierende Flüsse über Leitfähigkeiten (Hagen-Poiseuille):

                                           ∀e ∈ ER : qe = Le · ∆pe



                                                                                                  41
3 Motivation linearer Gleichungssysteme


Als lineares Gleichungssystem mit Diagonalmatrix L:

                                         [q]m = [L]m×m · [∆p]m



Setze Umrechnung von p zu ∆p ein:
                                                
              [q]m = [L]m×m · [B]m×(n−1) · [p]n−1 = [L · B]m×(n−1) · [p]n−1


Verwende Knotenregel Gl. (3.1):
                        X                 X                  X                    X
                                 qe −               qe =               qe −               qe
                     e∈Ev+ ∩ER          e∈Ev− ∩ER          e∈Ev− ∩EP          e∈Ev+ ∩EP

Als lineares Gleichungssystem formuliert:

                                     [B T ](n−1)×m · [q]m = [b]n−1 ,

wobei b = (bv1 , . . . , bvn−1 )T die Pumpströme enthält (die Einträge sind Null für innere Kno-
ten)


Es handelt sich um B T , weil eine Kante e genau dann zur Bilanz von v beisteuert, wenn v (mit
gleichem Vorzeichen) zur Druckdifferenz entlang e beiträgt


Kleines Beispiel



                             1                         1                      2

                                 2                    3                       4



                            3                          5                  4
42
                                                             3.3 Das Knotenpotentialverfahren


Resultierende Matrix B für Beispielnetzwerk:
                                                          
                         −1 1       0 0              −1 1  0
                        −1 0       1 0            −1 0  1
                                                          
                         0 −1 1 0             B =  0 −1 1 
                                                    
                                                           
                         0 −1 0 1                  0 −1 0 
                          0    0 −1 1                 0 0 −1
   • Zeilen: Knoten, die von i-ter Kante verbunden werden (mit Vorzeichen)
   • Spalten: Kanten, die für j-ten Knoten ein- / ausgehend sind (mit Vorzeichen)
   • Streiche letzte Spalte wegen p4 := 0 (für B) bzw. wegen redundanter Knotenregel (für
     BT )


Knotenpotentialverfahren

Insgesamt:
                                                                      
                      [b]n−1 = [B T ](n−1)×m · [L · B]m×(n−1) · [p]n−1
                             = [B T · L · B](n−1)×(n−1) · [p]n−1


Eigenschaften des Systems: A := B T LB ist
   • symmetrisch und positiv definit
   • damit insbesondere invertierbar
   • dünn besetzt (Anzahl Kanten meist O(n), nicht O(n2 ))

  Beweis: Tafel


Anmerkungen

Das Ohmsche Gesetz besagt:
                                     Ie = Re−1 (Uv − Uw )
mit Ie dem elektrischen Strom entlang Leiter e, Re dem Widerstand entlang e, und Uv dem
elektrischen Potential im Knoten v.

=⇒ die hergeleitete Methode lässt sich völlig analog auf elektrische Netzwerke anwenden

Falls das Netzwerk Spulen oder Kondensatoren enthält (RLC-Netzwerk), werden die Zustands-
größen komplex:
                             Ax = b mit x, b ∈ Cn , A ∈ Cn×n




                                                                                          43
3 Motivation linearer Gleichungssysteme


3.4 Partielle Differentialgleichungen

Grenzübergang zum Kontinuum


Wenn man das Röhren- / Leitungsnetz immer feiner und feiner macht, beschreibt man im
Limes ein unendlich feines Netzwerk, also ein Kontinuum. Die zugehörige Gleichung ist die
Poisson-Gleichung:
                                               n                      n
                                               X                      X ∂2u
                       −∆u := −∇ · (∇u) := −          ∂x2i u   := −                =f
                                                i=1                   i=1
                                                                            ∂x2i


Das ist ebenfalls ein lineares Gleichungssystem, allerdings über einem unendlich-dimensionalen
Funktionenraum.


Anwendungen der Gleichung sind zum Beispiel:

     • Elektrostatik im Vakuum (f : Ladungsdichte, u: resultierendes Potential)

     • Gravitation (f : Massendichte, u: Gravitationspotential)



Poröse Medien


Falls die Leitfähigkeit κ (Inverse des Widerstandes) ortsabhängig ist, ergibt sich die Darcy-
Gleichung:
                                              Xn
                              −∇ · (κ∇u) = −     ∂xi (κ∂xi u) = f
                                               i=1

Im Allgemeinen lässt sich diese Gleichung nicht geschlossen lösen, daher verwendet man numeri-
sche Methoden. Die Diskretisierung führt dabei auf beliebig große lineare Gleichungssysteme.


Mögliche Anwendungen:

     • Stationäre Strömungen in porösen Medien (z.B. Grundwasser)

     • Elektrostatik in Bauteilen und Materialien

     • Wärmeleitung durch heterogene Festkörper



44
                                                               3.5 Radiosity-Methode in der Computergraphik


3.5 Radiosity-Methode in der Computergraphik

Raytracing


Aufgabe: stelle beleuchtete Szene graphisch dar (Computergraphik).


Grundidee des Raytracing-Algorithmus:


                                            Image
                           Camera                                                      Light Source

                                                           View Ray
                                                                                Shadow Ray




                                                                                       Scene Object



                                             Quelle: Henrik, wikipedia.org, cc-by-sa




Beispiele von rekursivem Raytracing:




Quelle: Tim Babb, wikipedia.org, cc-by-sa                                                    Quelle: Greg L, wikipedia.org, cc-by-sa




                                                                                                                                45
3 Motivation linearer Gleichungssysteme


Raytracing vs. Radiosity-Methode

Idee von Raytracing:

     • Verfolge “Sehstrahlen” vom Auge des Betrachters zu ihrem Ziel

     • Berücksichtige dabei gerichtete Reflexion, diffuse Reflexion, Brechung, Wurf von Schatten


Vorteile / Nachteile von (rekursivem) Raytracing:

     • Viele verschiedene optische Effekte darstellbar

     • Aufwand wächst exponentiell mit der Anzahl der Rekursionen

     • Ergebnis ist auf Blickwinkel festgelegt (!)

Idee der Radiosity-Methode:

     • Berechne das Strahlungsgleichgewicht für die Szene

     • Beleuchtete Oberflächen erzeugen passive Beleuchtung, indem sie Licht in den Raum
       zurück werfen


Vorteile / Nachteile der Radiosity-Methode:

     • Weniger Effekte berücksichtigt (z.B. nur diffuse Streuung)

     • Aufwand ist auch bei dieser Methode sehr hoch

     • Ergebnis ist unabhängig vom Betrachter (               Animationen)


Radiosity-Methode

Anwendung der Radiosity-Methode:




                                   Quelle: Hugo Elias, wikipedia.org, cc-by-sa




46
                                                       3.5 Radiosity-Methode in der Computergraphik




                                   Quelle: Hugo Elias, wikipedia.org, cc-by-sa




Definiere Oberfläche der Szene:

                        S = {x ∈ R3 | x auf Oberfläche eines Objekts}

(Lichtquellen sind dabei ebenfalls Objekte)


Bestimme “Energiedichte” B : S → R:
                        Z
                           B dA = von ω ⊂ S abgestrahlte Energie
                           ω




                                     E(x):       Eigenstrahlung (bei Lichtquellen), Senke (bei Absorption)
Benötigte Materialeigenschaften:
                                     ρ(x):       Reflexionsfaktor



Bestimmungsgleichung

Bestimmungsgleichung für B(x), x ∈ S:
                                    Z
                                          cos ϕx,x0 cos ϕx0 ,x
                B(x) = E(x) + ρ(x) B(x0 )             0 k2
                                                               V (x, x0 ) dx0
                                      S       kx −  x
                                          |             {z             }
                                                             “Kern”, “kernel” λ(x, x0 )




mit

                              ϕa,b = ](νa , b − a)
                                       (
                                        1 Licht aus Richtung νa
                          cos ϕa,b =
                                        0 tangential zur Oberfläche
                                       (
                                        1 x0 von x aus sichtbar
                          V (x, x0 ) =
                                        0 sonst

(Eigenschaften der beleuchteten Szene)



                                                                                                 47
3 Motivation linearer Gleichungssysteme



                                                        νa

                                                a                   b




Integralgleichung

Resultierende Integralgleichung:
                                           Z
                             B(x) − ρ(x)        B(x0 )λ(x, x0 ) dx0 = E(x)
                                            S



Alternative Formulierung mit Dirac-Delta δ(x, x0 ):
                        Z
                          B(x0 ) δ(x, x0 ) − ρ(x)λ(x, x0 ) dx0 = E(x)
                                                          
                            S




     • Aufgabe: finde für gegebene Quellen / Senken E(x) resultierende Energiedichte B(x)
     • System ist erneut linear in Unbekannten B(x), aber diesmal unendlichdimensional!


Kollokationsmethode

Zerlege die Oberfläche in eine endliche Menge von Teilgebieten Th = {t1 , . . . , tn }:
                                                                  n
                                                                  [
                           ti ⊂ S offen,   ti ∩ tj = ∅ ∀i 6= j,         ti = S
                                                                  i=1


Dieser Vorgang heißt Diskretisierung und ist üblich bei Integral- und Differentialgleichungen.

Definiere außerdem xi jeweils als den Mittelpunkt von ti .
(Existenz eines solchen Punktes schränkt implizit Wahl der ti ein, aber wir sind sowieso nur an
“simplen” Teilgebieten ti interessiert!)



48
                                                                3.5 Radiosity-Methode in der Computergraphik


Approximiere B : S → R durch diskrete Funktion Bh : S → R:
                                                                m
                                                                X
                                                 Bh (x) =             zj ϕj (x)
                                                                j=1

mit zj ∈ R Koeffizienten und ϕj : S → R Basisfunktionen. Insbesondere: ϕ1 , . . . , ϕm linear
unabhängig.

Wir verwenden stückweise konstante Funktionen (m = n):
                                         (
                                          1 falls x ∈ tj
                                ϕj (x) =
                                          0 sonst

Erfülle Integralgleichung nur für x ∈ Xh = {x1 , . . . , xn }:
                                       Z
                      Bh (xi ) − ρ(xi ) Bh (x0 )λ(xi , x0 ) dx = E(xi ) i = 1, . . . , n
                                                 S
                         n
                         X                              n
                                                      Z X
                   ⇐⇒          zj ϕj (xi ) − ρ(xi )               zj ϕj (x0 )λ(xi , x0 ) dx = E(xi )
                         j=1                            S j=1

                         Xn                                Z                         
                                                                       0          0
                   ⇐⇒          zj       ϕj (xi ) − ρ(xi )        ϕj (x )λ(xi , x ) dx = E(xi )
                         j=1                                S
                                    |                           {z                   }
                                                            =:aij

                   ⇐⇒ Az = b

mit A = [aij ]n,n              n                 n
              i,j=1 , z = [zj ]j=1 , b = [E(xi )]i=1 .



Anmerkungen

    • Das Integral in aij wird i.d.R. ebenfalls numerisch berechnet (Stoff der Vorlesung).
    • Man begeht dabei Diskretisierungsfehler

                                                     kBh − Bk = O(hα )

      mit k·k Norm auf Funktionenräumen, h = maxt∈Th diam(t), und α “Konvergenzordnung”.
       =⇒ bessere Approx. Bh von B bei feinerer Unterteilung Th
       =⇒ Gleichungssysteme können beliebig groß werden
    • Die Matrix A ist in diesem Fall nicht dünn besetzt, sondern voll besetzt! Das ist wichtig
      bei der Wahl des Lösers.




                                                                                                         49
4 Kondition linearer Gleichungssysteme


4 Kondition linearer Gleichungssysteme

4.1 Lösbarkeit linearer Gleichungssysteme

Gegeben seien Matrix A ∈ Km×n und Vektor b ∈ Km :
                                                                                              
                                     a11 · · · a1n                                          b1
                                    ..         ..  ,
                 A = [aij ]m,n
                           i,j=1 =  .
                                          ..
                                             .   .                       b = [bi ]m     =  ... 
                                                                                            
                                                                                   i=1
                                    am1 · · · amn                                            bm

Gesucht ist [xj ]nj=1 = [x1 , . . . , xn ]T ∈ Kn , so dass

                                                    n
                                                    X
                                             ∀i :         aij xj = bi ,
                                                    j=1

beziehungsweise in Kurzschreibweise:
                                                     Ax = b                                          (4.1)
Im folgenden ist stets K = R oder K = C.

Das Gleichungssystem (4.1) heißt

     • unterbestimmt, falls m < n

     • quadratisch, falls m = n

     • überbestimmt, falls m > n


Es gibt mindestens eine Lösung, falls
                                                                                             
                                                     a11                   ···    a1n      b1
                                                    ..                   ..      ..       .. 
                      rang(A) = rang([A|b]) = rang  .                       .     .        . 
                                                                 am1       ···    amn bm

(Rang = Dimension Spaltenraum = Dimension Zeilenraum)

Für quadratische Matrizen sind folgende Aussagen äquivalent:

     1. Ax = b ist für jedes b eindeutig lösbar

     2. rang(A) = n (Vollrang)

     3. det(A) 6= 0 (regulär)

     4. A hat keinen Eigenwert Null



50
                                                                            4.2 Vektornormen


4.2 Vektornormen

Die Quantifizierung von Fehlern erfordert Normen.


Definition 4.1 (Vektornorm). Eine Abbildung k · k : Kn → R+ heißt Norm, falls gilt:

(N1) Definitheit: kxk > 0 für x 6= 0

(N2) Positive Homogenität: kα · xk = |α| · kxk, x ∈ Kn , α ∈ K

(N3) Subadditivität: kx + yk ≤ kxk + kyk, x, y ∈ Kn (Dreiecksungleichung)


Häufig verwendete Normen


Beispiel 4.2 (Häufig verwendete Normen). Euklidische Norm, `2 -Norm:

                                                n
                                                               !1/2
                                                X
                                   kxk2 =             |xi |2
                                                i=1

Maximumsnorm, `∞ -Norm:
                                         kxk∞ = max |xi |
                                                   1,...,n

`1 -Norm:
                                                   n
                                                   X
                                          kxk1 =         |xi |
                                                   i=1



Folgerungen


Konvergenz in der Maximumsnorm entspricht komponentenweiser Konvergenz:
                                          (t)
                   ∀i = 1, . . . , n : lim xi = xi ⇐⇒ lim kx(t) − xk∞ = 0
                                  t→∞                          t→∞

Gilt auch im Unendlichdimensionalen, heißt dort aber aus naheliegenden Gründen Supremums-
norm.


Direkte und wichtige Folge von (N3) ist die inverse Dreiecksungleichung für Normen k · k:

                                       kx − yk ≥ |kxk − kyk|

=⇒ Stetigkeit der Norm als Abbildung von Kn nach R+



                                                                                            51
4 Kondition linearer Gleichungssysteme


Äquivalenz aller Normen

Satz 4.3 (Äquivalenz aller Normen). Seien k · k, k · k0 Normen auf dem endlich-dimensionalen
(!) Kn . Dann gibt es Zahlen m, M > 0 aus R, so dass gilt:

                             m · kxk0 ≤ kxk ≤ M · kxk0    ∀x ∈ Kn



Anmerkung: die Zahlen m und M sind nicht nur von den betrachteten Normen, sondern auch
von der Dimension n abhängig. Insbesondere gilt die Aussage im Unendlichen nicht!


     Beweis: Tafel


Schlussfolgerung

Im Endlichdimensionalen entspricht Konvergenz bezgl. einer beliebigen Norm k · k also Kon-
vergenz in der Maximumsnorm, so dass wir sagen können:


Konvergenz bzgl. einer Norm k · k entspricht komponentenweiser Konvergenz:
                                         (t)
                     ∀i = 1, . . . , n : lim xi = xi ⇐⇒ lim kx(t) − xk = 0
                                   t→∞                   t→∞




Es gibt also für endlichdimensionale Vektorräume nur einen Konvergenzbegriff. Das ist für nicht
endlich erzeugte Vektorräume i.A. falsch!


4.3 Matrixnormen

Normen auf Kn×m

Der Kn×m ist ein Vektorraum, der mit Kn·m identifiziert werden kann:

                                         Kn×m ∼
                                              = Kn·m

Daher definiert jede Norm auf Kn·m auch eine Norm auf Kn×m .

                                                 (t)
               A(t) → A (t → ∞) meint dann aij → aij (t → ∞) ∀ 1 ≤ i, j ≤ n

Nicht jede dieser Normen ist mit der zusätzlichen Verknüpfung, der Matrixmultiplikation, ver-
träglich. Wir betrachten daher Normen mit zusätzlichen Eigenschaften.



52
                                                                             4.3 Matrixnormen


Matrixnormen


Definition 4.4 (Matrixnormen). Eine Norm k · k auf Kn×n heißt verträglich mit einer Vek-
tornorm k · k auf Kn , falls gilt:

                            kAxk ≤ kAk · kxk      A ∈ Kn×n , x ∈ Kn

Sie heißt Matrixnorm, wenn sie submultiplikativ ist:

                              kABk ≤ kAk · kBk           A, B ∈ Kn×n



Die Submultiplikativität ergänzt die Subadditivität (Dreiecksungleichung), die für alle Normen
gilt.


Beispiel


Beispiel 4.5. Die Frobeniusnorm
                                                             1/2
                                                n
                                                X
                                  kAkFr :=             |aij |2 
                                                i,j=1


ist eine Matrixnorm, die mit der euklidischen Norm verträglich ist.



Die Eigenschaften einer Matrixnorm (Definitheit, positive Homogenität, Subadditivität, Sub-
multiplikativität) und die Verträglichkeit kann man direkt nachrechnen ( Übung).


Zugeordnete Matrixnormen


Definition 4.6 (Zugeordnete Matrixnorm). Es sei k · k eine beliebige Vektornorm auf Kn .
Dann heißt
                                      kAxk
                       kAk := sup          =     sup      kAxk
                              x∈K \{0} kxk
                                  n           x∈Kn ,kxk=1

die k · k zugeordnete (oder natürliche) Matrixnorm. Sie ist verträglich und submultiplikativ.



   Beweis: Tafel



                                                                                                53
4 Kondition linearer Gleichungssysteme


Hilfssatz 4.7. Die zugeordneten Matrixnormen zu k · k∞ und k · k1 sind:
                                        n
                                        X
                  kAk∞ := max                 |aij |                (Zeilensummennorm)
                            i=1,...,n
                                        j=1
                                        Xn
                     kAk1 := max              |aij |                (Spaltensummennorm)
                            j=1,...,n
                                        i=1




     Beweis: [Rannacher, S. 104], Fall k · k∞ : Tafel


4.4 Eigenwerte und Eigenvektoren

Sei A ∈ Kn×n , λ ∈ K, und e ∈ Kn , so dass Ae = λe, dann heißt λ Eigenwert von A und e
zugehöriger Eigenvektor. (λ, e) heißt auch Eigenpaar.


Die Gleichung (A − λI)e = 0 ist für e 6= 0 nur für

                                          P (λ) = det(A − λI) = 0

erfüllbar. Das charakteristische Polynom P (λ) hat genau n Nullstellen in C (Vielfachheit mit-
gezählt). Zu jedem Eigenwert λ gibt es mindestens einen Eigenvektor e.

Für alle Matrixnormen k · k und Eigenwerte λ von A gilt

                                                       |λ| ≤ kAk.                         (4.2)



Also: alle Eigenwerte λ ∈ C liegen innerhalb eines Kreises um Null mit Radius kAk. Mit kAk∞
erhält man z.B. eine konkrete Abschätzung für den betragsmäßig größten Eigenwert.


Folgerung aus (4.2):

                         kAk ≥ ρ(A) := max {|λ| | λ ist Eigenwert von A}

Die Zahl ρ(A) heißt Spektralradius von A (leider ist das keine Norm).


     Beweis: Tafel



54
                                                               4.4 Eigenwerte und Eigenvektoren


Beispiele

Beispiel 4.8.      • Vandermonde-Matrix für die Stützstellen 2, 3, 4:
                              
                        1 2 4       (
                                      det(A) = (3 − 2) · (4 − 2) · (4 − 3) = 2
                   A = 1 3 9 
                        1 4 16        λ1 ≈ 18.67, λ2 ≈ 1.25, λ3 ≈ 0.0859

                        ρ(A) ≈ 18.67, kAkFr ≈ 19.62, kAk∞ = 21, kAk1 = 29

   • Drehstreckung um / mit (θ = 45, r = 21/2 ):
                                                                  (
                          cos( π4 ) − sin( π4 )
                                                     
                      1/2                          1 −1            λ1,2 = 1 ± i
                   A=2 ·                         =
                          sin( π4 ) cos( π4 )      1 1             e1,2 = (±i, 1)T
                                ρ(A) = 21/2 , kAkFr = kAk∞ = kAk1 = 2

   • Nilpotente Matrix:
                                 
                              0 1
                          A=             λ = 0 (geometrische Vielfachheit 1)
                              0 0
                                 ρ(A) = 0, kAkFr = kAk∞ = kAk1 = 1

        – A 6= 0, ρ(A) =⇒ ρ ist nicht definit
        – ρ(A + AT ) = 1 > 0 = ρ(A) + ρ(AT ) =⇒ ρ ist nicht subadditiv


Idee: nutze Spektralradius als eine Art “Grenz-Maß” für Matrizen
Da ρ wie gezeigt keine Norm ist, funktioniert das leider nicht


Gerschgorin-Kreise

Man kann aus den Einträgen einer Matrix noch genauere Abschätzungen der Eigenwerte erhal-
ten:

Definition 4.9 (Gerschgorin-Kreise). Für A ∈ Cn×n heißen die Mengen
                                                             
                                                     X       
                           Si := z ∈ C | |z − aii | ≤   |aij |
                                                             
                                                        j6=i

Gerschgorin-Kreise von A. Jeder komplexe Eigenwert λ von A liegt in mindestens einem Gerschgorin-
Kreis. (Analog kann man Kreise für die Spalten definieren.)


   Beweis: Tafel



                                                                                            55
4 Kondition linearer Gleichungssysteme


Beispiel 4.10.
                                 
                            5 1 0
                       A = 1 10 1            λ1 ≈ 10.31, λ2 ≈ 4.82, λ3 ≈ 1.87
                            0 1 2
                         ρ(A) ≈ 10.31, kAkFr ≈ 11.53, kAk∞ = kAk1 = 12

Vorgehensweise: alle Eigenwerte liegen. . .
     • Normen: . . . im Kreis um Null mit Radius 11.53
     • Kreise: . . . in den Gerschgorin-Kreisen um 2, 5 und 10 (mit den Radien 1, 1 und 2)
     • Symmetrie: . . . auf der reellen Achse
=⇒ λ1,2,3 ∈ [1, 3] ∪ [4, 6] ∪ [8, 11.53]


Spezielle Matrizen

Definition 4.11 (Spezielle Matrizen). Zu A ∈ Kn×m heißt AT mit (AT )ij = (A)ji die trans-
ponierte Matrix und A mit (A)ij = (A)ij die komplex konjugierte Matrix.

                                           T
A ∈ Kn×n heißt hermitesch, falls A = A , d.h. aij = aji .
Reelle hermitesche Matrizen heißen symmetrisch (dann ist A = AT ).

                                                              T      T
Eine komplexw. Matrix A ∈ Cn×n heißt normal, falls AA = A A.
                                       T       T                         T
Sie heißt unitär, falls zusätzlich AA = A A = I, also A−1 = A .
Reelle unitäre Matrizen heißen orthogonal (dann ist A−1 = AT ).


Skalarprodukte

Definition 4.12 (Skalarprodukte). Eine Abbildung (·, ·) : Kn × Kn → K heißt Skalarprodukt,
falls gilt:
(S1) Symmetrie: (x, y) = (y, x)
(S2) Linearität: (αx + βy, z) = α(x, z) + β(y, z), x, y, z ∈ Kn , α, β ∈ K
(S3) Definitheit: (x, x) > 0 für x ∈ Kn \ {0}


     • (S3) nutzt, dass aus (S1) (x, x) ∈ R folgt
     • Aus (S1) und (S2) folgt (z, αx + βy) = α(z, x) + β(z, y), also sind Skalarprodukte Biline-
       arformen für K = R und Sesquilinearformen für K = C.



56
                                                                                    4.5 Die Spektralnorm


Ein Skalarprodukt erzeugt immer eine zugehörige Norm
                                              p
                                     kxk :=    (x, x), x ∈ Kn .

Es gilt die Cauchy-Schwarzsche Ungleichung

                                  |(x, y)| ≤ kxk · kyk, x, y ∈ Kn .




Das Euklidische Skalarprodukt lautet

                                                 n
                                                 X
                                     (x, y)2 =         xi y i = xT y
                                                 i=1


(wird im folgenden oft verwendet). Damit gilt:

                              T
                       A=A        ⇐⇒ (Ax, y)2 = (x, Ay)2               ∀x, y ∈ Kn

(andere Schreibweise für hermitesch, heißt auch selbstadjungiert).



4.5 Die Spektralnorm


Die der Euklidischen Norm zugeordnete Matrixnorm kAk2 heißt Spektralnorm.




Hilfssatz 4.13. Für die Spektralnorm hermitescher Matrizen gilt

                      kAk2 = max {|λ| | λ ist Eigenwert von A} = ρ(A)



Für jede Matrix A ∈ Kn×n gilt
                                n                                 o
                                                               T
                      kAk2 = max |λ|1/2 | λ ist Eigenwert von A A




   Beweis: Tafel



                                                                                                     57
4 Kondition linearer Gleichungssysteme


4.6 Positiv definite Matrizen

Definition 4.14 (Positiv definite Matrizen). Eine Matrix A ∈ Kn×n heißt positiv definit (in
K), falls die beiden folgenden Eigenschaften erfüllt sind:

     • (Ax, x)2 ∈ R ∀x ∈ Kn (trivial falls K = R)

     • (Ax, x)2 > 0 ∀x ∈ Kn \ {0} (eigentliche Bedingung)


Das definiert eine wichtige Klasse von Matrizen mit vorteilhaften Eigenschaften. Ziel: Charak-
terisierung positiv definiter Matrizen.



Eigenschaft 4.15. Für A ∈ Cn×n gilt (Ax, x)2 ∈ R ∀x ∈ Cn genau dann, wenn A hermitesch
ist.



     Beweis: Übung

Positiv definite Matrizen in Cn×n sind also immer hermitesch, aber: positiv definite Matrizen
in Rn×n sind nicht notwendigerweise symmetrisch.



Lemma 4.16. Eine hermitesche Matrix A ist genau dann positiv definit, wenn alle ihre (reellen)
Eigenwerte positiv sind. Alle Hauptdiagonalelemente sind (reell und) positiv.



     Beweis: Tafel


Lemma 4.17. Sei A ∈ Rn×n symmetrisch und positiv definit. Dann liegt der betragsmäßig
größte Eintrag auf der Hauptdiagonalen.



Normalerweise beschränkt man sich auf symmetrisch positiv definite Matrizen (kurz auch
s.p.d.). Manche Autoren verlangen das daher direkt in der Definition. Wir fordern das aber
extra.


     Beweis: Tafel



58
                                                                                4.7 Störungstheorie


4.7 Störungstheorie

Seien A ∈ Kn×n regulär und x, b ∈ Kn . Dann ist F (A, b) = A−1 b “Lösungsoperator” der
Gleichung G(x) = Ax − b = 0.


Betrachte die relative Kondition von F , zunächst nur bzgl. Änderungen in b:

                        kF (A, b + δb) − F (A, b)k                  kδbk
                                                   ≤ kAk · kA−1 k ·
                                kF (A, b)k                          kbk




Definition 4.18 (Konditionszahl). Die Zahl cond(A) = kAk · kA−1 k heißt Konditionszahl von
A (bzgl. einer verträglichen Matrixnorm k · k).



Als nächstes wollen wir Störungen in A selbst zulassen. Dabei stellt sich zunächst die Frage, für
welche Störungen überhaupt mit einer (eindeutigen) Lösung zu rechnen ist. Wenn A regulär
ist, wann ist dann A + δA regulär?



Hilfssatz 4.19. Sei B ∈ Kn×n mit Matrixnorm kBk < 1. Dann ist I + B regulär, und es gilt

                                k(I + B)−1 k ≤ c · (1 − kBk)−1

mit c > 0. Falls die Matrixnorm zugeordnet ist, kann c = 1 gewählt werden.



    Beweis: Tafel


Störungssatz

                                                                           −1
Satz 4.20 (Störungssatz). Sei A ∈ Kn×n regulär und kδAk < kA−1 k (für zugeordnete Ma-
trixnorm). Dann ist A
                    e = A + δA ebenfalls regulär, und für den relativen Fehler des gestörten
Systems
                     (A + δA) · (x + δx) = b + δb (oder kurz: Ae
                                                              ex = eb)

gilt:                                                                     
                         kδxk        cond(A)                   kδbk kδAk
                              ≤                 kδAk
                                                       ·           +
                         kxk    1 − cond(A) ·                  kbk   kAk
                                                kAk




    Beweis: Tafel



                                                                                                59
4 Kondition linearer Gleichungssysteme


Beispiele

                         kδAk                kδbk
Beispiel 4.21. Es sei    kAk    ≈ 10−k und   kbk    ≈ 10−k , sowie cond(A) ≈ 10s (mit k, s > 0).
Weiter nehmen wir an, dass 10s · 10−k  1, also z.B. s − k ≤ −3.
Dann gilt
                            kδxk        10s
                                 ≤                · 2 · 10−k ≈ 10−k+s
                            kxk    1 − 10s · 10−k
Man verliert also bis zu s Stellen an Genauigkeit!

Beispiel 4.22 (Kondition und Determinante).    • Betrachte Matrix B = 10−10 · I:
                               −10                  10        
                                10       0      −1    10     0
                          B=                  ,B =
                                  0   10−10             0   1010

       Es gilt cond∞ (B) = kBk∞ · kB −1 k∞ = 1, aber det(B) = 10−20 !
     • Generell gilt cond(A) = cond(A) für  6= 0, aber det(A) = n det(A)
 =⇒ Die Determinante einer Matrix sagt nichts über die Fehlerverstärkung beim Lösen des
zugehörigen Gleichungssystems aus
                                   
                             d1 0
Beispiel 4.23. Für A =                ergibt sich cond∞ (A) = max(d1 , d2 )/ min(d1 , d2 ), also z.B.
                             0 d2
1010 für die Wahl d1 := 1010 , d2 := 1. Andererseits sind alle Gleichungen in A unabhängig und
xi = bi /di jeweils gut konditioniert. Was passiert hier?
     • Bei Fehlern nur in b: das Problem liegt in der Verwendung von Normen, es handelt sich
       nur um eine Abschätzung, und diese ist für die einzelnen Komponenten hier sehr schlecht.
     • Bei Fehlern auch in A: kleine Schwankungen in den Nebendiagonaleinträgen führen dazu,
       dass das gestörte System voll gekoppelt ist. Der Störungssatz behandelt die Auswirkungen.




60
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme

5.1 Dreieckssysteme (gestaffelte Gleichungssysteme)

Sei A ∈ Kn×n von oberer Dreiecksgestalt:

                              a11 · x1 + a12 · x2 + · · · + a1n · xn = b1
                                         a22 · x2 + · · · + a2n · xn = b2
                                                        ..       ..   ..
                                                           .      .    .
                                                            ann · xn = bn


Dieses System ist genau dann eindeutig lösbar, wenn aii 6= 0, i = 1, . . . , n, gilt.

Aufgrund der einfachen Struktur lässt sich das System dann durch “Rückwärtseinsetzen” lö-
sen.
Lösung durch rückwärts einsetzen:

                               xn = bn /ann
                                                      
                            xn−1 = bn−1 − a(n−1)n · xn /a(n−1)(n−1)
                               ..
                                .
                                          n
                                                     !
                                         X
                              xi = bi −      aik · xk /aii
                                            k=i+1



Die Anzahl der benötigten Rechenoperationen ist:
                                               n−1
                                               X
                                    N∆ (n) =          (2i + 1) = n2
                                                i=0



(Gilt für untere Dreieckssysteme natürlich analog.)


5.2 Gauß-Elimination

Sei nun A ∈ Kn×n regulär, aber mit beliebiger Struktur.

Ziel: Bringe A durch äquivalente Umformungen auf (obere) Dreiecksgestalt, um die Lösung
leicht berechnen zu können.

Dazu benutzt man:



                                                                                        61
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


     • Vertauschen zweier Gleichungen
     • Addition eines Vielfachen einer Gleichung zu einer anderen


(Wir beschränken uns der Einfachheit halber im folgenden auf den Fall K = R, für die komple-
xen Zahlen funktioniert es aber analog.)
Wir schreiben                                                                      
                                                a11 · · ·               a1n     b1
                                                ..                      ..      .. 
                                      [A, b] =  .                        .       . 
                                                an1 · · ·               ann     bn
(erweiterte Koeffizientenmatrix)


Das Gaußsche Eliminationsverfahren erzeugt dann eine endliche Folge von Matrizen
                          h           i h           i         h               i
                  [A, b] = A(0) , b(0) , A(1) , b(1) , . . . , A(n−1) , b(n−1) ,

so dass nach n − 1 Schritten A(n−1) obere Dreiecksgestalt hat.


Erster Schritt: A(0) , b(0)
                                    (1) (1) 
                                      A ,b
                                             h                  i
Erster Schritt, Teil (a): A(0) , b(0)            e(0) , eb(0)
                                     
                                                 A

                                                  (0)
     • Bestimme ein r ∈ {1, . . . , n} mit ar1 6= 0
                                (0)
     • Dieses Pivotelement ar1 existiert, weil A regulär ist
                                                        (0)
     • Vertausche Zeilen 1 und r, dadurch e
                                          a11 6= 0


Beispiel:                                                                                       
                        0       4     −2 −3 1                           1       3       0   −2 2
                                                                                      
                     −2        −6     3    1 2                     −2       −6 3 1 2 
                                                                                      
                     3          7     4    −1 3                    3        7  4 −1 3 
                       1         3     0    −2 2                      0        4 −2 −3 1
                         h              i
Erster Schritt, Teil (b): Ae(0) , eb(0)
                                               (1) (1) 
                                               A ,b

                                                                        (0)   (0)
     • Berechne für i ∈ {2, . . . , n} den Faktor qi1 = e
                                                        ai1 /e
                                                             a11
     • Ziehe das qi1 -fache der Zeile 1 von Zeile i ab
     • Dadurch werden alle Einträge der ersten Spalte Null, bis auf den ersten (das Pivotelement)



62
                                                                                                        5.2 Gauß-Elimination

                                                                (1)           (0)            (0)
                                ∀ j ∈ {1, . . . , n} : aij = e
                                                             aij − qi1 e
                                                                       a1j
                                                             (1)     (0)    (0)
                                                            bi = ebi − qi1eb1
                                                                                                       
                         1     3        0      −2 2                1     3   0 −2 2
                                                                                                       
                     −2      −6 3 1 2                           0     0   3 −3 6                       
                                                                                                       
                     3       7  4 −1 3                          0     −2 4   5 −3                      
                      0       4 −2 −3 1                            0     4 −2 −3 1




k-ter Schritt: A(k−1) , b(k−1)               A(k) , b(k)
                                                        

                                                      h                             i
k-ter Schritt, Teil (a): A(k−1) , b(k−1)                  e(k−1) , eb(k−1)
                                        
                                                          A

   • Die ersten k − 1 Zeilen und Spalten sind die einer oberen Dreiecksmatrix
                                                                                    (k−1)
   • Finde ein neues r ∈ {k, . . . , n} mit Pivotelement ark                                6= 0
   • Tauschen der k-ten und r-ten Zeilen ändert die ersten k − 1 Zeilen und Spalten nicht

Beispiel für k = 2:
                                                                                                 
                      1 3           0    2   −2                         1 3                 0  −2 2
                     0 0
                                   3    6 −3                        0 −2
                                                                                           4  5 −3 
                                                                                                    
                                                                                                 
                     0 −2          4  5 −3                           0 0                 3 −3 6 
                      0 4          −2 −3 2                              0 4                 −2 −3 2
                        h                  i
k-ter Schritt, Teil (b): Ae(k−1) , eb(k−1)                A(k) , b(k)
                                                                         

                                                                                    (k−1)       (k−1)
   • Berechne für i ∈ {k + 1, . . . , n} den Faktor qik = e
                                                          aik                               /e
                                                                                             akk
   • Ziehe das qik -fache der Zeile k von Zeile i ab
   • Diese Subtraktion ändert die k −1 ersten Zeilen und Spalten nicht (für die Spalten: wegen
      (k−1)
     akj
     e      = 0 für j < k)


                                                                 (1)           (0)              (0)
                                   ∀ j ∈ {k, . . . , n} : aij = e
                                                                aij − qik e
                                                                          akj
                                                                 (1)    (0)     (0)
                                                                bi = ebi − qikeb1
                                                                                    
                       1 3           0        −2 2                     1 3      0 −2 2
                      0 −2          4        5 −3                   0 −2     4 5 −3 
                                                                                    
                                                                                    
                      0 0          3 −3              6              0 0      3 −3 6 
                       0 4          −2 −3             2                0 0      6 7 −4



                                                                                                                         63
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme




Aufwand der Gauß-Elimination

     • In jedem Schritt entsteht eine Zeile (und Spalte), die die korrekte Form hat und danach
       nicht mehr verändert wird
        =⇒ das Verfahren bricht nach einer endlichen Zahl Schritte ab
     • Da es immer mindestens ein geeignetes Pivotelement gibt, lassen sich die einzelnen Teil-
       schritte stets durchführen
        =⇒ das Verfahren besteht aus einzelnen, berechenbaren Operationen

     Formaler Algorithmus

Wie aufwändig ist die Gauß-Elimination?

Lemma 5.1. Der Aufwand zur Transformation von A auf obere Dreiecksgestalt durch Gauß-
Elimination beträgt
                                        2
                            NGauß (n) = n3 + O(n2 )
                                        3

Da der Aufwand des Rückwärtseinsetzens vernachlässigbar ist (N∆ (n) = n2 ), ist dies auch der
Aufwand für das Lösen eines linearen Gleichungssystems mit dem Gauß-Verfahren.


     Beweis: Tafel


Vollständiger Algorithmus

Algorithmus 5.2 (Gauß-Elimination). In Pseudocode:

Eingabe : A ∈ Rn×n (wird überschrieben)
          b ∈ Rn (wird überschrieben)
Ausgabe : x ∈ Rn

for ( k = 1; k < n; k = k+1 )
{
  // Schritt (a)
  // Finde ein geeignetes Pivotelement
  Finde r in {k,...,n}
      mit a_rk != 0 (sonst Fehler);
  if (r != k)
  { // Tausche Zeilen r und k
    for ( j = k; j <= n; j = j+1 )



64
                                                                       5.2 Gauß-Elimination


        {t = a_kj; a_kj = a_rj; a_rj = t;}
      t = b_k; b_k = b_r; b_r = t;
  }

  // (... -->)


  // (...)

  // Schritt (b)
  // Subtrahiere Vielfache der Zeile k
  for ( i = k+1; i <= n; i = i+1 )
  {
    q_ik = a_ik / a_kk;
    for (j = k; j <= n; j = j+1 )
      a_ij = a_ij - q_ik * a_kj;
    b_i = b_i - q_ik * b_k;
  }
}
// A ist jetzt obere Dreiecksmatrix,
// löse daher durch Rückwärtseinsetzen


Vorsicht: In der Numerik zählen wir üblicherweise ab Eins, aber in C++ ist Null der kleinste
Index!



Beispiel


Beispiel 5.3. Ein weiteres Beispiel, diesmal ohne Vertauschungen:
                                                                      
                     2 4 6 8            40         2   4 6 8         40
                    16 33 50 67        330      0   1 2 3         10 
                                                                      
                    4 15 31 44         167      0   7 19 28       87 
                     10 29 63 97        350        0   9 33 57       150
                                                                    
                         2 4 6 8          40        2 4    6   8    40
                        0 1 2 3          10      0 1    2   3    10 
                                                                    
                        0 0 5 7          17      0 0    5   7    17 
                         0 0 15 30        60        0 0    0   9    9




Lösung durch Rückwärtseinsetzen: (4, 3, 2, 1)T



                                                                                         65
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


5.3 LR-Zerlegung

Transpositionsmatrizen


Ziel: Finde möglichst kompakte Darstellung der Gauß-Elimination

     abstrakte Formulierung mit Matrixmultiplikationen



Definition 5.4 (Transpositionsmatrizen). Eine Matrix Prs ∈ Rn×n , 1 ≤ r, s ≤ n, r 6= s, mit
                                   
                                   1
                                        i = j ∧ i 6= r ∧ i 6= s
                         [Prs ]ij = 1    (i = r ∧ j = s) ∨ (i = s ∧ j = r)
                                   
                                    0    sonst
                                   


heißt Transpositionsmatrix.


                                               Beispiel:


                                                               
                                                1   0      0   0
                                               0   0      0   1
                                        P24   =
                                               0
                                                                
                                                    0      1   0
                                                0   1      0   0


Hilfssatz 5.5. Eine Transpositionsmatrix Prs hat die folgenden Eigenschaften:

     1. A
        e = Prs A ist A mit Zeilen r und s vertauscht

     2. A
        e = APrs ist A mit Spalten r und s vertauscht

               T (symmetrisch)
     3. Prs = Prs
         −1 = P
     4. Prs           −1    T
               rs =⇒ Prs = Prs (orthogonal)




Endliche Produkte von Transpositionsmatrizen heißen Permutationsmatrizen. Diese sind or-
thogonal, aber nicht symmetrisch.


     Beweis: Tafel



66
                                                                                5.3 LR-Zerlegung


Frobeniusmatrizen

Die Transpositionsmatrizen werden für Teil (a) der Eliminationsschritte verwendet, für Teil (b)
benötigen wir eine spezielle Form von Matrix.

Definition 5.6 (Frobeniusmatrizen). Eine Matrix Gk ∈ Rn×n heißt Frobeniusmatrix, wenn
Gk = I + G0k , wobei G0k ∈ Rn×n mit [G0k ]ij = 0 für j 6= k ∨ i ≤ k.

                                               Beispiel:

                                                            
                                              1     0   0   0
                                             0     1   0   0
                                        G2 = 
                                             0
                                                             
                                                    3   1   0
                                              0     4   0   1

Hilfssatz 5.7. Eine Frobeniusmatrix Gk hat die folgenden Eigenschaften:
                              (
                               aij           i≤k
  1. Für Ae = Gk A gilt e
                        aij =
                               aij + gik akj i > k
     (Das ist gerade der Eliminationsschritt, wenn gik := −qik )
  2. G0k G0k = 0
  3. G−1        0
      k = (I − Gk )
                            Pk
                                      und G−1 −1       −1
                                  0
                                                                      Pk    0
  4. G1 G2 · · · Gk = I +    j=1 Gj        1 G2 · · · Gk = I −         j=1 Gj

  5. ∀ k < r ≤ s : Prs Gk = G           e k := I + Prs G0
                            e k Prs mit G
                                                        k

     (Ändern der Reihenfolge führt zu neuer Frobeniusmatrix G
                                                            ek )


   Beweis: Tafel


LR-Zerlegung

Für das Produkt von Matrizen Bi , a ≤ i ≤ b, definieren wir:
                                  b
                                  Y
                                        Bi := Bb Bb−1 · · · Ba+1 Ba
                                  i=a

(Achtung: von rechts nach links, da Multiplikation nicht kommutativ)

Für Transpositionsmatrizen ist dieses Produkt eine Permutationsmatrix, für Frobeniusmatrizen
nach dem eben gezeigten eine untere Dreiecksmatrix.



                                                                                             67
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


Satz 5.8 (LR-Zerlegung).      Sei A ∈ Rn×n regulär, dann gibt es eine Zerlegung P A = LR, wobei
                                                                             
                      1         0     ···   0           r11 r12 · · ·     r1n
                                     ..    ..                   ..           
                    l11        1        .   . , R =  0 r22
                                                                     .   r2n 
              L=   ..       ..      ..               .. . .    ..
                                                                                ,
                                                                                
                    .            .      .  0          .      .     . r(n−1)n 
                    ln1       · · · ln(n−1) 1            0 ··· 0          rnn
             n−1
              Q
und P =            Pα,sα , sα ≥ α, eine Permutationsmatrix ist. Im Fall P = I ist die Zerlegung
             α=1
eindeutig.


     Beweis: Tafel
Aus dem Beweis ergibt sich, dass
                               1               n−1
                                                              !         !
                               Y               Y
                         L=            I−            Pα,sα        G0k
                              k=n−1         α=k+1
                                 n−1     n−1
                                                        !
                                 X       Y
                           =I−                  Pα,sα       G0k    mit [G0k ]ik = −qik
                                 k=1    α=k+1

     • Die Nichtnullelemente −qik in G0k nehmen den selben Platz wie die eliminierten Einträge
        (k−1)
       aik
       e      ein
     • Kein zusätzlicher Speicher notwendig, verwende einfach die linke untere Hälfte von A
       (wird sowieso überschrieben)
     • Die Einträge von G0k nehmen ebenfalls an späteren Zeilenvertauschungen teil (tausche
       daher einfach ganze Zeile)


Wozu das Ganze?

Lösen eines Gleichungssystems Ax = b mittels LR-Zerlegung:

                                      Ax = b
                               ⇐⇒ P Ax = P b
                               ⇐⇒ LRx = P b, y := Rx
                                  (
                                   Ly = P b (vorwärts einsetzen)
                               ⇐⇒
                                   Rx = y    (rückwärts einsetzen)


Bei bekannter LR-Zerlegung lässt sich das Gleichungssystem also mit zwei sehr einfachen Schrit-
ten lösen.
Einzelne Schritte:



68
                                                                         5.3 LR-Zerlegung


  1. Berechne LR-Zerlegung und Matrix P für gegebenes A
  2. berechne b0 = P b für gegebenes b
  3. Löse Dreieckssystem Ly = b0
  4. Löse Dreieckssystem Rx = y

Die LR-Zerlegung ist äquivalent zur Gauß-Elimination und hat daher den selben Aufwand
NLR (n) = 32 n3 + O(n2 ).

Wichtiger Unterschied:
Für eine neue rechte Seite Ae
                            x = eb kann die LR-Zerlegung wiederverwendet werden, die Gauß-
Elimination müsste erneut durchgeführt werden!


Algorithmus

Algorithmus 5.9 (LR-Zerlegung). In Pseudocode:

Eingabe : A ∈ Rn×n (wird überschrieben)
Ausgabe : L, R ∈ Rn×n (ohne Diagonale von L)
          p : {1, . . . , n} → {1, . . . , n}

for ( k = 1; k < n; k = k+1 )
{
  // Schritt (a)
  // Finde ein geeignetes Pivotelement
  Finde r in {k,...,n}
      mit a_rk != 0 (sonst Fehler);
  if (r != k)
  { // Tausche Zeilen r und k
    // Tausche jetzt auch alte Spalten!
    for ( j = 1; j <= n; j = j+1 )
      {t = a_kj; a_kj = a_rj; a_rj = t;}
  }

  p_k = r; // merke Permutation
  // (... -->)

  // (...)

  // Schritt (b)
  // Subtrahiere Vielfache der Zeile k
  for ( i = k+1; i <= n; i = i+1 )
  { // Verwende jetzt a_ik statt q_ik



                                                                                       69
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


         a_ik = a_ik / a_kk;
         // Subtrahiere weiterhin ab Spalte k
         // (sonst würden q_ij verändert!)
         for (j = k; j <= n; j = j+1 )
           a_ij = a_ij - a_ik * a_kj;
     }
}

(Wir speichern nicht die kompletten Transpositionsmatrizen, sondern nur den Index, mit dem
jeweils getauscht werden muss. Die Diagonale von L ist konstant Eins und wird daher nicht
gespeichert.)


Beispiel

Beispiel 5.10 (LR-Zerlegung). Betrachte wieder das Beispiel bei der Gauß-Elimination.
Einträge von R sind rot markiert, Einträge von L blau, Permutationsindizes grün.

Tausche erste und vierte Zeile, erste Zeile ist damit fertig.
Notiere, dass die erste Zeile mit der vierten getauscht wurde:
                                                                 
                         0      4 −2 −3               1     3  0 −2
                                                                 
                      −2      −6    3    1       −2     −6  3 1  
                                                                 
                      3        7    4 −1           3     7  4 −1 
                         1      3    0 −2             0     4 −2 −3
                                      (0, 0, 0)T   (4, 0, 0)T

Eliminiere die verbleibenden Einträge der ersten   Spalte, trage stattdessen die Faktoren qi1 ein:
                                                                        
                         1     3   0 −2               1       3    0 −2
                                                                        
                      −2     −6   3    1          −2       0    3   −3  
                                                                        
                      3       7   4 −1            3       −2 4       5 
                         0     4 −2 −3                0       4 −2 −3

(da das Pivotelement Eins ist, bleiben hier die Einträge einfach erhalten!)
Tausche die zweite Zeile mit der dritten:
                                                                    
                        1    3     0 −2              1  3         0 −2
                     −2 0         3 −3            3 −2         4 5 
                                                                    
                                                                    
                     3 −2         4      5        −2 0        3 −3 
                        0    4    −2 −3              0  4        −2 −3
                                      (4, 0, 0)T   (4, 3, 0)T



70
                                                         5.4 Rundungsfehleranalyse der LR-Zerlegung


(wichtig: dabei werden die Einträge von L mitgetauscht!)
Eliminiere die verbleibenden   Einträge der zweiten Spalte        und merke die Faktoren qi2 :
                                                                            
                         1      3     0 −2             1           3    0 −2
                       3
                              −2     4    5 
                                                    3
                                                                 −2    4 5   
                                                                            
                       −2      0     3 −3         −2            0    3 −3 
                         0      4    −2 −3             0          −2    6 7

Beobachtung: jeder Tausch-Schritt ergibt eine Zeile von R, jeder Eliminationsschritt eine Spalte
von L
Im letzten Schritt ist kein Tauschen nötig. Notiere dies durch den Index der aktuellen Zeile.
Eliminiere den letzen Eintrag und speichere dort stattdessen q43 :
                                                                   
                           1   3 0     −2           1     3 0      −2
                        3 −2 4         5        3 −2 4          5 
                                                                   
                        −2 0 3        −3        −2 0 3          −3 
                                                                   
                          0     −2 6            7            0    −2 2        13
                                        (4, 3, 0)T       (4, 3, 3)T

Prüfe nach, dass L · R = P · A:
                               
    1 0       0   0      1 3 0 −2
                     · 0 −2 4 5 
  3  1       0   0             
  
  −2 0       1   0    0 0 3 −3
    0 −2      2   1      0 0 0 13
                                                                                             
                                                               0      0   0   1      0  4 −2 −3
                                                                                · −2 −6 3
                                                              0      0   1   0            1
                                                             =                                 
                                                              0      1   0   0  3   7  4 −1
                                                               1      0   0   0      1 3  0 −2


5.4 Rundungsfehleranalyse der LR-Zerlegung

Absolutwertnotation

Sei A ∈ Rm×n , dann definieren wir die Matrix der Beträge B = |A| durch

                               bij := |aij |,       1 ≤ i ≤ m, 1 ≤ j ≤ n,

und analog |x| für x ∈ Rn (Vektor der Beträge).

Damit können wir die Abbildung rd auf Rm×n bzw. Rn erweitern:

                              rd(A) = A + A0          mit |A0 | ≤ |A| · eps



                                                                                                 71
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


(das sind m · n Ungleichungen), wegen

                    rd(aij ) = aij (1 + ij ) = aij + ij aij ,   |ij aij | ≤ |aij | · eps




fl-Notation

Sei E eine Formel, dann bezeichne fl(E) eine Berechnung der Formel in Gleitkommaarithmetik.
Die Reihenfolge wird dabei meist offensichtlich sein (von links nach rechts, Klammerung), sonst
muss sie angegeben werden.

Somit ist zum Beispiel:

                     fl(A + B) = (A + B) + H           mit |H| ≤ eps · (|A + B|)

wegen
           fl(aij + bij ) = aij ⊕ bij = (aij + bij )(1 + ij ) = (aij + bij ) + ij (aij + bij )

                      √
Man kann z.B. auch fl( x) und fl(sin(x)) schreiben, letzteres setzt Angabe von Algorithmus
voraus.


Rückwärtsanalyse

Bisher haben wir die “Vorwärtsanalyse” der Rundungsfehler betrieben, z.B. gilt für das Skalar-
produkt xT y:
                   | fl(xT y) − xT y| ≤ n · eps · |x|T |y| + O(eps2 ) (absolut)
oder
                     | fl(xT y) − xT y|             |x|T |y|
                                        ≤ n · eps ·          + O(eps2 ) (relativ)
                            |xT y|                   |xT y|


Eine Alternative ist die sog. “Rückwärtsanalyse”. Dort versucht man, das Fließkommaergebnis
als exaktes Ergebnis eines modifizierten Ausdrucks zu schreiben, z.B.:

                    fl(xT y) = (x + f )T y      mit |f | ≤ n · eps · |x| + O(eps2 )


Erinnerung: Ein Algorithmus ist stabil, wenn der akkumulierte Fehler der Rechnung den auf-
grund der Problemstellung unvermeidbaren Fehler (→ Kondition) nicht übersteigt (oder zu-
mindest in der selben Größenordnung ist).

Der tatsächlich auftretende Diskretisierungsfehler hat dann die gleiche Größenordnung wie der
kleinste für diese Aufgabe theoretisch mögliche Fehler.



72
                                                 5.4 Rundungsfehleranalyse der LR-Zerlegung




                                                               F(x)
                                                               k·∆x
                       x    ∆x
                       x'                                      F(x')
                                                               F'(x')-F(x')

                                                               F'(x')


Definition 5.11 (Rückwärtsstabilität). Ein Algorithmus F 0 für eine Funktion F heißt rück-
                                                               e mit F 0 (x) = F (e
wärtsstabil, wenn zu jeder Eingabe x eine modifizierte Eingabe x                  x) existiert,
für die |x − x
             e| = O(|x − rd(x)|) = O(|x| · eps) gilt.



Interpretation: Der Algorithmus löst das gestellte Problem, aber für eine leicht gestörte Einga-
be.


Man kann zeigen, dass rückwärtsstabile Algorithmen stets stabil sind.




                                                               F(x)
                                                               k·∆x
                       x    ∆x
                       x'                                      F(x')
                       x~
                                                               F'(x')-F(x')

                                                               F'(x')
                                                                   ~
                                                               =F(x)


Beispiel



                                                                                             73
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


Beispiel 5.12. Die Berechnungen F 0 (x, y) = x ⊕ y und G0 (x) = x ⊕ 1 sind jeweils stabile
Algorithmen für die Addition bzw. das Inkrement. F 0 ist rückwärtsstabil:
                      x ⊕ y = (x + y) · (1 + ) = x · (1 + ) + y · (1 + ) = x
                                                                              e + ye
                     mit xe := x · (1 + ), |x − xe| = |x| ·  ≤ |x| · eps, ye analog
Aber G0 ist nicht rückwärtsstabil:
                     x ⊕ 1 = (x + 1) · (1 + ) = x · (1 + (1 + x−1 ) · ) + 1 = x
                                                                                e+1
                     mit   e := x · (1 + (1 + x−1 ) · ),
                           x                                       e| = |x| · |1 + x−1 | · 
                                                              |x − x
Für x  1 wird der relative Fehler beliebig groß (vgl.  ⊕ 1 = 1).


Skalarprodukt

Hilfssatz 5.13. Das Skalarprodukt xT y ∈ R, x, y ∈ Fn , ist rückwärtsstabil:
                     ŝ = fl(xT y) = (x + f )T y   mit      |f | ≤ n · eps · |x| + O(eps2 )


Bemerkung 5.14. Der Faktor n · eps ist der schlechteste Fall und sehr pessimistisch. Run-
dungsfehler von Operationen hängen von den Argumenten ab und können sich auch wegheben
(Vorzeichenwechsel!). Eine statistische Betrachtung würde auf einen deutlich geringeren durch-
schnittlichen Fehler führen.


     Beweis: Tafel


Dyadisches Produkt

Beispiel 5.15. Das dyadische Produkt (äußere Produkt) x · y T ∈ Rn×n hingegen ist zwar stabil,
aber nicht rückwärtsstabil. Warum?

Ein dyadisches Produkt hat immer Rang Eins, fl(x · y T ) wird jedoch durch die Störungen i.A.
einen anderen Rang haben (und kann somit nicht das Ergebnis einer exakten Rechnung sein).


Lösen von Dreieckssystemen

Satz 5.16 (Lösen von Dreieckssystemen). Es seien x̂ und ŷ die numerischen Lösungen des
unteren bzw. oberen Dreieckssystems Lx = b und Ry = c. Dann gilt
                      (L + F )x̂ = b                     |F | ≤ n · eps · |L| + O(eps2 )
                     (R + G)ŷ = c                       |G| ≤ n · eps · |R| + O(eps2 )
Das Lösen von Dreiecksystemen durch Vorwärts- / Rückwärtseinsetzen ist also rückwärtsstabil.


     Beweis: Übung



74
                                                    5.4 Rundungsfehleranalyse der LR-Zerlegung


LR-Zerlegung


Satz 5.17 (Rückwärtsanalyse der LR-Zerlegung). Sei A ∈ Fn×n . Es werde die LR-Zerlegung
von A ohne Zeilentausch berechnet (sofern möglich). Dann gilt für die numerisch berechneten
Matrizen L
         b und R:
                b
                                                                        
              b·R
              L b =A+H        mit   |H| ≤ 3(n − 1) · eps · |A| + |L|   b + O(eps2 )
                                                                  b · |R|



   Beweis: Tafel


Satz 5.18 (Lösen mittels LR-Zerlegung). Seien L  b und R
                                                       b die numerisch berechnete LR-Zerlegung
von A ∈ F  n×n                                 n
               aus Satz 5.17. Sei weiter ŷ ∈ F die numerische Lösung von Ly
                                                                           b = b, und schließ-
           n
lich x̂ ∈ F die numerische Lösung von Rx = ŷ. Dann gilt für x̂ die Beziehung
                                           b

                                            (A + E)x̂ = b

mit
                            |E| ≤ n · eps · (3|A| + 5|L|   b + O(eps2 )
                                                      b · |R|)



   Beweis: Tafel


Folgerung


Nach Satz 5.18 ist x̂ exakte Lösung des modifizierten Systems (A + E)x̂ = b. Mit dem Stö-
rungssatz gilt dann in k · k∞ -Norm
                                        (                                             )
              kx̂ − xk∞                                     kLk
                                                             b
                                                                ∞ · kRk∞
                                                                     b
                        ≤ cond∞ (A) ·   3n · eps + 5n · eps              + O(eps2 )
                kxk∞                                           kAk∞



      • Der erste Term ist mit dem aus der Konditionsanalyse vergleichbar und daher gutartig.

      • Der zweite Term kann problematisch werden, da L
                                                      b Einträge der Form e    aii enthält (und
                                                                          aij /e
        aii beliebig klein werden kann).
        e

        Man kann zeigen, dass R
                              b genauso problematisch sein kann.


=⇒ Die Gauß-Elimination / LR-Zerlegung ist in dieser Form nicht numerisch stabil!



                                                                                            75
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


Beispiel

Beispiel 5.19. Betrachte die Matrix A gegeben durch
                                                       
                                     1       −1      0 1
                              A=          , A =
                                    1 0               1 −

mit 0 <   1. cond∞ (A) = (1 + )2 , also ist A gut konditioniert, und Rückwärtseinsetzen
bietet sich als stabiler Algorithmus an.

Die (exakte) LR-Zerlegung ist aber in diesem Fall A = LR mit
                                                            
                                       1   0              1
                              L=              ,   R=
                                    −1    1            0 −−1
                                  −1
               =⇒ kLk
                   b
                      ∞ ≈ kLk∞ =    + 1  1,          kRk
                                                         b
                                                           ∞≈ kRk     ∞   = −1  1


5.5 Pivotisierung

Die Rundungsfehleranalyse in Satz 5.18 führt auf den unvorteilhaften Term |L|     b und wie
                                                                             b · |R|,
wir gesehen haben, können diese beiden Faktoren prinzipiell beliebig groß werden.


Wählt man im Gauß-Algorithmus (bzw. bei der LR-Zerlegung) den Index r so, dass
                                   (k)      (k)
                                 |ark | ≥ |aik | ∀ k ≤ i ≤ n,

dann gilt
                              |ˆlij | ≤ 1 und damit kLk
                                                     b
                                                        ∞ ≤n

Diese Wahl des Pivotelements nennt man Spaltenpivotisierung.


Beispiel

Beispiel 5.20. Das Gauß-Verfahren für das lineare Gleichungssystem

                                 −10−5 1
                                             
                                              x       1
                                            · 1 =
                                   2     1    x2      0

führt in exakter Arithmetik auf

                              −10−5
                                                           
                                        1          x1      1
                                                 ·    =
                                0   1 + 2 · 105    x2   2 · 105

mit der Lösung (x1 , x2 )T = (−0.4999975, 0.999995)T ≈ (−0.5, 1)T .



76
                                                                                       5.5 Pivotisierung


In F(10, 4, 1) ergibt sich zwar ebenfalls ein Faktor q21 = 2 · 105 = 0.2 · 106 , das dadurch entste-
hende System ist aber

                            −0.1 · 10−4
                                                                    
                                              1        x1          1
                                                     ·    =                ,
                                 0        0.2 · 106    x2      0.2 · 106

                (1)
der Eintrag a22 ist also (als einziger!) leicht fehlerbehaftet.


Als Ergebnis erhält man das völlig inakzeptable (x1 , x2 )T = (0, 1)T .


Die berechnete Lösung hat also einen relativen Fehler von 50% in der Maximumsnorm, obwohl
die Matrix sehr gut konditioniert ist.


Rückwärtsanalyse:
Tatsächlich wurde das modifizierte System

                                   −10−5 1
                                              
                                              x   1
                                            · 1 =    ,
                                     2    0   x2  0

exakt gelöst, welches aber eine völlig andere Lösung hat.
Spaltenpivotisierung (in F(10, 4, 1)) führt in diesem Fall auf das System
                                                
                                        2 1      x      0
                                              · 1 =        ,
                                        0 1      x2     1

mit der vollkommen akzeptablen Antwort (x1 , x2 )T = (−0.5, 1)T .


Beachte aber:
Multiplikation der ersten Zeile des ursprünglichen Systems mit −106 führt auf ein mathematisch
äquivalentes System, das auch bei Spaltenpivotisierung keine Vertauschungen braucht und daher
trotzdem das ursprüngliche, unbrauchbare, Ergebnis liefert.



Äquilibrierung

Solche Probleme kann man oft durch eine Skalierung (Äquilibrierung) des Gleichungssystems
vermindern:
                                                                        n
                                                                        X
                                       −1            −1
                       Ax = b ⇐⇒ D          Ax = D        b mit dii =         |aij |
                                                                        j=1
                                  e = eb mit kAk
                               ⇐⇒ Ax             ∞ =1
                                              e



                                                                                                     77
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


(Vorsicht: keine Aussage über kA
                               e−1 k , es kann durchaus auch cond∞ (A)
                                    ∞
                                                                    e > cond∞ (A) sein!)

Spezialfall der allgemeineren Idee der Vorkonditionierung:

Transformiere die ursprüngliche Aufgabenstellung in eine neue Formulierung, die besser kon-
ditioniert ist und sich stabil lösen lässt, und transformiere danach die Ergebnisse zurück (falls
nötig)


Beispiel

Beispiel 5.21. Betrachte die folgende vom Parameter c 6= 0 abhängige Matrix Ac :
                                                              1 2c−1 1
                                                                   
                      c 0      2 −1        2c −c         −1
               Ac =        ·            =          , Ac = · −1
                      0 1     −1 2        −1 2                3    c    2

Es gilt cond∞ (Ac ) = 1 + 2 · max{|c|, |c|−1 }.

Optimal ist also die Wahl c = 1 mit cond∞ (A1 ) = 3. Für c 6= 1 wird eine der Zeilen mehr betont
als die andere, was im Extremfall zu einem sehr unausgeglichenen Gleichungssystem führt.



Rundungsfehleranalyse bei Pivotisierung

Analog zu Satz 5.18 zeigt man, dass für die Lösung x̂ bei Spaltenpivotisierung gilt:
                                           (A + E)x̂ = b
mit
                         |E| ≤ n · eps · (3|A| + 5P T · |L|   b + O(eps2 )
                                                         b · |R|)


Nach Konstruktion ist kLk
                       b
                         ∞ ≤ n, und mit der Definition
                                                           (k)
                                      ρ := kAk−1
                                              ∞ · max |âij |
                                                   i,j,k

(sog. “Wachstumsfaktor”) zeigt man
                               kEk∞ ≤ 8n3 kAk∞ ρ · eps + O(eps2 )


     Beweis: [Golub, Van Loan: Matrix Computations]
Man kann Beispiele mit sehr schlechtem Verhalten für ρ konstruieren:
Betrachte A ∈ Rn×n mit                    
                                          1
                                             j =i∨j =n
                                    aij := −1 j < i
                                              sonst
                                          
                                           0
                                          



78
                                                                                                   5.5 Pivotisierung


                                                   Beispiel:

                                                                              
                                        1 0  0  0                            1
                                      −1 1  0  0                            1
                                                                              
                                      −1 −1 1
                                    A=         0                            1
                                      −1 −1 −1 1                            1
                                       −1 −1 −1 −1                           1

Für diesen Extremfall ist ρ = 2n−1 .

In der Praxis wachsen die Einträge aber normalerweise nur um bis zu eine Größenordnung
(ρ ≈ 10, [Golub, Van Loan]), daher können Gauss-Verfahren und LR-Zerlegung mit Spaltenpi-
votisierung als stabil angesehen werden.


Totale Pivotisierung

Man kann auch r, s ∈ {k, . . . , n} wählen, so dass
                                                  (k)
                                     |a(k)
                                       rs | ≥ |aij | ∀ k ≤ i, j ≤ n

und erreicht dann durch Zeilen- und Spaltenvertauschung, dass
                                                   (k)
                                                  akk = a(k)
                                                  e      rs

Diese Wahl des Pivotelements nennt man totale Pivotisierung.

Man kann zeigen, dass damit
                            (k)                                        1/2
                          |aij | ≤ k 1/2 (2 · 31/2 · · · k 1/(k−1) )         · max |aij |,

also deutlich kleineres Wachstum der Einträge.
In Matrixform ergibt sich (mit Prk := Pk,rk und Qsk := Pk,sk )

         Schritt 1:                                         G1 Pr1 AQs1 · Qs1 x = G1 Pr1 b
         Schritt 2:                      G2 Pr2 G1 Pr1 AQs1 Qs2 · Qs2 Qs1 x = G2 Pr2 G1 Pr1 b
         ..                                                                ..
          .                                                                 .
                                    "n−1               1
                                                              # n−1           n−1
                                     Y               Y            Y           Y
         Schritt n − 1:                 (Gk Prk )A        Qsk ·       Qsk x =     (Gk Prk )b
                                        k=1              k=n−1               k=1             k=1
                                    |               {z                  }
                                         =R (obere Dreiecksmatrix)

Analog zur Spaltenpivotisierung zeigt man, dass dann

                                              P AQT · Qx = P b



                                                                                                                 79
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


mit der LR-Zerlegung P AQT = LR (beachte QT · Q = I).
Setze dazu
                                              n−1
                                              Y                        n−1
                                                                       Y
                                      P :=          Prk ,       Q :=         Qsk ,
                                              k=1                      k=1
                                    n−1
                                                    !−1                n−1
                                    Y                                  Y
                     L := P ·             (Gk Prk )         ,   R :=         (Gk Prk ) · A · QT
                                    k=1                                k=1

R ist obere Dreiecksmatrix nach Konstruktion, und wie zuvor ist L untere Dreiecksmatrix (selbe
Argumentation, da unabhängig von Q).

Außerdem kann L wieder unten links in A gespeichert werden (Spaltenvertauschungen ändern
die bisher berechneten Einträge von L nicht, da sk ≥ k).


Lösen bei totaler Pivotisierung

Mit diesen Definitionen haben wir
                                      P AQT · Qx = LR · Qx = P b
Löse mit den folgenden Schritten nach x auf:
                         b0 = P b                                             (Permutation)
                                0
                        Ly = b                                          (Dreieckssystem)
                          0
                       Rx = y                                           (Dreieckssystem)
                                    −1 0
                         x=Q          x                                       (Permutation)
Im letzten Schritt muss man dabei Q nicht explizit invertieren. Stattdessen werden die Vertau-
schungen einfach in umgekehrter Reihenfolge durchgeführt.


Anmerkungen

Aufwand der Pivotisierung:
     • n2 /2 Vergleiche bei Spaltenpivotisierung
     • n3 /3 Vergleiche bei totaler Pivotisierung
 =⇒ totale Pivotisierung hat gleiche Komplexität wie eigentliche Zerlegung, während Spalten-
pivotisierung vernachlässigbar ist

Praktische Erfahrung zeigt trotz höheren Aufwands keine Vorteile für Rundungsfehler bei to-
taler Pivotisierung

Spaltenpivotisierung mit Zeilenskalierung ist in der Praxis effizient und numerisch stabil.



80
                                                                            5.6 Spezielle Systeme


5.6 Spezielle Systeme

Symmetrisch positiv definite Matrizen

Satz 5.22. Eine symmetrisch positiv definite Matrix A ∈ Rn×n ist stets ohne Pivotisierung sta-
bil LR-zerlegbar. Für die Diagonalelemente der im Eliminationsprozess auftauchenden Matrizen
gilt
                                   (k)
                                 aii ≥ λmin (A), k ≤ i ≤ n.

Die Symmetrie der Matrix kann man ausnutzen, um die Matrix A mit geringerem Aufwand zu
zerlegen.

   Beweis: Tafel, Stabilität: [Golub, Van Loan]


Cholesky-Zerlegung

Mit D = diag(R) gilt

                         A = LD(D−1 R) = LDU           mit U := D−1 R,

und wegen der Symmetrie gilt U = LT , also A = LDLT . Da alle Diagonalelemente von D
positiv sind, ist die Matrix D1/2 mit
                                          1/2
                             (D1/2 )ii = dii ,   (D1/2 )ij = 0 für i 6= j

wohldefiniert, und es gilt

                        A = LD1/2 · D1/2 LT = L
                                              eLeT        mit L
                                                              e := LD1/2



Diese spezielle Form der Zerlegung heißt Cholesky-Zerlegung.
Ein einzelner Schritt der Cholesky-Zerlegung lässt sich über das äußere Produkt darstellen:

                   α vT                                              β β −1 · v T
                                                                           
                                 β       0     1         0
            A=             = −1             ·                     ·
                   v B        β · v In−1       0 B − α−1 · vv T      0    In−1

mit β := α1/2 . Dieser Prozess kann dann mit B−α−1 ·vv T rekursiv fortgesetzt werden. Die dabei
auftretenden Matrizen sind verallgemeinerte Frobenius-Matrizen (β als Diagonaleintrag).

Aufgrund der Symmetrie ist dabei der Aufwand halb so groß wie bei der allgemeinen LR-
Zerlegung:
                                          1
                               NChol (n) = n3 + O(n2 )
                                          3




                                                                                              81
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


Diagonaldominante Matrizen


Definition 5.23 (Diagonaldominanz). Eine Matrix A ∈ Rn×n heißt diagonaldominant, falls
                                     X
                                            |aij | ≤ |aii |   i = 1, . . . , n
                                     j6=i


und strikt diagonaldominant, falls die Summe echt kleiner ist.

(vgl. mit Kriterium der Gerschgorin-Kreise, was folgt dann für A?)




Satz 5.24. Diagonaldominante reguläre Matrizen erlauben eine LR-Zerlegung ohne Pivotisie-
rung.




     Beweis: Tafel



Rangbestimmung und Determinante



Für eine allgemeine, nicht unbedingt reguläre Matrix A ∈ Rn×n lässt sich die LR-Zerlegung
ebenfalls durchführen, sie bricht aber evtl. mangels Pivotelement frühzeitig ab.

     • Wenn dies bei totaler Pivotisierung nach k Schritten passiert, dann hat A Rang k.

     • Da die Einträge aufgrund von Fehlern nie exakt Null werden, muss mit einer Toleranz
       gearbeitet werden.



Falls A Vollrang haben sollte, kann man wegen

                     det(A) = det(P T LR) = det(P T ) · det(L) · det(R) = ± det(R)

über die LR-Zerlegung die Determinante von A berechnen

(das Vorzeichen hängt davon ab, ob P eine gerade oder ungerade Permutation repräsentiert).



82
                                                                           5.6 Spezielle Systeme


Inversenberechnung


Die Inverse einer Matrix A ∈ Rn×n kann wie folgt berechnet werden:

   • Berechne LR-Zerlegung (Aufwand 23 n3 + O(n2 ))

   • Löse Axi = ei , i = 1, . . . , n, für die kanonische Basis ei

     (Aufwand 2n · n2 : n Gleichungen, jeweils 2 Dreieckssysteme)

   • Forme Matrix der Urbilder: A−1 = [x1 , . . . , xn ] (spaltenweise)



Der Gesamtaufwand einer solchen Matrixinversion ist daher

                                                8
                                      NInv (n) = n3 + O(n2 )
                                                3



Die Matrixinversion spielt in der Praxis keine Rolle — stattdessen beschränkt man sich auf
Matrix-Vektor-Produkte mit A−1 !



Tridiagonalsysteme


Definition 5.25 (Tridiagonalmatrix). Eine Matrix A ∈ Rn×n heißt Tridiagonalmatrix, falls

                                aij = 0   für   |i − j| > 1, 1 ≤ i ≤ n

Eine Tridiagonalmatrix ist Spezialfall einer Bandmatrix mit

                      aij = 0   für   j < i − ml oder j > i + mr , 1 ≤ i ≤ n




Falls sich die LR-Zerlegung einer Tridiagonal- bzw. Bandmatrix ohne Pivotisierung durchführen
lässt, sind L und R ebenfalls tridiagonal bzw. Bandmatrizen der selben Bandbreite (ml , mr ).



   Rechnung für Tridiagonalmatrizen: Tafel



                                                                                             83
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


5.7 Nichtreguläre Systeme

Sei nun A ∈ Rm×n , b ∈ Rm , mit rang(A) beliebig. Dann hat Ax = b genau eine Lösung, gar
keine Lösung, oder unendlich viele.


Einige Grundbegriffe aus der linearen Algebra:

             Bild:              im(A) = {y ∈ Rm | ∃ x ∈ Rn : y = Ax}
            Kern:              ker(A) = {x ∈ Rn | Ax = 0}
            Rang:             rang(A) = dim(im(A)) = rang(AT ) = dim(im(AT ))



Orthogonales Komplement:

                       im(A)⊥ = {y ∈ Rm | ∀ y 0 ∈ im(A) : (y, y 0 )2 = 0}

Es gilt
                                      im(A)⊥ = ker(AT )

und daher

                              dim(im(A)) + dim(ker(AT )) = m
                              dim(im(AT )) + dim(ker(A)) = n


Damit lässt sich der Lösungsbegriff für lineare Gleichungssysteme auf nichtreguläre Systeme
erweitern.




Least Squares


Satz 5.26 (Least Squares). Für allgemeines A ∈ Rm×n , b ∈ Rm , existiert ein x̄ ∈ Rn , so dass

                                kAx̄ − bk2 = minn kAx − bk2 .
                                              x∈R

Diese Bedingung ist äquivalent dazu, dass x̄ Lösung der folgenden “Normalengleichung” ist:

                                AT Ax̄ = AT b,   AT A ∈ Rn×n

Falls rang(A) = n (und damit zwingend m ≥ n), ist x̄ eindeutig, sonst hat jede weitere Lösung
die Form x̄ + y mit y ∈ ker(A).



84
                                                                      5.7 Nichtreguläre Systeme


   Beweis: Tafel

AT A ist symmetrisch positiv semidefinit, also könnte man Least Squares prinzipiell über die
Cholesky-Zerlegung lösen (mit symmetrischem Pivoting im nicht-definiten Fall).


Aber dieses Problem ist i.A. sehr schlecht konditioniert:

                            cond(AT A) ≈ cond(A)2       für m = n


Daher verwendet man üblicherweise spezielle Zerlegungen, die ähnlich zur Cholesky-Zerlegung

                                     AT A = LLT = RT R

zur Verfügung stellen, aber ohne AT A explizit aufzustellen.


Householdermatrizen


Definition 5.27 (Householderreflektion). Sei v 6= 0 ∈ Rn gegeben, dann heißt die Matrix

                                                     vv T
                                        Qv = I − 2
                                                     vT v
Householdermatrix oder Householderreflektion.



Dabei ist vv T das äußere Produkt, also eine Matrix mit Rang 1, und v T v das innere Produkt,
also eine Zahl. Beachte: jedes Vielfache αv, α 6= 0, von v führt auf die gleiche Matrix Qv
(Skaleninvarianz).


Hilfssatz 5.28. Eine Householdermatrix Qv hat die folgenden Eigenschaften:

   • Qv ist orthogonal und symmetrisch, d.h. QTv = Q−1
                                                    v = Qv

   • Es gilt für x ∈ Rn :
                                                            vT x
                                  Qv x = x − 2βv,     β=         ∈R
                                                            vT v

   • Speziell gilt x = αv =⇒ Qv x = −x

   • (x, v)2 = 0 =⇒ Qv x = x

   • Als Operator aufgefasst bewirkt Qv eine Reflektion an der Ebene mit Normale v



                                                                                            85
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


     Beweis: Tafel
Sei x 6= 0 ∈ Rn , und sei v := x ± kxk2 e1 , dann gilt

                                         Qv x = ∓2kxk2 e1

Wenn x die erste Spalte einer Matrix A ist, dann eliminiert also eine Multiplikation von A mit
Qv alle Einträge ai1 , i > 1.


Das heißt, dass Householdermatrizen Qv genauso wie Frobeniusmatrizen Gk benutzt werden
können, um eine Matrix auf Dreiecksgestalt zu bekommen. Für die Rekursion beschränkt man
das obige Vorgehen auf die entsprechenden Unterräume.



QR-Zerlegung

Satz 5.29 (QR-Zerlegung). Zu jeder Matrix A ∈ Rm×n mit m ≥ n und rang(A) = n existiert
eine orthogonale Matrix Q ∈ Rm×m und eine obere Dreiecksmatrix R ∈ Rm×n , so dass

                                             A = QR.

Diese Zerlegung kann durch n − 1 Multiplikationen mit Householdermatrizen berechnet werden.
Die ersten n Spalten von Q bilden eine orthonormale Basis von im(A).


     Beweis: Tafel


Anmerkungen

Bemerkung 5.30 (Anmerkungen zur QR-Zerlegung).             • Um Auslöschung zu vermeiden,
   wird das Vorzeichen in v meist so gewählt, dass sich das Vorzeichen des Diagonalein-
   trags nicht ändert. Falls dieser Eintrag Null ist, kann beliebig eines der beiden Vorzeichen
   gewählt werden.
     • Analog zu P bei der LR-Zerlegung wird Q nicht explizit aufgestellt, man skaliert die Nor-
       malenvektoren vi jeweils so, dass der erste Eintrag Eins ist, und speichert sie dann in der
       linken unteren Hälfte von A (so wie zuvor die Einträge von L).
     • Für die Matrix Q−1 = QT existiert, wie wir gesehen haben, eine einfache und effizi-
       ente Darstellung: sie ist das Produkt der gleichen Qv wie Q selbst, nur in umgekehrter
       Reihenfolge.

     • Die QR-Zerlegung benötigt den doppelten Aufwand der LR-Zerlegung:
                                               4
                                          NQR = n3 + O(n2 )
                                               3


86
                                                                  5.7 Nichtreguläre Systeme


   • Man kann zeigen dass die QR-Zerlegung rückwärtsstabil ist, man erhält für die numerisch
     berechneten Matrizen Q
                          b und R:
                                b

                             b·R
                             Q b =A+H         mit   kHk ≈ eps · kAk

     Insbesondere treten hier keine problematischen Terme auf. Das gleiche gilt für das Lösen
     mittels QR-Zerlegung.


Lösen nichtregulärer Systeme

  1. Fall m > n (überbestimmt) und rang(A) = n:


     Nach Satz 5.29 existiert QR-Zerlegung A = QR.

                      A = QR =⇒ AT A = (QR)T QR = RT QT QR = RT R

     also
                               AT Ax̄ = AT b ⇐⇒ RT Rx̄ = RT QT b


                                                   
     Seien R
           e und Qe die ersten n Zeilen von R, R = R , bzw. Spalten von Q, Q = [QQ
                                                                                e ∗ ],
                                                   e
                                                   0
     dann gilt (Rückwärtseinsetzen)

                                 Rx̄
                                 e =Qe T b ⇐⇒ AT Ax̄ = AT b



  2. Fall m < n (unterbestimmt) und rang(A) = m:


     Nach Satz 5.29 existiert QR-Zerlegung AT = QR.

                         AT = QR =⇒ AT A = QR(QR)T = QRRT QT

     also
                  AT Ax = AT b ⇐⇒ QRRT QT x = QRb ⇐⇒ RRT QT x = Rb



     Seien Re und Q
                  e die ersten m Zeilen von R bzw. Spalten von Q, dann gilt (Rückwärts-
     einsetzen)
                                eT Q
                                R  e T x̄ = b =⇒ AT Ax̄ = AT b

     Die so bestimmte Lösung x̄ ist jene mit minimaler Norm kx̄k2 .



                                                                                          87
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


     3. Fall m = n (quadratisch) und rang(A) = n:


       Nach Satz 5.29 existiert QR-Zerlegung A = QR. Da A Vollrang hat, gilt

                              AT Ax̄ = AT b ⇐⇒ Ax̄ = b ⇐⇒ QRx = b

       Die Least-Squares-Lösung ist also die normale Lösung des Systems, und kann über die
       QR-Zerlegung berechnet werden.


       Überbestimmte, quadratische und unterbestimmte Systeme mit maximalem Rang haben
       also immer eine eindeutig bestimmte Least-Squares-Lösung x̄, für die kx̄k2 minimal ist
       (in den ersten beiden Fällen, weil es nur eine solche Lösung gibt). Diese lässt sich jeweils
       mittels der QR-Zerlegung berechnen.

     4. Fall rang(A) < min{m, n} (rangdefizitär):


       Eine solche Lösung mit minimaler Norm gibt es immer, auch wenn der Rang von A nicht
       maximal ist, allerdings hängt sie nicht mehr stetig von der Problemstellung ab.


       Kleine Störungen in A oder b führen dann zu beliebig großen Änderungen in x̄ (da die ge-
       störte Matrix praktisch garantiert regulär ist). So etwas nennt man ein schlecht gestelltes
       Problem.



Moore-Penrose-Inverse


Das QR-Verfahren berechnet jeweils die Lösung der Gleichung x̄ = A+ b mit der Moore-Penrose-
Inversen A+ von A, gegeben durch

                                 −1 T
                                              falls m > n und rang(A) = n
                          
                             T
                          (A A) A
                          
                                     −1
                      A+ = AT (AAT )          falls m < n und rang(A) = m
                                              falls m = n und rang(A) = n
                          
                           −1
                           A




Für die verbleibenden Fälle (rangdefizitär) ist die Pseudoinverse A+ zwar ebenfalls eindeutig,
es gibt aber keine einfache geschlossene Formel, und sie hängt nicht stetig von Änderungen in
A ab.



88
                                                                                      5.7 Nichtreguläre Systeme


Anwendung: Ausgleichsrechnung

Problemstellung der Gaußschen Ausgleichsrechnung:

Gegeben:
   1. n Funktionen u1 , . . . , un : R → R
   2. m ≥ n Datenpunkte (xi , yi ) ∈ R2 , 1 ≤ i ≤ m

Gesucht: n Koeffizienten c1 , . . . , cn , so dass
                                      n
                                      X                            m
                                                                   X
                     y = u(x) =             cj · uj (x) und              (u(xi ) − yi )2 minimal
                                      j=1                          i=1




“Modell” für die Abhängigkeit der Größe y vom Parameter x, mit {u1 , . . . , un } als Ansatz-
raum.
Formuliere im Rahmen der Linearen Algebra:

                    c = (c1 , . . . , cn )T ,   y = (y1 , . . . , ym )T ,   A mit aij = uj (xi )

Dann gilt
                                                                            2
                    m
                    X                           m
                                                X      Xn
                          (u(xi ) − yi )2 =              cj · uj (xi ) − yi  = kAc − yk22
                    i=1                         i=1     j=1



Optimale Lösung ist also durch Normalengleichung gegeben:
                                            n
                                            X
                                u(x) :=           c̄j · uj (x) mit AT Ac̄ = AT y
                                            j=1



    • Für m > n, rang(A) = n gibt es eine optimale Kombination der uj , z.B. eine Ausgleichs-
      gerade
                                      y = u(x) = c1 + c2 · x,
      die die gegebenen Datenpunkte so gut wie möglich repräsentiert (aber i.A. nicht durch
      die Punkte geht).
    • Für m = n, rang(A) = n kann das Modell die Datenpunkte exakt darstellen. Im Rahmen
      der Polynominterpolation werden wir diesen Fall genauer betrachten.

    • Die Rangdefizienz rang(A) < n entspricht hier einer Redundanz im Modell, d.h. die
      gleichen Datenpunkte lassen sich auf völlig verschiedene Weisen darstellen.



                                                                                                            89
5 Eliminationsverfahren zur Lösung linearer Gleichungssysteme


     • Ein recht künstliches, aber leicht interpretierbares Beispiel ist

                              u1 (x) = x + 1,    u2 (x) = x − 1,       u3 (x) = 1

       mit einer größeren Zahl Datenpunkten (xi , xi ), 1 ≤ i ≤ n ∈ N. Die Vektoren (1, 0, −1)T
       und (0, 1, 1)T sind beides gültige Lösungen, und kleine Fehler in den Daten sorgen dafür,
       dass jeweil einer dieser beiden völlig verschiedenen Vektoren gewählt wird.



Singulärwertzerlegung (SVD)


Satz 5.31 (Singulärwertzerlegung). Sei A ∈ Rm×n , dann gibt es orthogonale Matrizen U ∈
Rm×m und V ∈ Rn×n und eine Diagonalmatrix

                                   D = diag(σ1 , . . . , σp ) ∈ Rm×n

mit σ1 ≥ σ2 ≥ · · · ≥ σp ≥ 0 und

                              U T AV = D     (und daher A = U DV T )

Die Einträge von D heißen Singulärwerte, sie sind bis auf die Reihenfolge eindeutig. Die Spalten
von U und V heißen (linke und rechte) Singulärvektoren.



     Beweis: Tafel



Anmerkungen


Anmerkungen zur Singulärwertzerlegung (SVD):

     • Die SVD kann als Verallgemeinerung der Diagonalisierung von symmetrisch positiv se-
       midefiniten Matrizen betrachtet werden.

     • Die SVD zerlegt eine beliebige Matrix A in eine sehr einfache und elegante Kette von drei
       Operationen:

                     Drehung / Spiegelung — Streckung — Drehung / Spiegelung


     • Trotz ihrer praktischen Relevanz kann hier auf die Berechnung der SVD aus Zeitgründen
       nicht weiter eingegangen werden.



90
                                                                   5.7 Nichtreguläre Systeme


Vergleich der Verfahren

Alle vorgestellten Verfahren sind zur Lösung regulärer Systeme Ax = b geeignet. Welches sollte
man verwenden?

Hier eine Gegenüberstellung:

   Methode       Einschränkung     Stabilität    Aufwand T (n)
 LR-Zerlegung     A quadratisch    mit Pivot.       2/3 · n3
   Cholesky          A s.p.d.        stabil         1/3 · n3
 QR-Zerlegung          —           sehr stabil      4/3 · n3
    SVD                —           sehr stabil       12 · n3


LR- und Cholesky-Zerlegung sind am effizientesten, aber die QR-Zerlegung kann sich aus Grün-
den der Stabilität anbieten. Die SVD wird bei speziellen Anwendungen verwendet, wo der hohe
Aufwand gerechtfertigt ist.




                                                                                           91
6 Interpolation und Approximation


6 Interpolation und Approximation

6.1 Einführung

Ziel: Darstellung und Auswertung von Funktionen im Rechner.


Anwendungen:

     • Rekonstruktion eines funktionalen Zusammenhangs aus “gemessenen Funktionswerten”,
       Auswertung an Zwischenstellen

     • Teuer auszuwertende Funktionen effizienter auswerten

     • Darstellung von Fonts (2D), Körpern (3D) im Rechner

     • Lösung von Differential- und Integralgleichungen

     • Datenkompression

Wir beschränken uns auf Funktionen in einer Variablen, z.B.

                                           f ∈ C r [a, b]

Dies ist ein unendlichdimensionaler Funktionenraum. Im Rechner betrachten wir Funktionen-
klassen, die durch endlich viele Parameter bestimmt sind (nicht unbedingt lineare Unterräume),
z.B.:

           p(x) = a0 + a1 x + · · · + an xn                              (Polynome)
                  a0 + a1 x + · · · + an xn
           r(x) =                                             (rationale Funktionen)
                  b0 + b1 x + · · · + bm xm
                           n
                  1      X
           t(x) = a0 +       (ak cos(kx) + bk sin(kx))        (trigonom. Polynome)
                  2
                             k=1
                    n
                    X
           e(x) =         ak exp(bk x)                         (Exponentialsumme)
                    k=1




Approximation

Grundaufgabe der Approximation:


Gegeben eine Menge von Funktionen P (Polynome, rationale Funktionen, . . . ) und eine Funk-
tion f (z.B. f ∈ C[a, b]), finde g ∈ P , so dass der Fehler f − g in geeigneter Weise minimiert
wird.



92
                                                                                     6.2 Polynominterpolation


Beispiele:
                Z     b                1/2
                                 2
                           (f − g) dx          → min                                      (2-Norm)
                   a
                   max |f (x) − g(x)| → min                                              (∞-Norm)
                   a≤x≤b
                max |f (xi ) − g(xi )| → min                          für a ≤ xi ≤ b, i = 0, . . . , n
             i∈{0,...,n}




Interpolation


Man spricht von Interpolation, wenn g durch

                                        g(xi ) = yi := f (xi ) i = 0, . . . , n

festgelegt wird.


Dies ist ein Spezialfall der Approximationsaufgabe:

   • Der Fehler f − g wird nur in den Stützstellen xi , i = 0, . . . , n, betrachtet.

   • In diesen endlich vielen Punkten muss die Abweichung nicht nur minimal, sondern Null
     sein.


6.2 Polynominterpolation

Pn sei die Menge der Polynome über R vom Grad kleiner gleich n ∈ N0 :
                                                          n
                                                          X
                                         Pn := {p(x) =          ai xi | ai ∈ R}
                                                          i=0

Pn ist ein n + 1-dimensionaler Vektorraum.

Die Monome 1, x, x2 , . . . , xn bilden eine Basis von Pn .


Zu gegebenen (paarweise verschiedenen) n + 1 Stützstellen x0 , x1 , . . . , xn ist die Interpolations-
aufgabe dann
                    Finde p ∈ Pn : p(xi ) = yi := f (xi ), i = 0, . . . , n




                                                                                                          93
6 Interpolation und Approximation


Das ist äquivalent zum linearen         Gleichungssystem

                                        x0 x20 · · · xn0
                                                             
                             1                                  a0      y0
                           1           x1 x21 · · · xn1      a1   y1 
                            ..          ..   .. . .   ..  ·  ..  =  .. 
                                                             
                           .             .    .     . .  . .
                                      1 xn x2n · · ·           xnn       an   yn
                                  |         {z                       }
                                           =:V [x0 ,...,xn ]

Die Matrix V [x0 , . . . , xn ]
     • heißt Vandermonde-Matrix
     • ist genau dann regulär, wenn alle xi paarweise verschieden sind
     • ist schlecht konditioniert: cond∞ (V ) = O(2n ) für xi positiv!
     • benötigt Rechenaufwand in O(n3 ) zum Lösen des LGS
Problem:
Aufstellen der Vandermonde-Matrix V [x0 , . . . , xn ] und anschließendes Lösen mit den vorgestell-
ten Verfahren ist wegen der sehr schlechten Kondition nicht zu empfehlen.

Geht das auch besser und einfacher?

Ursache ist die Wahl der Monombasis 1, x, x2 , . . . , xn , die auf eine sehr ungünstige Formu-
lierung der Interpolationsaufgabe führt. Im folgenden werden wir uns mögliche Alternativen
anschauen.


Langrange-Interpolation

Definition 6.1 (Lagrange-Polynome). Zu den paarweise verschiedenen Stützstellen xi , i =
0, . . . , n, definiere die sog. Lagrange-Polynome:
                            (n)
                                      Y x − xj
                           Li (x) :=             , i = 0, . . . , n (n + 1 Stück)
                                         xi − xj
                                        j6=i



       (n)
Die Li       haben Grad n, es gilt
                                                                  (
                                          (n)                      1 i=k
                                         Li (xk )      = δik    =
                                                                      6 k
                                                                   0 i=
             (n)
und die Li         bilden eine Basis von Pn .

     Beweis: Tafel



94
                                                                                         6.2 Polynominterpolation


Existenz und Eindeutigkeit

In der Lagrange-Basis sind die gesuchten Koeffizienten ai gerade die Werte in den Stützstellen:
ai = yi . Die Interpolationsaufgabe ist so also besonders einfach zu lösen.


Satz 6.2 (Eindeutigkeit der Polynominterpolation). Zu gegebenen paarweise verschiedenen
Stützstellen x0 , . . . , xn gibt es genau ein Polynom p vom Grad n mit
                                      p(xi ) = yi     i = 0, . . . , n, yi ∈ R
Die Interpolationsaufgabe ist also eindeutig lösbar.


   Beweis: Tafel


Newton-Darstellung

Nachteil der Lagrange-Polynome:
Hinzufügen einer Stützstelle ändert alle bisherigen Basispolynome. Eignet sich daher nicht für
die “inkrementelle” Erstellung des Interpolationspolynoms.

Besser ist hier die Newton-Darstellung mit Basispolynomen
                                                                           i−1
                                                                           Y
                          N0 (x) = 1;       i = 1, . . . , n : Ni (x) =          (x − xj )
                                                                           j=0



Ni hat jeweils Grad i, es gilt
                                             ∀k < i : Ni (xk ) = 0
und die N0 , . . . , Nn bilden eine Basis von Pn .


Gestaffelte Berechnung

In x0 sind alle Newton-Basispolynome bis auf N0 Null, in x1 alle bis auf N0 und N1 , usw.

Die Interpolationsaufgabe
                                n
                                X                     k
                                                      X
                     p(xk ) =         ai Ni (xk ) =         ai Ni (xk ) = yk     k = 0, . . . , n
                                i=0                   i=0

führt daher auf die folgende gestaffelte Berechnung:
                                                                    k−1
                                                "                                    #
                                                                    X
                   a0 = y0 ;    k = 1, . . . , n : ak = yk −              ai Ni (xk ) /Nk (xk )
                                                                    i=0




                                                                                                              95
6 Interpolation und Approximation


Hintergrund

Die Polynominterpolation in der Sprache der Linearen Algebra:
     • Die Monombasis xi , i = 0, . . . , n, führt auf eine Matrix V [x0 , . . . , xn ] (Vandermonde-
       Matrix), die dicht besetzt und sehr schlecht konditioniert ist.
                                 (n)
     • Die Lagrange-Basis Li , i = 0, . . . , n, führt stattdessen auf eine Einheitsmatrix, so dass
       die Lösung trivial ist. Eine Erweiterung der Stützstellen ändert aber alle Basisfunktionen.
     • Die Newton-Basis Ni , i = 0, . . . , n, wiederum führt auf eine untere Dreiecksmatrix. Die
       gestaffelte Berechnung entspricht daher gerade dem Vorwärtseinsetzen. Das Lösen ist
       aufwendiger als bei der Lagrange-Basis, weitere Stützstellen führen aber nur zu einer
       Erweiterung der unteren Dreiecksmatrix.


Dividierte Differenzen

Satz 6.3 (Dividierte Differenzen). Man definiert rekursiv die sog. “dividierten Differenzen”

                     ∀i = 0, . . . , n :     y[xi ] := yi      (Werte an den Stützstellen)
                   ∀k = 1, . . . , n − i :
                                                      y[xi+1 , . . . , xi+k ] − y[xi , . . . , xi+k−1 ]
                           y[xi , . . . , xi+k ] :=
                                                                         xi+k − xi

Dann gilt
                                                    n
                                                    X
                                           p(x) =         y[x0 , . . . , xi ]Ni (x)
                                                    i=0




     Beweis: [Rannacher]
Die dividierten Differenzen ordnet man in einem Tableau an:

                 y0 = y[x0 ] → y[x0 , x1 ]            → y[x0 , x1 , x2 ] → y[x0 , x1 , x2 , x3 ]
                             %                        %                  %
                 y1 = y[x1 ] → y[x1 , x2 ]            → y[x1 , x2 , x3 ]
                             %                        %
                 y2 = y[x2 ] → y[x2 , x3 ]
                             %
                 y3 = y[x3 ]

In der ersten Zeile finden sich dann die gesuchten Koeffizienten ai , i = 0, . . . , n, der Basispoly-
nome.
Diese Form der Berechnung benötigt die Werte der Ni (xk ) nicht und ist zudem stabiler.



96
                                                                           6.2 Polynominterpolation


Beispiel


Beispiel 6.4. Gegeben seien die folgenden Paare von Stützstellen und Werten:

                     (x0 = 0, y0 = 1),     (x1 = 1, y1 = 4),     (x2 = 2, y2 = 3)


Die Monombasis führt auf das Gleichungssystem
                                                
                                       1 0 0     a0      1
                                      1 1 1 · a1  = 4
                                       1 2 4     a2      3

mit der Lösung [1, 5, −2]T , also

                                       p(x) = 1 + 5 · x − 2 · x2


Die Lagrange-Basis führt bei diesen Werten auf

                             (2)             (2)           (2)
                 p(x) = 1 · L0 (x) + 4 · L1 (x) + 3 · L2 (x)
                            x−1 x−2           x−0 x−2             x−0 x−1
                      =1·        ·        +4·         ·       +3·        ·
                            0−1 0−2           1−0 1−2             2−0 2−1
                        1                                      3
                      = · (x − 1) · (x − 2) − 4 · x · (x − 2) + · x · (x − 1)
                        2                                      2

Die einzelnen Basispolynome können für eine gegebene Menge von Stützstellen x0 , . . . , xn einmal
ausmultipliziert werden, danach sind weitere Interpolationsaufgaben leicht zu lösen.

Für die Newton-Basis ergibt sich das Tableau

                                        4−1                          (−1)−3
                    y0 = a0 = 1 → a1 = 1−0  = 3 → a2 =                 2−0    = −2
                                %               %
                                    3−4
                       y1 = 4   →   2−1  = −1
                                %
                       y2 = 3

und daher

                            p(x) = 1 · N0 (x) + 3 · N1 (x) − 2 · N2 (x)
                                    = 1 + 3 · x − 2 · x · (x − 1)

Eine weitere Stützstelle kann hier leicht hinzugefügt werden.



                                                                                                97
6 Interpolation und Approximation


Auswertung von Polynomen

Um ein Polynom der Form
                                           n
                                           X
                                  p(x) =         ai xi = a0 + a1 x + · · · + an xn
                                           i=0
an einer Stelle x auszuwerten, verwendet man aus Effizienz- und Stabilitätsgründen das sog.
Horner-Schema:
                     bn := an ;    k = n − 1, . . . , 0 : bk := ak + x · bk+1 ;      p(x) = b0


Für ein Polynom in Newton-Darstellung
                                   n
                                   X
                         p(x) =          ai Ni (x) = a0 + a1 N1 (x) + · · · + an Nn (x)
                                   i=0
ergibt sich analog die Rekursion
                bn := an ;    k = n − 1, . . . , 0 : bk := ak + (x − xk ) · bk+1 ;      p(x) = b0



Interpolationsfehler

Sei yi = f (xi ), i = 0, . . . , n, die Auswertung einer Funktion f an n + 1 paarweise verschiedenen
Stützstellen, und p(x) das Polynom vom Grad n, das die zugehörige Interpolationsaufgabe
löst.

Die Differenz
                                              e(x) := f (x) − p(x)
erfüllt nach Konstruktion die Bedingung
                                         e(xi ) = 0 für i = 0, . . . , n


Frage: Wie groß kann die Differenz an anderen Stellen werden?

Satz 6.5 (Interpolationsfehler). Sei f (x) n + 1-mal stetig differenzierbar auf [a, b] und
                                         a ≤ x0 < x1 < · · · < xn ≤ b.
Dann gibt es zu jedem x ∈ [a, b] ein ξx ∈ (x0 , . . . , xn , x) (kleinstes Intervall, das alle diese
Punkte enthält), so dass
                                                                n
                                                  f (n+1) (ξx ) Y
                                   f (x) − p(x) =                 (x − xj )
                                                   (n + 1)!
                                                                   j=0



     Beweis: Tafel



98
                                                                               6.2 Polynominterpolation


Anmerkungen

Für den Spezialfall äquidistanter Stützstellen, d.h.

                               xk+1 − xk = h für k = 0, . . . , n − 1,

gilt damit
                                 |f (x) − p(x)| ≤ |f (n+1) (ξx )| · hn+1
Für |f (n+1) | beschränkt und n → ∞ gilt also |f (x) − p(x)| → 0.

Allerdings sind die höheren Ableitungen auch einfacher Funktionen für n → ∞ oft nicht be-
schränkt, sondern wachsen sehr schnell.


Runges Gegenbeispiel




                      1

                   0.5

                      0

                  -0.5

                     -1

                          -1          -0.5             0            0.5              1

                                                                     −1
Polynominterpolation von Runges Funktion f (x) = (1 + 25x2 )               mit äquidistanten Stützstellen
(3, 5, 9, 17 bzw. 33 Wertepaare).
Die Minima / Maxima der letzten beiden Polynome sind −14.35/1.40 bzw. −5059/2.05 (!).


Anmerkungen

Bemerkung 6.6. Laut Approximationssatz von Weierstraß lässt sich jede Funktion aus C 0 ([a, b])
gleichmäßig durch Polynome approximieren.
Die beobachteten Phänomene sind kein Widerspruch, denn:
   • Die Approximation muss nicht durch Interpolation erfolgen (der Beweis nutzt Bernstein-
     Polynome).



                                                                                                      99
6 Interpolation und Approximation


      • Mit nicht-äquidistanten Stützstellen erhält man bereits deutlich bessere Ergebnisse (wenn
        man weiß, wie sie zu wählen sind. . . ).

Bemerkung 6.7. Allgemein gilt für “Methoden hoher (Polynom-) Ordnung”, dass entsprechen-
de Differnzierbarkeit vorliegen muss.


Konditionierung

Wenn p(x; y) das Interpolationspolynom zu den Ordinatenwerten (y0 , . . . , yn )T und festen Ab-
szissenwerten (x0 , . . . , xn )T ist, gilt
                                                   n                     n
                                                                 (n)           (n)
                                                   X                     X
                   p(x; y + ∆y) − p(x; y) =          (yi + ∆yi )Li (x) −   yi Li (x)
                                                   i=0                      i=0
                                                    n
                                                              (n)
                                                   X
                                               =         ∆yi Li (x)
                                                   i=0

Somit ist
                                                               n    (n)
                               p(x; y + ∆y) − p(x; y) X Li (x)yi ∆yi
                                                     =           ·
                                       p(x; y)           p(x; y)   yi
                                                              i=0
                        (n)
Für große n kann Li           sehr groß werden, die Interpolationsaufgabe ist dann schlecht konditio-
niert!


6.3 Anwendungen der Polynominterpolation

Numerische Differentiation

Problem:
Berechne die Ableitung (der Ordnung k) einer tabellarisch gegebenen Funktion oder einer im
Rechner gegebenen Funktion (im Sinne der Informatik).


Idee:
Erstelle Interpolationspolynom zu bestimmten Stützstellen, leite dieses ab und werte aus.


Dabei sei zunächst Ableitungsordnung = Polynomgrad.
Die Lagrange-Polynome sind

                  (n)
                               Y x − xj
                                                   (xi − xj )−1 ·xn + αn−1 xn−1 + · · · + α0 ,
                                              Y
                Li (x) =                    =
                                    xi − xj
                               j6=i           j6=i
                                              |       {z      }
                                                    =:λi ∈R




100
                                                                    6.3 Anwendungen der Polynominterpolation


also liefert n-faches Differenzieren:

                                                 dn (n)
                                                   L (x) = n! · λi
                                                dxn i

Somit gilt für die n-te Ableitung eines Interpolationspolynoms vom Grad n:

                                   n                               n
                                                      !
                              dn   X         (n)
                                                                   X
                                         yi Li (x)        = n! ·         yi λi      (unabh. von x)
                             dxn
                                   i=0                             i=0




Eine Aussage über den entstehenden Fehler liefert:


Satz 6.8. Sei f ∈ C n ([a, b]) und a = x0 < x1 < · · · < xn = b. Dann gibt es ξ ∈ (a, b), so dass

                                                                    n
                                                                    X
                                                f (n) (ξ) = n! ·           yi λ i
                                                                    i=0




Die über das Interpolationspolynom berechnete Ableitung stimmt also in mindestens einem
Punkt mit der von f überein.



   Beweis: Tafel

Für äquidistante Stützstellen, xi = x0 + ih, 0 ≤ i ≤ n, erhält man speziell
                                         n                 
                                    −n
                                         X          n−i    n                                  y1 − y0
                   f   (n)
                             (x) ≈ h           (−1)          yi ,        z.B. f (1) (x) ≈             ,
                                                           i                                     h
                                         i=0
                                   y2 − 2y1 + y0                              y3 − 3y2 + 3y1 − y0
                       f (2) (x) ≈               ,           f (3) (x) ≈
                                        h2                                             h3



Mittels Taylorentwicklung zeigt man

                       f (x + h) − f (x − h)
             f 0 (x) =                       + O(h2 )                                         für f ∈ C 3 ,
                                2h
                       f (x + h) − 2f (x) + f (x − h)
            f 00 (x) =                                + O(h2 )                                für f ∈ C 4
                                     h2




                                                                                                              101
6 Interpolation und Approximation


Extrapolation zum Limes

Eine Größe a(h) sei im Rechner für h > 0 berechenbar, nicht jedoch für h = 0. Man möchte

                                                   a(0) = lim a(h)
                                                              h→0

mit guter Genauigkeit berechnen.

Beispiel 6.9. Mögliche Anwendungen:
   1. Regel von de l’Hospital:
                                                               cos(x) − 1
                                               a(0) = lim                 (= 0)
                                                           h→0   sin(x)

   2. Numerische Differentiation:

                                                               f (x + h) − f (x)
                                              f 0 (x) = lim
                                                           h→0         h
      (für kleine h tritt Auslöschung auf )
   3. Numerische Integration:
                            Z     b                  n                           
                                                     X               1
                                      f (x) = lim          h·f a+ i−     (b − a) · h
                              a                h→0                   2
                                                     i=1

   4. Numerische Lösung des Anfangswertproblems

                                      y 0 (t) = f (t, y(t))    auf   [0, T ];   y(0) = y0

      Setze
                           h = N −1 ;          yn = yn−1 + h · f (t, yn−1 );       y(T ) ≈ yN
      Hier ist h → 0 gleichbedeutend mit N → ∞ und entsprechend ansteigendem Aufwand.


Grundlegende Idee

Idee der Extrapolation:


Zu h0 > h1 > · · · > hn > 0 bestimme Interpolationspolynom

                                           p(hi ) = a(hi ) i = 0, . . . , n

und berechne
                                                      a(0) ≈ p(0)
(Extrapolation statt Interpolation, da 0 6∈ [hn , . . . , h0 ])



102
                                                          6.3 Anwendungen der Polynominterpolation


Beispiel


Beispiel 6.10. Für a(h) = (cos(h) − 1) · (sin(h))−1 erhält man für

                               h0 = 1/8 :       a(h0 ) = −6.258151 · 10−2
                              h1 = 1/16 :       a(h1 ) = −3.126018 · 10−2
                              h2 = 1/32 :       a(h2 ) = −1.562627 · 10−2

(halbieren von h halbiert also a(h)), und bei Extrapolation mit einem Polynom p2 vom Grad 2:

                                     a(0) ≈ p2 (0) = −1.02 · 10−5

also sehr viel besser als die ursprünglich berechneten Näherungen oder eine mögliche direkte
Auswertung für h  1 (Auslöschung)!

Warum ist das so gut?


Sei hi = h · ri mit r < 1 (geometrische Verteilung), z.B. r = 1/2, und sei p das Interpolations-
polynom von a zu den Stützstellen hi . Dann gilt für den Fehler der Extrapolation

                                                           |a(n+1) (ξ)|
                        |p(0) − a(0)| ≤ kV −T k∞                              hn+1
                                                       (n + 1)! · (1 − rn+1 )

mit der Vandermonde-Matrix V und ξ ∈ (0, h), sofern a hinreichend differenzierbar ist.


   Beweis: Tafel


Extrapolation bei Ableitungen

Entscheidend ist die Taylor-Entwicklung von a in Null (Mclaurin-Entwicklung). Für den be-
kannten Differenzenquotienten der zweiten Ableitung erhält man

                         f (x + h) − 2f (x) + f (x − h)
                   a(h) =
                                           h2
                                     h 2                              h2n
                       = f 00 (x) +        f (4) (x) + · · · +                 f (2n+2) (x)
                                    2 · 4!                       2 · (2n + 2)!
                                                 h2n+2
                                        +                    [f (2n+4) (ξ+ ) + f (2n+4) (ξ− )]
                                            2 · (2n + 4)!
                       = px (h2 ) + O(h2(n+1) )

Man kann also (falls f hinreichend differenzierbar ist) mit jeder Auswertung sogar zwei h-
Potenzen gewinnen!



                                                                                                 103
6 Interpolation und Approximation


6.4 Bernstein-Polynome und Kurvendarstellung

Bernstein-Polynome

Wir gehen nun von der Interpolation zur Approximation über.
Speziell für Kurven, d.h. Funktionen u(t) : [a, b] → Rd , haben sich die Bernstein-Polynome
bewährt.


Definition 6.11 (Bernstein-Polynome). Die Polynome
                                    
                          (n)       n
                         βi (t) :=     (1 − t)n−i ti i = 0, . . . , n
                                    i

heißen Bernstein-Polynome auf dem Interval [0, 1].
Mittels der affin-linearen Transformation
                                                                            t−a
                                  φ : [a, b] → [0, 1],            p(t) =
                                                                            b−a
definiert man zusätzlich Bernstein-Polynome auf einem allgemeinen Intervall [a, b]:
                                                
                    (n)             (N )        n
                   βi,[a,b] (t) := βi (φ(t)) =    (b − a)−n (b − t)n−i (t − a)i
                                                i


Eigenschaften

Satz 6.12 (Eigenschaften der Bernstein-Polynome). Die Bernstein-Polynome haben die fol-
genden Eigenschaften:
  1. Zerlegung der Eins:
                                                  n
                                                            (n)
                                                  X
                                                        βi (t) = 1
                                                  i=0

                                          (n)
  2. t = 0 ist i-fache Nullstelle von βi
                                                      (n)
  3. t = 1 ist (n − i)-fache Nullstelle von βi
  4. Symmetrie:
                                                (n)               (n)
                                            βi (t) = βn−i (1 − t)

  5. Positivität:
                            (n)                                              (n)
                       0 ≤ βi (t) ≤ 1 für t ∈ [0, 1],                   0 < βi (t) für t ∈ (0, 1)

       (n)
  6. βi , n 6= 0, hat in [0, 1] genau ein Maximum in i/n.



104
                                                     6.4 Bernstein-Polynome und Kurvendarstellung

          (n)
  7. Die βi     sind lin. unabh. und bilden eine Basis von Pn .

  8. Die Bernstein-Polynome erlauben eine rekursive Darstellung:
                                                (n−1)
                                        (1 − t)β0
                                                      (t)                   i=0
                            (n)            (n−1)                 (n−1)
                           βi (t)   =    tβi−1 (t)   + (1 −   t)βi     (t)   0<i<n
                                         (n−1)
                                        
                                         tβn−1 (t)                           i=n

  9. Für die erste Ableitung gilt die Rekursionsformel:
                                             (n−1)
                             d (n)       −nβ0
                                                   (t)                  i=0
                               β        = n[βi−1 (t) − βi(n−1) (t)]
                                             (n−1)
                                                                         0<i<n
                             dt i         (n−1)
                                         
                                          nβn−1 (t)                      i=n

     Achtung: mit dem Superskript sind hier jeweils die Grade der Polynome gemeint, nicht
     höhere Ableitungen!

Zusammenfassend bilden die Bernstein-Polynome eine “Konvexkombination” (positive Zerle-
gung der Eins) mit zusätzlicher Symmetrieeigenschaft und rekursiver Darstellung.


  Beweis: Tafel


Graphische Darstellung

Bernstein-Polynome vom Grad 5:



                   1

                0.8

                0.6

                0.4

                0.2

                   0
                       0            0.2          0.4           0.6           0.8     1


                                                                                             105
6 Interpolation und Approximation


Approximation mit Bernstein-Polynomen

Approximation des Datenvektors y = (0, 8, 6, 2, 0, 8)T mit Bernstein-Polynomen:



                  8
                  7
                  6
                  5
                  4
                  3
                  2
                  1
                  0
                      0        0.2           0.4               0.6   0.8      1

Die Daten werden nirgends im Intervall interpoliert, stattdessen hat jeder Datenpunkt einen
“Bereich des Einflusses”.


Bézier-Kurven

Kurvendarstellung mittels Bernstein-Polynomen:

Definition 6.13 (Bézier-Kurven). Für gegebene Punkte b0 , . . . , bn ∈ Rd heißt das vektorwertige
Polynom
                                           n
                                                  (n)
                                           X
                                  B(t) :=     bi βi (t)
                                                 i=0

Bézier-Kurve. Bézier war Ingenieur bei Renault, und die nach ihm benannten Kurven sind die
Grundlage von Vektorgraphiken.


Beispiel

Beispiel 6.14. Betrachte die Punkte b0 = (0, 0)T , b1 = (1/3, −1)T , b2 = (2/3, −1)T und
b3 = (1, 1)T , die zugehörige Bézier-Kurve ist:
                                     3                                   
                                     X         (3)              t
                            B(t) =         bi βi (t)   =
                                                           t + 3t2 − 3t
                                                            3
                                     i=0




106
                                                   6.4 Bernstein-Polynome und Kurvendarstellung


                                                                    (1,1)

                       (0,0)



                                   (1/3,-1)              (2/3,-1)


Eigenschaften


Es gelten folgende Eigenschaften:

  1. Die Bézier-Kurve B(t) liegt in der konvexen Hülle der Bézier-Punkte b0 , . . . , bn .

  2. Es ist B(0) = b0 und B(1) = bn .

  3. Die Ableitung (Tangente der Kurve) hat an den Endpunkten die Richtung (b1 − b0 ) bzw.
     (bn − bn−1 ).



Dadurch sind also glatte, lokalisierte Kurven mit klar definierten Enden gegeben.



Bernstein-Polynome erlauben eine gute Kontrolle über die Werte eines Polynoms durch dessen
Koeffizienten.



Vergleich mit anderen Polynombasen:

   • Monom- und Newton-Basis: keine einfache Kontrolle der Werte

   • Langrange-Basis: exakte Kontrolle an den Stützstellen, dazwischen aber (sehr) große Ab-
     weichungen
                                    Pn       (n)
   • Bernstein-Basis: min{bi } ≤     i=0 bi βi     ≤ max{bi }



Das ist eine direkte Folge der Konvexkombination.



                                                                                             107
6 Interpolation und Approximation


Algorithmus von de Casteljau

                                    (0)       (0)
Für gegebene Bézier-Punkte b0 , . . . , bn ergibt sich mittels der Rekursionsformel aus Satz 6.12:
                              n                           n−1
                                     (0) (n)                       (0)                    (0)           (n−i)
                              X                           X
                     B(t) =         bi βi (t)       =         [bi (1 − t) + bi+1 (t)] βi                        (t)
                              i=0                         i=0
                                                              |         {z          }
                                                                                   (1)
                                                                                =:bi

Rekursiv setzt man daher die (von t abhängigen) “Koeffizienten”
                     (k)
                    bi     := b(k−1)
                               i
                                                (k−1)
                                     (1 − t) + bi+1 t 0 < k ≤ n,                               0 ≤ i ≤ n − k,
             (n)
um B(t) = b0       zu berechnen.

Dieser Algorithmus ist nach de Casteljau, Physiker und Mathematiker bei Citroën, benannt.
Die Struktur der Auswertung ist mit den dividierten Differenzen vergleichbar:
                                     (0)            (1)              (2)                 (3)
                             b0 = b0       → b0             → b0   → b0 = B(t)
                                           %                %      %
                                     (0)      (1)              (2)
                             b1 = b1       → b1             → b1
                                           %                %
                                     (0)      (1)
                             b2 = b2       → b2
                                           %
                                     (0)
                             b3 = b3


Bei fester Wahl von t ist damit auch ein Verfahren gegeben, um eine Bézier-Kurve in zwei
Teilkurven zu zerlegen. Die neuen Bézier-Punkte sind
                              (0)    (1)       (n)                        (n)     (n−1)
                             b0 , b0 , . . . , b0         bzw. b0 , b1                     , . . . , b(0)
                                                                                                      n

(die ersten bzw. letzten Punkte der Rekursionsebenen).

                                                             (0)         (n)             (0)
Offensichtlich liegen die Start- / Endpunkte b0 , b0 und bn auf der Kurve. Dass die Kurven
                                                                     (j)
sich auch tatsächlich überlagern, ist eine Folge der Berechnung der bi und der rekursiven
Darstellung der Bernstein-Polynome.


Beispiel

Am besten lässt sich das an der graphischen Darstellung erkennen:

Beispiel 6.15. Zerlegung der Kurve aus Beispiel 6.14 an der Stelle t = 1/3, bzw. Auswertung
an dieser Stelle: rekursives Dritteln der Verbindungslinien, resultierende neue Punkte in rot
und blau.



108
                                                                                       6.5 Splines




6.5 Splines

Wir kehren jetzt wieder zur Interpolation zurück.


Bis jetzt galt:

   • Anzahl Stützstellen = Polynomgrad +1

   • Viele Stützstellen =⇒ hoher Polynomgrad =⇒ evtl. starke Abweichung zwischen den
     Stützstellen


Idee: Benutze stückweise Polynome niedrigen Grades.


Definition 6.16 (Spline-Raum). Sei X = (x0 , x1 , . . . , xn ) mit a = x0 < x1 < · · · < xn = b
eine Zerlegung des Intervalls [a, b] und sei m ∈ N. Die Menge

                    S m (X) := {s ∈ C m−1 ([a, b]) : s|[xi ,xi+1 ] ∈ Pm , 0 ≤ i < n}

heißt Spline-Raum vom Grad m über der Zerlegung X.



Beispiel


Beispiel 6.17. s ∈ S 1 (X) bedeutet:

   • s ist auf jedem Teilintervall [xi , xi+1 ] ein Polynom vom Grad 1

   • S 1 (X) ⊂ C 0 ([a, b]), also ist s stetig



                                                                                              109
6 Interpolation und Approximation




Dieser Vektorraum ist relevant beim Lösen partieller Differentialgleichungen, und wird dort als
Finite-Elemente-Raum P1 bezeichnet.


Kubische Splines


In der Praxis ist S 3 (X) sehr beliebt. S 3 (X) heißt Raum der kubischen Splines.


Geschichte: “Straklatte” zur Konstruktion glatter Kurven im Schiffs- und Flugzeugbau.


Ein dünnes Balsaholz biegt sich unter Energieminimierung
                               b
                                    |y 00 (t)|2                   b
                          Z                                 Z
                                                                            2
                                                 = dt ≈               |y 00 (t)| dt → min
                           a       1 + |y 0 (t)|              a




                                      Quelle: Pearson Scott Foresman, gemeinfrei




110
                                                                                           6.5 Splines


Eine Funktion s ∈ S 3 (X) besteht stückweise aus n Polynomen:
                             (
                              pi (x)   x ∈ [xi−1 , xi ), i ∈ {1, . . . , n}
                      s(x) =
                              pn (xn ) x = xn (Intervalabschluss)

Für die Polynome pi gelten folgende Bedingungen:

   • Interpolationsbedingung (Stetigkeit) in allen Punkten:
                                                          (
                                                           pi (xi−1 ) = yi−1
                       2n Bedingungen: i = 1, . . . , n :
                                                           pi (xi ) = yi


   • Stetigkeit von erster und zweiter Ableitung an inneren Punkten:
                                                              (
                                                               p0i (xi ) = p0i+1 (xi )
                 2(n − 1) Bedingungen: i = 1, . . . , n − 1 :
                                                               p00i (xi ) = p00i+1 (xi )


=⇒ zusammen 4n − 2 Bedingungen

Man hat 4n Freiheitsgrade, pro Polynom pi vier (da Grad 3).


Die fehlenden 2 Bedingungen erhält man als Randbedingungen an den Stellen x0 und xn . Dabei
gibt es verschiedene Varianten:

  1. “Natürliche” Randbedingungen, “Krümmung Null”:

                                          p001 (x0 ) = p00n (xn ) = 0


  2. Hermite-Randbedingungen:

                                 p01 (x0 ) = f 0 (x0 ),   p0n (xn ) = f 0 (xn )

     (f ist die zu interpolierende Funktion)

  3. Periodische Randbedingungen:

                                 p01 (x0 ) = p0n (xn ),   p001 (x0 ) = p00n (xn )



Wir behandeln im folgenden nur die natürlichen Randbedingungen.



                                                                                                  111
6 Interpolation und Approximation


Kubische Splines

Kubische Splines mit natürlichen Randbedingungen lassen sich über eine Minimierungseigen-
schaft charakterisieren:


Zu gegebenen Funktionswerten f (xi ) = yi ist der natürliche kubische Spline unter den die
Werte interpolierenden Funktionen aus C 2 ([a, b]) jene, die das Funktional
                                               Z     b
                                                                  2
                                                         |f 00 (x)| dx
                                                 a

minimiert, und somit durch eine besonders geringe Oszillation ausgezeichnet ist.


   Beweis: [Rannacher]


Berechnung kubischer Splines

Wir schreiben die Teilpolynome eines kubischen Splines in der Form
                     (i)         (i)               (i)                   (i)
            pi (x) = a0 + a1 (x − xi ) + a2 (x − xi )2 + a3 (x − xi )3 ,              i = 1, . . . , n

und nehmen natürliche Randbedingungen an, also

                                            p001 (x0 ) = p00n (xn ) = 0

Dadurch ist der Spline wie eben gezeigt eindeutig festgelegt, aber:
                                                            (i)
Wie bestimmt man die lokalen Koeffizienten aj ?

Satz 6.18 (Berechnung kubischer Splines). Definiere die lokale Maschenweite hi := xi − xi−1
      (0)    (n)                           (i)
und a2 = a2 = 0. Die Koeffizienten a2 der gewählten Darstellung des kubischen Splines
sind dann die Lösung des linearen Gleichungssystems
                                                                               
                 (i−1)                 (i)       (i+1)      yi+1 − yi yi − yi−1
             hi a2     + 2(hi + hi+1 )a2 + hi+1 a2     =3            −
                                                              hi+1        hi

der Dimension n − 1. Die restlichen Koeffizienten ergeben sich zu:
                                                                                       (i)    (i−1)
             (i)           (i)         yi − yi−1 hi  (i)  (i−1)                (i)    a2 − a2
            a0 = yi ,      a1 =                 + (2a2 + a2     ),             a3 =
                                           hi    3                                       3hi



   Beweis: Tafel



112
                                                                                   6.5 Splines


Lösung des Tridiagonalsystems

Zur Lösung des entstehenden Tridiagonalsystems:
   • Die Gaußelimination / LR-Zerlegung hat in diesem Fall Aufwand O(n) (Bandstruktur)
   • Das Gleichungssystem ist symmetrisch und strikt diagonaldominant:
                                       X
                                           |aij | < |aii |
                                          j6=i


Die Koeffizienten können also effizient und stabil ohne Pivotisierung berechnet werden.


Beispiel

Beispiel 6.19. Approximationseigenschaften der verschiedenen Ansätze:




Fehlerabschätzung

Satz 6.20 (Fehlerabschätzung für kubische Splines). Sei f ∈ C 4 ([a, b]). Erfüllt der kubische
Spline s zu f
                           s00 (a) = f 00 (a) und s00 (b) = f 00 (b)
(Hermitesche Randbedingungen), so gilt
                                                1
                            max |f (x) − s(x)| ≤ h4 max |f (4) (x)|
                           a≤x≤b                2 a≤x≤b

Selbst unter noch wesentlich schwächeren Voraussetzungen konvergiert die Spline-Interpolation
gleichmäßig gegen f .

   Beweis: siehe [Rannacher]



                                                                                          113
6 Interpolation und Approximation


Beispiel


Beispiel 6.21. Interpolation der Funktion exp(−x2 ) auf dem Intervall [−10, 10] mit n äquidi-
stanten Stützstellen, maximaler Punktfehler:


                                       n S1           S3
                                    4    6.0 · 10−1   7.4 · 10−1
                                    8    3.0 · 10−1   3.9 · 10−1
                                   16    1.1 · 10−1   2.8 · 10−2
                                   32    6.9 · 10−2   7.1 · 10−3
                                   64    2.2 · 10−2   3.3 · 10−4
                                  128    6.0 · 10−3   1.9 · 10−5
                                  256    1.5 · 10−3   1.2 · 10−6
                                  512    3.8 · 10−4   7.3 · 10−8


                                          n Pn
                                          4   8.0 · 10−1
                                          6   1.0 · 100
                                          8   2.3 · 100
                                         10   5.9 · 100


Interpolation mit Splines konvergiert mit Ordnung h2 für S 1 bzw. h4 für S 3 .


6.6 Trigonometrische Interpolation

Aufgabe:

Interpolation “periodischer” Funktionen, d.h. es gebe ein ω ∈ R, ω > 0, so dass

                                   f (x + ω) = f (x) ∀x ∈ R

Es bietet sich die Interpolation mit “trigonometrischen Summen”
                                   m
                             a0 X 
                                    ak cos(2πkω −1 x) + bk sin(2πkω −1 x)
                                                                          
                    tn (x) =   +
                             2
                                  k=1

an, denn jeder der Summanden hat Periode ω.


Es gibt 2m + 1 Parameter, also setze n = 2m (konsistent mit Definition von n bei Polynomin-
terpolation).



114
                                                                         6.6 Trigonometrische Interpolation


Der Einfachheit halber betrachten wir nur ω = 2π, also:
                                                   m
                                          a0 X
                               tn (x) =     +  [ak cos(kx) + bk sin(kx)]
                                          2
                                                  k=1

Die Interpolation führen wir dann mit den äquidistanten Stützstellen
                                                  2πj
                                          xj =            j = 0, . . . , n
                                                  n+1
durch. (Für den allgemeinen Fall transformiere man das Argument und die Stützstellen).
Es stellt sich heraus, dass die Interpolationsaufgabe

                                   tn (xj ) = f (xj ) = yj      j = 0, . . . , n

zunächst im Körper C einfacher zu lösen ist, d.h. betrachte das komplexe trigonometrische
Polynom
                                            Xn
                                    ∗
                                   tn (x) =     ck eikx
                                                         k=0

mit i = (−1)1/2 der imaginären Einheit und ck ∈ C komplexen Koeffizienten. Für φ ∈ R gilt
die Eulersche Identität:
                                  eiφ = cos(φ) + i sin(φ)




Komplexe Einheitswurzeln

Hilfssatz 6.22 (Komplexe Einheitswurzeln). Die (n + 1)-ten komplexen Einheitswurzeln
                                                                 2πk
                                                wk := eixk = ei n+1

haben für alle j, k ∈ Z die folgenden Eigenschaften:
  1. wkn+1 = 1, wkj = wjk und wk−j = wj−k
               j mod(n+1)                          j mod(n+1)
  2. wkj = wk               = wkj mod(n+1) = wk mod(n+1)
  3. Es gilt
                                    n
                                                  (
                                                   n+1         k mod(n + 1) = 0
                                          wkj
                                    X
                                                =
                                    j=0
                                                   0           sonst


   Beweis: Tafel
Die komplexen Einheitswurzeln für n = 7 (also n + 1 = 8):




                                                                                                       115
6 Interpolation und Approximation


                                               Im

                                               i         w1

                                                              1
                                           0             w0       Re



Komplexe Multiplikation ist eine Drehstreckung, und für Werte auf dem Einheitskreis entfällt
die Streckung (der Faktor ist Eins).

Es handelt sich also um eine Drehung, und die Einheitswurzeln drehen jeweils um ein rationales
Vielfaches von 360 Grad.


Komplexe Trigonometrische Interpolation

Satz 6.23 (Komplexe Trigonometrische Interpolation). Zu gegebenen Zahlen y0 , . . . , yn ∈ C
gibt es genau eine Funktion der Gestalt
                                              n
                                              X
                                      ∗
                                     tn (x) =   ck eikx ,
                                                   k=0
                                                                  2πj
die den n + 1 Interpolationsbedingungen t∗n (xj ) = yj für xj = n+1   entspricht. Die komplexen
Koeffizienten sind bestimmt durch
                               n                         n
                ck = (n + 1)−1    yj e−ijxk = (n + 1)−1     yj wk−j k = 0, . . . , n
                               X                        X

                              j=0                             j=0


   Beweis: Tafel


Aufwand und reeller Fall

Mit der Formel aus Satz 6.23 ergibt sich ein Aufwand von O(n2 ) für die Berechnung der
Koeffizienten ck .

Damit wurde auch die reelle Interpolationsaufgabe gelöst, da man in Satz 6.23 yj ∈ R annehmen
kann: aufgrund der Eulerschen Identität
                                    eiφ = cos(φ) + i sin(φ)
ist dann auch eine passende reelle Funktion gegeben.

Wie berechnet man nun die reellen Koeffizienten ak und bk ?



116
                                                                                 6.6 Trigonometrische Interpolation


Diskrete Fourier-Analyse

Satz 6.24 (Diskrete Fourier-Analyse). Für n ∈ N0 gibt es zu gegebenen reellen Zahlen y0 , . . . , yn
genau ein trigonometrisches Polynom der Form
                                  m
                          a0 X                           θ
               tn (x) =     + [ak cos(kx) + bk sin(kx)] + am+1 cos((m + 1)x)
                          2                              2
                               k=1

das die Interpolationsaufgabe löst, wobei (m = n/2, θ = 0) für n gerade, und (m = (n−1)/2, θ =
1) für n ungerade. Es gilt
                                      n                                                  n
               ak = 2(n + 1)−1                                     bk = 2(n + 1)−1
                                      X                                                  X
                                            yj cos(jxk ),                                      yj sin(jxk )
                                      j=0                                                j=0



   Beweisskizze: Tafel, genauer: [Rannacher]


Diskrete Fouriertransformation (DFT)

Die schnelle Fouriertransformation (FFT):
Einer der berühmtesten Algorithmen der angewandten Mathematik und Informatik! Entwickelt
1965 von James Cooley und John Tukey.

Ergebnis der bisherigen Überlegungen sind zwei Transformationen:
                                           N −1
                                           X               2πjk
                                      −1
                           ck = N                 yj e−i    N       (Hintransformation)
                                            j=0
                                  N −1
                                  X              2πjk
                           yj =          ck ei    N     (Rücktransformation)
                                  k=0

mit N := n + 1. Diese beiden Gleichungen bezeichnet man als diskrete Fouriertransformation
(DFT).
Setze
                           c := (c0 , . . . , cN −1 )T ,          y := (y0 , . . . , yN −1 )T ,
dann ist die diskrete Fouriertransformation äquivalent zu den Gleichungssystemen
                                       c = N −1 W y,              y = U c mit
                                             −i 2πjk
                           (W )k,j = e           N      =   wk−j      und (U )j,k = wjk
Es gilt hier also W −1 = N −1 U , so dass man eine explizite Formel für die Inverse hat. Da
beide Matrizen dicht besetzt sind, ist der Aufwand für Hin- und Rücktransformation jeweils
O(N 2 ).

Grundidee:



                                                                                                               117
6 Interpolation und Approximation




                                          Quelle: Phonical, wikipedia.org, cc-by-sa




Die DFT zerlegt ein (periodisch fortgesetztes) diskretes Signal in sein Frequenzspektrum.


Schnelle Fouriertransformation (FFT)

Falls N gerade ist, kann man die DFT der Länge N durch zwei DFT der Länge N/2 berechnen
(Teile-und-herrsche-Verfahren, divide and conquer).

Setze c̃k := N ck (d.h. ignoriere Vorfaktor), dann gilt
                                ( g         2πk
                                  c̃k + e−i N c̃uk                         0 ≤ k < N/2
                          c̃k =                   2πk
                                  c̃gk−N/2 + e−i N c̃uk−N/2                N/2 ≤ k < N

mit den geraden und ungeraden Anteilen
                                   N/2−1                                 N/2−1
                                                 −i 2πjk                               −i 2πjk
                         c̃gk :=
                                   X                                     X
                                           y2j e    N/2    ,   c̃uk :=           y2j+1 e  N/2

                                    j=0                                   j=0



Wenn N eine Zweierpotenz ist, N = 2d , lässt sich die DFT somit rekursiv auf den Fall der
Länge 2 zurückführen. Dieser Fall lässt sich sehr einfach direkt lösen.

Im Gegensatz zum direkten Ansatz mittels Matrixmultiplikation ergibt sich damit der Auf-
wand
                TFFT (N ) = 2 · TFFT (N/2) + Tmerge (N ) = O(N · log(N )),
also deutlich schneller für große N . Dies ist ein Spezialfall des Master-Theorems für rekursiv
definierte Funktionen.




118
                                                                      6.6 Trigonometrische Interpolation


Beispiel


Beispiel der rekursiven Zerlegung für N = 8:




                                 Quelle: Virens, wikipedia.org, cc-by-sa




Berechnung der DCT für N/2 = 4 für die geraden bzw. ungeraden Indizes, danach Rekonstruk-
tion der Ausgabe durch Zusammenführen von je zwei Zwischenergebnissen.


Anwendungen


Wichtige Anwendungen der FFT sind:

   • Spektralanalyse (Zerlegung eines Signals in Frequenzen)

   • Datenkompression (Vernachlässigung hochfrequenter Anteile)

   • Lösen partieller Differentialgleichungen (Spektralmethoden)


Benutzt wird dies unter anderem für:

   • Telekommunikation (z.B. WLAN, LTE-Mobilfunk)

   • Multimedia (Datenformate wie JPEG, MPEG, MP3)

   • Medizin (Kernspin- und Computertomographie)

   • Forschung (z.B. digitale Oszilloskope)



                                                                                                    119
6 Interpolation und Approximation


6.7 Gauß-Approximation von Funktionen

Prähilberträume


Wir betrachten nun die Approximation von Funktionen in Prähilberträumen:


Definition 6.25 (Prähilbertraum). Ein Vektorraum von Funktionen über R oder C mit Ska-
larprodukt (·, ·) heißt Prähilbertraum. Das Skalarprodukt induziert eine zugehörige Norm kf k =
(f, f )1/2 .



Im folgenden sei H ein Prähilbertraum und S ⊂ H ein endlichdimensionaler Teilraum von
H.


Beispiele


Beispiel 6.26. Beispiele für Prähilberträume:

      • Raum der stetigen Funktionen C 0 ([a, b]) mit Skalarprodukt
                                                         Z   b
                                              (f, g) =           f (x)g(x) dx
                                                         a



      • Gegeben Ψ = {ψ1 , . . . , ψN }, ψi ∈ C 0 ([a, b]), ist

                                                                              N
                                                                              X
                                        S = span(Ψ) = {f | f =                      ci ψi }
                                                                              i=1


        ein endlichdimensionaler Prähilbertraum. Analog für andere Prähilberträume statt C 0 .

      • Raum der quadratintegrierbaren Funktionen
                                                             Z       b
                                         2
                                       L ((a, b)) = {f |                 |f (t)|2 dt < ∞}
                                                                 a

                      Rb
        Dabei ist mit a das “Lebesgue-Integral” gemeint. Im Gegensatz zu C 0 ([a, b]) ist L2 ((a, b))
        vollständig bzgl. der Norm
                                            kf k = (f, f )1/2

        und damit sogar ein Hilbertraum. L2 ((a, b)) ist das Analogon des Rn für Funktionenräume.



120
                                                               6.7 Gauß-Approximation von Funktionen


Allgemeine Gauß-Approximation

Wir betrachten die folgende Aufgabe:
Zu f ∈ H finde g ∈ S, so dass
                                           kf − gk → min

wobei kf k = (f, f )1/2 die durch das Skalarprodukt induzierte Norm bezeichne.



Satz 6.27 (Allgemeine Gauß-Approximation). Die obige Aufgabe hat genau eine Lösung g ∈ S.
Diese ist charakterisiert durch
                                (g, φ) = (f, φ) ∀φ ∈ S



   Beweis: Tafel


Berechnung der Approximation

Wähle Basis Ψ = {ψ1 , . . . , ψN } des endlichdimensionalen Raums S, N = dim(S). Stelle damit
die sogenannte Massenmatrix (Gramsche Matrix) A und rechte Seite b mit

                                  [A]ij = (ψi , ψj ),     [b]i = (f, ψi )

auf. A ist symmetrisch positiv definit bzw. hermitesch. Bestimme die gesuchten Koeffizienten
αi durch Lösen des linearen Gleichungssystems

                                                 Aα = b.




Approximation mit Orthonormalbasen

Besonders einfach wird die Lösung der Approximationsaufgabe, wenn Ψ eine Orthonormalbasis
ist, d.h. (ψi , ψj ) = δij . Dann gilt

                        N
                        X
                               αj (ψj , ψi ) = αi = (f, ψi ) ∀i = 1, . . . , N
                         j=1

und somit
                                        N
                                        X                N
                                                         X
                                   g=          αj ψj =         (f, ψj )ψj
                                         j=1             j=1




                                                                                                121
6 Interpolation und Approximation


Beispiel

Beispiel 6.28 (Fourierreihe). Für N = 2m + d, m ∈ N ist

                  ΨF = π −1/2 · {2−1/2 , cos(x), . . . , cos(mx), sin(x), . . . , sin(mx)}

eine Orthonormalbasis von Funktionen auf dem Interval [−π, π]. Damit gilt dann
                                              m
                                     a0 X
                             g(x) =     +      [ak cos(kx) + bk sin(kx)]
                                      2
                                           k=1
                               Z π                           Z π
                    mit   ak =     f (x) cos(kx) dx, bk =         f (x) sin(kx) dx
                                  −π                               −π


Vorsicht: die ak und bk sind nicht die αi von oben, sondern unterscheiden sich davon um einen
Faktor π 1/2 !


Für unendlich viele Glieder nennt man die entstehende Reihe, also
                                              ∞
                                       a0 X
                              g(x) =     +  [ak cos(kx) + bk sin(kx)],
                                       2
                                             k=1

Fourier-Reihe von f . Diese konvergiert gegen ein Element aus L2 ((−π, π)).


Die DFT lässt sich als näherungsweie Auswertung der Integrale mittels “Trapezregel” verstehen.


Fehlerkontrolle

Bisher war S ⊂ H fest gewählt, damit wurde das “optimale” g bestimmt. Der Fehler kf − gk
wurde einfach akzeptiert.


Daher nun Verfeinerung der Approximationsaufgabe:
Finde S ⊂ H mit dim(S) möglichst klein, so dass

                                            kf − gk < TOL,

wobei TOL eine vorgegebene Zahl (Toleranz) sei.


Ein Spezialfall ist die “Kompression”: hier ist H selbst bereits endlichdimensional. Man versucht,
das “Signal” f möglichst platzsparend zu speichern.
Mittels Orthonormalbasen lässt sich der Fehler recht einfach messen:



122
                                                           6.7 Gauß-Approximation von Funktionen


Sei SN ⊂ H, N ∈ N, eine Folge von Approximationsräumen mit dim(SN ) = N , und gN die
Bestapproximation von f in SN . Sei zusätzlich ΨN eine Orthonormalbasis von SN .


Dann gilt
                                                             N
                                                             X
                             0 ≤ kf − gN k2 = (f, f ) −            (f, ψi )2
                                                             i=1




Oft gilt sogar SN ⊂ SN +1 mit ΨN ⊂ ΨN +1 , das setzen wir aber nicht voraus.


Wir möchten
                                                N
                                                X
                                 2
                       kf − gN k = (f, f ) −           (f, ψi )2 ≤ TOL ·(f, f ),
                                                 i=1

und das ist äquivalent zu
                               N
                               X
                                      (f, ψi )2 ≥ (1 − TOL) · (f, f )                      (6.1)
                                i=1

(Frage: “Welche Anteile von f werden von SN bereits repräsentiert?”)


Achtung: hier wurde eine relative Toleranz TOL gewählt, diese lässt sich jedoch in eine absolute
umrechnen, und umgekehrt.


Anmerkungen


Bemerkung 6.29. Zur Fehlerkontrolle:

   • Der Wert (f, f ) wird als (zumindest hinreichend genau) berechenbar angenommen. Dafür
     kann man z.B. numerische Integration verwenden.

   • Falls ΨN ⊂ ΨN +1 , sind einfach weitere Basisfunktionen hinzuzufügen bis (6.1) erreicht
     ist. Das gilt zum Beispiel für die Fourierreihe, Bsp. 6.28.

   • Bei ΨN ⊂ ΨN +1 folgt aus der Fehlerdarstellung unmittelbar

                                       kf − gN +1 k2 ≤ kf − gN k2 ,

     der Fehler ist also monoton fallend!




                                                                                            123
6 Interpolation und Approximation


Approximation mit Haar-Wavelets

Es bezeichne tr(f ) = {x | f (x) 6= 0} den Träger einer Funktion. Bei der ONB aus Sinus- und
Cosinus-Funktionen haben alle ψi im wesentlichen globalen Träger, d.h. tr(f ) = [a, b].

Oft variiert die zu approximierende Funktion aber nur lokal sehr stark. In diesem Fall möchte
man ein Funktionensystem mit folgenden Eigenschaften:
      • (ψi , ψj ) = δij (Orthogonalität)
      • ΨN ⊂ ΨN +1 (Geschachteltheit)
      • diam(tr(ψi )) → 0 für i → ∞

Diese Eigenschaften besitzten sogenannte Waveletfunktionen, von denen wir das sogenannte
Haar-Wavelet untersuchen.

Definition 6.30. Wir definieren       das “mother wavelet” ψ(x) und die Abschneidefunktion χ(x)
auf (0, 1]:               
                          1           0<x≤1                            (
                                                                        1            0<x≤1
                 ψ(x) :=    −1         1<x≤2,                   χ(x) :=
                                                                        0            sonst
                            0          sonst
                          

Für l ∈ N0 (Stufe) und 0 ≤ i < 2l−1 (Index) ist das Haar-Wavelet
                                               l−1
                                ψil := max(2    2    , 1) · ψ(2l x − 2i) · χ(x).
                                                                S2j−1 −1
                                                                            {ψij }.
                                                       Sl
Die Waveletbasis der Stufe l ist Ψl := {ψ00 } ∪          j=1        i=0



Eigenschaften der Wavelets

Wir fassen einige Eigenschaften der Haar-Wavelets zusammen:
      • Für l > 0 gilt                      
                                                                      i             i+1
                                            0
                                            
                                                           x≤      2l−1
                                                                           ∨x>      2l−1
                                                 l−1                        i+ 12
                                    ψil =    2 2              i
                                                            2l−1
                                                                    <x≤     2l−1
                                                            i+ 12
                                            
                                            −2 l−1
                                            
                                                 2                  <x≤     i+1
                                                            2l−1            2l−1

      • Speziell für l = 1 gibt es ein einzelnes Wavelet

                                   ψ01 = max(1, 1) · ψ(2x) · χ(x) = ψ(2x)

      • Und speziell für l = 0 gibt es ein einzelnes Wavelet

                                  ψ00 = max(2−1/2 , 1) · ψ(x) · χ(x) = χ(x)



124
                                                                 6.7 Gauß-Approximation von Funktionen


Graphische Darstellung

                                          0
                                      ψ0
                           1

                          -1      0                                           1
                                          1
                                      ψ0
                           1

                                  0                                            1
                          -1
                                          2                  2
                           1/2        ψ0                    ψ1
                          2

                           1/2
                                  0                                            1
                         -2
                                      3             3        3          3
                                   ψ0            ψ1        ψ2         ψ3
                           2

                                  0                                            1
                          -2

Darstellung der Haar-Wavelets für l = 0, . . . , 3.

Für l = 0 und l = 1 gibt es jeweils nur ein Wavelet (konstante Einsfunktion bzw. gestauchtes
“mother wavelet”). Die Wavelets aller weiteren Level sind Kopien des Wavelets ψ01 , die in x-
Richtung gestaucht und zur Kompensation in ihrem Wert gestreckt wurden.


Weitere Eigenschaften

Weiterhin gilt:
   • Die Wavelets bilden eine Baumstruktur bzgl. ihrer Träger:
                                    l+1
                     tr(ψil ) = tr(ψ2i          l+1
                                        ) ∪ tr(ψ2i+1 ),          tr(ψil ) ∩ tr(ψjl ) = ∅ für i 6= j

   • Die Wavelets sind paarweise orthogonal:
                                                           (
                                                            1 i=j∧l =k
                                          (ψil , ψjk )   =
                                                            0 sonst


   • Offensichtlich erfüllt die Konstruktion Ψl ⊂ Ψl+1 , da immer nur Basisfunktionen hinzu-
     genommen werden.



                                                                                                      125
6 Interpolation und Approximation


Damit sind alle geforderten Eigenschaften erfüllt.



   Beweis: Tafel



Aufgespannter Raum


Um die durch Haar-Wavelets darstellbaren Funktionen etwas anschaulicher zu machen, definie-
ren wir die Funktionen                   (
                                l         1 2il < x ≤ i+1
                                                       2l
                               φi (x) :=
                                          0 sonst
                                          S2l −1
für l ∈ N0 und 0 ≤ i < 2l , sowie Φl :=     i=0    {φli }.



S l := span(Φl ) ist der Raum der stückweise konstanten Funktionen auf dem Intervall (0, 1]
bzgl. der äquidistanten Unterteilung in 2l Teilintervalle. Es gilt

                                  span(Ψl ) = span(Φl ) = S l .




   Beweisskizze: Tafel



Darstellung von Funktionen


Da die Haar-Wavelets eine Orthonormalbasis bilden, ist die Approximationsaufgabe aus Satz 6.27
analog zur Fourier-Reihe durch Skalarprodukte der Form (f, ψij ) berechenbar:

                                             −1
                                          l 2X       j

                                               (f, ψij ) · ψij
                                          X
                                   g(x) =
                                             j=0 i=0




Im Unterschied zur Fourier-Reihe lassen sich die gesuchten Koeffizienten aus den Mittelwerten
von f auf den Trägern der ψij berechnen, was eine stark lokalisierte und zugleich durch Rekursion
besonders effiziente Berechnung ermöglicht.



126
                                                                6.7 Gauß-Approximation von Funktionen


Datenkompression mit Wavelets


Anwendung von (6.1), der Formel für die Fehlerkontrolle:


Gegeben: f ∈ S l in Basis Ψl

Gesucht: Teilraum Se ⊂ S l , so dass kf − f˜k ≤ TOL ·(f, f ) und Se möglichst klein.


Algorithmus:

   • M ← {ψ00 } (Basis von S)
                           e

                 2
   • ρ ← (f, ψ00 ) (repräsentierter Anteil)

   • while (ρ < (1 − TOL) · (f, f )) do:

        – wähle Kind ψkl+1 eines ψil ∈ M mit (f, ψkl+1 ) maximal

        – M ← M ∪ {ψkl+1 }

                               2
        – ρ ← ρ + (f, ψkl+1 )



Ausblick


Eine leichte Abänderung der Gaußschen Approximationsaufgabe:


Finde u ∈ S (endlich-dimensionaler Funktionenraum), so dass
                                    Z                 Z
                                         ∇u · ∇φ =            f φ ∀φ ∈ S
                                     Ω                    Ω




Dies führt auf die (numerische) Lösung der “Poisson-Gleichung”
                                             n
                                             X ∂2u
                                   −∆u = −                =f     in Ω ⊂ Rd
                                             i=1
                                                   ∂x2i

(vgl. das Einführungskapitel über lineare Gleichungssysteme)



                                                                                                 127
6 Interpolation und Approximation


6.8 Tschebyscheff-Approximation

Tschebyscheff-Approximation


Zentrales Hilfmittel bei der Gauß-Approximation war die Existenz des Skalarproduktes, das
zur Projektion auf endlichdimensionale Teilräume verwendet wurde. Man kann jedoch auch für
allgemeine Normen ohne zugehöriges Skalarprodukt eine solche Bestapproximation einführen.


Satz 6.31 (Allgemeine Tschebyscheff-Approximation). Sei E ein normierter Vektorraum mit
Norm k · k und S ⊂ E ein endlichdimensionaler Teilraum. Dann gibt es zu jedem f ∈ E eine
(nicht unbedingt eindeutige) beste Approximation g ∈ S:

                                      kf − gk = min kf − φk
                                                    φ∈S



   Beweis: Tafel

Wir haben für die Polynominterpolation auf [a, b] die Fehlerformel

                                                                     n
                                     f (n+1) (ξx )                   Y
                      f (x) − p(x) =               l(x),   l(x) :=       (x − xj )
                                      (n + 1)!
                                                                     j=0


hergeleitet. Eine “optimale” Wahl der Stützstellen wäre jene, die

                                         max |l(x)| = klk∞
                                        a≤x≤b


minimiert, den Teil der Formel, der durch die Stützstellen beeinflussbar ist und nicht von f
abhängt.



(“Optimal” mit Anführungszeichen, da das implizit die Position ξx beeinflusst!)

Es gilt l(x) = xn+1 − p(x), p ∈ Pn , daher lässt sich die Minimierung von klk∞ als Tschebys-
cheffsche Approximationsaufgabe auffassen:

                          Finde p ∈ Pn : max kxn+1 − p(x)k → min
                                            a≤x≤b


Dies entspricht dann einer entsprechenden Wahl der Stützstellen {x0 , . . . , xn }, die zu diesem
Polynom p ∈ Pn führt. Man kann zeigen, dass die Tschebyscheffsche Approximationsaufgabe
in diesem Fall sogar eine eindeutige Lösung hat.



128
                                                                           6.8 Tschebyscheff-Approximation


Optimale Stützstellenwahl

Satz 6.32 (Optimale Stützstellen). Auf dem Intervall [a, b] = [−1, 1] ist die Tschebyscheff-
Approximation g ∈ Pn zu f (x) = xn+1 bzgl. k · k∞ gegeben durch

                                    g(x) = xn+1 − 2−n Tn+1 (x)

mit dem (n + 1)-ten Tschebyscheff-Polynom

                           Tn+1 (x) = cos((n + 1) arccos(x)) ∈ Pn+1 .

Dass dies tatsächlich ein Polynom (n+1)-ten Grades in x ist, kann man über Winkelidentitäten
zeigen.
Die Nullstellen                                        
                                             π 2k + 1
                             xk = cos                       ,   k = 0, . . . , n
                                             2 n+1
von Tn+1 sind die “optimalen” Stützstellen auf [−1, 1]. Für andere Intervalle [a, b] transformiert
man diese affin-linear mittels
                                       1
                                  x̃k = [(b − a) · xk + (a + b)].
                                       2

Für das Interpolationspolynom p ∈ Pn einer Funktion f ∈ C n+1 [a, b] erhält man dann die
Fehlerabschätzung
                                        1    (b − a)n+1 (n+1)
                        kf − pn k∞ ≤                   kf     k∞ .
                                     (n + 1)! 22n+1


   Beweis: [Rannacher]


Runges Funktion

Wir kehren zu Runges Beispielfunktion zurück. Die Stützstellen sind die Projektion äquidistan-
ter Punkte auf dem Einheitskreis:




                              Quelle: Stephen G. Johnson, wikipedia.org, cc-by-sa




                                                                                                      129
6 Interpolation und Approximation


Anschaulich werden dadurch an den Intervallgrenzen, wo sonst große Über- und Unterschwinger
auftreten würden, zusätzliche Stützstellen zur Kompensation platziert.

                          1


                        0.8


                        0.6


                        0.4


                        0.2


                          0


                        -0.2


                        -0.4
                               -1   -0.5      0        0.5         1




                                                              −1
Polynominterpolation von Runges Funktion f (x) = (1 + 25x2 ) , diesmal mit “optimalen”
Stützstellen (wieder 3, 5, 9, 17 bzw. 33 Wertepaare). Das letzte Polynom verdeckt dabei die
eigentliche Funktion. Offensichtlich deutlich bessere Resultate!




130
7 Numerische Integration

7.1 Einführung

Numerische Integration (Quadratur)

Wir behandeln die numerische Berechnung bestimmter Integrale in einer Raumdimension:
                                                Z b
                                  I[a,b] (f ) =     f (x) dx
                                                                     a

Alle von uns behandelten Verfahren führen auf die Form
                                                             n
                                         (n)
                                                             X
                                       I[a,b] (f ) =               wi f (xi ) + Fehler,
                                                             i=0

wobei wi ∈ R die Gewichte und xi ∈ R die Stützstellen der Integrationsformel sind.


Gründe für Numerische Integration

Es gibt mehrere Gründe, warum die Anwendung von numerischer Integration (numerischer
Quadratur) sinnvoll bzw. notwendig sein kann:
   • Oft ist eine Funktion f nur an endlich vielen Punkten bekannt, z.B. da sie aus Messreihen
     stammt. Häufig ist man neben der Darstellung der Funktion, z.B. mittels Least Squares
     oder Splines, auch an ihrer Ableitung oder ihrem Integral interessiert.
   • Es gibt Funktionen, z.B. f (x) = exp(−x2 ), deren Integral wichtig ist, aber es steht keine
     geschlossene Formel für dessen Berechnung zur Verfügung.


7.2 Newton-Cotes-Formeln

Die Newton-Cotes-Formeln sind sogenannte interpolatorische Quadraturformeln.

Idee: Stelle das Interpolationspolynom p zu gewissen Stützstellen auf und berechne das Integral
von p exakt.

Formal: Stützstellen und Werte (xi , f (xi )), i = 0, . . . , n, Lagrange-Darstellung:
                                       n                                              Y x − xj
                                                         (n)              (n)
                                       X
                         pn (x) =            f (xi )Li (x),              Li (x) =
                                                                                        xi − xj
                                       i=0                                            j6=i

und somit                                            Z   b                  n               Z    b
                                    (n)                                                               (n)
                                                                            X
                   I[a,b] (f ) ≈   I[a,b] (f )   =           pn (x) dx =          f (xi )            Li (x) dx
                                                     a                      i=0              a




                                                                                                                 131
7 Numerische Integration


Ordnung einer Quadraturformel

Definition 7.1 (Ordnung einer Quadraturformel). Eine Quadraturformel I (n) (f ) hat mindes-
tens die Ordnung m, wenn sie Polynome vom Grad m − 1 exakt integriert.


Eine Formel zweiter Ordnung integriert beispielsweise lineare Funktionen exakt.

Die Newton-Cotes-Formeln benutzen Polynominterpolation und haben daher für n + 1 Stütz-
stellen mindestens Ordnung n + 1. Wir werden aber später sehen, dass das noch besser geht.


Newton-Cotes-Formeln

Die Newton-Cotes-Formeln nutzen äquidistante Stützstellen. Es gibt davon zwei Varianten:

Abgeschlossene Formeln:
Die Intervallgrenzen a und b sind Stützstellen, es gilt
                                                                                    b−a
                         xi = a + iH,         i = 0, . . . , n,       mit H =
                                                                                     n


Offene Formeln:
Die Grenzen a und b sind keine Stützstellen, und es gilt
                                                                                      b−a
                      xi = a + (i + 1)H,            i = 0, . . . , n,       mit H =
                                                                                      n+2


Generell muss für die Summe der Gewichte einer Quadraturformel
                          X n      Xn          Z b
                              wi =    wi · 1 =     1 dx = b − a
                             i=0          i=0                  a

gelten. Um Gewichte zu erhalten, die unabhängig vom gewählten Intervall sind, wird dieser
Term ausgeklammert, und man erhält für die geschlossenen Newton-Cotes-Formeln
                                                               n
                                    (n)
                                                               X
                                   I[a,b] (f ) = (b − a) ·            w̃i f (xi )
                                                                i=0

mit
                                                b                            nY
                                                                                    s−j
                                          Z                             Z
                                                     (n)
                       w̃i = (b − a)−1              Li     dx = n−1                     ds
                                            a                            0          i−j
                                                                             j6=i



   Beweis: Tafel



132
                                                                                        7.2 Newton-Cotes-Formeln


Beispiele


Abgeschlossene Formeln für n = 1, 2, 3 und H = (b − a)/n sind:


Die Trapezregel bzw. Sehnen-Trapezregel:

                                                          b−a
                                           I (1) (f ) =       · [f (a) + f (b)]
                                                           2



Die Simpsonregel bzw. Keplersche Fassregel:
                                                                              
                                  (2)          b−a                       a+b
                              I         (f ) =     · [f (a) + 4f                   + f (b)]
                                                6                         2



Die 3/8-Regel bzw. Pulcherrima:

                                        b−a
                   I (3) (f ) =             · [f (a) + 3f (a + H) + 3f (b − H) + f (b)]
                                         8


Offene Formeln für n = 0, 1, 2 und H = (b − a)/(n + 2) sind:


Die Mittelpunktregel, Tangenten-Trapezregel bzw. Rechteckregel:
                                                         
                                (0)                   a+b
                               I (f ) = (b − a) · f
                                                       2



Die zweite offene Regel (kein besonderer Name):

                                                  b−a
                                   I (1) (f ) =       · [f (a + H) + f (b − H)]
                                                   2



Die dritte offene Regel (ebenfalls kein Name):
                                                                             
                       (2)          b−a                                 a+b
                   I         (f ) =     · [2f (a + H) − f                         + 2f (b − H)]
                                     3                                   2




                                                                                                            133
7 Numerische Integration


Anmerkungen

Bemerkung 7.2. Ab n = 7 für die abgeschlossenen bzw. n = 2 für die offenen Formeln treten
negative Gewichte auf. Das ist ungünstig, denn:

      • Für strikt nicht-negative Funktionen f kann I (n) (f ) < 0 sein (Stoffkonzentration, Masse-
        nerhaltung,. . . ).

      • Es herrscht erhöhte Gefahr der Auslöschung.

      • Die Kondition kann schlechter werden, während sie für rein positive Gewichte beschränkt
        ist.




Restgliedabschätzung

Satz 7.3 (Restglieder). Den begangenen Fehler kann man folgendermaßen abschätzen:

  1. Trapezregel: n = 1, Ordnung 2, Es gilt

                                  b−a                       (b − a)3 00
                        I(f ) −       · [f (a) + f (b)] = −         f (ξ),           ξ ∈ [a, b]
                                   2                           12

        für f ∈ C 2 ([a, b]). Es werden also Polynome bis zum Grad 1 exakt integriert, denn für
        diese ist f 00 (x) = 0 auf [a, b].


        Allgemein gilt: die Ordnung der ungeraden Formeln entspricht der Anzahl an Stützstellen,
        während die Ordnung der geraden Formeln um Eins höher ist.

  2. Simpsonregel: n = 2, Ordnung 4, für f ∈ C 4 ([a, b]) gilt

                                                                                 (b − a)5 (4)
                                                             
                              b−a                       a+b
                      I(f ) −     · [f (a) + 4f                   + f (b)] = −           f (ξ)
                               6                         2                         2880


  3. Mittelpunktregel: n = 0, Ordnung 2, für f ∈ C 2 ([a, b]) gilt

                                                                          (b − a)3 00
                                                                 
                                                            a+b
                                  I(f ) − (b − a) · f                 =           f (ξ)
                                                             2               24

        also “halber Fehler der Trapezregel” bei nur einer Auswertung!



  Beweis: Tafel



134
                                                                           7.3 Summierte Quadraturformeln


7.3 Summierte Quadraturformeln

Das Erhöhen des Polynomgrads ist wenig sinnvoll, da

   • früh negative Gewichte auftreten

   • die Lagrange-Interpolation mit äquidistanten Stützstellen nicht punktweise konvergiert

   • man entsprechende Differenzierbarkeit von f für die Abschätzung benötigt


Idee der summierten Quadraturformeln:

   • Unterteile das Interval [a, b] in N Teilintervalle

                                                                                     b−a
                          [xi , xi+1 ],   xi = a + ih, i = 0, . . . , N − 1, h =
                                                                                      N

   • Wende eine der obigen Formeln auf jedem Teilintervall an und summiere die Ergebnisse.


Beispiele


Beispielsweise ergeben sich bei N Teilintervallen der Schrittweite h:


Die summierte Trapezregel:

                          N −1                                          N −1
                                                               "                             #
               (1)
                          X      h                               f (a) X               f (b)
              Ih (f ) =            [f (xi ) + f (xi+1 )] = h ·        +      f (xi ) +
                                 2                                 2                     2
                           i=0                                                 i=1




Die summierte Simpsonregel:

                                      N −1             N −1 
                             "                                                   #
                (2)       h    f (a) X                 X      xi + xi+1     f (b)
               Ih (f )   = ·        +      f (xi ) + 2     f              +
                          3      2                                2           2
                                              i=1                  i=0




Die summierte Mittelpunktregel:

                                                    N −1                      
                                     (0)
                                                    X              xi + xi+1
                                    Ih (f )   =h·          f
                                                                       2
                                                    i=0




                                                                                                     135
7 Numerische Integration


Restgliedabschätzung

Satz 7.4 (Restglieder für summierte Quadraturen). Für die je Teilintervall verwendete Qua-
draturformel gelte
                                       (n)
                   I[xi ,xi+1 ] (f ) − I[xi ,xi+1 ] (f ) = αn hm+1 f (m) (ξi ),      ξi ∈ [xi , xi+1 ].

Dann gilt für die summierte Quadraturformel
                                        (n)
                        I[a,b] (f ) − Ih (f ) = αn (b − a)hm f (m) (ξ),              ξ ∈ [a, b].


  Beweis: Tafel
Wie wir sehen, bleibt bei der Summation die Ordnung der Formel erhalten (da in der Abschät-
zung die gleiche Ableitung auftritt).

Konkret bedeutet das:
      • Die Trapezregel und Mittelpunktregel haben Ordnung 2, also haben es die summierten
        Regeln ebenfalls. Es gilt
                                             (1 bzw. 0)               b−a
                          |I[a,b] (f ) − Ih               (f )| = |       max f (2) | · h2 ∈ O(h2 ),
                                                                       α [a,b]
        mit α = 12 bzw. 24, falls die zweite Ableitung beschränkt ist.
      • Die Simpsonregel hat Ordnung 4, also gilt das auch für die summierte Simpsonregel, und
                                                (2)             b−a
                              |I[a,b] (f ) − Ih (f )| = |            max f (4) | · h4 ∈ O(h4 ),
                                                                2880 [a,b]
        falls die vierte Ableitung beschränkt ist.


Fehlerkontrolle

Es gelten
                                   (2)    1 (1)     2 (0)
                                 Ih (f ) = Ih (f ) + Ih (f )
                                          3         3
sowie für die halbierte Schrittweite h/2
                                        (1)       1 (1)     1 (0)
                                       Ih/2 (f ) = Ih (f ) + Ih (f ).
                                                  2         2


Diese Zusammenhänge kann man zur Fehlerkontrolle gemäß der Form

                                               |I(f ) − Ih (f )| ≤ TOL

verwenden.



136
                                                                         7.4 Quadraturen höherer Ordnung


7.4 Quadraturen höherer Ordnung

Wie wir gesehen haben, sind die Newton-Cotes-Formeln nur bis n = 7 bzw. n = 2 brauchbar.


Die summierten Quadraturformeln erlauben zwar beliebig feine Berechnungen, haben aber im-
mer die selbe Ordnung wie die zugrundeliegenden Formeln.


Wie erreicht man eine höhere Ordnung?


Zwei Ansätze:
   • Extrapolation auf summierte Formeln anwenden
   • Nicht-äquidistante Stützstellen wählen (Gauß-Quadratur)


Romberg-Integration

                                                               (n)
Bei den summierten Formeln ist man an limh→0 Ih (f ) interessiert. Dafür ist Extrapolation
zum Limes anwendbar.


Herzstück des Ansatzes ist die Euler-Maclaurinsche Summenformel:
                          m−1
             (1)
                          X            B2k (2k−1)
  I(f ) −   Ih (f )   =         h2k         (f    (b) − f (2k−1) (a))
                                      (2k)!
                          k=1
                                                                          B2m
                                                                 + h2m         (b − a)f (2m) (ξ),   ξ ∈ [a, b]
                                                                         (2m)!

Speziell die Trapezsumme hat also eine Fehlerentwicklung in geraden Potenzen, was Extra-
polation besonders effizient macht. Die in der Formel auftretenden Konstanten Bi sind die
sogenannten Bernoulli-Zahlen.


Gauß-Integration

Frage: Lässt sich durch nicht-äquidistante Stützstellen die Genauigkeit von Quadraturformeln
verbessern?


Idee: Wähle xi und wi so, dass Polynome von möglichst hohem Grad exakt integriert werden
(Ordnungsmaximierung).


Satz 7.5. Die maximal erreichbare Ordnung einer Quadraturformel mit n + 1 Stützstellen ist
2n + 2 (d.h. Polynome vom Grad 2n + 1 werden exakt integriert).



                                                                                                            137
7 Numerische Integration


   Beweis: Tafel

Satz 7.6. Es gibt genau eine interpolatorische Quadraturformel zu n + 1 paarweise versch.
Stützstellen in [−1, 1] mit der Ordnung 2n + 2.
Ihre Stützstellen sind die Nullstellen λ0 , . . . , λn ∈ (−1, 1) des (n + 1)-ten Legendre-Polynoms
Ln+1 , wobei

                                                             (2k + 1)x           k
            L0 (x) = 1,       L1 (x) = x,       Lk+1 (x) =             Lk (x) −     Lk−1 (x)
                                                               k+1              k+1
Die Gewichte erhält man mittels
                             Z         1   Y  x − λj 2
                        wi =                                 dx > 0,   0, . . . , n
                                      −1 j6=i    λi − λj



   Beweis: [Rannacher]


Beispiele

Durch Auswerten der Nullstellen der Legendre-Polynome ergeben sich mit
                                                 b−a            a+b
                                           h=        ,     c=
                                                  2              2
zum Beispiel die folgenden Gauß-Quadraturen:

Eine Stützstelle, Ordnung 2:

                                I (0) = (b − a) · f (c) (Mittelpunktsregel)


Zwei Stützstellen, Ordnung 4:
                                   b−a
                         I (1) =       · [f (c − (1/3)1/2 h) + f (c + (1/3)1/2 h)]
                                    2


Drei Stützstellen, Ordnung 6:
                             b−a
                   I (2) =       · [5f (c − (3/5)1/2 h) + 8f (c) + 5f (c + (3/5)1/2 h)]
                              18


Natürlich lassen sich mithilfe der Gauß-Quadraturen wieder summierte Formeln definieren,
indem man das Intervall unterteilt und die Ergebnisse summiert.



138
                                                                                 7.5 Ausblick


7.5 Ausblick

Adaptive Quadratur


Oftmals ist eine äquidistante Aufteilung des Intervals wenig sinnvoll, da die zu integrierende
Funktion lokal unterschiedliches Verhalten zeigt.


Idee der adaptiven Quadratur:



                                   I2
                                           I1                I3 (negativ!)


                                         I0

   • Berechne sukzessive Updates für die Näherung durch feinere Unterteilung (Prinzip des
     Archimedes)

   • Breche Verfeinerung ab, wenn lokales Update |Ij | klein genug



Mehrdimensionale Quadratur


Im Eindimensionalen gilt:

                       Intervall = zusammenhängende Menge
                                = wegzusammenhängende Menge
                                = einfach zusammenhängende Menge


Daher ist es einfach, auf beliebigen “Gebieten” Ω ⊂ R zu integrieren. Im Mehrdimensionalen
werden die Intervalle zu (Hyper-) Quadern, die oben genannten Begriffe sind aber nicht mehr
äquivalent:

                        Quader 6= zusammenhängende Menge
                                6= wegzusammenhängende Menge
                                6= einfach zusammenhängende Menge



                                                                                          139
7 Numerische Integration




                               Ω




      • Die vorgestellten Formeln lassen sich leicht auf Quader verallgemeinern.
      • Im allgemeinen muss man diese Quader und die Integrale darauf transformieren (Trans-
        formationssatz, Verallgemeinerung der Substitutionsregel).
      • Man kann auch Dreiecke für die Unterteilung verwenden.
      • Bei komplizierten Geometrien entsteht zusätzlich ein Geometriefehler durch Approxima-
        tion der Geometrie.


Fluch der Dimension

Wenn die Dimension d sehr groß ist, sind die hier behandelten Methoden nicht brauchbar.

Betrachte Ω = [0, 1]d . Zerlegt man [0, 1] in zwei Teilintervalle je Dimension, so hat man den
d-dimensionalen Würfel in 2d Teilwürfel zerlegt. Der Aufwand steigt somit exponentiell in d
an. Dies bezeichnet man als “Fluch der Dimension”.

Eine Möglichkeit ist dann die Monte-Carlo-Integration
                                                 N
                                               C X
                                       I(f ) ≈     f (ξi )
                                               N
                                                  i=1

mit zufälligen Punkten ξi ∈ Ω.




140
8 Iterative Lösung von Gleichungssystemen

8.1 Einführung

In diesem Abschnitt betrachten wir die Lösung von algebraischen Gleichungen

                                    f (x) = 0 mit f : Rn → Rn .

Dabei beschränken wir uns zunächst auf den Fall n = 1 (skalar).


Idee der Intervallschachtelung:

Angenommen man kennt ein Teilintervall [a0 , b0 ], so dass f (a0 ) · f (b0 ) < 0 (Vorzeichenwechsel),
und f sei stetig. Dann hat f nach dem Zwischenwertsatz mindestens eine Nullstelle in [a0 , b0 ].
Bilde Folge von Teilintervallen durch Bisektion und Prüfen der Bedingung.


Algorithmus: Intervallschachtelung

Gegeben: I0 = [a0 , b0 ] mit f (a0 ) · f (b0 ) < 0 und  > 0

Algorithmus:

                                  t = 0;
                                  while (bt − at > ) :
                                       xt = (at + bt )/2;
                                       if (f (xt ) == 0) :
                                            at+1 = xt − ; bt+1 = xt ;
                                       else if (f (at ) · f (xt ) < 0) :
                                            at+1 = at ; bt+1 = xt ;
                                       else :
                                            at+1 = xt ; bt+1 = bt ;
                                       t = t + 1;


Idee:

   • Halbiere das aktuelle Intervall

   • Falls zufällig in der Mitte eine Nullstelle liegt, beende das Verfahren

   • Falls die Bedingung für das linke Intervall erfüllt ist, wähle es als nächstes Intervall

   • Andernfalls muss die Nullstelle im rechten Intervall sein, setze die Suche dort fort



                                                                                                 141
8 Iterative Lösung von Gleichungssystemen


Analyse

Es gilt
                                       at ≤ at+1 < bt+1 ≤ bt
und (sofern nicht f (xt ) = 0)
                                                             t+1
                                          1                  1
                          |bt+1 − at+1 | ≤ |bt − at | =            |b0 − a0 |
                                          2                  2

Anmerkungen:
      • Die Konvergenz ist linear mit Rate 1/2
      • Gut für monotone Funktionen geeignet (globale Konvergenz)
      • Nur für reelle Funktionen im R1 geeignet


8.2 Newton-Verfahren

Die Funktion f sei (mindestens) einmal stetig differenzierbar.
Für gegebenes xt gibt es die “Tangente”
                                  Tt (x) = f 0 (xt )(x − xt ) + f (xt )
mit der Nullstelle
                                                                  f (xt )
                                 Tt (x) = 0 ⇐⇒ x = xt −                     .
                                                                  f 0 (xt )
Das führt auf die Iterationsvorschrift
                                                        f (xt )
                                         xt+1 = xt −              .
                                                        f 0 (xt )




                                               xt   x t+1



Offensichtlich ist |f 0 (xt )| > 0 erforderlich, d.h. wir setzen voraus, dass die Nullstelle einfach
ist.



142
                                                                               8.2 Newton-Verfahren


Newton-Verfahren im Mehrdimensionalen

Das Newton-Verfahren lässt sich auf Systeme f : Rn → Rn erweitern:

Es existiere die Taylorentwicklung von f :
                                               n
                                               X ∂fi
          fi (x) = fi (xt + ∆x) = fi (xt ) +         (xt )∆xi + Ri (xt , ∆x) i = 1, . . . , n
                                                 ∂xj
                                               j=1



oder in vektorieller Schreibweise

                           f (xt + ∆x) = f (xt ) + J(xt )∆x + R(xt , ∆x)

mit der “Jacobimatrix”
                                                         ∂fi
                                          [J(xt )]ij =       (xt )
                                                         ∂xj

Das Ignorieren des Restglieds entspricht einer “Linearisierung von f ”.
Finde näherungsweise eine Nullstelle von f :

                   f (x) ≈ f (xt ) + J(xt )∆x = 0 ⇐⇒ ∆x = −J −1 (xt )f (xt )

Dies führt auf die Iteration
                                       xt+1 = xt − J −1 (xt )f (xt )

Dabei erfordert jeder Schritt die Lösung eines linearen Gleichungssystems mit der Jacobima-
trix!


Konvergenz des Newton-Verfahrens

Satz 8.1 (Newton-Verfahren). Die Funktion f ∈ C 2 ([a, b]) habe in (a, b) (Inneres!) eine Null-
stelle z, und es sei
                      m := min |f 0 (x)| > 0, M := max |f 00 (x)|.
                                a≤x≤b                            a≤x≤b

Es sei ρ > 0 so gewählt, dass
                           M
                    q :=      ρ < 1,     Kρ (z) := {x ∈ R | |x − z| ≤ ρ} ⊂ [a, b]
                           2m
Dann sind für jeden Startwert x0 ∈ Kρ (z) die Newton-Iterierten xt ∈ Kρ (z) definiert und
konvergieren gegen die Nullstelle z.
Dabei gilt die a-priori Fehlerabschätzung
                                                  2m (2t )
                                    |xt − z| ≤      q ,         t∈N
                                                  M


                                                                                                143
8 Iterative Lösung von Gleichungssystemen


und die a-posteriori Fehlerabschätzung
                                               M
                                                  |xt − xt−1 |2 , t ∈ N.
                         |xt − z| ≤ m−1 |f (xt )| ≤
                                               2m
(a-priori: nutzt nur die Voraussetzungen, a-posteriori: nutzt auch die bereits berechneten Ite-
rierten)


   Beweis: Tafel


Beispiel: Wurzelberechnung

Beispiel 8.2 (Wurzelberechnung mit Newton-Verfahren). Sei a > 0 und n ≥ 1. Löse xn = a,
d.h.
                          f (x) = xn − a = 0, f 0 (x) = n · xn−1 .
Das führt auf die Iterationsvorschrift
                                 xt+1 = n−1 · [(n − 1) · xt + a · x1−n
                                                                   t   ].
Nach Satz 8.1 konvergiert die Iteration, falls x0 nahe genug an a1/n ist. Hier konvergiert sie
jedoch sogar global, d.h. für alle x0 > 0 (aber nicht unbedingt von Anfang an quadratisch).


Anmerkungen

Bemerkung 8.3. Zur Konvergenz des Newton-Verfahrens:

      • Das Newton-Verfahren konvergiert nur lokal, d.h. wenn |x0 − z| ≤ ρ (“Einzugsbereich”).
        Dabei ist ρ i.d.R. unbekannt und möglicherweise sehr klein.
      • Das Newton-Verfahren konvergiert quadratisch,
                                          |xt − z| ≤ c · |xt−1 − z|2 ,
        im Gegensatz zur Intervallschachtelung, die nur linear konvergiert.

      • Gedämpftes Newton-Verfahren:
        Verbesserung der Konvergenz außerhalb des Einzugsbereichs:
                                                              f (xt )
                                            xt+1 = xt − λt
                                                              f 0 (xt )
        mit der Wahl einer Folge λt ∈ (0, 1] als “Dämpfungsstrategie”.

      • Mehrfache Nullstellen:
        Falls z eine p-fache Nullstelle ist, mit p > 1, konvergiert das Newton-Verfahren dennoch,
        aber nur noch linear. Man kann zeigen, dass die alternative Vorschrift
                                                              f (xt )
                                            xt+1 = xt − p ·
                                                              f 0 (xt )
        in diesem Fall quadratisch konvergiert.



144
                                                  8.3 Sukzessive Approximation (Fixpunktiteration)


Sekanten-Methode

Unter Umständen ist die Berechnung der Ableitungen sehr teuer.

Idee der Sekanten-Methode:
Ersetze die Tangente durch eine Sekante
                                                             f (xt ) − f (xt−1 )
                                s(x) = f (xt ) + (x − xt )                       ,
                                                                 xt − xt−1
dies führt auf die Iteration
                                                             xt − xt−1
                                   xt+1 = xt − f (xt )                       .
                                                         f (xt ) − f (xt−1 )


Die Sekanten-Methode konvergiert lokal mit
                                                    2m γt
                                       |xt − z| ≤     q ,        t ∈ N,
                                                    M
wobei γt die Fibonacci-Zahlen bezeichnet:

                                    γ0 = γ1 = 1,     γt+1 = γt + γt−1

Es gilt γt ≈ 0.723 · (1.618)t (“goldener Schnitt”), also liegt die Konvergenzordnung zwischen 1
und 2. Problematisch ist die bei der Auswertung auftretende Auslöschung.


8.3 Sukzessive Approximation (Fixpunktiteration)

Fixpunktiteration
                  f (x)
Mit g(x) = x −    f 0 (x)   hat das Newton-Verfahren die Form xt+1 = g(xt ). Da die Nullstelle z
wegen
                                         f (z) = 0 =⇒ g(z) = z
ein Fixpunkt der Iteration xt+1 = g(xt ) ist, nennt man das auch Fixpunktiteration. Hier un-
tersuchen wir allgemeine Iterationen dieser Art.

Falls die Berechnung von f 0 (x) sehr teuer ist, könnte man z.B. f 0 nur einmal “in der Nähe von
z” auswerten, und wie folgt iterieren:
                                                             f (x)
                                            xt+1 = xt −
                                                             f 0 (c)


Frage: Wann konvergiert so eine Iteration? Insbesondere wollen wir dabei auch f : Rn → Rn , n >
1, zulassen.



                                                                                              145
8 Iterative Lösung von Gleichungssystemen


Kontraktionen

Antwort gibt der sogenannte “Banachsche Fixpunktsatz”.

Dafür zunächst eine Definition:

Definition 8.4 (Kontraktion). Sei G ⊂ Rn eine nichtleere, abgeschlossene Punktmenge und
g : G → G Lipschitz-stetig mit Konstante q < 1, d.h.

                                  kg(x) − g(y)k ≤ q · kx − yk

mit einer Vektornorm k · k im Rn . Ein solches g nennt man eine Kontraktion auf G.


Sukzessive Approximation

Satz 8.5 (Sukzessive Approximation). Sei g eine Kontraktion auf G ⊂ Rn . Dann existiert
genau ein Fixpunkt z ∈ G von g und für jeden Startpunkt x(0) ∈ G konvergiert die Folge der
Iterierten x(t+1) = g(x(t) ) gegen z.

Es gelten die a-priori und a-posteriori Fehlerabschätzungen

                                   q                      qt
                   kx(t) − zk ≤       kx(t) − x(t−1) k ≤     kx(1) − x(0) k.
                                  1−q                    1−q


(wir schreiben den Index oben in Klammern, um bei Vektoren unten Platz für den Komponen-
tenindex zu haben.)


   Beweis: Tafel


8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme

Wir kehren zurück zur Lösung von linearen Gleichungssystemen

                           Ax = b,     A ∈ Rn×n regulär,      b ∈ Rn .



Definition 8.6 (dünn besetzte Matrizen). Eine Folge von Matrizen {A(n) | n ∈ N} heißt dünn
besetzt, falls
                             (n)   (n)
                          |{aij | aij 6= 0}| =: nnz(A(n) ) = O(n)
(nnz = “number of non-zeros”).



146
                                8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme


Aufgrund von “fill in” ist die Gauß-Elimination für dünn besetzte Matrizen oft schlecht geeignet.
Außerdem: für große n nicht mehr tragbarer Aufwand in O(n3 ).
Es gilt
               Lösen von Ax = b ⇐⇒ “Nullstellensuche” f (x) = b − Ax = 0.


Definiere mit (zunächst beliebiger) Matrix C die Iteration

                              x(t+1) = g(x(t) ) = x(t) + C −1 f (x(t) )
                                     = x(t) + C −1 (b − Ax(t) )
                                     = (I − C −1 A) x(t) + C −1 b
                                       |    {z    }
                                             =:B

mit “Iterationsmatrix” B.
Für x := A−1 b gilt

               g(x) = (I − C −1 A)x + C −1 b = x − (C −1 A) · (A−1 b) + C −1 b = x,

also ist x Fixpunkt von g.

Für die Lipschitz-Konstante der Funktion g gilt

                         kg(x) − g(y)k = kB(x − y)k ≤ kBk · kx − yk,

d.h. falls kBk < 1 ist (für verträgliche Matrixnorm k · k), ist g Kontraktion auf Rn .


Beispiele für Iterationsverfahren

Zerlege A = L + D + R mit L strikte untere Dreiecksmatrix, D Diagonalmatrix und R strikte
obere Dreiecksmatrix.

Jacobi-Verfahren:
Setze C = D und daher B = −D−1 (L + R), also

                                 x(t+1) = x(t) + D−1 (b − Ax(t) )


Das Jacobi-Verfahren berechnet für die einzelnen linearen Gleichungen jeweils den Defekt, also
die Diskrepanz zwischen linker und rechter Seite, und ändert dann die zugehörige Kompo-
nente von x so, dass die Gleichung erfüllt wäre, wenn die anderen Komponenten unverändert
blieben.
Gauß-Seidel-Verfahren:



                                                                                             147
8 Iterative Lösung von Gleichungssystemen


Setze C = L + D und daher B = −(L + D)−1 R, also
                  x(t+1) = x(t) + (L + D)−1 (b − Ax(t) )           (Vorwärtseinsetzen)


Das Gauß-Seidel-Verfahren operiert ähnlich, verwendet jedoch die bereits berechneten aktua-
lisierten Werte aus vorhergehenden Zeilen, statt wie beim Jacobi-Verfahren alle Korrekturen
simultan auszurechnen.

Solche Iterationsverfahren konvergieren normalerweise nur für bestimmte Klassen von Matrizen
(da C regulär und kBk < 1 sein muss).


Konvergenz des Jacobi-Verfahrens

Erinnerung:
Eine Matrix heißt strikt diagonaldominant, falls
                               X
                                   |aij | < |aii | ∀ i = 1, . . . , n.
                                   j6=i

Beispiele: LGS für kubische Splines, Radiosity-Methode.


Satz 8.7. Das Jacobi-Verfahren und das Gauß-Seidel-Verfahren konvergieren für strikt diago-
naldominante Matrizen.


   Beweis: Tafel, Gauß-Seidel: [Rannacher]


Aufwand

Es gibt viele ähnliche Aussagen für symmetrisch positiv definite Matrizen, schwach diagonal-
dominante Matrizen, sogenannte M-Matrizen, . . .

Der Aufwand für eine Iteration sei α(n), typischerweise mit α(n) = O(n). Wegen
                                     kx(t) − xk ≤ kBkt kx(0) − xk
                                                                                     log()
sind für eine Reduktion des Fehlers um den Faktor   1 insgesamt t ≥              log(kBk)   Iterationen
nötig, also ist der Gesamtaufwand
                                                         log()
                                          Tfix (n) =            α(n).
                                                       log(kBk)


Problem: hohe Kosten wenn kBk nahe Eins, kBk ist problemabhängig und wächst häufig mit
n.



148
                               8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme


Relaxationsverfahren

Man nutzt daher Relaxationsverfahren: Für die Wahl Cω = (L + ω −1 D) mit Relaxationspara-
meter ω 6= 0 ergibt sich
                          Bω = −(ωL + D)−1 ((ω − 1)D + ωR).



Für ω = 1 erhält man wieder das Gauß-Seidel-Verfahren, es stellt also einen Spezialfall dar.
Wie sollte man ω wählen?



Satz 8.8. Es gilt kBω k ≥ |ω − 1|, daher muss zwingend ω ∈ (0, 2) sein.


   Beweis: Tafel

Für s.p.d. Matrizen kann man zeigen, dass ω ∈ (0, 2) nicht nur notwendig, sondern auch hinrei-
chend ist. Für solche Matrizen konvergiert also das Relaxationsverfahren, und das Gauß-Seidel-
Verfahren als Spezialfall.


Die Grundidee des SOR-Verfahrens (Successive Over-Relaxation) ist es, ein ω > 1 zu wählen,
das möglichst nah am (in der Praxis unbekannten) optimalen Wert liegt, um ein minimales
kBω k und somit schnellere Konvergenz als bei Jacobi/Gauß-Seidel zu erhalten.

Generell kann man durch Relaxation oft Fixpunktiterationen modifizieren und die Konvergen-
zeigenschaften verbessern. Statt

                           x(t+1) = g(x(t) ) = x(t) + (g(x(t) ) − x(t) )

verwendet man dabei

                               x(t+1) = (1 − ω)x(t) + ωg(x(t) )
                                      = x(t) + ω(g(x(t) ) − x(t) )

mit einem Relaxationsparameter ω > 0. Für 0 < ω < 1 erhält man ein robusteres, lang-
sameres Verfahren (vgl. Newton), für ω > 1 eine Beschleunigung der Konvergenz langsamer
Verfahren.


Abstiegsverfahren

Für symmetrisch positiv definite Matrizen gibt es eine weitere Klasse von Verfahren, die übli-
cherweise deutlich effizienter ist, die sogenannten Abstiegsverfahren.




                                                                                          149
8 Iterative Lösung von Gleichungssystemen


Satz 8.9 (Minimierungseigenschaft). Sei A ∈ Rn×n symmetrisch positiv definit. Mit dem qua-
dratischen Funktional
                                         1
                                  Q(y) := (Ay, y) − (b, y)
                                         2
ist die Lösung x des Gleichungssystems Ax = b durch die Eigenschaft

                                     ∀ y ∈ Rn , y 6= x : Q(x) < Q(y)

charakterisiert.

   Beweis: Tafel

Abstiegsverfahren bestehen aus zwei Komponenten:

      • Einer Folge von Suchrichtungen d(t) , die garantieren, dass Q sukzessive kleiner wird, man
        setzt
                                       x(t+1) = x(t) + αt · d(t) .

      • Zugehörige Schrittweiten αt , die jeweils Q entlang der Suchrichtung d(t) minimieren:

                                          Q(x(t+1) ) = min(x(t) + αd(t) )
                                                        α∈R




Die Iterierten x(t) konvergieren dann gegen das Minimum von Q, und daher gegen die Lösung
von Ax = b.


Bestimmung der Schrittweite

Der Gradient von Q ist das Residuum des Gleichungssystems,

                                        1
                                 ∇Q(y) = (A + AT )y − b = Ay − b,
                                        2
und es gilt (Kettenregel)

                             d
                               Q(x(t) + αd(t) ) = ∇Q(x(t) + αt · d(t) ) · d(t)
                            dα
                                = (Ax(t) − b, d(t) ) + α · (Ad(t) , d(t) )

Daher sind die Schrittweiten eindeutig durch die Suchrichtungen festgelegt:

                                 (r(t) , d(t) )
                       αt = −                     mit r(t) := ∇Q(x(t) ) = Ax(t) − b
                                (Ad(t) , d(t) )




150
                                      8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme


Allgemeines Abstiegsverfahren


Definition 8.10 (Allgemeines Abstiegsverfahren). Es sei x(0) ein vorgegebener Startwert mit
zugehörigem Gradienten r(0) = Ax(0) − b. Ausgehend von einer vorgegebenen oder sich während
des Verfahrens ergebenden Folge von Suchrichtungen d(t) berechnet das Abstiegsverfahren in
jeder Iteration t die folgenden Größen:
                                (t)
                          (r ,d )     (t)
   • Schrittweite αt = − (Ad (t) ,d(t) )



   • Neue Iterierte x(t+1) = x(t) + αt d(t)

   • Neuer Gradient r(t+1) = r(t) + αt Ad(t)

Das Verfahren kann abgebrochen werden, sobald r(t) klein genug ist.


Beispiele von Abstiegsverfahren


Koordinatenrelaxation:

Die wohl einfachste Wahl der Suchrichtungen ist

                                            d(t) = e(t mod n)+1

(zyklisch die einzelnen Raumdimensionen), dies ist im wesentlichen äquivalent zum Gauß-Seidel-
Verfahren (warum?).


Bei dieser Wahl kann es passieren, dass in einzelnen Richtungen d(t) keine Verbesserung möglich
ist; nach einem vollen Zyklus ist dies aber garantiert der Fall.

Gradientenverfahren:

Das Gradientenverfahren (Verfahren des steilsten Abstiegs) wählt den negativen Gradienten als
Suchrichtung:
                                     d(t) = −∇Q(x(t) )
Im Gegensatz zur Koordinatenrelaxation ist dies immer eine Abstiegsrichtung.



Satz 8.11 (Konvergenz des Gradientenverfahrens). Sei A ∈ Rn×n symmetrisch positiv defi-
nit. Dann konvergiert das Gradientenverfahren für jeden Startwert x(0) gegen die Lösung des
Gleichungssystems Ax = b.


   Beweis: Tafel



                                                                                               151
8 Iterative Lösung von Gleichungssystemen


Konvergenzgeschwindigkeit

Eine genauere Aussage über die Konvergenzgeschwindigkeit des Gradientenverfahrens liefert
der folgende Satz:

Satz 8.12 (Fehlerabschätzung Gradientenverfahren). Für das Gradientenverfahren gilt die Feh-
lerabschätzung
                                          1 − 1/κ t (0)
                                                 
                             (t)
                          kx − xkA ≤                kx − xkA
                                          1 + 1/κ
mit der Spektralkonditionszahl κ = cond2 (A) und der “A-Norm”

                                     kykA := (y, Ay)1/2 .

   Beweis: Tafel
Wie wir sehen können, ist die Spektralnorm der Matrix entscheidend für die Konvergenzrate.
Je größer der Unterschied zwischen kleinstem und größtem Eigenwert ist, desto langsamer
konvergiert das Verfahren.

Im Zweidimensionalen kann man dies besonders gut veranschaulichen: sukzessive Richtungen
sind zwar stets orthogonal, was lokal den steilsten Abstieg garantiert, global entsteht jedoch
ein “Zickzack-Kurs”, der sich extrem langsam dem Ziel nähert.




     2
   1.5                                                          Gradientenverfahren
     1                                                                     Isolinien
   0.5
     0
  -0.5
    -1
  -1.5
    -2
      -10       -8     -6      -4      -2       0           2      4       6           8   10




Beobachtung: Für die Einheitsmatrix konvergiert das Verfahren in einem Schritt. Die Äquipo-
tentialflächen sind (Hyper-) sphären, die um die Lösung zentriert sind, und der Gradient zeigt
stets ins Zentrum.

Können wir Problemstellung und Verfahren so transformieren, dass man dem möglichst nahe
kommt?

Zwei Ansätze:



152
                                      8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme


   • Verwendung eines problemspezifischen Skalarproduktes statt der üblichen Orthogonalität
     (führt auf das Verfahren konjugierter Gradienten), und/oder
   • explizite Transformation des Vektorraums (Konzept der Vorkonditionierung)


Konjugierte Gradienten

Definition 8.13 (CG-Verfahren). Das CG-Verfahren ist ein Abstiegsverfahren, es setzt also in
jeder Iteration
                       (r(t) , d(t) )
             αt = −                   ,      x(t+1) = x(t) + αt d(t) ,    r(t+1) = r(t) + αt Ad(t) .
                      (Ad(t) , d(t) )
Man setzt d(0) = r(0) und definiert für t > 0 die einzelnen Suchrichtungen über
                                   (r(t+1) , r(t+1) )
                            βt =                      ,     d(t+1) = −r(t) + βt d(t) .
                                     (r(t) , r(t) )

Das Verfahren der konjugierten Gradienten (CG-Verfahren) benutzt Informationen aus vorher-
gehenden Iterationen, und lässt sich daher nicht als Fixpunktiteration auffassen.

Relevant für die Analyse des Verfahrens sind die Krylow-Räume
                               Kt (y; A) := span{y, Ay, A2 y, . . . , At−1 y}
bezüglich eines Vektors y, sowie das “A-Skalarprodukt”, dessen zugehörige “A-Norm” wir bereits
kennengelernt haben:
                           (y1 , y2 )A := (Ay1 , y2 ), kykA := (Ay, y)1/2



Satz 8.14 (Konvergenz des CG-Verfahrens). Der t-te Schritt des CG-Verfahrens minimiert Q
auf dem affinen Unterraum x(0) + Kt (r(0) , A). Die bisherigen Suchrichtungen bilden dabei eine
A-orthogonale Basis des Krylow-Raums Kt (r(0) , A), es gilt
                                          ∀i ≤ t, j ≤ t : (d(i) , d(j) )A = 0.

Falls Kt+1 (r(0) , A) = Kt (r(0) , A) gelten sollte, folgt r(t) = 0, daher konvergiert das Verfahren
in exakter Arithmetik nach spätestens n Schritten.


   Beweis: [Rannacher]
Während das Gradientenverfahren Orthogonalität immer nur für den nächsten Schritt garan-
tieren kann, baut das CG-Verfahren also systematisch eine A-orthogonale Basis auf.

Wie wir gesehen haben, konvergiert das CG-Verfahren in einer endlichen Anzahl von Schritten,
und zählt somit eigentlich zu den direkten Verfahren. In der Praxis wird es jedoch als iteratives
Verfahren eingesetzt, und zwar aus zwei Gründen:



                                                                                                       153
8 Iterative Lösung von Gleichungssystemen


      • Bei Fließkommaarithmetik ist die A-Orthogonalität nicht exakt erfüllt, so dass das Ver-
        fahren nicht abbricht.

      • Bei sehr großen Matrizen erreicht man oft bereits nach vergleichsweise wenigen Schritten
        eine brauchbare Näherungslösung.


Satz 8.15 (Fehlerabschätzung CG-Verfahren). Für das CG-Verfahren gilt die Fehlerabschät-
zung
                                                   !t
                                        1 − 1/κ1/2
                        kx(t) − xkA ≤ 2               kx(0) − xkA
                                        1 + 1/κ1/2

mit der Spektralkonditionszahl κ = cond2 (A). Zur Reduktion des Anfangsfehlers um den Faktor
 sind höchstens
                                          1
                                   t() ≤ κ1/2 ln(2/) + 1
                                          2
Schritte erforderlich.




   Beweis: [Rannacher]

Die Konditionszahl geht im Gegensatz zum Gradientenverfahren also nur über ihre Wurzel ein,
so dass bei hohen Konditionszahlen (breites Eigenspektrum, “schwierige” Probleme) mit einer
deutlich schnelleren Konvergenz zu rechnen ist.



Besonders drastisch sieht dies im Zweidimensionalen aus, da hier das CG-Verfahren nach Kon-
struktion stets in zwei Schritten konvergiert.




      2
    1.5                                                         Gradientenverfahren
      1                                                               CG-Verfahren
    0.5                                                                    Isolinien
      0
   -0.5
     -1
   -1.5
     -2
       -10       -8      -6      -4       -2       0       2       4       6           8   10




154
                               8.4 Iterationsverfahren zur Lösung linearer Gleichungssysteme


Ausblick

Die Abstiegsverfahren lassen sich auch zur Minimierung allgemeiner Funktionen verwenden,
denen nicht die Lösung eines linearen Gleichungssystems zugrunde liegt (Nichtlineare Optimie-
rung). Zu beachten ist dabei:
   • Es können mehrere lokale Minima vorliegen, die Verfahren konvergieren dann quasi zu-
     fällig gegen eines davon, oder auch gar nicht (Sattelpunkte!).
   • Die Herleitung von Fehlerabschätzungen ist deutlich schwieriger.
   • Bei allgemeinen Funktionen gibt es keine geschlossene Formel für die optimale Schritt-
     weite αt . Stattdessen muss man mittels Liniensuche (eindimensionale Optimierung) eine
     hinreichend gute Schrittweite bestimmen.




                                                                                         155
9 Schlussbemerkungen


9 Schlussbemerkungen

Top 10 der wichtigsten Algorithmen

Die 10 Algorithmen mit “dem größten Einfluss auf Wissenschaft und Technik” im 20. Jahrhun-
dert, laut Computing in Science and Engineering (2000):

      • Metropolis algorithm for Monte Carlo
      • Simplex method for linear programming
      • Krylov subspace iteration methods
      • The decompositional approach to matrix computations
      • The Fortran optimizing compiler
      • QR algorithm for computing eigenvalues
      • Quicksort algorithm for sorting
      • Fast Fourier transform
      • Integer relation detection
      • Fast multipole method

In rot: wurde im Rahmen der Vorlesung behandelt / angesprochen.
Die Top 10 laut Princeton Companion to Applied Mathematics (2015, größerer Fokus auf
angewandte Mathematik):

      • Newton and quasi-Newton methods
      • Matrix factorizations (LU, Cholesky, QR)
      • Singular value decomposition, QR and QZ algorithms
      • Monte-Carlo methods
      • Fast Fourier transform
      • Krylov subspace methods (conjugate gradients, Lanczos, GMRES, minres)
      • JPEG
      • PageRank
      • Simplex algorithm
      • Kalman filter

In rot: wurde im Rahmen der Vorlesung behandelt / angesprochen.



156
Weiterführende Veranstaltungen

Auswahl an weiterführenden Veranstaltungen in den Bereichen Numerik und Wissenschaftliches
Rechnen:
   • Numerik 1 (MD1)
   • Numerische Lineare Algebra (MH5)
   • Numerik gewöhnlicher Differentialgleichungen (MH6)
   • Numerik partieller Differentialgleichungen (MH7)
   • Object-Oriented Prog. for Scientific Computing (IOPWR)
   • Paralleles Höchstleistungsrechnen (IPHR)
   • Parallele Lösung großer Gleichungssysteme (IPLGG)




                                                                                      157