Kondition in der Numerik
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 Eingangsfehler im ungünstigsten Fall verstärkt werden. Sie ist unabhängig von konkreten Lösungsverfahren.
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
Kondition eines Problems und
Stabilität lässt sich wie folgt modellieren:
Es sei
f:Kn→Km das mathematische Problem in Abhängigkeit der Eingabe
x und es sei
f~ der numerische
Algorithmus, sowie
x~ die gestörten Eingabedaten. So möchte man den folgenden Fehler abschätzen:
- ∥f(x)−f~(x~)∥.
- ∥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
∥f(x~)−f~(x~)∥ die
Stabilität. Man spricht dann davon, dass
Kondition die Eigenschaft des Problems und
Stabilität die Eigenschaft des
Algorithmus ist.
Absolute Kondition
Die absolute
Kondition κabs ist definiert als
x→x0limsup∣∣x−x0∣∣∣∣f(x)−f(x0)∣∣.
κabs ist also genau die kleinste Zahl, für die gilt:
∃δ>0 ∀∣∣x−x0∣∣<δ:∣∣f(x)−f(x0)∣∣≤κabs∣∣x−x0∣∣
Relative Kondition
Die relative
Kondition von
f
am Punkt
x
wird definiert als kleinste Zahl
κrel≥0
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)∥≤κrel∥x∥∥x~−x∥
gilt.
Dabei ist
∥f(x)∥∥f(x~)−f(x)∥
die relative Änderung des Funktionswertes und
∥x∥∥x~−x∥
die relative Änderung der Eingabedaten. Diese Definition lässt sich auch schreiben als
- κrel=x~→xlimsup∥x~−x∥∥f(x~)−f(x)∥⋅∥f(x)∥∥x∥
. Ist f
an der Stelle x
differenzierbar, dann folgt
- κrel=∥f(x)∥∥Df(x)∥∥x∥
.
Herleitung der relativen Konditionszahl aus der Taylor-Reihe
Lässt man 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
Die
Kondition von
linearen Abbildungen lässt sich mithilfe der relativen
Kondition herleiten. Setzt man für
f(x) in obiger Definition die
Funktion f(x)=Ax ein, so gilt:
- ∥Ax∥∥Ax−Ax~∥≤min∥x∥=1∥Ax∥max∥x∥=1∥Ax∥⋅∥x∥∥x−x~∥
so ist die
Kondition von
Matrizen die größtmögliche Verzerrung der Einheitskugel:
- κ(A)=(max∥x∥=1∥Ax∥min∥x∥=1∥Ax∥).
Ist der Kern der
Matrix nicht trivial, gibt es also Vektoren, die nicht 0 sind und auf die Null abgebildet werden, dann ist
κ=∞. Umgekehrt kann man zeigen, dass für
reguläre Matrizen gilt:
- κ(A)=∥A∥∥A−1∥.
Interpretation
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 offensichtlich, wenn man sich den Unterschied zwischen den realen Eingangsdaten (beispielsweise
reelle Zahlen) und den tatsächlichen Eingangsdaten in Form von Maschinenzahlen klar macht. Es liegen also einem Computerprogramm stets bereits verfälschte Daten vor. Das Computerprogramm sollte nun ein brauchbares Ergebnis liefern. Wenn aber das Problem bereits schlecht konditioniert ist, darf man keine Wunder mehr vom
Algorithmus erwarten.
Beispiele
Multiplikation
Die
Multiplikation ist eine
Abbildung f:R2→R gegeben durch
f(a,b)=a⋅b. Die
partiellen Ableitungen nach
a,b führen zu
d(a,b)df=(b,a). Damit ergibt sich für die
Kondition der
Multiplikation nach obiger Formel
κ1,relativ:=∣∣∣∣f(a,b)f′(a,b)⋅(a,b)T∣∣∣∣=∣∣∣∣abba+ab∣∣∣∣=2.
Addition
κ1,relativ:=∣x1+x2∣∣x1∣+∣x2∣
Die
Addition ist daher für
x1+x2≈0, die
Subtraktion entsprechend im Fall
x1≈x2, sehr schlecht konditioniert. In diesem Fall spricht man von Auslöschung.
Numerische Aspekte
Eines der Aufgabengebiete der
Numerik ist die Untersuchung und
Optimierung der
Kondition für gegebene Probleme wie das Lösen von Gleichungssystemen. Bei der numerischen Lösung wird nun ein Problem in Teilprobleme zerlegt. Oft kann ein in schlecht konditionierte Probleme zerlegter Lösungsweg so durch eine geschicktere
Zerlegung ersetzt werden, dass sich die Gesamt-Kondition entscheidend verbessert. So erreicht man bei
Matrizen durch geschickte Zeilenvertauschung eine bessere Gesamt-Kondition (hierbei wird die
Kondition der
Matrix an sich nicht verändert); bei längeren Berechnungen versucht man Additionen sehr kleiner Zahlen oder Subtraktionen annähernd gleich großer Zahlen zur Vermeidung von Auslöschung zu umgehen.
Die äquivalente Umformulierung eines Problems mit dem Ziel der Konditionsverbesserung nennt man
Vorkonditionierung.
Scherzhafte Beispiele haben manchmal größere Bedeutung als ernste.
Michael Stifel
Anbieterkеnnzeichnung: Mathеpеdιa von Тhοmas Stеιnfеld
• Dοrfplatz 25 • 17237 Blankеnsее
• Tel.: 01734332309 (Vodafone/D2) •
Email: cο@maτhepedιa.dе