2.5. Kondition eines Problems und Stabilität von Verfahren#
Bei der Fehleranalyse numerischer Verfahren betrachtet man typischerweise zwei verschiedene Fehlerquellen:
die Kondition eines mathematisches Problems, d.h. wir betrachten die exakte Lösung eines Problems und untersuchen, wie sich Störungen auf diese Lösung auswirken,
die Stabilität eines numerischen Verfahrens, d.h. wir approximieren bewusst die Lösung eines mathematisches Problem numerisch und untersuchen ob dieses Verfahren gegen die echte Lösung konvergiert.
In den folgenden beiden Abschnitten wollen wir die wichtigsten Konzepte dieser beiden Fehleranalysen einführen.
2.5.1. Kondition und Verstärkungsfaktoren#
Im Folgenden erweitern wir die Definition der Konditionszahl einer Matrix in Definition 2.8 auf die Kondition allgemeiner mathematischer Probleme. Abstrakt können wir die Lösung eines mathematischen Problems meist als Funktion zwischen (normierten) Vektorräumen interpretieren, die gegebene Daten \(d\) auf eine Lösung \(x\) abbildet, d.h. \(x=f(d)\). Wir interessieren uns im Folgenden insbesondere für die Änderungen des Ergebnisses \(f(d)\) bei Störungen von \(d\).
Definition 2.10 (Kondition eines mathematischen Problems)
Seien \(V,W\) zwei normierte Vektorräume, \(f \colon V \rightarrow W\) eine Funktion und sei \(\delta > 0\) die maximale Größe relevanter Störungen. Dann definieren wir die Kondition des mathematischen Problems \(x = f(d)\) mit Daten \(d\) und Lösung \(x\) als den größtmöglichen relativen Fehler bei Störungen der Größe \(\delta\) als
Im Folgenden wollen wir die obige Definition der Kondition eines mathematischen Problems auf den schon bekannten Fall der Lösung eines linearen Gleichungssystems anwenden.
Beispiel 2.12 (Lösung eines linearen Gleichungssystems)
Wir betrachten die Lösung des linearen Gleichungssystems \(Ax = b\) für \(A \in \R^{n \times n}\) und \(x,b \in \R^n\). Also nach der Notation in Definition 2.10 setzen wir \(x=A^{-1}b = f(d)\) mit den gegebenen Daten \(b=d\). Dann gilt
Die Zahl \(\kappa(A;b)\) misst also die lokale Kondition bei der Lösung mit Störung von \(b\). Wollen wir ein globales Maß, so können wir noch den schlechtest möglichen Fall betrachten, d.h. das Supremum des Fehlers oben. Dann gilt
In diesem Sinne ist unsere Definition also auch konsistent mit der Konditionszahl einer Matrix aus Definition 2.8.
Wir erkennen aber auch, dass die Matrix-Konditionszahl \(\kappa(A)\)
deutlich gröber ist, als die Problem-Kondition \(\kappa(A;b)\). Dazu
plotten wir in fig:relerror
die beiden Größen für die
quadratische Matrix
über die Menge der Vektoren \(b\in [0,1]^2 \subset \R^2\). Wir erkennen, dass der Wert \(\kappa(A;b)\) meist deutlich unter \(\kappa(A)\) liegt. In (a) und (b) plotten wir \(\frac{\norm{b}}{\norm{A^{-1}b}}\) über \(b\) und die gelbe Linie im Konturplot zeigt die Richtung des zugehörigen Links-Singulärvektors des größten Singulärwerts von \(A^{-1}\) an. Wir erkennen, dass der Wert von \(\kappa(A;b)\) gerade für diese Vektoren maximal wird. In (c) plotten wir \(\frac{\norm{Ax}}{\norm{x}}\) über \(x\) und die gelbe Linie im Konturplot zeigt die Richtung des zugehörigen Links-Singulärvektors des größten Singulärwerts von \(A\) an.
Bemerkung 2.7 (Zusammenhang zwischen SVD und Spektralnorm)
Es sei \(A\in\R^{m \times n}\) eine Matrix mit der Singulärwertzerlegung \(A=U\Sigma V^T\) und \(r\leq\min(m,n)\) absteigend geordneten Singulärwerten. Wir sehen, dass
Da wir die Singulärwerte \(\sigma_1 \geq \ldots \sigma_r\) als absteigend sortiert angenommen haben, folgt dann
Dies bedeutet einerseits, dass die Spektralnorm durch den größten Singulärwert gegeben ist und andererseits, dass das Supremum in der Spektralnorm gerade für den zugehörigen Rechts-Singulärvektor \(v_1 \in \R^n\) angenommen wird.

