Изменения

Перейти к: навигация, поиск

Интервальная арифметика

1999 байт добавлено, 08:34, 16 октября 2011
м
Нет описания правки
Вырожденные интервалы, у которых начало и конец совпадают, можно отождествить с обычными вещественными числами. Для них данные выше определения совпадают с классическими арифметическими действиями.
 
== Применение в вычислительной геометрии ==
 
Допустим, нам нужно определить знак некоторого выражения (это может потребоваться, например, при вычислении предиката [[Предикат "левый поворот" |"левый поворот"]]). Ясно, что минимальное значение будет, если все округлять вниз, а максимальное - если вверх. {{TODO| t=поподробнее об этом}}
 
== Проблемы и ограничения ==
Переключение режима округления в процессоре является довольно длительной операцией, поэтому, если использовать его в каждой элементарной операции, это может сильно замедлить вычисления. Впрочем, эту проблему можно легко решить. {{TODO| t=написать о решении}}
 
Предполагается, что мы можем управлять округлением в операциях над вещественными числами. Стандарт IEEE 754 гарантирует такую возможность, но не все современные языки/архитектуры его выполняют. Например, согласно [http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf этому] материалу, вещественная арифметика в Java не соответствует стандарту IEEE 754 (в частности, не позволяет указывать правила округления). Поэтому на Java нельзя реализовать интервальную арифметику с использованием только примитивных типов double/float.
689
правок

Навигация