Kondition, Stabilität & Konsistenz

 

Bei der Anwendung numerischer Verfahren stellt sich die Frage, ob das ausgewählte Verfahren bzw. dessen Umsetzung in ein Programm überhaupt angemessen ist. Die numerische Mathematik hat für diesen Zweck drei Begriffe eingeführt, um drei verschiedene Qualitätsmerkmale numerischer Algorithmen zu beschreiben: den der Stabilität, der Konsistenz und der Kondition.

Die Kondition

gibt an, inwieweit die numerische Lösung eines Problems von Fehlern oder Rauschen in den Eingangsdaten abhängen. Es wird versucht, zu bewerten, in welchem Maße sich kleine Störungen der Eingangsdaten in den Resultaten verstärkt fortpflanzen. Wenn kleine Abweichungen in den Eingangsdaten nur zu kleinen Abweichungen im Ergebnis führen, wird das Problem gut konditioniert genannt, während es im anderen Fall als schlecht konditioniert bezeichnet wird.

Man kann für die Kondition eine Maßzahl angeben, welche absolute Kondition κ genannt wird. Wenn A(x) eine Abbildung von x ist, dann ist κ definiert als

κ = ||dA(x)/dx||.

Je kleiner κ ist, desto besser ist das mathematische Problem konditioniert.

In manchen Fällen ist es sinnvoller, die Kondition in relativer Form anzugeben. Die relative Kondition ist definiert als

κ = ||dA(x)/dx|| * ||x||/||y||.

Die Stabilität

bezeichnet die Unempfindlichkeit eines Verfahrens gegenüber kleinen Störungen in den Eingangsdaten. Der Begriff der Stabilität ist sehr mit dem der vorangehend angerissenen Kondition verwandt. Die Stabilität beschreibt die Eigenschaft des Algorithmus, während die Kondition eine Eigenschaft des mathematischen Problems ist.

Die Konsistenz

versucht die Frage zu beantworten, inwieweit das numerische Verfahren das zu bearbeitenden Problem löst (und nicht irgendein anderes). Dies geschieht, indem die exakte Lösung als Eingabedaten dem Algorithmus übergeben und das Ergebnis verglichen wird.

Die Konsistenz kann am Beispiel des Differenzenquotienten illustriert werden. Die Ableitung f '(x) einer Funktion f(x) beschreibt die Steigung der Funktion f(x) an der Stelle x und kann entweder über den einfachen Differenzenquotienten oder den zentralen Differenzenquotienten hergeleitet werden.

Der einfache Differenzenquotient (DQ) ist definiert als f '(x) = ( f( x + h ) - f (x ) ) / h.

Der zentrale Differenzenquotient hingegen ist in der Form f '(x) = ( f (x + h/2 ) - ( f ( x - h/2 ) ) / 2h definiert.

Beispiel: betrachte f(x) = x³. Angenommen, wir wüssten nicht, dass f ' (x) = 3x². Wir wollen f ' an x = 1 durch DQ bestimmen, wobei die beiden Punkte an denen wir f auswerten um h = 0,1 entfernt seien sollen.

1. Rechnung: einfacher DQ: [f(x+h)-f(x)] / h = (1,1³-1³3)/0,1 = 3,31 (wahrer Wert: 3)

2. Rechnung: zentraler DQ: [f(x+h/2)-f(x-h/2)]/h = (1,05³ - 0,95³)/0,1 = 3,0025

Der zentrale Differenzenquotient ist also "konsistenter".

Das Standardwerk der numerischen Mathematik, das sich mit Fehlermaßen von numerischen Algorithmen befasst, ist die Monographie von Nicolas J Higham: Accuracy and Stability of Numerical Algorithms (SIAM, Philadelphia 2002). In sicherheitskritischen Bereichen wie Luft- und die Raumfahrt sind Gütemaße für Algorithmen nicht wegzudenken. Neben dem bekannten Fehlstart der Ariane V88 sei auf einen weniger bekannten Fall aus dem Jahr 1991 hingewiesen, in dem das amerikanische Raketenabwehrsystem „Patriot“ aufgrund von Rundungsfehlern im Steuerungsalgorithmus eine irakische Scud-Rakete verfehlte. Bei diesem Vorfall sind 28 amerikanische Soldaten getötet worden, 97 wurden verletzt.

Alle drei Verfahren haben gemein, die Fehler eines numerischen Algorithmus abzuschätzen, wobei jedes dieser Verfahren auf eine bestimmte Fehlerkategorie Anwendung findet.