Utrata cyfr znaczących
Utrata cyfr znaczących to zjawisko występujące w obliczeniach komputerowych, spowodowane sposobem reprezentacji liczb rzeczywistych. Szczególnie często pojawia się podczas odejmowania liczb, których różnica jest znacznie mniejsza niż każda z nich. To prowadzi do zmniejszenia liczby cyfr znaczących w wyniku do poziomu nieakceptowalnego. Analiza numeryczna bada metody minimalizowania tych efektów.
Opis zjawiska
Rozważmy dwie bliskie sobie liczby i . Ich reprezentacje w pamięci komputera to oraz , które mają formę , gdzie jest mantysą, a to cecha. Przy odejmowaniu bliskich liczb wynik zawiera wiele zer na początku, co prowadzi do problemów z normalizacją:
Utrata cyfr znaczących jest szczególnie problematyczna, gdy dąży do zera, co powoduje nieograniczony wzrost błędu względnego.
Przykłady problemów i ich rozwiązań
Przykład 1
Funkcja dla bliskich zeru może prowadzić do utraty cyfr znaczących. Aby temu zapobiec, można przekształcić wzór:
Taka forma nie wymaga odejmowania i minimalizuje ryzyko utraty dokładności.
Przykład 2
Algorytm obliczania pierwiastków równania kwadratowego:
W przypadku bliskich zer wartości i może wystąpić utrata cyfr znaczących. Można tego uniknąć, stosując Wzory Viète’a:
- Pierwiastek pierwszy dla jest dobrze uwarunkowany.
- Pierwiastek drugi dla jest dobrze uwarunkowany.
W obu przypadkach ważne jest, aby unikać operacji odejmowania, które mogą prowadzić do utraty precyzji.