Lemat Sterbenza

W arytmetyce zmiennoprzecinkowej lemat Sterbenza lub lemat Sterbenza jest twierdzeniem podającym warunki, w których dokładnie obliczane są różnice zmiennoprzecinkowe. Został nazwany na cześć Pata H. Sterbenza, który opublikował jego wariant w 1974 roku.

Lemat Sterbenza - W systemie liczb zmiennoprzecinkowych z liczbami podnormalnymi , jeśli i są liczbami zmiennoprzecinkowymi takimi, że

wtedy jest Zatem poprawnie zaokrąglone odejmowanie zmiennoprzecinkowe

oblicza się dokładnie.

Lemat Sterbenza ma zastosowanie do IEEE 754 , najczęściej używanego systemu liczb zmiennoprzecinkowych w komputerach.

Dowód

Niech podstawą systemu .

Najpierw rozważ kilka łatwych przypadków:

  • Jeśli wynosi zero, to , a jeśli wynosi zero , to więc wynik jest trywialny, ponieważ negacja zmiennoprzecinkowa jest zawsze dokładna.
  • Jeśli wynik wynosi zero, a zatem jest dokładny.
  • jeśli wtedy musimy również mieć , więc . tym przypadku do .
  • Jeśli , możemy napisać z , więc wynik wynika z twierdzenia ograniczonego do .

W dowodu

Napisz w kategoriach ich dodatnich mantys całkowych i minimalne wykładniki :

Zauważ, że i mogą być nienormalne - nie zakładamy, .

Odejmowanie daje:

Niech . Ponieważ mamy:

  • , więc , z którego możemy wywnioskować jest liczbą całkowitą, a zatem ; I
  • , więc .

Ponadto, ponieważ , mamy tak, że

co implikuje, że

Stąd

więc . ◻

Uwaga: Nawet jeśli i są normalne, tj. , , nie możemy udowodnić, że i dlatego nie możemy udowodnić, że jest też normalne. Na przykład różnica dwóch najmniejszych dodatnich normalnych liczb zmiennoprzecinkowych i jest co z konieczności jest poniżej normy. W systemach liczb zmiennoprzecinkowych bez liczb podnormalnych , takich jak procesory w niestandardowym trybie od zera do zera zamiast standardowego stopniowego niedomiaru, lemat Sterbenza nie ma zastosowania.

Związek z katastrofalnym odwołaniem

Lemat Sterbenza można skontrastować ze zjawiskiem katastroficznego anulowania :

  • Lemat Sterbenza twierdzi, że jeśli wystarczająco ich różnica pomocą arytmetyki , bez konieczności zaokrąglania.
  • Zjawisko katastrofalnego anulowania polega na tym, że jeśli i są przybliżeniami liczb prawdziwych i - czy przybliżenia wynikają z wcześniejszego błędu zaokrąglenia, obcięcia serii, niepewności fizycznej czy czegokolwiek innego - błąd różnicy od żądanej różnicy jest odwrotnie proporcjonalne do . Zatem im bliżej i , tym gorzej może jako przybliżenie do , nawet jeśli samo odejmowanie jest obliczane dokładnie.

Innymi słowy, lemat Sterbenza pokazuje, że odejmowanie pobliskich liczb zmiennoprzecinkowych jest dokładne, ale jeśli liczby, które masz, są przybliżeniami, to nawet ich dokładna różnica może być daleka od różnicy liczb, które chciałeś odjąć.

Zastosowanie w analizie numerycznej

Lemat Sterbenza odgrywa zasadniczą rolę w dowodzeniu twierdzeń o granicach błędów w analizie numerycznej algorytmów zmiennoprzecinkowych. Na przykład wzór Herona

dla obszaru trójkąta o długościach boków , do , gdzie to półobwód, może dawać słabą dokładność w przypadku długich wąskich trójkątów, jeśli jest oceniany bezpośrednio w arytmetyce zmiennoprzecinkowej. Jednak dla za , alternatywna formuła
można udowodnić, za pomocą lematu Sterbenza, że ​​ma niski błąd przewodzenia dla wszystkich danych wejściowych.