Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Auslöschung (numerische Mathematik)

Unter Auslöschung (engl. cancellation) versteht man in der Numerik den Verlust an Genauigkeit bei der Subtraktion fast gleich großer Gleitkommazahlen.

Inhalt6 Abschnitte
  1. 1. Was ist Auslöschung?
  2. 2. Zahlenbeispiel zur Auslöschung
  3. 3. Faustregel
  4. 4. Beispiel: Archimedes und die Kreiszahl π
  5. 5. Vermeidung der Auslöschung durch Umformung
  6. 6. Auslöschung bei der numerischen Ableitung

Was ist Auslöschung?

Auslöschung (englisch: cancellation) bezeichnet in der Numerik den Verlust an Genauigkeit, der auftritt, wenn man fast gleich große Gleitkommazahlen voneinander subtrahiert. Gleitkommazahlen sind die im Computer übliche Darstellung von Dezimalzahlen mit begrenzter Stellenzahl.

Das Problem: Stimmen die höherwertigen Stellen zweier Zahlen überein, heben sich diese gültigen Stellen bei der Subtraktion zu 0 auf. Die Differenz besteht dann im Wesentlichen nur noch aus den Rundungsfehlern, die in den niedrigwertigen Stellen stecken. Die Information, dass sich die ersten Stellen zu Null aufgehoben haben, geht dabei verloren.

Zahlenbeispiel zur Auslöschung

Subtrahiert man a = 2,345678 und b = 2,346789, ergibt sich b − a = 0,001111.

Stammen a und b aus vorherigen Berechnungen, sind die niedrigwertigen Stellen durch Rundungsfehler verfälscht. Angenommen, nur die ersten drei Ziffern sind korrekt: Verkürzt man beide Zahlen auf ihre korrekten Ziffern, ergibt sich 2,34 − 2,34 = 0 – im Ergebnis 0,001111 findet sich dann keine einzige korrekte Ziffer mehr.

Sind die ersten vier Ziffern korrekt, erhält man 2,346 − 2,345 = 0,001. Gegenüber dem Ergebnis 0,001111 bedeutet das einen absoluten Fehler von 0,001111 − 0,001000 = 0,000111, also einen relativen Fehler von ungefähr 10 %.

Faustregel

Subtrahiert man zwei p-stellige, fast gleich große Zahlen, die in den ersten k Stellen übereinstimmen, so gehen im Ergebnis von den eigentlich möglichen p Stellen genau k verloren. Es bleiben nur p − k Stellen ungleich Null.

Unterscheiden sich die Zahlen in den letzten p − k Stellen lediglich um Rundungsfehler, hat das Ergebnis keine Aussagekraft mehr. Es sollte dann nicht in weitere Berechnungen einfließen.

Beispiel: Archimedes und die Kreiszahl π

Archimedes von Syrakus zeigte, dass sich der Umfang eines Kreises zu seinem Durchmesser genauso verhält wie die Fläche des Kreises zum Quadrat des Radius. Er gab eine Anleitung, wie man sich diesem Verhältnis (der Kreiszahl π) mit einbeschriebenen oder umschreibenden Vielecken beliebig genau nähern kann – vermutlich eines der ältesten numerischen Verfahren. Bis zum 96-Eck galt: 3,1408450… = 3 + 10/71 < π < 3 + 10/70 = 3,1428571…

In moderner Form beginnt man mit direkt berechenbaren Seitenlängen s_n eines in den Einheitskreis einbeschriebenen Vielecks, etwa Zweieck s₂ = 2, Dreieck s₃ = √3, Viereck s₄ = √2 oder Sechseck s₆ = 1. Durch zweimalige Anwendung des Satzes von Pythagoras erhält man für die verdoppelte Eckenzahl: s_2n = √(2 − 2√(1 − s_n²/4)).

Berechnet man dies in C mit doppelter Genauigkeit nach IEEE 754 (ca. 15 Dezimalstellen), konvergieren die Flächen a_n und A_n anfangs gut gegen π. Ab etwa der Hälfte der Stellenzahl (beim 32768-Eck) macht sich jedoch Auslöschung bei der Subtraktion der fast gleich großen Zahlen 2 und 2√(1 − s_n²/4) bemerkbar. Das Ergebnis wird wieder ungenauer und am Ende völlig falsch (2 − 2,000…000xxx = 0); die Werte verfehlen π schließlich deutlich.

