Zum Hauptinhalt springen

Kapitel 0 – Einleitung

Folien: 📄 Numa00.pdf · Skript Grieb, Kap. 1

Organisation​

Prof. Dr. Georg Umlauf, Institut für Optische Systeme, Büro E 407. Sprechzeit: „jederzeit, wenn die Tür offen ist“.

WasWann / Wo
VorlesungMontag 11:30–13:00, F 023
Theoretische Übungenkapitelweise als PDF online, siehe Übersicht
Programmierübungein Thema aus vier, siehe Übersicht
Prüfungmündlich, Einzeltermin in der Prüfungszeit, Terminplanung nach der Anmeldung im Dezember

Skript: H. Grieb (FH Esslingen) im Moodle, liegt hier als 📄 NumaSkript.pdf. Viel Stoff kommt per Tafelanschrieb.

Literatur (Folien 7–9): Dahmen/Reusken, Numerik für Ingenieure und Naturwissenschaftler; Press et al., Numerical Recipes in C++; Stoer/Bulirsch, Numerische Mathematik 1.

Inhalt: §0 Einleitung · §1 Rundungsfehler · §2 Nichtlineare Gleichungen · §3 Lineare Gleichungssysteme · §4 Überbestimmte LGS · §5 Interpolation · §6 Approximation.

Was ist numerische Mathematik? (Folie §0/13)​

Ein Problem aus der Praxis wird erst zu einem naturwissenschaftlichen Modell, dann zu einem mathematischen Modell. Für das mathematische Modell fragt die Algebra/Analysis: Gibt es eine Lösung? Ist sie eindeutig? Kann man sie exakt hinschreiben? Die Numerik fragt dagegen:

  • Welcher Algorithmus, direkt oder iterativ?
  • Wie gut passt der Algorithmus zum Problem (Konsistenz), wie empfindlich ist das Problem (Kondition), wie robust der Algorithmus (Stabilität)?
  • Welcher Fehler bleibt am Ende, und wie schnell ist das Ganze (Effizienz)?

Das Ergebnis wird dann in der Praxis überprüft und das Modell gegebenenfalls angepasst. Der Kreis schließt sich.

Forderungen an ein numerisches Verfahren (Folien §0/14–15)​

Ein Verfahren muss als Algorithmus darstellbar sein:

  • benutzt nur elementare Rechenoperationen,
  • liefert aus den Eingabedaten nach endlich vielen Schritten die Ergebnisdaten,
  • ist logisch und arithmetisch korrekt, z.B. keine Division durch Null,
  • liefert Fehlerschranken, damit man das Ergebnis garantieren oder bewerten kann.

Man unterscheidet

ArtIdeeBeispiele
direktendliche Formel, liefert (bis auf Rundung) das exakte ErgebnisGauß-Elimination, Mitternachtsformel
iterativwiederholt denselben Schritt, die Genauigkeit wird schrittweise besserNewton-Verfahren, Backpropagation

Bei der Analyse eines Verfahrens interessieren: Anzahl der Rechenoperationen (Laufzeit), Speicherbedarf, Parallelisierbarkeit (GPGPU), Stabilität gegenüber Eingabefehlern, Fehlerschranken und bei Iterationen die Approximationsgüte.

Grieb ergänzt (S. 5): Ein Algorithmus soll keine rechnerabhängigen Daten verwenden, und sein Fehler soll mit wachsender Ziffernlänge des Rechners gegen 0 gehen.

Fehlerarten (Folie §0/16)​

FehlerUrsacheWer ist zuständig?
EingabefehlerMessungenauigkeit, Erhebungsfehler, Abtastrate, Konvertierung in MaschinenzahlenProblem der Daten, hat aber Einfluss auf die Numerik
Rundungsfehlernur endlich viele Stellen (Quantisierung)zentrale Aufgabe der Numerik
AbbruchfehlerRechnung muss nach endlich vielen Schritten endenzentrale Aufgabe der Numerik
Diskretisierungsfehlerstetige Funktion durch endlich viele Werte ersetzt (Schrittweite), z.B. Differenzenquotient statt Ableitungzentrale Aufgabe der Numerik
Menschlicher Irrtum, Fehlfunktionaußerhalb der Numerik

Beispiel Abbruchfehler (Grieb S. 6): Die harmonische Reihe ∑k≥11/k\sum_{k\ge1} 1/k divergiert, liefert auf jedem Rechner aber einen endlichen (falschen) Wert. Ab irgendeinem kk ist 1/k1/k kleiner als die Rundungsgenauigkeit der Teilsumme und ändert nichts mehr.

