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

Функция допуска (бирюза) и интервальная аппроксимация (красный цвет)

Интервальная арифметика (также известен как интервальная математика, интервальный анализ, или же интервальное вычисление) - математический метод, используемый для поставить границы на ошибки округления и погрешности измерения в математическое вычисление. Численные методы Использование интервальной арифметики может гарантировать надежные, математически правильные результаты. Вместо представления значения как одного числа, интервальная арифметика представляет каждое значение как диапазон возможностей. Например, вместо того, чтобы оценивать рост человека как точно 2,0 метра, используя интервальную арифметику, можно быть уверенным, что рост этого человека находится где-то между 1,97 и 2,03 метра.

Математически, вместо работы с неопределенным настоящий , работает с концами интервала который содержит . В интервальной арифметике любая переменная лежит в закрытом интервале между и . Функция , применительно к , дает неопределенный результат; производит интервал который включает все возможные значения для для всех .

Интервальная арифметика подходит для множества целей. Чаще всего используется в программном обеспечении, чтобы отслеживать ошибки округления в расчетах и ​​неопределенностях в знании точных значений физических и технических параметров. Последние часто возникают из-за ошибок измерения и допусков для компонентов или из-за ограничений на точность вычислений. Интервальная арифметика также помогает находить гарантированные решения уравнений (например, дифференциальные уравнения ) и проблемы оптимизации.

Вступление

Основная цель интервальной арифметики - простой способ вычислить верхнюю и нижнюю границы диапазона функции от одной или нескольких переменных. Эти конечные точки не обязательно являются истинными супремум или же инфимум, поскольку точный расчет этих значений может быть затруднен или невозможен; границы должны содержать только диапазон функции как подмножество.

Эта обработка обычно ограничивается реальными интервалами, поэтому количество форм

куда и разрешены. С одним из , бесконечен, интервал будет неограниченным; с обоими бесконечными, интервал будет расширенной линией действительного числа. Поскольку реальное число можно интерпретировать как интервал интервалы и действительные числа можно свободно комбинировать.

Как и в случае традиционных вычислений с действительными числами, сначала необходимо определить простые арифметические операции и функции на элементарных интервалах.[1] Из этих основных элементов можно вычислить более сложные функции.[1]

Пример

Индекс массы тела для человека ростом 1,80 м относительно массы тела м (в килограммах)

В качестве примера рассмотрим расчет индекс массы тела (ИМТ) и оценка того, есть ли у человека лишний вес. ИМТ рассчитывается как масса тела человека в килограммах, деленная на квадрат его роста в метрах. Весы для ванной могут иметь разрешение в один килограмм. Промежуточные значения не различаются - например, 79,6 кг и 80,3 кг неразличимы, - но истинный вес округляется до ближайшего целого числа. Маловероятно, что когда весы показывают 80 кг, человек весит точно 80.0 кг. При обычном округлении до ближайшего значения 80 кг на шкале показывают вес от 79,5 кг до 80,5 кг. Это соответствует интервалу .

Для мужчины весом 80 кг и ростом 1,80 м ИМТ составляет примерно 24,7. Вес 79,5 кг и такая же высота дают прибл. 24,537, а вес 80,5 кг дает прибл. 24,846. Поскольку функция монотонно возрастает, мы заключаем, что истинный ИМТ находится в диапазоне . Поскольку весь диапазон составляет менее 25, что является порогом между нормальным и избыточным весом, мы заключаем, что мужчина имеет нормальный вес.

Ошибка в этом случае не влияет на вывод (нормальный вес), но это не всегда так. Если мужчина был немного тяжелее, диапазон ИМТ может включать пороговое значение 25. В этом случае точность шкалы была недостаточной, чтобы сделать окончательный вывод.

Также обратите внимание, что диапазон примеров ИМТ может быть представлен как , так как этот интервал является подмножеством вычисленного интервала. Однако диапазон не может быть указан как , так как теперь интервал не содержит возможных значений ИМТ.

Интервальная арифметика явно указывает диапазон возможных результатов. Результаты больше не указываются в виде чисел, а в виде интервалов, которые представляют неточные значения. Размер интервалов аналогичен планкам погрешностей при выражении степени неопределенности.

Несколько интервалов

Индекс массы тела для разного веса по отношению к росту L (в метрах)

