Kondition (Mathematik)
# Kondition (Mathematik)

In der numerischen Mathematik beschreibt man mit der Kondition die Abhängigkeit der Lösung eines Problems von der Störung der Eingangsdaten. Die Konditionszahl stellt ein Maß für diese Abhängigkeit dar; sie beschreibt den Faktor, um den der Eingangsfehler im ungünstigsten Fall verstärkt wird. Sie ist unabhängig von konkreten Lösungsverfahren, aber abhängig vom mathematischen Problem.

## Einleitung

In der Numerik unterscheidet man zwischen den drei Größen eines Verfahrens: Kondition, Stabilität und Konsistenz, die untereinander stark verwandt sind. Die Beziehung zwischen der Kondition eines Problems und der Konsistenz des Algorithmus lässt sich wie folgt modellieren:

Es sei $f\colon \mathbb {K} ^{n}\rightarrow \mathbb {K} ^{m}$ das mathematische Problem in Abhängigkeit von der Eingabe $x$, und es sei ${\tilde {f}}$ der numerische Algorithmus sowie ${\tilde {x}}$ die gestörten Eingabedaten. So möchte man den folgenden Fehler – auch als Konvergenz bezeichnet – abschätzen:

    $\|f(x)-{\tilde {f}}({\tilde {x}})\|$.

Mit der Dreiecksungleichung gilt:

    $\|f(x)-{\tilde {f}}({\tilde {x}})\|=\|f(x)-f({\tilde {x}})+f({\tilde {x}})-{\tilde {f}}({\tilde {x}})\|\leq \|f(x)-f({\tilde {x}})\|+\|f({\tilde {x}})-{\tilde {f}}({\tilde {x}})\|.$

Hierbei bezeichnet man mit $\|f(x)-f({\tilde {x}})\|$ die Kondition des Problems und mit $\|f({\tilde {x}})-{\tilde {f}}({\tilde {x}})\|$ die Konsistenz des Algorithmus.

### Absolute Kondition

Die absolute Kondition von $f$ am Punkt $x$ wird definiert als

    $\kappa _{\text{abs}}=\limsup _{{\tilde {x}}\to x}{\frac {\Vert f({\tilde {x}})-f(x)\Vert }{\Vert {\tilde {x}}-x\Vert }}.$

Also ist die absolute Kondition $\kappa _{\text{abs}}$ genau die kleinste Zahl, für die gilt:

    $(\exists \delta >0)(\forall {\tilde {x}}\in \mathbb {K} ^{n})(\Vert {\tilde {x}}-x\Vert <\delta \Longrightarrow \Vert f({\tilde {x}})-f(x)\Vert \leq \kappa _{\text{abs}}\Vert {\tilde {x}}-x\Vert )$.

### Relative Kondition

Die relative Kondition von $f$ am Punkt $x$ wird definiert als kleinste Zahl $\kappa _{\text{rel}}\geq 0$ mit der Eigenschaft: Es gibt ein $\delta >0$, so dass für alle ${\tilde {x}}$ mit $0<{\|{\tilde {x}}-x\|}<\delta$ die Ungleichung

    ${\frac {\|f({\tilde {x}})-f(x)\|}{\|f(x)\|}}\leq \kappa _{\text{rel}}{\frac {\|{\tilde {x}}-x\|}{\|x\|}}$

gilt.

Dabei ist ${\tfrac {\|f({\tilde {x}})-f(x)\|}{\|f(x)\|}}$ die relative Änderung des Funktionswertes und ${\tfrac {\|{\tilde {x}}-x\|}{\|x\|}}$ die relative Änderung der Eingabedaten. Diese Definition lässt sich auch schreiben als

    $\kappa _{\text{rel}}=\limsup _{{\tilde {x}}\rightarrow x}{\frac {\|f({\tilde {x}})-f(x)\|}{\|{\tilde {x}}-x\|}}\cdot {\frac {\|x\|}{\|f(x)\|}}$. Ist $f$ an der Stelle $x$ differenzierbar, dann folgt
    $\kappa _{\text{rel}}={\frac {\|Df(x)\|\|x\|}{\|f(x)\|}}$.

Dabei ist $Df(x)$ die Jacobi-Matrix von $f$ an der Stelle $x$ und die Norm $\|Df(x)\|$ eine mit der verwendeten Vektornorm verträgliche Matrixnorm.

### Herleitung der relativen Konditionszahl aus der Taylorreihe

Lässt man für eine Funktion $f\colon \mathbb {R} \to \mathbb {R}$ in der Taylorreihe Terme höherer Ordnung unberücksichtigt, so ergibt sich

    $f({\tilde {x}})=f(x)+f'(x)({\tilde {x}}-x)$,

folglich

    $f({\tilde {x}})-f(x)=f'(x)({\tilde {x}}-x).$