Vermeidung der Auslöschung durch Umformung

In vielen Fällen lässt sich Auslöschung vermeiden, indem man die betroffenen Subtraktionen vermeidet. Hier gelingt das mit der Umformung a² − b² = (a + b)(a − b), also a − b = (a² − b²)/(a + b), mit a = 2 und b = 2√(1 − s_n²/4).

Die Formel für die Seitenlänge lässt sich damit äquivalent umformen zu: s_2n = √( (1/2) · s_n² · 1/(1 + √(1 − s_n²/4)) ) – ganz ohne Subtraktion fast gleich großer Zahlen. Im Zähler hebt sich die Subtraktion auf (ein glücklicher Zufall).

Mit der umgeformten Formel verläuft die Rechnung wie erwünscht: Die Näherungen konvergieren stabil gegen π, und schon beim 268435456-Eck erreicht man die volle Genauigkeit von knapp 16 Dezimalstellen. Als Abbruchsignal dient die 0 in der Spalte 1 − ρ_n.

Auslöschung bei der numerischen Ableitung

Auch bei der numerischen Berechnung von Ableitungen durch Differenzenquotienten tritt Auslöschung auf, zum Beispiel bei der Näherung f′(x) ≈ (f(x+h) − f(x))/h.

Wählt man das h zu klein, werden die Funktionswerte f(x+h) und f(x) nahezu gleich. Ihre Subtraktion löscht dann gültige Stellen aus, und das Ergebnis verliert an Genauigkeit.

Weiterlesen

Englische Sprache Die englische Sprache (Eigenbezeichnung: [ˈɪŋɡlɪʃ]) ist eine ursprünglich in England beheimatete germanische Sprache, die zum westgermanischen Zweig gehört. Subtraktion Die Subtraktion (von lat. subtrahere „wegziehen“, „entfernen“), umgangssprachlich auch Minusrechnen genannt, ist eine der vier Grundrechenarten der … Gleitkommazahl Gleitkommazahlen bestehen aus einer festen Anzahl von Ziffern, die gemäß dem Stellenwertsystem den Wert der Zahl angeben, sowie der Angabe, um wie viele Stellen … Archimedes Inhaltsverzeichnis · 3.1 Physik. 3.1.1 Hebelgesetz; 3.1.2 Archimedisches Prinzip · 3.2 Mathematik. 3.2.1 Flächenberechnungen; 3.2.2 Siebeneck nach Archimedes; 3.2 … Kreiszahl Die erste (klassische!) Definition in der Geometrie (siehe Bild) beruht auf der Proportionalität von Umfang und Durchmesser eines Kreises. Entsprechend lässt … Umkreis Beim spitzwinkligen Dreieck liegt der Umkreismittelpunkt im Inneren des Dreiecks. · Beim rechtwinkligen Dreieck ist der Mittelpunkt der Hypotenuse zugleich … Inkreis In jedem Dreieck ist das Produkt aus seinem Umfang und seinem Inkreisradius doppelt so groß wie seine Fläche (siehe Figur 1), was – wie in der … Grundrechenart Von den vier Grundrechenarten werden in der Arithmetik die Addition und die Multiplikation als Grundoperationen und die Subtraktion und die Division als … C (Programmiersprache) C ist eine imperative und prozedurale Programmiersprache, die der Informatiker Dennis Ritchie in den frühen 1970er Jahren an den Bell Laboratories entwickelte. Doppelte Genauigkeit Doppelte Genauigkeit (englisch double precision oder auch double) steht in der Computerarithmetik für ein Gleitkomma-Zahlenformat, bei dem eine Zahl 8 Byte … IEEE 754 Die Norm IEEE 754 definiert Standarddarstellungen für binäre und dezimale Gleitkommazahlen in Computern und legt genaue Verfahren für die Durchführung … Abbruchbedingung Eine Abbruchbedingung ist in der Informatik eine Bedingung, die erfüllt sein muss, damit ein Vorgang beendet wird. Jede Schleife oder rekursive Funktion …