Рост и масса тела влияют на значение ИМТ. Мы уже рассматривали вес как неопределенное измерение, но рост также может быть неопределенным. Измерения высоты в метрах обычно округляются до ближайшего сантиметра: зарегистрированное измерение 1,79 метра фактически означает высоту в интервале. . Теперь необходимо рассмотреть все четыре комбинации возможных значений роста / веса. При использовании интервальных методов, описанных ниже, ИМТ находится в интервале

В этом случае мужчина может иметь нормальный вес или иметь избыточный вес; измерения веса и роста были недостаточно точными, чтобы сделать окончательный вывод. Это демонстрирует способность интервальной арифметики правильно отслеживать и распространять ошибки.

Операторы интервалов

Бинарная операция на двух интервалах, таких как сложение или умножение, определяется как

Другими словами, это набор всех возможных значений , куда и находятся в соответствующих им интервалах. Если является монотонный в каждом операнде на интервалах, что имеет место для четырех основных арифметических операций (кроме деления, когда знаменатель содержит ), крайние значения встречаются в конечных точках интервалов операндов. Записывая все комбинации, можно сказать, что это

при условии, что определено для всех и .

Для практических приложений это можно еще упростить:

  • Добавление:
  • Вычитание:
  • Умножение:
  • Разделение:
куда

В последнем случае теряется полезная информация об исключении . Таким образом, обычно работают с и как отдельные интервалы. В более общем смысле, при работе с прерывными функциями иногда полезно выполнять вычисления с так называемыми мультиинтервалы формы Соответствующие многоинтервальная арифметика поддерживает набор (обычно непересекающихся) интервалов, а также обеспечивает объединение перекрывающихся интервалов.[2]

Умножение положительных интервалов

Интервальное умножение часто требует только двух умножений. Если , неотрицательны,

Умножение можно интерпретировать как площадь прямоугольника с разными краями. Интервал результатов охватывает все возможные области, от наименьшей до наибольшей.

С помощью этих определений уже можно вычислить ряд простых функций, таких как Например, если , и :

.

Обозначение

Для уменьшения обозначения интервалов в формулах можно использовать скобки.

может использоваться для обозначения интервала. Обратите внимание, что в таких компактных обозначениях не следует путать одноточечный интервал и общий интервал. Для набора всех интервалов мы можем использовать

как сокращение. Для вектора интервалов мы можем использовать жирный шрифт: .

Элементарные функции

Значения монотонной функции

Также могут быть определены интервальные функции помимо четырех основных операторов.

За монотонные функции в одной переменной просто вычислить диапазон значений. Если монотонно возрастает или убывает в интервале тогда для всех такой, что применяется одно из следующих неравенств:

Диапазон, соответствующий интервалу поэтому может быть вычислен путем применения функции к ее конечным точкам:

Исходя из этого, можно легко определить следующие основные характеристики интервальных функций:

  • Экспоненциальная функция: за
  • Логарифм: для положительных интервалов и
  • Странные полномочия: , для нечетных

Для четных степеней важен диапазон рассматриваемых значений, и с ним нужно иметь дело, прежде чем производить какое-либо умножение. Например, за должен произвести интервал когда Но если берется путем повторения интервального умножения вида тогда результат шире, чем необходимо.

В более общем плане можно сказать, что для кусочно-монотонных функций достаточно рассмотреть концы , интервала вместе с так называемым критические точки внутри интервала - это те точки, в которых монотонность функции меняет направление. Для синус и косинус функции, критические точки находятся в или же за , соответственно. Таким образом, необходимо учитывать только до пяти точек в пределах интервала, поскольку результирующий интервал равен если в интервале есть не менее двух экстремумов. Для синуса и косинуса только конечные точки нуждаются в полной оценке, поскольку критические точки приводят к легко предварительно вычисленным значениям, а именно -1, 0 и 1.

Интервальные расширения общих функций

В общем, найти такое простое описание интервала вывода для многих функций может быть непросто. Но все же возможно расширение функций до интервальной арифметики. - функция от действительного вектора к действительному числу, тогда называется продление интервала из если

.

Это определение расширения интервала не дает точного результата. Например, оба и являются допустимыми расширениями экспоненциальной функции. Желательны более узкие удлинения, хотя следует учитывать относительные затраты на расчет и неточность; в этом случае, следует выбирать, так как он дает максимально точный результат.

