Błąd reprezentacji komputerowej
Zapisy w pamięci komputera muszą mieć ograniczoną z góry określoną liczbę bitów.
Liczby zapisywane są dwoma sposobami:
reprezentacja stałoprzecinkowa fi (fixed-point) stanowiąca rozszerzenie zastosowań liczb całkowitych - obecnie nie stosowana
Reprezentacja zmiennoprzecinkowa (zmiennopozycyjna ) fl (floating-point) złożona z ułamkowej mantysy i całkowitej cechy
w układzie dziesiętnym przykładowo liczba „tysiąc” to lub
w układzie dwójkowym przykładowo liczba „dwa” to ponieważ kolejne pozycje ułamkowej mantysy to oraz znormalizowana reprezentacja fl korzysta z mantysy o pierwszym bicie niezerowym wówczas liczba „dwa” to
dokładność maszynowa to wartość ostatniej cyfry mantysy – jeśli ułamkowe cyfry mantysy zapisujemy na bitach
maxymalny błąd zaokrąglenia
niezmienniki działań po przekroczeniu dokładności maszynowej , dla ad 1. Arytmetyka czterobitowa dodawanie realizujemy przy tej samej cesze po zaokrągleniu ad 2. Maksimum składnika we wzorze wynosi i może być traktowane jako oszacowanie błędu wówczas jest oszacowaniem błędu względnego
Ile wynosi w Excelu – na ilu bitach jest zapisana mantysa?
Liczby przybliżone = przedział zapis Kryłowa-Bradisa
Propagacja błędów – błąd funkcji zaburzonych argumentów
Extrema w obszarze = optymalizacja
Arytmetyka przedziałowa – A.Marciniak: „Object Pascal”
Wynik jest funkcją wielu danych
błąd wyniku zależy od błędów argumentów ze wzoru Taylora
oszacowanie krańcowe
wprowadzając błędy względne
gdzie wskaźniki uwarunkowania
Przykład
Oszacowania błędów operacji arytmetycznych wynikających z błędów danych wejściowych i zaokrąglenia wyniku (błąd reprezentacji)
Uwaga: występuje wzmocnienie błędów gdy
Jeśli małe, względne zmiany danych zadania powodują duże względne zmiany jego rozwiązania to takie zadanie nazywany źle uwarunkowanym numerycznie.
Błąd reprezentacji i propagacja błędów danych wejściowych
gdzie
stąd błąd nieunikniony zadania – maksymalna graniczna dokładność
współczynniki przy błędach danych wejściowych nazywamy wskaźnikami uwarunkowania
Stosując tą samą technikę oszacowań granicznych otrzymamy kolejno:
dla j=1,q
end i
stąd błąd algorytmu
środkowy człon określa wpływ zaokrągleń wyników pośrednich
ostatni człon – różniczkowanie funkcji złożonej zaburzone sumowaniem wartości
bezwzględnych składników
Błędy zaokrągleń numerycznych są równoważne zastępczemu zaburzeniu danych
Wynika z niego między innymi, że odpowiedni dobór znaków błędów powinien zastąpić bezwzględne wartości pochodnych i oszacowanie błędu byłoby zgodne ze wzorem na różniczkę funkcji danych
w drugim członie wzoru na błąd algorytmu jest to możliwe dla każdego
w trzecim członie jest to niemożliwe – bo jednocześnie zmieniają się dwa wskaźniki
Trzeci człon powinien wyrażać propagację błędów danych wejściowych jest bardzo podobny do zasadniczego członu wzoru na błąd nieunikniony zadania - ale niestety dodatkowe wartości bezwzględne zwiększają oszacowanie i czynią je sztucznym – co sygnalizuje złamanie lematu Wilkinsona
Ostatecznie błąd algorytmu należy ograniczyć do
Przykład
Obliczenie różnicy kwadratów dwoma algorytmami
Algorytm 1
Algorytm 2
oszacowania błędów algorytmów dla różnią się wielkością trzeciego członu określającego wpływ zaokrągleń wyników pośrednich – drugi algorytm jest zawsze lepszy np.: dla , otrzymamy
Algorytm 1
Algorytm 2
Krupka J., Miękina A., Morawski R., Opalski L. Wstęp do metod numerycznych dla studentów ETI Oficyna PW 2009
Fortuna Z., Macukow B., Wąsowski J.: „Metody numetyczne” WNT Warszawa 1982
Wilkinson J.: „Błedy zaokrąglen numerycznych w procesach algebraicznych” PWN Warszawa 1987
Stoer J.: „Wstęp do metod numerycznych” PWN 1979