Abb. 2.5 Oberfläche von \(\frac{\norm{b}}{\norm{A^{-1}b}}\).#

Abb. 2.6 Niveaumengen von \(\frac{\norm{b}}{\norm{A^{-1}b}}\).#

Abb. 2.7 Niveaumengen von \(\frac{\norm{Ax}}{\norm{x}}\).#
Da wir im Allgemeinen von kleinen Störungen \(\Delta_d\) ausgehen, können wir die Kondition eines mathematischen Problems auch lokal mittels einer Taylor-Approximation beschreiben. Ist die Funktion \(f:\R^n\to\R^m\) stetig differenzierbar, so gilt bekanntermaßen
Unter Vernachlässigung des Terms höherer Ordnung erhalten wir die sogenannten Verstärkungsfaktoren.
Definition 2.11 (Verstärkungsfaktor)
Es sei \(f:\R^n\to\R^m\) eine stetig differenzierbare Funktion und \(\delta > 0\) die maximale Größe relevanter Störungen. Dann definieren wir den Verstärkungsfaktor von \(f\) mit Hilfe der Jacobi-Matrix \(Df(d) \in \R^{m \times n}\) für gegebene Daten \(d \in \R^n\) durch:
Damit berechnen wir nichts anderes als die zugeordnete Matrixnorm der Jacobi-Matrix \(Df(d)\) und erhalten somit schließlich
Bemerkung 2.8
Für Probleme \(f(b) = A^{-1} b\) zur Lösung eines linearen Gleichungssystems mit einer quadratischen Matrix \(A\in\R^{n,n}\) gilt offensichtlich \(Df(d) \equiv A^{-1}\) und somit erhält man den Verstärkungsfaktor
Dies passt zur Intuition, dass der Verstärkungsfaktor eine Taylorapproximation erster Ordnung an die Kondition eines Problems ist.
Im folgenden Beispiel wollen wir die Rolle der Verstärkungsfaktoren am Beispiel quadratischer Gleichungen untersuchen.
Beispiel 2.13 (Lösung von quadratischen Gleichungen)
Als Beispiel zur Berechnung des Verstärkungsfaktors eines mathematischen Problems betrachten wir die Lösung quadratischer Gleichungen der Form
als Funktion \(x = f(d)\) der gegeben Daten \(d=(p,q) \in \R^2\). Nehmen wir die positive Wurzel im Fall \(p^2 > 4 q\), so lässt sich die Lösung \(x \in \R\) mit Hilfe der Mitternachtsformel wie folgt berechnen:
Wir berechnen für den Verstärkungsfaktor zunächst die partiellen Ableitungen und erhalten die Jacobi-Matrix \(Df(p,q)\) als
Damit lässt sich der Verstärkungsfaktor in (2.9) berechnen als
Wir sehen, dass wir typischerweise einen großen Verstärkungsfaktor erhalten, wenn der Fall \(q \rightarrow \frac{p^2}{4}\) auftritt, d.h. wenn wir nahe einer doppelten Nullstelle sind oder wenn der Fall \(q \rightarrow 0\) auftritt, d.h. wenn eine Nullstelle nahe Null ist.
2.5.2. Konvergenz numerischer Verfahren#
Bisher haben wir nur das Verhalten des Problems, z.B. der exakten Lösung linearer Gleichungssysteme, unter Störungen der Daten betrachtet, jedoch nicht das Verhalten bei einem speziellen numerischen Verfahren mit Rundungsfehlern und Approximationsfehlern untersucht. Zu einem Problem \(x=f(d)\) mit \(f:\R^n\to\R^m\) betrachten wir also nun eine Folge von Funktionen
als sogenanntes numerisches Verfahren, welches die exakte Lösung \(f\) approximieren soll. Unter dieser Folge könnten wir z.B. eine Folge von Rundungsfehlern verstehen, die gegen Null konvergiert, oder aber ein Iterationsschema, das eine Lösung approximiert, wie im folgenden Beispiel des Heron-Verfahrens zur numerischen Berechnung der Wurzel.
Beispiel 2.14 (Heron-Verfahren)
Wir betrachten das mathematische Problem
d.h. wir wollen die Wurzel für gegebene Daten für \(d\in\R^+_0\) berechnen. Das bereits in der Antike bekannte Heron-Verfahren zur Approximation der Wurzel ist durch folgende Iterationsvorschrift gegeben:
mit gegebenem Anfangswert \(x_0\in\R^+\).
Somit haben wir also ein approximatives Verfahren gegeben durch:
Für den Anfangswert kann beispielsweise \(x_0 \coloneqq 1\) verwendet werden oder eine leicht bessere Schätzung für die gesuchte Wurzel \(x_0 \coloneqq (d+1)/2\). In Abb. 2.8 visualisieren wir jeweils 10 Iteration für verschiedene Daten \(d \in \R^+_0\) und unterschiedliche Anfangswerte.