Учитывая реальное выражение, его естественное расширение интервала достигается за счет использования интервальных расширений каждого из его подвыражений, функций и операторов.

В Расширение интервала Тейлора (степени ) это умноженная дифференцируемая функция определяется

,

для некоторых ,куда это дифференциал порядка в момент и является интервальным продолжением Остаток Тейлора

Форма среднего значения

Вектор лежит между и с , защищен . Обычно выбирают в качестве середины интервала и использует естественное расширение интервала для оценки остатка.

Частный случай расширения интервалов Тейлора степени также называется форма среднего значения.

Комплексная интервальная арифметика

Интервал также можно определить как геометрическое место точек на заданном расстоянии от центра,[требуется разъяснение ] и это определение может быть расширено от действительных чисел до сложные числа.[3] Как и в случае с вычислениями с действительными числами, вычисления с комплексными числами связаны с неопределенными данными. Итак, учитывая тот факт, что номер интервала - это реальный закрытый интервал, а комплексное число - это упорядоченная пара действительные числа, нет причин ограничивать применение интервальной арифметики мерой неопределенностей в вычислениях с действительными числами.[4] Таким образом, интервальная арифметика может быть расширена за счет комплексных интервальных чисел для определения областей неопределенности при вычислениях с комплексными числами.[4]

Основные алгебраические операции с вещественными интервальными числами (действительными отрезками) могут быть расширены до комплексных чисел. Поэтому неудивительно, что арифметика со сложными интервалами похожа на обычную сложную арифметику, но отличается от нее.[4] Можно показать, что, как и в случае с действительной интервальной арифметикой, нет никакой распределенности между сложением и умножением комплексных интервальных чисел, за исключением некоторых особых случаев, а обратные элементы не всегда существуют для комплексных интервальных чисел.[4] Два других полезных свойства обычной комплексной арифметики не соблюдаются в комплексной интервальной арифметике: аддитивные и мультипликативные свойства обычных комплексно-сопряженных чисел не выполняются для комплексных интервальных сопряжений.[4]

Аналогичным образом интервальную арифметику можно распространить на другие многомерные системы счисления Такие как кватернионы и октонионы, но за счет того, что мы должны пожертвовать другими полезными свойствами обычной арифметики.[4]

Интервальные методы

Методы классического численного анализа нельзя однозначно перевести в интервальные алгоритмы, поскольку зависимости между численными значениями обычно не учитываются.

Арифметика с округленными интервалами

Внешние границы на разном уровне округления

Чтобы эффективно работать в реальной реализации, интервалы должны быть совместимы с вычислениями с плавающей запятой. Ранние операции были основаны на точной арифметике, но в целом методы быстрого численного решения могут быть недоступны. Диапазон значений функции за и например . Если тот же расчет выполняется с точностью до одной цифры, результат обычно будет . Но , поэтому такой подход противоречил бы основным принципам интервальной арифметики как части области будет потеряно. Вместо этого округленное решение используется.

Стандарт IEEE 754 для двоичной арифметики с плавающей запятой также изложены процедуры для реализации округления. Система, совместимая с IEEE 754, позволяет программистам округлять до ближайшего числа с плавающей запятой; альтернативы округляются до 0 (усечение), до положительной бесконечности (то есть вверх) или до отрицательной бесконечности (то есть вниз).

Требуемый внешнее округление Таким образом, интервальная арифметика может быть достигнута путем изменения настроек округления процессора при вычислении верхнего предела (вверх) и нижнего предела (вниз). В качестве альтернативы подходящий небольшой интервал можно добавить.

Проблема зависимости

Примерная оценка диапазона значений

Так называемой проблема зависимости является серьезным препятствием для применения интервальной арифметики. Хотя интервальные методы могут очень точно определять диапазон элементарных арифметических операций и функций, это не всегда верно для более сложных функций. Если интервал встречается несколько раз при вычислении с использованием параметров, и каждое вхождение берется независимо, это может привести к нежелательному расширению результирующих интервалов.

Независимая обработка каждого вхождения переменной

В качестве иллюстрации возьмем функцию определяется Значения этой функции на интервале находятся В качестве естественного удлинения интервала он рассчитывается как:

