Умирающая лемма
В арифметике с плавающей запятой или лемма Стербенца лемма Стербенца [1] — это теорема, определяющая условия, при которых разности с плавающей запятой вычисляются точно.Он назван в честь Пэта Х. Стербенса, опубликовавшего его вариант в 1974 году. [2]
Лемма Штербенца — В системе счисления с плавающей запятой с субнормальными числами , если и являются числами с плавающей запятой, такими что
затем также является числом с плавающей запятой.Таким образом, правильно округленное вычитание с плавающей запятой
рассчитывается точно.
Лемма Штербенца применима к IEEE 754 , наиболее широко используемой системе счисления с плавающей запятой в компьютерах.
Доказательство
[ редактировать ]Позволять быть основанием системы с плавающей запятой и точность.
Сначала рассмотрим несколько простых случаев:
- Если тогда равен нулю , и если тогда равен нулю , поэтому результат тривиален, поскольку отрицание с плавающей запятой всегда точно.
- Если результат равен нулю и, следовательно, точен.
- Если тогда мы также должны иметь так . В этом случае, , поэтому результат следует из теоремы, ограниченной .
- Если , мы можем написать с , поэтому результат следует из теоремы, ограниченной .
Для дальнейшего доказательства предположим, что без потери общности.
Писать с точки зрения их положительных целочисленных значений и минимальные показатели :
Обратите внимание, что и может быть субнормальным — мы не предполагаем .
Вычитание дает:
Позволять .С у нас есть:
- , так , из чего мы можем сделать вывод является целым числом и, следовательно, таковым является ; и
- , так .
Далее, поскольку , у нас есть , так что
что подразумевает, что
Следовательно
так является числом с плавающей запятой.◻
Примечание: Даже если и являются нормальными т.е. , , мы не можем доказать, что и поэтому не может доказать, что это тоже нормально.Например, разница двух наименьших положительных нормальных чисел с плавающей запятой и является что обязательно субнормально.В системах счисления с плавающей запятой без субнормальных чисел , таких как процессоры в нестандартном режиме сброса до нуля вместо стандартного постепенного опустошения, лемма Штербенца не применяется.
Отношение к катастрофической отмене
[ редактировать ]Лемме Штербенца можно противопоставить явление катастрофического сокращения :
- Лемма Штербенца утверждает, что если и являются достаточно близкими числами с плавающей запятой, то их разница вычисляется точно с помощью арифметики с плавающей запятой , без округления.
- Феномен катастрофической отмены заключается в том, что если и являются приближениями к истинным числам и - возникают ли аппроксимации из-за предшествующей ошибки округления, или из-за усечения ряда, или из-за физической неопределенности, или из-за чего-то еще - ошибка разности от желаемой разницы обратно пропорциональна . Таким образом, чем ближе и есть, тем хуже может быть приближением к , даже если само вычитание вычисляется точно.
Другими словами, лемма Штербенца показывает, что вычитание соседних чисел с плавающей запятой является точным, но если имеющиеся числа являются приближениями, то даже их точная разность может быть далека от разности чисел, которые вы хотели вычесть.
Использование в численном анализе
[ редактировать ]Лемма Штербенца играет важную роль в доказательстве теорем об границах погрешности при численном анализе алгоритмов с плавающей запятой.Например, формула Герона для площади треугольника с длинами сторон , , и , где является полупериметром, может дать плохую точность для длинных узких треугольников, если вычисляется непосредственно в арифметике с плавающей запятой.Однако для , альтернативная формула с помощью леммы Стербенца можно доказать, что он имеет низкую прямую ошибку для всех входов. [3] [4] [5]
Ссылки
[ редактировать ]- ^ Мюллер, Жан Мишель; Бруни, Николас; де Динешен, Флоран; Жаннерод, Клод Пьер; Джолдес, Миоара; Лефевр, Винсент; Мелькионд, Гийом; Револь, Натали ; Торрес, Серж (2018). Справочник по арифметике с плавающей запятой (2-е изд.). Gewerbestrasse 11, 6330 Шам, Швейцария: Биркхойзер. Лемма 4.1, с. 101. дои : 10.1007/978-3-319-76526-6 . ISBN 978-3-319-76525-9 .
{{cite book}}
: CS1 maint: местоположение ( ссылка ) - ^ Стербенс, Пэт Х. (1974). Вычисление с плавающей запятой . Энглвуд Клиффс, Нью-Джерси, США: Прентис-Холл. Теорема 4.3.1 и следствие, с. 138. ИСБН 0-13-322495-3 .
- ^ Кахан, В. (04 сентября 2014 г.). «Неверный расчет площади и углов игольчатого треугольника» (PDF) . Конспекты лекций для вводных занятий по численному анализу . Проверено 17 сентября 2020 г.
- ^ Гольдберг, Дэвид (март 1991 г.). «Что каждый ученый-компьютерщик должен знать об арифметике с плавающей запятой» . Обзоры вычислительной техники ACM . 23 (1). Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники: 5–48. дои : 10.1145/103162.103163 . ISSN 0360-0300 . S2CID 222008826 . Проверено 17 сентября 2020 г.
- ^ Болдо, Сильви (апрель 2013 г.). Наннарелли, Альберто; Зайдель, Питер-Майкл; Тан, Пинг Так Питер (ред.). Как вычислить площадь треугольника: формальное повторение . 21-й симпозиум IEEE по компьютерной арифметике . Компьютерное общество IEEE. стр. 91–98. дои : 10.1109/ARITH.2013.29 . ISBN 978-0-7695-4957-6 . ISSN 1063-6889 .