Hierbei stellt $f({\tilde {x}})-f(x)$ den absoluten Fehler in der Ausgabe dar. Durch Division durch $f(x)$ ergibt sich sofort der relative Ausgabefehler:

    ${\frac {f({\tilde {x}})-f(x)}{f(x)}}={\frac {f'(x)}{f(x)}}({\tilde {x}}-x).$

Um den relativen Fehler in der Eingabe auf der rechten Seite sichtbar zu machen, wird nun noch mit $x$ erweitert:

    $\left|{\frac {f({\tilde {x}})-f(x)}{f(x)}}\right|=\left|{\frac {f'(x)}{f(x)}}x\right|\cdot \left|{\frac {({\tilde {x}}-x)}{x}}\right|.$

Somit ist alleine aus der Taylorreihe ersichtlich, dass die Fehlerverstärkung durch

    $\kappa _{\text{rel}}=\left|{\frac {f'(x)}{f(x)}}x\right|$

in guter Näherung (Terme höherer Ordnung wurden vernachlässigt!) beschrieben ist.

## Kondition von linearen Abbildungen und linearen Gleichungssystemen

Lineare Gleichungssysteme treten häufig in der Numerik auf und daher möchte man gerne die Kondition dieser gut bestimmen können. Es können verschiedene Spezialfälle einzeln betrachtet werden.

### Invertierbare Matrix

Für eine invertierbare Matrix $A\in \mathbb {R} ^{n\times n}$ ist die (relative) Kondition definiert als:

    $\kappa _{\|\cdot \|}(A)=\|A\|\|A^{-1}\|,$

wobei $\|\cdot \|$ eine submultiplikative Matrixnorm ist. Da häufig durch den Kontext klar ist, um welche Matrixnorm es sich handelt, wird oft auch nur $\kappa (A)$ anstelle von $\kappa _{\|\cdot \|}(A)$ geschrieben.

**Störung in der rechten Seite**

Sei $x$ die exakte Lösung von $Ax=b$ und ${\tilde {x}}$ eine Näherungslösung für eine gestörte rechte Seite ${\tilde {b}}$, also:

    $A{\tilde {x}}={\tilde {b}}.$

Nun kann man den Fehler $e$ und den Fehler im Bildraum (Residuum) $r$ definieren:

    ${\begin{aligned}e&:=x-{\tilde {x}}\\r&:=b-{\tilde {b}}=Ae.\end{aligned}}$

Für den relativen Fehler ${\tfrac {\|e\|}{\|x\|}}$ kann man nun die folgenden Schranken angeben:

    ${\frac {1}{\kappa (A)}}{\frac {\|r\|}{\|b\|}}\leq {\frac {\|e\|}{\|x\|}}\leq \kappa (A){\frac {\|r\|}{\|b\|}}.$

**Störung in der Matrix**

Sei $x$ die exakte Lösung von $Ax=b$ und ${\tilde {x}}$ eine Näherungslösung für eine gestörte Koeffizientenmatrix ${\tilde {A}}$, also:

    ${\tilde {A}}{\tilde {x}}=b.$

Nun kann man den relativen Fehler ${\tfrac {\|e\|}{\|x\|}}$ nur noch nach Ordnungen in $\|A-{\tilde {A}}\|$ entwickeln. Als Abschätzung erhält man:

    ${\frac {\|e\|}{\|x\|}}\leq \kappa (A){\frac {\|A-{\tilde {A}}\|}{\|A\|}}+{\mathcal {O}}\left(\|A-{\tilde {A}}\|^{2}\right)\quad {\text{für}}\quad \|A-{\tilde {A}}\|\rightarrow 0.$

### Matrix mit vollem Rang

Für $A\in \mathbb {R} ^{m\times n}$ mit $m\geq n$ und vollem Rang:

    $\mathrm {rang} (A)=n$

so definiert man die Kondition $\kappa (A)$ als:

    $\kappa (A)={\frac {{\max _{\|x\|=1}}\|Ax\|}{{\min _{\|x\|=1}}\|Ax\|}}.$

Dies lässt sich mit folgender Überlegung herleiten: setzt man in die obige Definition der relativen Kondition der Funktion $f(x)=Ax$ ein, so gilt:

    ${\frac {\|Ax-A{\tilde {x}}\|}{\|Ax\|}}\leq {\frac {\max _{\|{\hat {x}}\|=1}\|A{\hat {x}}\|}{\min _{\|{\hat {x}}\|=1}\|A{\hat {x}}\|}}\cdot {\frac {\|x-{\tilde {x}}\|}{\|x\|}}$.

Damit ist die Kondition von Matrizen die größtmögliche Verzerrung der Einheitskugel.

Außerdem lässt sich die Kondition normaler Matrizen bezüglich der Spektralnorm aus dem Verhältnis des betragsmäßig größten zum betragsmäßig kleinsten Eigenwert der Matrix berechnen:

    $\kappa _{\|\cdot \|_{2}}(A)=\kappa _{2}(A)=\left|{\frac {\lambda _{\text{max}}(A)}{\lambda _{\text{min}}(A)}}\right|.$

### Beliebige Matrix

Für $A\in \mathbb {R} ^{m\times n}$ beliebig mit $m\geq n$ definiert man die Kondition $\kappa (A)$ mittels der Pseudoinversen $A^{+}$ als:

    $\kappa (A)=\|A\|\|A^{+}\|.$

Beachte: Häufig bestimmt man die Pseudoinversen $A^{+}$ mittels der Singulärwertzerlegung von $A=U\Sigma V^{T}$, als: $A^{+}=V\Sigma ^{+}U^{T}$. Die Definition von $\Sigma ^{+}$ kann man bei der Berechnung der Pseudoinversen nachlesen.

### Beispiele

Ein oft angegebenes Beispiel für eine schlecht konditionierte Matrix ist die Hilbert-Matrix $H_{n}\in \mathbb {R} ^{n\times n}$. Ihre Kondition wächst stark mit der Dimension:

    $\kappa (H_{n})={\mathcal {O}}\left({\frac {(1+{\sqrt {2}})^{4n}}{\sqrt {n}}}\right).$

Man kann somit nicht erwarten, dass das lineare Gleichungssystem $H_{n}x=b$ gut nach $x$ aufgelöst werden kann (für $n$ groß).

## Interpretation und Ausblick

Ist die Konditionszahl $\kappa$ deutlich größer als 1, spricht man von einem schlecht konditionierten Problem, sonst von einem gut konditionierten Problem, und ist die Konditionszahl unendlich, so handelt es sich um ein schlecht gestelltes Problem.

Die Bedeutung der Kondition wird deutlich, wenn man sich den Unterschied zwischen den realen Eingangswerten (beispielsweise reelle Zahlen) und den tatsächlichen Eingangsdaten in Form von Maschinenzahlen klarmacht. Es liegen also einem Computerprogramm als Daten stets bereits verfälschte Werte vor. Das Computerprogramm sollte nun ein brauchbares Ergebnis liefern. Wenn aber das Problem bereits schlecht konditioniert ist, darf man nicht erwarten, dass der Algorithmus brauchbare Ergebnisse liefert.

Hat ein gegebenes Problem eine schlechte Kondition, so ist es in manchen Fällen möglich, es umzuformulieren. So erreicht man bei Matrizen durch geschickte Zeilenvertauschung eine bessere Gesamt-Kondition (hierbei wird die Kondition der Matrix an sich nicht verändert). Die äquivalente Umformulierung eines Problems mit dem Ziel der Konditionsverbesserung nennt man Vorkonditionierung. Zum Testen numerischer Verfahren an Matrizen mit besonders schlechter Kondition eignen sich die Hilbert-Matrizen.

Bei physikalischen Problemen wird die Kondition oft dadurch verbessert, dass die eingehenden Zahlenwerte auf gut verarbeitbare Zahlenwerte normiert (also skaliert) werden.

## Beispiele

### Multiplikation

Die Multiplikation lässt sich als Abbildung $f\colon \mathbb {R} ^{2}\to \mathbb {R}$ beschreiben, wobei $f(x)=f(x_{1},x_{2})$ durch

    $f(x_{1},x_{2})=x_{1}\cdot x_{2}$ gegeben ist.

Aus der mehrdimensionalen Taylor-Formel der Funktion $f(x_{1},x_{2})$ an der Stelle $a=(a_{1},a_{2})$ ergibt sich

    $\textstyle f(x_{1},x_{2})=f(a_{1},a_{2})+{\frac {\partial f}{\partial x_{1}}}(a)\cdot (a_{1}-x_{1})+{\frac {\partial f}{\partial x_{2}}}(a_{2})\cdot (b-x_{2})+R_{2}f(x;a)$.

Wegen $\textstyle {\frac {\partial f}{\partial x_{1}}}(a)=a_{2},{\frac {\partial f}{\partial a_{2}}}(a)=a_{1}$ ergibt sich für die relative Kondition nach kurzer Rechnung

    $\kappa _{\text{rel}}=1$.

Das zeigt, dass die Multiplikation zweier reller Zahlen stets gut konditioniert ist.

### Addition

Addition: $x_{1}+x_{2}$

Die Addition ist eine Abbildung $f\colon \mathbb {R} ^{2}\to \mathbb {R}$ gegeben durch

    $f(x_{1},x_{2})=x_{1}+x_{2}$.

Dafür ergibt sich mit der Summennorm:

    $\kappa _{\text{rel}}:={\frac {\left|x_{1}\right|+\left|x_{2}\right|}{\left|x_{1}+x_{2}\right|}}$

Die Addition, wie auch die Subtraktion, ist daher für kleine Nenner $\left|x_{1}+x_{2}\right|\approx 0$ sehr schlecht konditioniert. In diesem Fall spricht man von Auslöschung. Dies tritt bei der Addition zweier etwa gleich großer Zahlen mit unterschiedlichen Vorzeichen auf – wenn man dies als Subtraktion verstehen möchte, dann bedeutet dies die Subtraktion von Zahlen gleichen Vorzeichens und in etwa gleicher Größe.