который немного больше; вместо этого мы вычислили точную нижнюю и верхнюю грань функции над Есть лучшее выражение в котором переменная появляется только один раз, а именно при перезаписи как сложение и возведение в квадрат в квадратичном

Таким образом, подходящий расчет интервала

и дает правильные значения.

В общем, можно показать, что точный диапазон значений может быть достигнут, если каждая переменная появляется только один раз и если непрерывно внутри коробки. Однако не все функции можно переписать таким образом.

Эффект обертывания

Зависимость проблемы, вызывающая завышение диапазона значений, может доходить до большого диапазона, не позволяя делать более значимые выводы.

Дополнительное увеличение диапазона связано с решением областей, не принимающих форму интервального вектора. Множество решений линейной системы

это точно линия между точками и Использование интервальных методов приводит к единичному квадрату, Это известно как эффект обертывания.

Линейные интервальные системы

Линейная интервальная система состоит из матричного расширения интервалов и интервальный вектор . Мы хотим самый маленький кубоид , для всех векторов что есть пара с и удовлетворение

.

Для квадратичных систем, другими словами, для - может быть такой интервальный вектор , который охватывает все возможные решения, найденные просто с помощью интервального метода Гаусса. Это заменяет числовые операции, поскольку метод линейной алгебры, известный как исключение Гаусса, становится его интервальной версией. Однако, поскольку в этом методе используются интервальные сущности и многократно в расчетах, это может привести к плохим результатам для некоторых проблем. Следовательно, использование результата интервального значения Гаусса дает только первые грубые оценки, поскольку, хотя он содержит все множество решений, он также имеет большую область за его пределами.

Грубое решение часто можно улучшить с помощью интервальной версии Метод Гаусса – Зейделя Мотивация к этому заключается в том, что -я строка интервального продолжения линейного уравнения

может быть определена переменной если разделение позволено. Поэтому одновременно

и .

Итак, теперь мы можем заменить к

,

и так вектор по каждому элементу, так как процедура более эффективна для диагонально доминирующая матрица, вместо системы часто можно попробовать умножить его на подходящую рациональную матрицу с полученным матричным уравнением

осталось решить. Если, например, выбрать для центральной матрицы , тогда является внешним расширением единичной матрицы.

Эти методы работают хорошо, только если ширина возникающих интервалов достаточно мала. Для более широких интервалов может быть полезно использовать интервально-линейную систему на конечных (хотя и больших) линейных системах, эквивалентных действительным числам. Если все матрицы обратимы, достаточно рассмотреть все возможные комбинации (верхние и нижние) концов, встречающиеся в интервалах. Возникающие проблемы могут быть решены с помощью обычных численных методов. Для определения ошибок округления по-прежнему используется интервальная арифметика.

Это подходит только для систем меньшего размера, так как с полностью занятым матрица реальные матрицы должны быть инвертированы, с векторы для правой части. Этот подход был разработан Иржи Роном и продолжает развиваться.[5]

Интервальный метод Ньютона

Уменьшение области поиска в интервале шага Ньютона в «толстых» функциях

Интервальный вариант Метод Ньютона для нахождения нулей в интервальном векторе может быть получен из расширения среднего значения.[6] Для неизвестного вектора применительно к , дает

.

За ноль , то есть , и поэтому должен удовлетворять

.

Это эквивалентноВнешняя оценка можно определить линейными методами.

На каждом шаге интервального метода Ньютона приблизительное начальное значение заменяется на и поэтому результат можно улучшать итеративно. В отличие от традиционных методов, интервальный метод приближается к результату, содержащему нули. Это гарантирует, что результат выдаст все нули в исходном диапазоне. И наоборот, это доказывает, что нет нулей были в начальном диапазоне если шаг Ньютона дает пустое множество.

Метод сходится ко всем нулям в начальной области. Деление на ноль может привести к разделению различных нулей, хотя разделение может быть неполным; его можно дополнить метод деления пополам.

В качестве примера рассмотрим функцию , начальный диапазон , а точка . Тогда у нас есть и первый шаг Ньютона дает

.

Больше шагов Ньютона используются отдельно на и . Они сходятся к сколь угодно малым интервалам вокруг и .

Метод Interval Newton также можно использовать с толстые функции Такие как , что в любом случае будет иметь интервальные результаты. В результате получаются интервалы, содержащие .

Биссекция и крышки

