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

{\displaystyle \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:

{\displaystyle \exists \,\delta >0~\colon \quad ~~\forall \,{\tilde {x}}{\text{ mit }}\Vert {\tilde {x}}-x\Vert <\delta \quad ~\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 {\displaystyle 0<{\|{\tilde {x}}-x\|}<\delta } die Ungleichung

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

gilt.

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

{\displaystyle \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
{\displaystyle \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 {\displaystyle \|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 A\in \mathbb {R} ^{n\times n} invertierbar ist die (relative) Kondition \kappa (A) definiert als:

{\displaystyle \kappa (A)=\|A\|\|A^{-1}\|}

wobei die Kondition von der gewählten Matrixnorm abhängt, also: {\displaystyle \kappa (A)=\kappa _{\|\cdot \|}(A)}.

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:

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

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

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

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

{\displaystyle {\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:

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

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

{\displaystyle {\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:

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

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

{\displaystyle \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:

{\displaystyle \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:

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

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

Beispiele

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

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

Man kann somit nicht erwarten, dass das lineare Gleichungssystem {\displaystyle 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

Multiplikation: x_1 \cdot x_2

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

f(a,b)=a \cdot b.

Die partiellen Ableitungen nach a, b führen zu {\displaystyle Df(a,b)=\left({\frac {\partial f}{\partial a}},{\frac {\partial f}{\partial b}}\right)=(b,a)}. Damit ergibt sich für die Kondition der Multiplikation nach obiger Formel in der euklidischen Norm

{\displaystyle \kappa _{\text{rel}}={\frac {\left\|Df(a,b)\right\|_{2}\cdot \left\|(a,b)\right\|_{2}}{\left|f(a,b)\right|}}={\frac {{\sqrt {b^{2}+a^{2}}}\cdot {\sqrt {a^{2}+b^{2}}}}{\left|ab\right|}}={\frac {a^{2}+b^{2}}{\left|ab\right|}}}

Ist das Vorzeichen von ab bekannt, so kann man mit einer quadratischen Ergänzung den Ausdruck in die Form

\frac{(a+b)^2}{|ab|} \pm 2

bringen, aus dem man die Größenordnung der Kondition ablesen kann: Gilt a \approx b, so ist die Multiplikation gut konditioniert. Bei unterschiedlichen Größenordnungen von a und b kann die Kondition allerdings sehr groß werden: Beispielsweise für a=10^{10} und b=10^{-10} ergibt sich \kappa_\text{rel} \approx 10^{20}. Dieser Effekt ergibt sich durch die Verwendung der Norm zur Messung der Störungen, denn eine kleine relative Störung von {\displaystyle \|(a,b)\|} kann einer großen relativen Störung des sehr kleinen Werts b entsprechen. Eine komponentenweise Konditionsanalyse zeigt hingegen, dass die Multiplikation 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.

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung:  Jena, den: 07.12. 2019