Kondition (Mathematik)

Aus testwiki
Zur Navigation springen Zur Suche springen

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:𝕂n𝕂m das mathematische Problem in Abhängigkeit von der Eingabe x, und es sei f~ der numerische Algorithmus sowie x~ die gestörten Eingabedaten. So möchte man den folgenden Fehler – auch als Konvergenz bezeichnet – abschätzen:

f(x)f~(x~).

Mit der Dreiecksungleichung gilt:

f(x)f~(x~)=f(x)f(x~)+f(x~)f~(x~)f(x)f(x~)+f(x~)f~(x~).

Hierbei bezeichnet man mit f(x)f(x~) die Kondition des Problems und mit f(x~)f~(x~) die Konsistenz des Algorithmus.

Absolute Kondition

Die absolute Kondition von f am Punkt x wird definiert als

κabs=lim supx~xf(x~)f(x)x~x.

Also ist die absolute Kondition κabs genau die kleinste Zahl, für die gilt:

(δ>0)(x~𝕂n)(x~x<δf(x~)f(x)κabsx~x).

Relative Kondition

Die relative Kondition von f am Punkt x wird definiert als kleinste Zahl κrel0 mit der Eigenschaft: Es gibt ein δ>0, so dass für alle x~ mit 0<x~x<δ die Ungleichung

f(x~)f(x)f(x)κrelx~xx

gilt.

Dabei ist f(x~)f(x)f(x) die relative Änderung des Funktionswertes und x~xx die relative Änderung der Eingabedaten. Diese Definition lässt sich auch schreiben als

κrel=lim supx~xf(x~)f(x)x~xxf(x). Ist f an der Stelle x differenzierbar, dann folgt
κrel=Df(x)xf(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: in der Taylorreihe Terme höherer Ordnung unberücksichtigt, so ergibt sich

f(x~)=f(x)+f(x)(x~x),

folglich

f(x~)f(x)=f(x)(x~x).

Hierbei stellt f(x~)f(x) den absoluten Fehler in der Ausgabe dar. Durch Division durch f(x) ergibt sich sofort der relative Ausgabefehler:

f(x~)f(x)f(x)=f(x)f(x)(x~x).

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

|f(x~)f(x)f(x)|=|f(x)f(x)x||(x~x)x|.

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

κrel=|f(x)f(x)x|

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 An×n ist die (relative) Kondition definiert als:

κ(A)=AA1,

wobei eine submultiplikative Matrixnorm ist. Da häufig durch den Kontext klar ist, um welche Matrixnorm es sich handelt, wird oft auch nur κ(A) anstelle von κ(A) geschrieben.

Störung in der rechten Seite

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

Ax~=b~.

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

e:=xx~r:=bb~=Ae.

Für den relativen Fehler ex kann man nun die folgenden Schranken angeben:

1κ(A)rbexκ(A)rb.

Störung in der Matrix

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

A~x~=b.

Nun kann man den relativen Fehler ex nur noch nach Ordnungen in AA~ entwickeln. Als Abschätzung erhält man:

exκ(A)AA~A+𝒪(AA~2)fürAA~0.

Matrix mit vollem Rang

Für Am×n mit mn und vollem Rang:

rang(A)=n

so definiert man die Kondition κ(A) als:

κ(A)=maxx=1Axminx=1Ax.

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:

AxAx~Axmaxx^=1Ax^minx^=1Ax^xx~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:

κ2(A)=κ2(A)=|λmax(A)λmin(A)|.

Beliebige Matrix

Für Am×n beliebig mit mn definiert man die Kondition κ(A) mittels der Pseudoinversen A+ als:

κ(A)=AA+.

Beachte: Häufig bestimmt man die Pseudoinversen A+ mittels der Singulärwertzerlegung von A=UΣVT, als: A+=VΣ+UT. Die Definition von Σ+ kann man bei der Berechnung der Pseudoinversen nachlesen.

Beispiele

Ein oft angegebenes Beispiel für eine schlecht konditionierte Matrix ist die Hilbert-Matrix Hnn×n. Ihre Kondition wächst stark mit der Dimension:

κ(Hn)=𝒪((1+2)4nn).

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

Interpretation und Ausblick

Ist die Konditionszahl κ 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:2 beschreiben, wobei f(x)=f(x1,x2) durch

f(x1,x2)=x1x2 gegeben ist.

Aus der mehrdimensionalen Taylor-Formel der Funktion f(x1,x2) an der Stelle a=(a1,a2) ergibt sich

f(x1,x2)=f(a1,a2)+fx1(a)(x1a1)+fx2(a)(x2a2)+R2f(x;a).

Wegen fx1(a)=a2,fx2(a)=a1 ergibt sich für die relative Kondition nach kurzer Rechnung[1][2]

κrel=1.

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

Addition

Addition: x1+x2

Die Addition ist eine Abbildung f:2 gegeben durch

f(x1,x2)=x1+x2.

Dafür ergibt sich mit der Summennorm:

κrel:=|x1|+|x2||x1+x2|

Die Addition, wie auch die Subtraktion, ist daher für kleine Nenner |x1+x2|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.

Literatur

Einzelnachweise

  1. M. Grepl, P. Esser, G. Welper und L. Zhang, Numerisches Rechnen (für Informatiker). Institut für Geometrie und Praktische Mathematik der RWTH Aachen, Wintersemester 2011/12, S. 78–81. Abgerufen am 16. Januar 2022.
  2. Vorlage:Literatur