Грубая оценка (бирюзовый) и улучшенная оценка путем «измельчения» (красный)

Различные методы интервалов дают консервативные результаты, поскольку не принимаются во внимание зависимости между размерами различных расширений интервалов. Однако проблема зависимости становится менее значительной для более узких интервалов.

Покрытие интервального вектора меньшими коробками так что

тогда действительно для диапазона значений

Итак, для описанных выше расширений интервалов выполняется следующее:

С часто подлинный суперсет правой части это обычно приводит к улучшенной оценке.

Такое покрытие может быть создано метод деления пополам такие как толстые элементы интервального вектора разделив в центре на два интервала и Если результат по-прежнему не подходит, возможно дальнейшее постепенное разделение. Обложка интервалы результаты из деления векторных элементов, существенно увеличивая вычислительные затраты.

С очень широкими интервалами может быть полезно разбить все интервалы на несколько подинтервалов с постоянной (и меньшей) шириной, метод, известный как мясорубка. Это позволяет избежать вычислений для промежуточных этапов деления пополам. Оба метода подходят только для задач небольшой размерности.

Заявление

Интервальная арифметика может использоваться в различных областях (например, установить инверсию, планирование движения, установить оценку или анализ устойчивости) для обработки оценок без точного числового значения.[7]

Анализ ошибок округления

Интервальная арифметика используется с анализом ошибок, чтобы контролировать ошибки округления, возникающие при каждом вычислении. Преимущество интервальной арифметики состоит в том, что после каждой операции существует интервал, который надежно включает истинный результат. Расстояние между границами интервала напрямую дает текущий расчет ошибок округления:

Ошибка = для заданного интервала .

Интервальный анализ дополняет, а не заменяет традиционные методы уменьшения ошибок, такие как поворот.

Анализ толерантности

Параметры, для которых невозможно выделить точные цифры, часто возникают при моделировании технических и физических процессов. Процесс производства технических компонентов допускает определенные допуски, поэтому некоторые параметры колеблются в определенных интервалах. Кроме того, многие фундаментальные константы точно неизвестны.[2]

Если поведение такой системы, на которую влияют допуски, удовлетворяет, например, , за и неизвестно тогда множество возможных решений

,

можно найти интервальными методами. Это дает альтернативу традиционным распространение ошибки В отличие от точечных методов, таких как Моделирование Монте-Карло Методика интервальной арифметики гарантирует, что ни одна часть области решения не может быть упущена из виду. Однако результат всегда является анализом наихудшего случая для распределения ошибки, поскольку другие вероятностные распределения не рассматриваются.

Арифметика с нечеткими интервалами

Аппроксимация нормальное распределение последовательностью интервалов

Интервальная арифметика также может использоваться с функциями аффилированности для нечетких величин, поскольку они используются в нечеткая логика. Помимо строгих заявлений и , возможны также промежуточные значения, к которым действительные числа назначены. соответствует определенному членству, а не является членством. Функция распределения определяет неопределенность, которую можно понимать как дополнительный интервал.

За нечеткая арифметика[8] только конечное количество дискретных этапов присоединения считаются. Форма такого распределения для нечеткого значения может тогда быть представлена ​​последовательностью интервалов

Интервал точно соответствует диапазону колебаний ступени

Соответствующее распределение для функции относительно нечетких ценностей и соответствующие последовательности

можно аппроксимировать последовательностью

куда

и может быть рассчитан интервальными методами. Значение соответствует результату расчета интервала.

Компьютерное доказательство

Уорик Такер использовал интервальную арифметику для решения 14-го числа Проблемы Смейла, то есть показать, что Аттрактор Лоренца это странный аттрактор.[9] Томас Хейлз использовали интервальную арифметику для решения Гипотеза Кеплера.

История

Интервальная арифметика - не совсем новое явление в математике; он несколько раз появлялся под разными названиями в ходе истории. Например, Архимед вычисленные нижняя и верхняя границы 223/71 < π <22/7 в 3 веке до нашей эры. Фактические вычисления с интервалами не были так популярны, как другие численные методы, и не были полностью забыты.

