Интервальная арифметика
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Интервальная арифметика (также известная как интервальная математика; интервальный анализ или интервальное вычисление ) — это математический метод, используемый для уменьшения ошибок округления и измерения в математических вычислениях путем вычисления границ функции . Численные методы, включающие интервальную арифметику, могут гарантировать относительно надежные и математически правильные результаты. Вместо представления значения как одного числа интервальная арифметика или интервальная математика представляет каждое значение как диапазон возможностей .
Математически вместо работы с неопределенной с действительным знаком переменной , интервальная арифметика работает с интервалом который определяет диапазон значений, которые может иметь. Другими словами, любое значение переменной лежит в замкнутом интервале между и . Функция , применительно к , создает интервал который включает в себя все возможные значения для для всех .
Интервальная арифметика подходит для самых разных целей; наиболее распространенное использование - в научных работах, особенно когда расчеты выполняются с помощью программного обеспечения, где он используется для отслеживания ошибок округления в расчетах и неопределенностей в знании точных значений физических и технических параметров. Последние часто возникают из-за ошибок измерения и допусков компонентов или из-за ограничений точности вычислений. Интервальная арифметика также помогает находить гарантированные решения уравнений (например, дифференциальных уравнений ) и задач оптимизации .
Введение
[ редактировать ]Основная цель интервальной арифметики — предоставить простой способ вычисления верхней и нижней границ диапазона функции по одной или нескольким переменным. Эти конечные точки не обязательно являются истинной верхней или нижней границей диапазона, поскольку точный расчет этих значений может быть затруднен или невозможен; границы должны содержать только диапазон функции как подмножество.
Эта обработка обычно ограничивается реальными интервалами, поэтому количества в форме
где и разрешены. С одним из , бесконечен, интервал будет неограниченным интервалом; если оба они бесконечны, интервал будет представлять собой расширенную линию действительных чисел. Поскольку действительное число можно интерпретировать как интервал интервалы и действительные числа можно свободно комбинировать.
Пример
[ редактировать ]человека Рассмотрим расчет индекса массы тела (ИМТ). ИМТ рассчитывается как масса тела человека в килограммах, деленная на квадрат его роста в метрах. Предположим, человек пользуется весами с точностью до одного килограмма, на которых невозможно различить промежуточные значения, а истинный вес округляется до ближайшего целого числа. Например, 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. В таком случае точность весов была бы недостаточной, чтобы сделать окончательный вывод.
Диапазон примеров ИМТ можно представить как поскольку этот интервал является надмножеством расчетного интервала. Однако диапазон не может быть указан как , поскольку интервал не содержит возможных значений ИМТ.
Несколько интервалов
[ редактировать ]Рост и масса тела влияют на значение ИМТ. Хотя в приведенном выше примере учитывались только различия в весе, рост также подвержен неопределенности. Измерения высоты в метрах обычно округляются до ближайшего сантиметра: зарегистрированное измерение 1,79 метра представляет собой высоту в интервале . Поскольку ИМТ равномерно увеличивается по отношению к весу и уменьшается по отношению к росту, интервал ошибок можно рассчитать, подставив самые низкие и самые высокие значения каждого интервала, а затем выбрав самый низкий и самый высокий результаты в качестве границ. Следовательно, ИМТ должен существовать в интервале
При этом мужчина может иметь нормальный вес или иметь избыточный вес; измерения веса и роста были недостаточно точными, чтобы сделать окончательный вывод.
Интервальные операторы
[ редактировать ]Бинарная операция на двух интервалах, таких как сложение или умножение, определяется формулой
Другими словами, это набор всех возможных значений , где и находятся в соответствующих интервалах. Если монотонно содержит для каждого операнда на интервалах, что справедливо для четырех основных арифметических операций (кроме деления, когда знаменатель ), крайние значения встречаются в конечных точках интервалов операндов. Выписывая все комбинации, один из способов выразить это:
при условии, что определяется для всех и .
Для практических приложений это можно еще упростить:
- Добавление :
- Вычитание :
- Умножение :
- Разделение : где
В последнем случае теряется полезная информация об исключении . Таким образом, обычно приходится работать с и как отдельные интервалы. В более общем смысле при работе с разрывными функциями иногда полезно производить расчет с так называемыми мультиинтервалами вида Соответствующая многоинтервальная арифметика поддерживает набор (обычно непересекающихся) интервалов, а также обеспечивает объединение перекрывающихся интервалов. [ 1 ]
Интервальное умножение часто требует только двух умножений. Если , неотрицательны,
Умножение можно интерпретировать как площадь прямоугольника с разными краями. Интервал результатов охватывает все возможные области, от самых маленьких до самых больших.
С помощью этих определений уже можно вычислить область значений простых функций, таких как Например, если , и :
Обозначения
[ редактировать ]Для сокращения обозначения интервалов можно использовать скобки.
может использоваться для представления интервала. Заметим, что в таких компактных обозначениях не следует путать одноточечный интервал и общий интервал. Для набора всех интервалов мы можем использовать
как аббревиатура. Для вектора интервалов мы можем использовать жирный шрифт: .
Элементарные функции
[ редактировать ]Также могут быть определены интервальные функции, выходящие за рамки четырех основных операторов.
Для монотонных функций с одной переменной диапазон значений вычислить просто. Если монотонно возрастает (соответственно убывает) на интервале тогда для всех такой, что (соответственно ).
Диапазон, соответствующий интервалу поэтому можно вычислить, применив функцию к ее конечным точкам:
Исходя из этого, можно легко определить следующие основные характеристики интервальных функций:
- Экспоненциальная функция : для
- Логарифм : для положительных интервалов и
- Странные полномочия: , для странного
Для четных степеней диапазон рассматриваемых значений важен, и с ним необходимо разобраться, прежде чем выполнять какое-либо умножение. Например, для должен дать интервал когда Но если берется путем повторения интервального умножения формы тогда результат шире, чем необходимо.
В более общем смысле можно сказать, что для кусочно-монотонных функций достаточно рассмотреть конечные точки , интервала вместе с так называемыми критическими точками внутри интервала, которые представляют собой точки, в которых монотонность функции меняет направление. Для функций синуса и косинуса критические точки находятся в или для , соответственно. Таким образом, необходимо учитывать только до пяти точек внутри интервала, поскольку результирующий интервал если интервал содержит хотя бы два экстремума. Для синуса и косинуса полную оценку требуют только конечные точки, поскольку критические точки приводят к легко заранее рассчитанным значениям, а именно -1, 0 и 1.
Интервальные расширения общих функций
[ редактировать ]В общем, найти такое простое описание выходного интервала для многих функций может оказаться непросто. Но все же возможно расширить функции до интервальной арифметики. Если есть функция преобразования действительного вектора в действительное число, тогда называется расширением интервальным если
Такое определение интервального расширения не дает точного результата. Например, оба и являются допустимыми расширениями показательной функции. Желательны более жесткие расширения, хотя следует учитывать относительные затраты на расчеты и неточности; в этом случае, следует выбирать, так как он дает максимально точный результат.
Для реального выражения его естественное интервальное расширение достигается за счет использования интервальных расширений каждого из его подвыражений, функций и операторов.
( Расширение интервала Тейлора степени ) представляет собой раз дифференцируемая функция определяется
для некоторых , где это дифференциал -го порядка в точку и является интервальным расширением остатка Тейлора.
Вектор лежит между и с , защищен . Обычно человек выбирает быть серединой интервала и использует естественное расширение интервала для оценки остатка.
Частный случай расширения интервала Тейлора степени также называется формой среднего значения .
Сложная интервальная арифметика
[ редактировать ]Интервал можно определить как набор точек на заданном расстоянии от центра, и это определение можно расширить от действительных чисел до комплексных чисел . [ 2 ] Другое расширение определяет интервалы как прямоугольники на комплексной плоскости. Как и в случае с действительными числами, вычисления с комплексными числами включают в себя неопределенные данные. Итак, учитывая тот факт, что интервальное число представляет собой действительный замкнутый интервал, а комплексное число — это упорядоченную пару действительных чисел , нет оснований ограничивать применение интервальной арифметики мерой неопределенностей в вычислениях с действительными числами. [ 3 ] Таким образом, интервальную арифметику можно расширить с помощью комплексных интервальных чисел, чтобы определить области неопределенности при вычислениях с комплексными числами. Можно определить сложную интервальную арифметику с помощью прямоугольников или дисков, со своими преимуществами и недостатками. [ 3 ]
Основные алгебраические операции с действительными интервальными числами (действительными интервалами) можно распространить на комплексные числа. Поэтому неудивительно, что комплексная интервальная арифметика похожа на обычную комплексную арифметику, но не совпадает с ней. [ 3 ] Можно показать, что, как и в случае с вещественной интервальной арифметикой, не существует распределения между сложением и умножением комплексных интервальных чисел, за исключением некоторых особых случаев, а для комплексных интервальных чисел не всегда существуют обратные элементы. [ 3 ] Два других полезных свойства обычной комплексной арифметики не выполняются в арифметике комплексных интервалов: аддитивные и мультипликативные свойства обычных комплексных сопряжений не выполняются для сопряженных комплексных интервалов. [ 3 ]
Интервальная арифметика может быть распространена аналогичным образом на другие многомерные системы счисления, такие как кватернионы и октонионы , но с ценой, что нам придется пожертвовать другими полезными свойствами обычной арифметики. [ 3 ]
Интервальные методы
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( февраль 2018 г. ) |
Методы классического численного анализа не могут быть взаимно однозначно перенесены в интервальные алгоритмы, так как зависимости между числовыми значениями обычно не учитываются.
Арифметика с округленными интервалами
[ редактировать ]Для эффективной работы в реальной реализации интервалы должны быть совместимы с вычислениями с плавающей запятой. Более ранние операции были основаны на точной арифметике, но в целом методы быстрого численного решения для них могут быть недоступны. Диапазон значений функции для и например . Если тот же расчет выполняется с точностью до одной цифры, результат обычно будет . Но , таким образом, этот подход противоречил бы основным принципам интервальной арифметики, как части области был бы потерян. Вместо этого внешнее закругленное решение используется.
Стандарт IEEE 754 для двоичной арифметики с плавающей запятой также устанавливает процедуры реализации округления. Система, совместимая со стандартом IEEE 754, позволяет программистам округлять до ближайшего числа с плавающей запятой; альтернативами являются округление к 0 (усечение), округление к положительной бесконечности (т. е. вверх) или округление к отрицательной бесконечности (т. е. вниз).
Таким образом, необходимое внешнее округление для интервальной арифметики может быть достигнуто путем изменения настроек округления процессора при вычислении верхнего предела (вверх) и нижнего предела (вниз). Альтернативно, подходящий небольшой интервал можно добавить.
Проблема зависимости
[ редактировать ]Так называемая проблема «зависимости» является основным препятствием для применения интервальной арифметики. Хотя интервальные методы позволяют очень точно определить диапазон элементарных арифметических операций и функций, это не всегда верно для более сложных функций. Если при расчете с использованием параметров интервал встречается несколько раз и каждое вхождение берется независимо, то это может привести к нежелательному расширению получаемых интервалов.
В качестве иллюстрации возьмем функцию определяется Значения этой функции на интервале являются Как естественное расширение интервала, оно рассчитывается как:
который немного больше; вместо этого мы вычислили нижнюю и верхнюю грань функции над Есть лучшее выражение в котором переменная появляется только один раз, а именно при переписывании как сложение и возведение в квадрат .
Таким образом, подходящий расчет интервала:
и дает правильные значения.
В общем, можно показать, что точный диапазон значений может быть достигнут, если каждая переменная появляется только один раз и если непрерывен внутри ящика. Однако не каждую функцию можно переписать таким образом.
Зависимость проблемы, вызывающая переоценку диапазона значений, может доходить до охвата большого диапазона, препятствуя более значимым выводам.
Дополнительное увеличение дальности происходит за счет решения областей, не принимающих форму интервального вектора. Множество решений линейной системы
это именно линия между точками и Использование интервальных методов приводит к единичному квадрату, Это известно как эффект обертывания .
Линейные интервальные системы
[ редактировать ]Линейная интервальная система состоит из матричного интервального расширения. и интервальный вектор . Нам нужен самый маленький кубоид , для всех векторов какая есть пара с и удовлетворительно.
- .
Для квадратичных систем – иными словами, для – может быть такой интервальный вектор , который охватывает все возможные решения, найденные просто интервальным методом Гаусса. Это заменяет числовые операции, поскольку метод линейной алгебры, известный как исключение Гаусса, становится его интервальной версией. Однако, поскольку этот метод использует интервальные сущности и неоднократно в расчетах, это может привести к плохим результатам для некоторых задач. Следовательно, использование результата Гаусса с интервальными значениями дает только первые грубые оценки, поскольку, хотя он содержит все множество решений, он также имеет большую площадь за его пределами.
Грубое решение часто можно улучшить с помощью интервальной версии метода Гаусса – Зейделя . Мотивацией этого является то, что -я строка интервального расширения линейного уравнения.
можно определить по переменной если подразделение разрешено. Поэтому это происходит одновременно.
- и .
Итак, теперь мы можем заменить к
- ,
и поэтому вектор по каждому элементу. Поскольку процедура более эффективна для диагонально доминирующей матрицы вместо системы часто можно попробовать умножить его на подходящую рациональную матрицу с полученным матричным уравнением.
осталось решить. Если кто-то выберет, например, для центральной матрицы , затем является внешним расширением единичной матрицы.
Эти методы работают хорошо только в том случае, если ширина встречающихся интервалов достаточно мала. Для более широких интервалов может быть полезно использовать интервально-линейную систему для конечных (хотя и больших) эквивалентных линейных систем действительных чисел. Если все матрицы обратимы, то достаточно рассмотреть все возможные комбинации (верхние и нижние) концов, встречающихся в интервалах. Возникающие проблемы могут быть решены с использованием традиционных численных методов. Интервальная арифметика по-прежнему используется для определения ошибок округления.
Это подходит только для систем меньшего размера, так как при полностью занятом матрица, реальные матрицы необходимо инвертировать, причем векторы для правой части. Этот подход был разработан Иржи Роном и до сих пор развивается. [ 4 ]
Интервальный метод Ньютона
[ редактировать ]Интервальный вариант метода Ньютона для поиска нулей в интервальном векторе. может быть получено из расширения среднего значения. [ 5 ] Для неизвестного вектора применяется к , дает.
- .
Для нуля , то есть , и, следовательно, должно удовлетворять.
- .
Это эквивалентно . Внешняя оценка можно определить линейными методами.
На каждом шаге интервального метода Ньютона приблизительное начальное значение заменяется на и таким образом результат можно улучшить. В отличие от традиционных методов, интервальный метод приближает результат к результату, содержащему нули. Это гарантирует, что результат выдаст все нули в начальном диапазоне. Обратно, это доказывает, что никакие нули были в исходном диапазоне если шаг Ньютона создает пустое множество.
Метод сходится по всем нулям в начальной области. Деление на ноль может привести к разделению отдельных нулей, хотя разделение может быть неполным; его можно дополнить методом деления пополам .
В качестве примера рассмотрим функцию , стартовый диапазон , и точка . Тогда у нас есть и первый шаг Ньютона дает.
- .
Дополнительные шаги Ньютона используются отдельно на и . Они сходятся к сколь угодно малым интервалам вокруг и .
Интервальный метод Ньютона также можно использовать с толстыми функциями, такими как , который в любом случае будет иметь интервальные результаты. В результате получаются интервалы, содержащие .
Бисекция и крышки
[ редактировать ]Различные интервальные методы дают консервативные результаты, поскольку не учитываются зависимости между размерами различных расширений интервалов. Однако проблема зависимости становится менее значимой для более узких интервалов.
Покрытие интервального вектора по меньшим коробкам так что
тогда действительно для диапазона значений.
Итак, для описанных выше интервальных расширений справедливо следующее:
С часто является настоящим надмножеством правой части, это обычно приводит к улучшению оценки.
Такое покрытие можно создать методом деления пополам , например, из толстых элементов. вектора интервалов путем разделения в центре на два интервала и Если результат по-прежнему не подходит, возможно дальнейшее постепенное подразделение. Обложка интервалы являются результатом деления элементов вектора, что существенно увеличивает затраты на вычисления.
При очень широких интервалах может оказаться полезным разбить все интервалы на несколько подинтервалов с постоянной (и меньшей) шириной — метод, известный как измельчение . Это позволяет избежать вычислений для промежуточных шагов деления пополам. Оба метода подходят только для задач малой размерности.
Приложение
[ редактировать ]Интервальная арифметика может использоваться в различных областях (таких как инверсия набора , планирование движения , оценка набора или анализ устойчивости) для обработки оценок без точного числового значения. [ 6 ]
Анализ ошибок округления
[ редактировать ]Интервальная арифметика используется при анализе ошибок для контроля ошибок округления, возникающих в результате каждого расчета. Преимущество интервальной арифметики в том, что после каждой операции остается интервал, достоверно включающий истинный результат. Расстояние между границами интервала дает непосредственный текущий расчет ошибок округления:
- Ошибка = за заданный интервал .
Интервальный анализ дополняет, а не заменяет традиционные методы уменьшения ошибок, такие как поворот .
Анализ толерантности
[ редактировать ]Параметры, для которых невозможно выделить точные цифры, часто возникают при моделировании технических и физических процессов. Процесс производства технических компонентов допускает определенные допуски, поэтому некоторые параметры колеблются в определенных пределах. Кроме того, многие фундаментальные константы точно неизвестны. [ 1 ]
Если поведение такой системы под влиянием допусков удовлетворяет, например, , для и неизвестный то множество возможных решений.
- ,
можно найти интервальными методами. Это обеспечивает альтернативу традиционному распространению анализа ошибок . В отличие от точечных методов, таких как моделирование Монте-Карло , метод интервальной арифметики гарантирует, что ни одна часть области решения не может быть упущена из виду. Однако результатом всегда является анализ распределения ошибок в наихудшем случае, поскольку другие распределения, основанные на вероятности, не учитываются.
Нечеткая интервальная арифметика
[ редактировать ]Интервальную арифметику можно также использовать с функциями принадлежности для нечетких величин, поскольку они используются в нечеткой логике . Помимо строгих заявлений и , возможны и промежуточные значения, к которым относятся действительные числа назначены. соответствует определенному членству, в то время как является нечленством. Функция распределения задает неопределенность, которую можно понимать как дополнительный интервал.
Для нечеткой арифметики [ 7 ] только конечное число дискретных стадий принадлежности считаются. Тогда форму такого распределения для нечеткой величины можно представить последовательностью интервалов.
Интервал в точности соответствует диапазону колебаний для стадии
Подходящее распределение для функции о нечетких ценностях и соответствующие последовательности.
можно аппроксимировать последовательностью.
где
и может быть рассчитана интервальными методами. Значение соответствует результату интервального расчета.
Компьютерное доказательство
[ редактировать ]Уорвик Такер использовал интервальную арифметику, чтобы решить 14-ю задачу Смейла , то есть показать, что аттрактор Лоренца — странный аттрактор . [ 8 ] Томас Хейлз использовал интервальную арифметику, чтобы решить гипотезу Кеплера .
История
[ редактировать ]Интервальная арифметика не является совершенно новым явлением в математике; В ходе истории он появлялся несколько раз под разными названиями. Например, Архимед вычислил нижнюю и верхнюю границы 223/71 < π < 22/7 в III веке до нашей эры. Фактический расчет с интервалами не был так популярен, как другие численные методы, и не был полностью забыт.
Правила вычислений с интервалами и другими подмножествами действительных чисел были опубликованы в работе Розалинд Сисели Янг в 1931 году. [ 9 ] Арифметическая работа над числами диапазонов для повышения надежности цифровых систем была затем опубликована в 1951 году в учебнике по линейной алгебре Пола С. Дуайера ; [ 10 ] интервалы использовались для измерения ошибок округления, связанных с числами с плавающей запятой. Подробную статью по интервальной алгебре в численном анализе опубликовал Теруо Сунага (1958). [ 11 ]
Рождение современной интервальной арифметики ознаменовалось появлением в 1966 году книги «Интервальный анализ» Рамона Э. Мура . [ 12 ] [ 13 ] Идея пришла ему в голову весной 1958 года, а год спустя он опубликовал статью о компьютерной интервальной арифметике. [ 14 ] Его достоинство заключалось в том, что, начав с простого принципа, он предоставил общий метод автоматического анализа ошибок, а не только ошибок, возникающих в результате округления.
Независимо в 1956 году Мечислав Вармус предложил формулы для расчетов с интервалами: [ 15 ] хотя Мур нашел первые нетривиальные приложения.
В последующие двадцать лет немецкие группы исследователей провели новаторскую работу вокруг Ульриха В. Кулиша. [ 16 ] [ 17 ] и Гётц Алефельд [ 18 ] в Университете Карлсруэ , а затем и в Бергишском университете в Вуппертале . Например, Карл Никель исследовал более эффективные реализации, в то время как улучшенные процедуры сдерживания для набора решений систем уравнений были обязаны, среди прочего, Арнольду Ноймайеру. В 1960-х годах Элдон Р. Хансен занимался интервальными расширениями для линейных уравнений, а затем внес решающий вклад в глобальную оптимизацию, включая то, что сейчас известно как метод Хансена, возможно, наиболее широко используемый интервальный алгоритм. [ 5 ] При этом классические методы часто сталкиваются с проблемой определения наибольшего (или наименьшего) глобального значения, но могут найти только локальный оптимум и не могут найти лучшие значения; Хельмут Ратчек и Джон Джордж Рокне разработали методы ветвей и границ , которые до этого применялись только к целочисленным значениям, используя интервалы для обеспечения приложений для непрерывных значений.
В 1988 году Рудольф Лонер разработал программное обеспечение на базе Фортрана для надежного решения начальных задач с использованием обыкновенных дифференциальных уравнений . [ 19 ]
Журнал Reliable Computing (первоначально Interval Computations ) издается с 1990-х годов и посвящен надежности компьютерных вычислений. В качестве ведущего редактора Р. Бейкер Кирфотт, помимо своей работы по глобальной оптимизации, внес значительный вклад в унификацию обозначений и терминологии, используемой в интервальной арифметике. [ 20 ]
была сосредоточена, в частности, на оценке прообразов параметризованных функций и теории устойчивого управления. В последние годы работа рабочей группы COPRIN INRIA в Софии-Антиполисе во Франции [ 21 ]
Реализации
[ редактировать ]Существует множество пакетов программного обеспечения, которые позволяют разрабатывать числовые приложения с использованием интервальной арифметики. [ 22 ] Обычно они предоставляются в виде программных библиотек. Существуют также C++ и Fortran компиляторы , которые обрабатывают интервальные типы данных и подходящие операции в качестве расширения языка, поэтому интервальная арифметика поддерживается напрямую.
С 1967 года расширения для научных вычислений разрабатываются в Университете Карлсруэ (XSC) для различных языков программирования , таких как C++, Fortran и Pascal . [ 23 ] Первой платформой стала Zuse Z23 , для которой стал доступен новый интервальный тип данных с соответствующими элементарными операторами. В 1976 году последовал Pascal-SC , вариант Pascal для Zilog Z80 , который позволял создавать быстрые и сложные процедуры для автоматической проверки результатов. Затем появился ACRITH-XSC на базе Fortran 77 для архитектуры System/370 (FORTRAN-SC), который позже был поставлен IBM. Начиная с 1991 года можно было создавать код для C компиляторов с помощью Pascal-XSC ; год спустя библиотека классов C++ поддерживала C-XSC на многих различных компьютерных системах. В 1997 году все варианты XSC стали доступны по лицензии GNU General Public License . В начале 2000 года под руководством рабочей группы по научным вычислениям Бергишского университета в Вуппертале был выпущен C-XSC 2.0 , соответствующий улучшенному стандарту C++.
Еще одна библиотека классов C++ была создана в 1993 году в Гамбургском технологическом университете под названием Profil/BIAS (оптимизированная во время выполнения программиста библиотека быстрых интервалов, базовая интервальная арифметика), которая сделала обычные интервальные операции более удобными для пользователя. В нем подчеркивалось эффективное использование аппаратного обеспечения, портативность и независимость конкретного представления интервалов.
Коллекция библиотек C++ Boost содержит класс шаблона для интервалов. Его авторы стремятся реализовать интервальную арифметику в стандартном языке C++. [ 24 ]
Язык программирования Frink имеет реализацию интервальной арифметики, которая обрабатывает числа произвольной точности . Программы, написанные на Frink, могут использовать интервалы без перезаписи или перекомпиляции.
ТЮРЬМА [ 25 ] — еще одна библиотека интервальной арифметики C++, уникальная тем, что предлагает операторы реляционных интервалов, используемые при программировании с интервальными ограничениями .
Библиотека Мура [ 26 ] — эффективная реализация интервальной арифметики в C++. Он предоставляет интервалы с конечными точками произвольной точности и основан на концепциях C++ .
Язык Джулия. программирования [ 27 ] имеет реализацию интервальной арифметики наряду с функциями высокого уровня, такими как поиск корня (как для вещественных, так и для комплексных функций) и программирование интервальных ограничений , через пакет ValidatedNumerics.jl. [ 28 ]
Кроме того, системы компьютерной алгебры, такие как FriCAS , Mathematica , Maple , Maxima (программное обеспечение) [ 29 ] и MuPAD могут обрабатывать интервалы. Matlab Расширение Intlab [ 30 ] основан на процедурах BLAS , а Toolbox b4m создает интерфейс Profil/BIAS. [ 30 ] [ 31 ] Более того, Software Euler Math Toolbox включает в себя интервальную арифметику.
Библиотека функционального языка OCaml написана на языке ассемблера и C. [ 32 ]
Стандарт IEEE 1788
[ редактировать ]Стандарт интервальной арифметики IEEE Std 1788-2015 был утвержден в июне 2015 года. [ 33 ] Две эталонные реализации находятся в свободном доступе. [ 34 ] Они были разработаны членами рабочей группы по стандарту: libieeep1788. [ 35 ] библиотека для C++ и пакет интервалов [ 36 ] для GNU Octave .
Минимальное подмножество стандарта IEEE Std 1788.1-2017 было одобрено в декабре 2017 года и опубликовано в феврале 2018 года. Его должно быть проще реализовать, и оно может ускорить создание реализаций. [ 37 ]
Конференции и семинары
[ редактировать ]Ежегодно в мире проводится несколько международных конференций или семинаров. Основной конференцией, вероятно, является SCAN (Международный симпозиум по научным вычислениям, компьютерной арифметике и проверенным численным вычислениям), но есть также SWIM (Малый семинар по интервальным методам), PPAM (Международная конференция по параллельной обработке и прикладной математике), REC (Международная конференция). Семинар по надежным инженерным вычислениям).
См. также
[ редактировать ]- Аффинная арифметика
- INTLAB (Интервальная лаборатория)
- Автоматическая дифференциация
- Многосеточный метод
- Моделирование Монте-Карло
- Интервальный конечный элемент
- Нечеткое число
- Значительные цифры
- Точная арифметика Карлсруэ (КАА)
- Один
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Дрейер, Александр (2003). Интервальный анализ аналоговых схем с допусками на компоненты . Ахен, Германия: Шейкер Верлаг . п. 15. ISBN 3-8322-4555-3 .
- ^ Комплексная интервальная арифметика и ее приложения , Миодраг С. Петкович , Лиляна Д. Петкович, Wiley-VCH , 1998, ISBN 978-3-527-40134-5
- ^ Перейти обратно: а б с д и ж Хенд Давуд (2011). Теории интервальной арифметики: математические основы и приложения . Саарбрюккен: Академическое издательство LAP LAMBERT. ISBN 978-3-8465-0154-2 .
- ^ «Иржи Рон, Список публикаций» . Архивировано из оригинала 23 ноября 2008 г. Проверено 26 мая 2008 г.
- ^ Перейти обратно: а б Уолстер, Дж. Уильям; Хансен, Элдон Роберт (2004). Глобальная оптимизация с использованием интервального анализа (2-е изд.). Нью-Йорк, США: Марсель Деккер. ISBN 0-8247-4059-9 .
- ^ Жолен, Люк; Киффер, Мишель; Дидрит, Оливье; Уолтер, Эрик (2001). Прикладной интервальный анализ . Берлин: Шпрингер. ISBN 1-85233-219-0 .
- ^ Применение нечеткой арифметики для количественной оценки влияния неопределенных параметров модели, Майкл Хансс , Штутгартский университет
- ^ Такер, Уорик (1999). Аттрактор Лоренца существует. Comptes Rendus de l’Académie des Sciences, серия I-Mathematics, 328 (12), 1197–1202.
- ^ Янг, Розалинда Сисили (1931). Алгебра многозначных величин. Математические Анналы, 104 (1), 260–290. (Примечание: докторант Кембриджского университета .)
- ^ Дуайер, Пол Самнер (1951). Линейные вычисления. Оксфорд, Англия: Уайли. ( Мичиганский университет )
- ^ Сунага, Теруо (1958). «Теория интервальной алгебры и ее применение к численному анализу». Мемуары РААГ (2): 29–46.
- ^ Мур, Рамон Эдгар (1966). Интервальный анализ . Энглвуд Клифф, Нью-Джерси, США: Прентис-Холл . ISBN 0-13-476853-1 .
- ^ Клауд, Майкл Дж.; Мур, Рамон Эдгар ; Кирфотт, Р. Бейкер (2009). Введение в интервальный анализ . Филадельфия: Общество промышленной и прикладной математики (SIAM). ISBN 978-0-89871-669-6 .
- ^ Хансен, Элдон Роберт (13 августа 2001 г.). «Публикации, относящиеся к ранним интервальным работам Р.Э. Мура» . Университет Луизианы в Lafayette Press . Проверено 29 июня 2015 г.
- ^ по интервальному анализу. Предварительные статьи Мечислава Вармуса Архивировано 18 апреля 2008 г. в Wayback Machine.
- ^ Кулиш, Ульрих В. (1989). Научные вычисления с проверкой результатов. Введение (на немецком языке). Висбаден: Vieweg-Verlag . ISBN 3-528-08943-1 .
- ^ Кулиш, Ульрих В. (1969). «Основные принципы интервального расчета». В Лаугвице, Детлеф (ред.). Обзоры ежегодников по математике (на немецком языке). Том 2. Мангейм, Германия: Библиографический институт . стр. 51–98.
- ^ Алефельд, Гетц [на немецком языке] ; Герцбергер, Юрген (1974). Введение в интервальный расчет . Серия информатики (на немецком языке). Том 12. Мангейм, Вена, Цюрих: BI-Wissenschaftsverlag . ISBN 3-411-01466-0 .
- ^ Границы для обыкновенных дифференциальных уравнений Рудольфа Лонера. Архивировано 11 мая 2018 г. в Wayback Machine (на немецком языке).
- ^ Библиография Р. Бейкера Кирфотта , Университет Луизианы в Лафайете
- ^ Вступительный фильм (mpeg) COPRIN INRIA , команд София Антиполис
- ^ Программное обеспечение для интервальных вычислений. Архивировано 2 марта 2006 г. в Wayback Machine, собранное Владиком Крейновичем из Техасского университета в Эль-Пасо .
- ^ История XSC-языков , заархивированная 29 сентября 2007 г. в Wayback Machine.
- ^ Предложение добавить интервальную арифметику в стандартную библиотеку C++.
- ^ Тюрьма - это не просто еще одна библиотека интервальной арифметики
- ^ Мур: Интервальная арифметика в современном C++
- ^ Язык программирования Джулия
- ^ ValidatedNumerics.jl
- ^ [1] Интервальная арифметика для максимумов: краткое изложение Ричарда Дж. Фейтмана.]
- ^ Перейти обратно: а б «Интлаб ИНТЕРВАЛ ЛАБОРАТОРИЯ» . Архивировано из оригинала 30 января 2020 г. Проверено 7 ноября 2012 г.
- ^ б4м
- ^ Аллиот, Жан-Марк; Готтеланд, Жан-Батист; Ванарет, Чарли; Дюран, Николя; Джанацца, Дэвид (2012). Реализация библиотеки интервальных вычислений для OCaml на архитектурах x86/amd64 . 17-я Международная конференция ACM SIGPLAN по функциональному программированию.
- ^ Стандарт IEEE для интервальной арифметики
- ^ Натали Револь (2015). Стандарт (ближайшего) будущего IEEE 1788 для интервальной арифметики, слайды // SWIM 2015: 8-й небольшой семинар по интервальным методам. Прага, 9–11 июня 2015 г.
- ^ Реализация C++ предварительного стандарта IEEE P1788 для интервальной арифметики.
- ^ Пакет интервалов GNU Octave
- ^ «IEEE Std 1788.1-2017 — Стандарт IEEE для интервальной арифметики (упрощенный)» . Стандарт IEEE . Ассоциация стандартов IEEE. 2017. Архивировано из оригинала 07 февраля 2018 г. Проверено 06 февраля 2018 г.
Дальнейшее чтение
[ редактировать ]- Хейс, Брайан (ноябрь – декабрь 2003 г.). «Осознанный интервал» (PDF) . Американский учёный . 91 (6). Сигма Си: 484–488. дои : 10.1511/2003.6.484 .
- Такер, Уорик (2011). Проверенные цифры: краткое введение в строгие вычисления . Издательство Принстонского университета . ISBN 978-1400838974 .
- Випперманн, Ханс-Вильм (1968) [15 июня 1967, 1966]. «Определение связанных чисел в Триплекс-АЛГОЛ». Вычисление (на немецком языке). 3 (2). Карлсруэ, Германия: Springer: 99–109. дои : 10.1007/BF02277452 . ISSN 0010-485X . S2CID 36685400 . (11 страниц) (Примечание. О Triplex-ALGOL Karlsruhe , реализации ALGOL 60 (1963) с поддержкой триплексных чисел.)
Внешние ссылки
[ редактировать ]- Интервальная арифметика (Wolfram Mathworld)
- Проверенные цифры для пешеходов
- Интервальные методы от Арнольда Ноймайера , Венский университет
- SWIM (Летний семинар по интервальным методам)
- Международная конференция по параллельной обработке и прикладной математике
- INTLAB, Институт надежных вычислений. Архивировано 30 января 2020 г. в Wayback Machine , Гамбургский технологический университет.
- Шаровая арифметика Йориса ван дер Хувена.
- kv — библиотека C++ для проверенных численных вычислений
- Arb - библиотека C для шаровой арифметики произвольной точности.
- JuliaIntervals на GitHub