Kurs:Numerik I/Stabilität und Kondition

Aus Wikiversity

Einführung - Stabilität und Kondition[Bearbeiten]

In dem folgenden Abschnitt wird zunächst der Fehler von algebraischen Operationen betrachtet, um später über die Definition der Matrixnorm und die Eigenschaften von Normen für die Definition der Kondition einer Matrix zu verwenden.

Definition - Algorithmus[Bearbeiten]

Unter einem Algorithmus verstehen wir eine eindeutig festgelegte Folge von elementaren Operationen , d. h. ein eindeutig festgelegtes Verfahren zur numerischen Lösung eines Problems oder einer Klasse von Problemen.

Fehler und Algorithmenwahl[Bearbeiten]

Zumeist gibt es mehrere unterschiedliche Algorithmen zur Lösung eines Problems, die bei exakter Rechnung zu demselben Ergebnis führen würden, die dies jedoch numerisch aufgrund von Rundungsfehlern, Speicherplatz etc. auf dem Computer im Allgemeinen nicht tun.

Beispiele - numerische Grundideen[Bearbeiten]

In den folgenden Beispielen werden mathematische Berechnungen mit einer unterschiedlichen Genauigkeit ausgeführt. Dabei wird zunächst eine exakte Berechnung mit den mathematischen Verknüpfungen durchgeführt und danach mit einer gewissen Genauigkeit der Gleitkommadarstellung gerechnet.

Beispiel - exakte Berechnung[Bearbeiten]

Seien und . Dann gilt bei exakter Rechnung

Rundung auf darstellbare Genauigkeit[Bearbeiten]

Der -Operator bildet eine reelle Zahl auf die mit der -adisch darstellbare Gleitkommadarstellung ab. Dieser Schritt ist fehlerbehaftet und es gilt . Beispielsweise erhält man bei einer Rundung auf 4 Nachkommastellen

Beispiel - Fehler in Abhängigkeit von Berechnungsreihenfolge[Bearbeiten]

Bei 4-stelliger Rechnung untersucht man nun die Abhängigkeit des Fehlers von der Berechnungsreihenfolge. Allgemein ohne numerische Effekte gilt:

Berechnet man allerdings mit einer Genauigkeit von 4 Nachkommastellen, ergibt sich hingegen

wobei 4 korrekte Stellen in Bezug auf das exakte Ergebnis vorliegen und die alternativ mathematisch äquivalente Berechnungsreihenfolge liefert

wober das Ergebnis lediglich bzgl. des exakten Ergebnisses 2 korrekte Stellen aufweist.

Bemerkung - Mathematische Gesetze für gl-Operationen[Bearbeiten]

Die -Operationen genügen also weder dem Assoziativ- noch dem Distributivgesetz.

Ziel bzgl. Fehlerrechnung[Bearbeiten]

Das Ziel der numerischen Mathematik ist die Konstruktion und Analyse von effizienten Algorithmen. Dabei meinen wir mit effizient, dass ein Algorithmus

  • schnell ein Ergebnis für eine bestimmt Genauigkeit liefert,
  • sparsam im Ressourcenverbrauch auf einem Rechner und
  • stabile bzgl. Eongabefehlern sein.

Schnellkeit und Sparsamkeit[Bearbeiten]

Schnelligkeit und Sparsamkeit betrachtet man in der Regel nicht unabhängig voneinander. Dabei bedeutet schnell und sparsam zu sein, dass möglichst wenige Rechenoperationen und dabei mit geringem Speicherplatzbedarf wenig Rechenzeit zur Berechnung des gewünschten Resultates benötigen sollten. Wenn moglichst viele Zwischenresutate im Hauptspeicher gehalten werden müssen, um schnell zu berechnen, muss man im Einzelfall Geschwindigkeit und Speicherplatzbedarf bzgl. Effizienz abstimmen.


Stabilität[Bearbeiten]

Wenn ein Algorithmus numerisch stabil sein sollte, heißt das, dass die Verfälschung der Resultate durch Rundungsfehler nicht wesentlich größer sein sollte als die Verfälschung durch die Eingabefehler.