Правила вычисления с интервалами и другими подмножествами действительных чисел были опубликованы в 1931 году в работе Розалинд Сисели Янг.[10] Арифметические работы по диапазонным числам для повышения надежности цифровых систем были затем опубликованы в учебнике по линейной алгебре 1951 г. Пол С. Дуайер [де ];[11] интервалы использовались для измерения ошибок округления, связанных с числами с плавающей запятой. Подробную статью по интервальной алгебре в численном анализе опубликовал Теруо Сунага (1958).[12]

Рождение современной интервальной арифметики ознаменовалось появлением книги Интервальный анализ к Рамон Э. Мур в 1966 г.[13][14] Идея пришла ему в голову весной 1958 года, а через год он опубликовал статью о компьютерной интервальной арифметике.[15] Его заслуга заключалась в том, что, исходя из простого принципа, он предоставлял общий метод автоматического анализа ошибок, а не только ошибок, возникающих в результате округления.

Самостоятельно в 1956 г. Мечислав Вармус предлагаемые формулы для расчетов с интервалами,[16] хотя Мур нашел первые нетривиальные приложения.

В последующие двадцать лет немецкие группы исследователей провели новаторскую работу по Ульрих В. Кулиш[1][17] и Гётц Алефельд [де ][18] на Университет Карлсруэ а позже и в Bergische University of Wuppertal.Например, Карл Никель [де ] исследовали более эффективные реализации, в то время как улучшенные процедуры включения для системы решений систем уравнений были созданы, в частности, Арнольдом Ноймайером. В 1960-е гг. Элдон Р. Хансен занимался расширениями интервалов для линейных уравнений, а затем внес решающий вклад в глобальную оптимизацию, включая то, что сейчас известно как метод Хансена, возможно, наиболее широко используемый интервальный алгоритм.[6] При этом классические методы часто сталкиваются с проблемой определения наибольшего (или наименьшего) глобального значения, но могут найти только локальный оптимум и не могут найти лучшие значения; Хельмут Ратчек и Джон Джордж Рокне разработали ветвь и переплет методы, которые до этого применялись только к целочисленным значениям, с использованием интервалов для предоставления приложений для непрерывных значений.

В 1988 году Рудольф Лонер разработал Фортран -программное обеспечение для надежного решения задач начального значения с использованием обыкновенные дифференциальные уравнения.[19]

Журнал Надежные вычисления (первоначально Интервальные вычисления) издается с 1990-х годов и посвящен надежности компьютерных вычислений. В качестве ведущего редактора Р. Бейкер Кирфотт, помимо своей работы по глобальной оптимизации, внес значительный вклад в унификацию обозначений и терминологии, используемых в интервальной арифметике.[20]

В последние годы работа была сосредоточена, в частности, на оценке прообразы параметризованных функций и теории робастного управления рабочей группой COPRIN INRIA в София Антиполис во Франции.[21]

Реализации

Существует множество программных пакетов, которые позволяют разрабатывать численные приложения с использованием интервальной арифметики.[22] Обычно они предоставляются в виде программных библиотек. Это также C ++ и Фортран компиляторы которые обрабатывают интервальные типы данных и подходящие операции в качестве расширения языка, поэтому интервальная арифметика поддерживается напрямую.

С 1967 г. Расширения для научных вычислений (XSC) были разработаны в Университет Карлсруэ для различных языки программирования, например, C ++, Fortran и Паскаль.[23] Первая платформа была Цузе Z23, для которого стал доступен новый тип данных интервала с соответствующими элементарными операторами. В 1976 г. Паскаль-SC, вариант Паскаля на Зилог Z80 что это позволило создавать быстрые и сложные процедуры для автоматической проверки результатов. Затем пришла Фортран 77 -на основе ACRITH-XSC для Система / 370 архитектура (FORTRAN-SC), которая позже была поставлена ​​IBM. Начиная с 1991 года можно было создавать код для C компиляторы с Паскаль-XSC; год спустя библиотека классов C ++ поддерживала C-XSC во многих компьютерных системах. В 1997 году все варианты XSC были доступны под Стандартная общественная лицензия GNU. В начале 2000 г. был выпущен C-XSC 2.0 под руководством рабочей группы по научным вычислениям Bergische University of Wuppertal соответствовать улучшенному стандарту C ++.

Еще одна библиотека классов C ++ была создана в 1993 г. Гамбургский технологический университет называется Профиль / BIAS (Библиотека быстрых интервалов, оптимизированная во время выполнения, базовая арифметика интервалов), что сделало обычные интервальные операции более удобными для пользователя. Он подчеркнул эффективное использование аппаратного обеспечения, портативность и независимость от конкретного представления интервалов.