Abb. 2.8 Verhalten des Heron-Verfahrens aus Beispiel 2.14 für verschiedene \(d\in\R^+_0\) und unterschiedliche Anfangswerte.#
Dieses Beispiel motiviert auch, dass wir im Folgenden immer \(D\subset \R^n\) als Menge der zulässigen Daten betrachten werden, d.h. wir wollen die zulässigen Daten in manchen Fällen einschränken.
Eine wichtige Eigenschaft für numerische Verfahren ist die sogenannte Konsistenz. Sie besagt im Wesentlichen, dass das Verfahren für ungestörte Daten auch wirklich gegen die echte Lösung des Problems konvergiert.
Definition 2.12 (Konsistenz eines numerischen Verfahrens)
Für ein gegebenes Lösungsverfahren \(f:D\to\R^m\) heißt ein numerisches Verfahren mit \(f_k:D\to\R^m\) konsistent zu \(f\), falls
für alle \(d\in D\) gilt.
Wir können den Begriff der Konsistenz anhand des Heron-Verfahrens betrachten.
Beispiel 2.15 (Konsistenz des Heron-Verfahrens)
Wir zeigen zunächst, dass das Heron-Verfahren \(f_k \colon \R_0^+ \rightarrow \R_0^+\) konvergiert. Dazu sehen wir, dass für beliebige \(k\in\N^+\) gilt
Somit gilt also \(\abs{x_k}\geq \sqrt{d}\) für alle \(k\geq 1\). Da \(x_0> 0\) gilt zeigen wir mit Hilfe von vollständiger Induktion, dass \(x_k \geq \sqrt{d}\) für \(k\geq 1\) gilt. Jede Zwischenlösung \(x_k \in \R^+\) des Iterationsverfahrens ist in diesem Fall also von unten beschränkt.
Weiterhin folgt für \(k\geq 1\) dann, dass
Somit ist die Folge für \(k\geq 1\) monoton fallend und beschränkt nach unten und somit offensichtlich konvergent.
Sei nun \(x^\ast:=\lim_{k\to\infty} x_k\) der Grenzwert, dann erfüllt dieser die Fixpunktgleichung
und somit löst \(x^\ast\) das Problem. Weiterhin gilt \(x^* = \lim_{k\to\infty} x_k \geq \sqrt{d}\) und somit gilt \(x^\ast = \sqrt{d}\).
Für den Fall \(x_0<0\) kann man analog zeigen, dass \((x_k)_{k \in \N}\) eine monoton steigende Folge ist, die durch \(x_k \leq -\sqrt{d}\) nach oben beschränkt ist. Hier gilt dann \(x^\ast = -\sqrt{d}\).
Aus den vorherigen Abschnitten, wissen wir bereits, dass es bei der Lösung von mathematischen Problemen relevant ist, das Lösungsverhalten bei Störungen in den Daten \(d\) zu betrachten. Für numerische Verfahren wollen wir bei Störungen sicherstellen, dass Konsistenz im Sinne von Definition 2.12 gegeben ist, sofern auch die Störung der Daten gegen null konvergiert. Dies führt auf die Definition der Konvergenz.
Definition 2.13 (Konvergenz eines numerischen Verfahrens)
Für \(f:D\to\R^m\), heißt das numerische Verfahren \(f_k:D\to\R^m\) konvergent zum Problem \(x=f(d)\), falls
für alle Folgen von Daten \((d_k)_{k\in\N}\) mit \(\lim_{k\to\infty} d_k\to d\) gilt.
Beispiel 2.16 (Verrauschtes Heron-Verfahren)
Wir führen nun das Heron-Verfahren mit verrauschten Daten für \(d=2\) durch, d.h., in jedem Schritt haben wir
Hierbei setzen wir die verrauschten Daten
\(d_{k+1} \coloneqq d + \sigma_k\), wobei
\(\sigma_k \sim \mathcal{N}(0,\delta_k)\) eine normalverteilte Größe mit
Varianz \(\delta_k\) ist. Für unser Experiment wählen wir eine Nullfolge
\(\delta_k\to 0\), so dass die Folge im Erwartungswert konvergiert, d.h.
\(\mathds{E}(d_k) \to d\). fig:noisyHeron
zeigt das Verfahren
für unterschiedliche Durchläufe bei denen jeweils unterschiedliches
zufällig gewähltes Rauschen auftritt. Man erkennt, dass das Verfahren in
den meisten Fällen gegen \(\sqrt{d} = \sqrt{2}\) konvergiert.
Falls \(\sigma_k\) allerdings so groß wird, dass ein Folgeglied \(x_{k+1}\) negativ wird, konvergiert das Verfahren gegen \(-\sqrt{d} = -\sqrt{2}\).