Eingabefehler[Bearbeiten]

Unter Eingabefehler versteht man dabei die durch Rundung der Eingabedaten auf dem Rechner sich bereits ergebenden (im Allgemeinen kleinen) Fehler. Ein mathematisches Problem kann aber selbst schon „gutartig“ oder „bösartig“ sein. So nennt man ein mathematisches Problem gut konditioniert, wenn kleine Störungen in den Daten auch nur kleine Fehler in den Lösungen zur Folge haben, und es heißt schlecht konditioniert (ill-conditioned), wenn kleine Störungen in den Daten große Fehler in den Lösungen bewirken können. Bei schlecht konditionierten Problemen ziehen also Eingabefehler auf dem Rechner üblicherweise automatisch große Fehler in den erzielten Resultaten nach sich und zwar für jeden Algorithmus.

Beispiel - Kondition[Bearbeiten]

Die Kondition wird nun für bestimmte algebraische Operationen betrachtet.

Subtraktion S1 - Behandlung des Fehlers[Bearbeiten]

Die Subtraktion etwa gleich großer reeller Zahlen und ist ein schlecht konditioniertes Problem. Denn sind und mit Fehlern und gestört, d. h. hat man statt und

dann ergibt sich

Subtraktion S2 - Fehlerverstärkung[Bearbeiten]

Für , und hat man bezüglich im Ergebnis eine Fehlerverstärkung gegenüber bzw. von

Subtraktion S3 - Auslöschung von korrekten Stellen[Bearbeiten]

Auf dem Rechner führt dies zum Phänomen der Auslöschung von korrekten Stellen. Hat man z. B. bei 8-stelliger Rechnung

(6 korrekte Stellen),
(7 korrekte Stellen),

so erhält man nach der Subtraktion nur noch 2 korrekte Stelle in dezimalen Darstellung

Bemerkung - Markierung des Fehlers im der b-adischen Darstellung[Bearbeiten]

Die stehen für Stellen im Stellenwertsystem, ab der ein Fehler in der Zahldarstellung auftritt.

Schnittpunkt von Geraden G1[Bearbeiten]

Das Problem, den Schnittpunkt zweier Geraden und , die fast parallel zueinander sind, zu berechnen, ist schlecht konditioniert. Um dies einzusehen, mache man sich geometrisch klar, dass im Fall zweier sich im rechten Winkel schneidender Geraden kleine „Störungen“ der Geraden auch nur kleine Störungen bezüglich des gemeinsamen Schnittpunktes zur Folge haben, während solche Störungen großen Einfluss haben, wenn die Geraden fast parallel zueinander sind.

Schnittpunkt von Geraden G2 - Aufgabe[Bearbeiten]

Begrechnen Sie mit Sätzen aus der Geometrie und drei Punkte eines rechtwinkligen Dreiecks mit rechtem Winkel bei sind. Eine Gerade als Gerade durch die beiden und definiert ist und die zweite Gerade mit dem Winkel ist. Der Fehler bei diesem Winkel einmal um und einmal und berechnen Sie die Abweichung der Schnittpunkt zu dem Schnittpunkt des Winkels ,

Bemerkung[Bearbeiten]

Bei der Konstruktion von Algorithmen sollte man also, wenn möglich, schlecht konditionierte Teilprobleme vermeiden.

Beispiel B1 - 3. Binomische Formel =[Bearbeiten]

Der Ausdruck

sollte mittels der numerisch stabileren Darstellung

berechnet werden.

Beispiel B2 - 3. Binomische Formel[Bearbeiten]

Die Funktion

erlaubt die stabilisierte Darstellung

welche sich zur Berechnung von Funktionswerten für anbietet. Man mache sich klar, dass bei der Auswertung der stabilisierten Darstellung keine Auslöschung auftritt.

Siehe auch[Bearbeiten]

Seiteninformation[Bearbeiten]

Diese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.

Wiki2Reveal[Bearbeiten]

Dieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Kurs:Numerik I' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.