Formalisierung: die vier Fragen (Folien §0/17–31)​

Ein mathematisches Modell ist eine Abbildung F:X→Y\mathcal F:\mathcal X\to\mathcal Y mit Eingabe x∈Xx\in\mathcal X („gegeben“) und Ausgabe y=F(x)∈Yy=\mathcal F(x)\in\mathcal Y („gesucht“).

Aber: Die Eingabe ist nur gestört als x~\tilde x bekannt, und F\mathcal F lässt sich oft nicht exakt, nicht effizient oder nicht geschlossen berechnen. Man benutzt deshalb ein numerisches Verfahren F~\tilde{\mathcal F} und berechnet

F~(x~)stattF(x).\tilde{\mathcal F}(\tilde x)\quad\text{statt}\quad\mathcal F(x).

Zum Verständnis betrachtet man zusätzlich die beiden „Zwischenwerte“ F(x~)\mathcal F(\tilde x) und F~(x)\tilde{\mathcal F}(x). Damit bilden die vier Werte ein Quadrat:

      gewünscht  F(x)  ──── Konsistenz ────  F̃(x)
│ │
Kondition Stabilität
│ │
F(x̃) F̃(x̃) tatsächlich berechnet

Die Diagonale von F(x)\mathcal F(x) nach F~(x~)\tilde{\mathcal F}(\tilde x) ist die Konvergenz.

1. Kondition – Eigenschaft des Problems (Folie §0/27)​

Wie empfindlich reagiert das mathematische Modell F\mathcal F auf Fehler in der Eingabe? Man betrachtet ∥F(x~)−F(x)∥\|\mathcal F(\tilde x)-\mathcal F(x)\|.

Die relative Kondition (Konditionszahl) κ\kappa ist die kleinste Konstante κ≥0\kappa\ge 0 mit

∥F(x)−F(x~)∥Y∥F(x)∥Y  ≤  κ⋅∥x−x~∥X∥x∥X.\frac{\|\mathcal F(x)-\mathcal F(\tilde x)\|_{\mathcal Y}}{\|\mathcal F(x)\|_{\mathcal Y}}\;\le\;\kappa\cdot\frac{\|x-\tilde x\|_{\mathcal X}}{\|x\|_{\mathcal X}}.

  • gut konditioniert: κ≤1\kappa\le 1, Fehler werden gedämpft,
  • schlecht konditioniert: κ≫1\kappa\gg 1, Fehler werden verstärkt.

Das ist ein unvermeidbarer Problemfehler. Kein Algorithmus kann ihn beseitigen, nur eine Änderung des Modells.

Beispiele (Grieb S. 7):

  • P=x⋅yP=x\cdot y ist gut konditioniert: (x+h)(y+h)−xy=(x+y)h+h2(x+h)(y+h)-xy=(x+y)h+h^2 bleibt in der Größenordnung von hh.
  • x−yx-y für x≈yx\approx y ist schlecht konditioniert (Auslöschung, siehe 1.2).
  • x2+4x+4=(x+2)2=0x^2+4x+4=(x+2)^2=0 hat die doppelte Lösung −2-2. Ändert man die 44 um ∣Δc∣≈10−7|\Delta c|\approx10^{-7} zu 3.99999993.9999999, liegen die Lösungen bei −1.9996837-1.9996837 und −2.0003126-2.0003126, also ∣Δx∣≈3⋅10−4=3000⋅∣Δc∣|\Delta x|\approx 3\cdot10^{-4}=3000\cdot|\Delta c|. Warum genau 10−7\sqrt{10^{-7}} herauskommt, steht in 2.2 Kondition des Nullstellenproblems.

2. Konsistenz – Verfahren passt zum Problem (Folie §0/28)​

Wie gut löst das Verfahren F~\tilde{\mathcal F} das Modell F\mathcal F bei exakter Eingabe? Man betrachtet ∥F~(x)−F(x)∥\|\tilde{\mathcal F}(x)-\mathcal F(x)\|.

Konsistenzordnung p∈Np\in\mathbb N (für F∈C0\mathcal F\in C^0):

∥F~(xh)−F(xh)∥Y≤O(hp)fu¨r h=∥xh−x∥X→0.\|\tilde{\mathcal F}(x_h)-\mathcal F(x_h)\|_{\mathcal Y}\le O(h^p)\quad\text{für } h=\|x_h-x\|_{\mathcal X}\to 0.