В Увеличить сбор библиотек C ++ содержит шаблонный класс для интервалов. Его авторы стремятся использовать интервальную арифметику на стандартном языке C ++.[24]

В Фринк язык программирования имеет реализацию интервальной арифметики, которая обрабатывает числа произвольной точности. Программы, написанные на Frink, могут использовать интервалы без переписывания или перекомпиляции.

Тюрьма[25] - еще одна библиотека интервальной арифметики C ++, которая уникальна тем, что предлагает реляционные интервальные операторы, используемые в интервале программирование в ограничениях.

Библиотека Мура[26] - эффективная реализация интервальной арифметики в C ++. Он предоставляет интервалы с конечными точками произвольной точности и основан на «концептуальной» особенности C ++.

В Юля язык программирования[27] имеет реализацию интервальной арифметики вместе с высокоуровневыми функциями, такими как поиск корней (как для вещественных, так и для комплекснозначных функций) и интервальных программирование в ограничениях через пакет ValidatedNumerics.jl.[28]

Кроме того, системы компьютерной алгебры, такие как FriCAS, Mathematica, Клен, Maxima (программное обеспечение)[29] и MuPAD, может обрабатывать интервалы. А Matlab расширение Intlab[30] опирается на BLAS подпрограмм, а Toolbox b4m создает интерфейс Profil / BIAS.[30][31] Кроме того, программное обеспечение Набор инструментов "Математика Эйлера" включает интервальную арифметику.

Библиотека функционального языка OCaml была написана на ассемблере и C.[32]

Стандарт IEEE 1788

Стандарт интервальной арифметики IEEE Std 1788-2015 был утвержден в июне 2015 года.[33] Две эталонные реализации доступны бесплатно.[34] Они были разработаны членами рабочей группы по стандарту: libieeep1788[35] библиотека для C ++ и пакет interval[36] за GNU Octave.

Минимальный набор стандарта IEEE Std 1788.1-2017 был утвержден в декабре 2017 года и опубликован в феврале 2018 года.Это должно быть проще в реализации и может ускорить производство внедрений.[37]

Конференции и семинары