Abb. 2.9 Visualisierung des Heron-Verfahrens mit verrauschten Daten \(d_k\) aus Beispiel 2.16.#
Konvergenz von numerischen Verfahren ist in vielen Fällen schwierig direkt zu beweisen. Wir können aber einen geschickten Zusatz über den Begriff der Stabilität wählen. Wir definieren Stabilität eines numerischen Verfahrens hierbei im Wesentlichen als gleichgradige Stetigkeit der Folgeglieder \(f_k\), welche besagt, dass wir die Auswirkung von Störungen auf den numerischen Algorithmus kontrollieren können. In diesem Sinne ist Stabilität verwandt mit dem Begriff der Kondition aus den letzten Abschnitten.
Definition 2.14 (Stabilität eines numerischen Verfahrens)
Ein numerisches Verfahren \(f_k:D\to\R^m, k\in\N\) heißt stabil, falls für jedes vorgegebene \(\epsilon>0\) ein \(\delta>0\) existiert, so dass für alle \(k\in\N\) gilt
Aus Definition 2.14 lässt sich für ein stabiles numerisches Verfahren direkt ableiten, dass für eine Folge von Daten \((d_k)_{k \in \N} \subset D\) mit immer kleiner werdenden Störungen, d.h., \(\lim_{k \rightarrow \infty} d_k = k\), gilt:
Eine einfachere Definition ist im Falle Lipschitz-stetiger Funktionen \(f_k\) möglich. In diesem Fall sprechen wir von Stabilität des numerischen Verfahrens wenn eine Konstante \(L > 0\) unabhängig von \(k \in \N\) existiert, so dass
für alle \(k\in\N\), alle zulässigen Daten \(d\in D\) und alle zulässigen Störungen \(\Delta_d \in D\) gilt. Stabilität bedeutet also im Wesentlichen, dass Fehler durch das Verfahren nicht zu sehr bzw. nicht unkontrolliert verstärkt werden können.
Eine grundlegende Erkenntnis in der Numerik ist, dass sich die Konvergenz eines numerischen Verfahrens aus dessen Konsistenz und Stabilität ergibt.
Satz 2.5 (Konvergenz eines Verfahrens)
Es sei \(f_k:D\to\R^m\) für \(k\in\N\) ein numerisches Verfahren zur Lösung eines mathematischen Problems. Dann gilt folgende (informelle) Implikation:
Proof. Die Aussage folgt direkt aus der Dreiecksungleichung. Sei dazu \(d\in D\) und \((d_k)_{k\in\N} \subset D\) eine Folge von Daten, so dass \(\lim_{k\to\infty} d_k = d\). Dann gilt
Wegen der angenommenen Stabilität des numerischen Verfahrens wissen wir, dass
Analog, können wir aus der angenommenen Konsistenz des numerischen Verfahrens folgern, dass gilt
Hieraus können wir wegen der Abschätzung (2.10) direkt folgern, dass gilt
das heißt, dass numersiche Verfahren also konvergent ist. ◻
Ist ein numerisches Verfahren nicht stabil, so können wir im Allgemeinen auch keine Konvergenz erwarten. Im Folgenden wollen wir die Stabilität des Heron-Verfahrens untersuchen.
Beispiel 2.17 (Stabilität des Heron-Verfahrens)
Um die Stabilität des Heron-Verfahrens zu zeigen, wiederholen wir kurz dessen Definitiondes. Für \(d\in\R^+\) definieren wir das numerische Verfahren:
mit gegebenem Startwert \(f_0(d) \in \R^+\). Die Auswertung von \(f_{k+1}\) an \(d\) ist also die \(k\)-te Iteration des Heron-Verfahrens, welche wiederum mit \(d\) durchgeführt wurde. So erhalten wir ein wohldefiniertes Verfahren und können \(f_k(d)\) mit \(f_k(d+\Delta_d)\) vergleichen für eine Störung \(\Delta_d \in \R\), so dass \(d + \Delta_d \in \R^+\) gilt.
Für die numerische Stabilität wollen wir zeigen, dass die Funktionen \(f_k\) Lipschitz-stetig sind und ein \(L>0\) unabhängig von \(k \in \N\) existiert, so dass gilt
Dazu berechnen wir mit der Definition des Heron-Verfahrens in (2.11):
Somit folgt also
Da für den Startwert \(f_0(d)>0\) gilt, wissen wir aus Beispiel 2.14, dass \(f_k(d)\geq \sqrt{d}\) für alle \(k \geq 1\) gilt und somit
Zusätzlich wollen wir, dass für ein \(q \in \R\) mit \(0 < q < 1\) gilt
gilt, was gegeben ist, falls
Fordern wir nun, dass \(\abs{\Delta_d} < 2q d\) gilt, so folgt schon
Somit erhalten wir insgesamt mit Hilfe der geometrischen Reihe
Somit ist das Heron-Verfahren auf einer nach unten beschränkten Menge, \(D:= [a,\infty)\) mit \(a>0\) Lipschitz-stetig mit
wobei \(L \coloneqq \frac{1}{(1-q)\sqrt{a}}\) mit \(\abs{\Delta_d} < 2q a\). Damit ist das Heron-Verfahren numerisch stabil.