Eigenschaft des Zusammenspiels von Modell und Verfahren. Verbessern kann man sie durch Wahl eines anderen Verfahrens.

3. Stabilität – Eigenschaft des Algorithmus (Folie §0/29)​

Wie robust ist das Verfahren F~\tilde{\mathcal F} gegenüber Fehlern in der Eingabe und Rundungsfehlern in den Rechenschritten? Man betrachtet ∥F~(x)−F~(x~)∥\|\tilde{\mathcal F}(x)-\tilde{\mathcal F}(\tilde x)\|.

F~\tilde{\mathcal F} heißt (numerisch) stabil, wenn es ein σ∈R\sigma\in\mathbb R gibt mit

∥F~(x)−F~(x~)∥Y≤κ⋅σ⋅∥x−x~∥X.\|\tilde{\mathcal F}(x)-\tilde{\mathcal F}(\tilde x)\|_{\mathcal Y}\le\kappa\cdot\sigma\cdot\|x-\tilde x\|_{\mathcal X}.

Bei einem stabilen Verfahren übersteigt der angesammelte Rundungsfehler den durch die Kondition ohnehin unvermeidbaren Fehler nicht wesentlich. Verbessern kann man Stabilität durch Umformen des Algorithmus.

Stabil heißt nicht gut konditioniert

Ein gut konditioniertes Problem kann man mit einem instabilen Algorithmus kaputtrechnen. Grieb S. 7: D1=a+h−aD_1=\sqrt{a+h}-\sqrt a ist für ∣h∣≪a|h|\ll a instabil (Auslöschung), das algebraisch gleiche D2=ha+h+aD_2=\dfrac{h}{\sqrt{a+h}+\sqrt a} ist stabil. Zum Ausprobieren: Demo in 1.2.

4. Konvergenz – der „Reality Check“ (Folie §0/30)​

Wie gut löst das Verfahren bei gestörter Eingabe das eigentliche Problem? Man betrachtet ∥F~(x~)−F(x)∥\|\tilde{\mathcal F}(\tilde x)-\mathcal F(x)\|, also genau das, was am Ende interessiert.

Konvergenz folgt in der Regel aus Stabilität + Konsistenz (Dreiecksungleichung über den Umweg F~(x)\tilde{\mathcal F}(x)):

∥F~(x~)−F(x)∥≤∥F~(x~)−F~(x)∥⏟Stabilita¨t+∥F~(x)−F(x)∥⏟Konsistenz≤κσ∥x~−x∥+c ∥x~−x∥p.\|\tilde{\mathcal F}(\tilde x)-\mathcal F(x)\|\le\underbrace{\|\tilde{\mathcal F}(\tilde x)-\tilde{\mathcal F}(x)\|}_{\text{Stabilität}}+\underbrace{\|\tilde{\mathcal F}(x)-\mathcal F(x)\|}_{\text{Konsistenz}}\le\kappa\sigma\|\tilde x-x\|+c\,\|\tilde x-x\|^p.

Ist das Problem gut konditioniert und geht ∥x−x~∥→0\|x-\tilde x\|\to 0, dann geht auch der Gesamtfehler gegen 0.

5. Effizienz (Folie §0/32)​

  • Direkte Verfahren: Anzahl der relevanten Rechenoperationen im O-Kalkül.
  • Iterative Verfahren: Konvergenzgeschwindigkeit (oft im O-Kalkül, siehe Konvergenzordnung) mal Aufwand pro Iterationsschritt.

Überblick (Folie §0/31)​

BegriffVergleichtBeurteiltVerbessern durch
Existenz, Eindeutigkeit–ModellModell ändern
KonditionF(x)\mathcal F(x) ↔ F(x~)\mathcal F(\tilde x)ModellModell ändern
KonsistenzF(x)\mathcal F(x) ↔ F~(x)\tilde{\mathcal F}(x)Modell + Verfahrenanderes Verfahren
StabilitätF~(x)\tilde{\mathcal F}(x) ↔ F~(x~)\tilde{\mathcal F}(\tilde x)VerfahrenAlgorithmus umformen
KonvergenzF(x)\mathcal F(x) ↔ F~(x~)\tilde{\mathcal F}(\tilde x)alles zusammenfolgt aus Stabilität + Konsistenz
Effizienz–Verfahrenschnelleres Verfahren