Ежегодно в мире проводится несколько международных конференций или семинаров. Основной конференцией, вероятно, является SCAN (Международный симпозиум по научным вычислениям, компьютерной арифметике и проверенным численным вычислениям), но есть также SWIM (небольшой семинар по интервальным методам), PPAM (Международная конференция по параллельной обработке и прикладной математике), REC (Международный Практикум по надежным инженерным вычислениям.

Смотрите также

Рекомендации

  1. ^ а б c Кулиш, Ульрих В. (1989). Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung (на немецком). Висбаден: Vieweg-Verlag. ISBN  3-528-08943-1.
  2. ^ а б Дрейер, Александр (2003). Интервальный анализ аналоговых схем с допусками компонентов. Аахен, Германия: Шейкер Верлаг. п. 15. ISBN  3-8322-4555-3.
  3. ^ Комплексная интервальная арифметика и ее приложения, Миодраг С. Петкович, Лиляна Д. Петкович, Вайли-ВЧ, 1998, ISBN  978-3-527-40134-5
  4. ^ а б c d е ж Хенд Дауд (2011). Теории интервальной арифметики: математические основы и приложения. Саарбрюккен: Академическое издательство LAP LAMBERT. ISBN  978-3-8465-0154-2.
  5. ^ "Иржи Рон, Список публикаций". Архивировано из оригинал на 2008-11-23. Получено 2008-05-26.
  6. ^ а б Уолстер, Г. Уильям; Хансен, Элдон Роберт (2004). Глобальная оптимизация с использованием интервального анализа (2-е изд.). Нью-Йорк, США: Марсель Деккер. ISBN  0-8247-4059-9.
  7. ^ Жаулин, Люк; Киффер, Мишель; Дидрит, Оливье; Уолтер, Эрик (2001). Прикладной интервальный анализ. Берлин: Springer. ISBN  1-85233-219-0.
  8. ^ Применение нечеткой арифметики для количественной оценки влияния неопределенных параметров модели, Майкл Ханс, Штутгартский университет
  9. ^ Такер, Уорик (1999). Аттрактор Лоренца существует. Comptes Rendus de l'Académie des Sciences-Series I-Mathematics, 328 (12), 1197-1202.
  10. ^ Янг, Розалинда Сисели (1931). Алгебра многозначных величин. Mathematische Annalen, 104 (1), 260-290. (NB. Докторант в Кембриджский университет.)
  11. ^ Дуайер, Пол Самнер (1951). Линейные вычисления. Оксфорд, Англия: Wiley. (университет Мичигана )
  12. ^ Сунага, Теруо (1958). «Теория интервальной алгебры и ее приложение к численному анализу». Мемуары RAAG (2): 29–46.
  13. ^ Мур, Рамон Эдгар (1966). Интервальный анализ. Энглвуд Клифф, Нью-Джерси, США: Prentice-Hall. ISBN  0-13-476853-1.
  14. ^ Клауд, Майкл Дж .; Мур, Рамон Эдгар; Кирфотт, Р. Бейкер (2009). Введение в интервальный анализ. Филадельфия: Общество промышленной и прикладной математики (СИАМ). ISBN  978-0-89871-669-6.
  15. ^ Хансен, Элдон Роберт (2001-08-13). «Публикации, относящиеся к ранним интервальным работам Р. Э. Мура». Университет Луизианы в Lafayette Press. Получено 2015-06-29.
  16. ^ Предыдущие статьи по интервальному анализу к Мечислав Вармус В архиве 2008-04-18 на Wayback Machine
  17. ^ Кулиш, Ульрих В. (1969). "Grundzüge der Intervallrechnung". В Лаугвице, Детлеф (ред.). Jahrbuch Überblicke Mathematik (на немецком). 2. Мангейм, Германия: Bibliographisches Institut. С. 51–98.
  18. ^ Алефельд, Гётц; Херцбергер, Юрген. Einführung in die Intervallrechnung. Reihe Informatik (на немецком языке). 12. Мангейм, Вена, Цюрих: B.I.-Wissenschaftsverlag. ISBN  3-411-01466-0.
  19. ^ Оценки для обыкновенных дифференциальных уравнений Рудольфа Лёнера В архиве 11 мая 2018 в Wayback Machine (на немецком)
  20. ^ Библиография Р. Бейкера Кирфотта, Университет Луизианы в Лафайете
  21. ^ Вступительный фильм (mpeg) из КОПРИН команды INRIA, София Антиполис
  22. ^ Программное обеспечение для интервальных вычислений собраны Владик Крейнович ], Техасский университет в Эль-Пасо.
  23. ^ История XSC-языков В архиве 2007-09-29 на Wayback Machine
  24. ^ Предложение о добавлении интервальной арифметики в стандартную библиотеку C ++
  25. ^ Тюрьма - это не просто еще одна библиотека интервальной арифметики
  26. ^ Мур: интервальная арифметика в современном C ++
  27. ^ Язык программирования Julia
  28. ^ ValidatedNumerics.jl
  29. ^ [1] Интервальная арифметика для максимума: краткое изложение Ричарда Дж. Фейтмана.]
  30. ^ а б Intlab INTerval LABoratory
  31. ^ b4m
  32. ^ Аллиот, Жан-Марк; Готтеланд, Жан-Батист; Ванарет, Чарли; Дюран, Николя; Джанацца, Дэвид (2012). Реализация библиотеки интервальных вычислений для OCaml на архитектурах x86 / amd64. 17-я Международная конференция по функциональному программированию ACM SIGPLAN.
  33. ^ Стандарт IEEE для интервальной арифметики
  34. ^ Натали Револь (2015). (Ближайший) будущий стандарт IEEE 1788 для интервальной арифметики, слайды // SWIM 2015: 8-й небольшой семинар по интервальным методам. Прага, 9-11 июня 2015 г.
  35. ^ Реализация на C ++ предварительного стандарта IEEE P1788 для интервальной арифметики
  36. ^ Пакет GNU Octave interval
  37. ^ «IEEE Std 1788.1-2017 - Стандарт IEEE для интервальной арифметики (упрощенный)». Стандарт IEEE. Ассоциация стандартов IEEE. 2017 г.. Получено 2018-02-06.

дальнейшее чтение

внешняя ссылка

Мастерские

Библиотеки