stringtranslate.com

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

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

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

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

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

Введение

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

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

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

Пример

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

Рассмотрим расчет индекса массы тела человека (ИМТ). ИМТ рассчитывается как вес человека в килограммах, деленный на квадрат его роста в метрах. Предположим, что человек использует весы с точностью до одного килограмма, где промежуточные значения не могут быть различимы, а истинный вес округляется до ближайшего целого числа. Например, 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 метра представляет собой рост в интервале . Поскольку ИМТ равномерно увеличивается относительно веса и уменьшается относительно роста, интервал погрешности можно рассчитать, подставив наименьшее и наибольшее значения каждого интервала, а затем выбрав наименьший и наибольший результаты в качестве границ. Таким образом, ИМТ должен существовать в интервале

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

Интервальные операторы

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

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

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

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

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

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

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

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

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

Обозначение

Для сокращения записи интервалов можно использовать скобки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

для некоторых , где — дифференциал -го порядка в точке , а — интервальное расширение остатка Тейлора.

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

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

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

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

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

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

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

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

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

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

Внешние границы при разной степени округления

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

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

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

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

Приблизительная оценка диапазона значений

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

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

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

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

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

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

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

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

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

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

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

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

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

.

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

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

может быть определено переменной, если деление разрешено. Следовательно, оно одновременно.

и .

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

,

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

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

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

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

Метод интервального Ньютона

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

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

.

Для нуля , то есть , и, таким образом, должно удовлетворять.

.

Это эквивалентно . Внешнюю оценку можно определить с помощью линейных методов.

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

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

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

.

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

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

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

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

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

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

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

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

Поскольку часто является настоящим надмножеством правой части, это обычно приводит к улучшенной оценке.

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

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

Приложение

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

Анализ погрешности округления

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

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

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

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

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

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

,

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

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

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

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

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

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

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

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

где

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

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

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

История

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

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

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

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

В последующие двадцать лет немецкие группы исследователей провели новаторскую работу вокруг Ульриха В. Кулиша [16] [17] и Гётца Алефельда  [de] [18] в Университете Карлсруэ , а позднее также в Университете Бергише в Вуппертале . Например, Карл Никель  [de] исследовал более эффективные реализации, в то время как улучшенные процедуры сдерживания для набора решений систем уравнений были созданы Арнольдом Ноймайером и другими. В 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 (Programmer's Runtime Optimized Fast Interval Library, Basic Interval Arithmetic), что сделало обычные интервальные операции более удобными для пользователя. Она подчеркивала эффективное использование оборудования, переносимость и независимость конкретного представления интервалов.

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

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

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

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

Язык программирования Julia [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 (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation), но есть также SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics), REC (International Workshop on Reliable Engineering Computing).

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

Ссылки

  1. ^ ab Dreyer, Alexander (2003). Интервальный анализ аналоговых схем с допусками компонентов . Ахен, Германия: Shaker Verlag . стр. 15. ISBN 3-8322-4555-3.
  2. ^ Комплексная интервальная арифметика и ее приложения, Миодраг С. Петкович , Лилиана Д. Петкович, Wiley-VCH , 1998, ISBN 978-3-527-40134-5 
  3. ^ abcdef Хенд Давуд (2011). Теории интервальной арифметики: математические основы и приложения . Саарбрюккен: LAP LAMBERT Academic Publishing. ISBN 978-3-8465-0154-2
  4. ^ "Иржи Рон, Список публикаций". Архивировано из оригинала 2008-11-23 . Получено 2008-05-26 .
  5. ^ аб Уолстер, Г. Уильям; Хансен, Элдон Роберт (2004). Глобальная оптимизация с использованием интервального анализа (2-е изд.). Нью-Йорк, США: Марсель Деккер. ISBN 0-8247-4059-9.
  6. ^ Жолен, Люк; Киффер, Мишель; Дидрит, Оливье; Уолтер, Эрик (2001). Прикладной интервальный анализ . Берлин: Шпрингер. ISBN 1-85233-219-0.
  7. ^ Применение нечеткой арифметики для количественной оценки эффектов неопределенных параметров модели, Михаэль Ханс, Штутгартский университет
  8. ^ Такер, Уорик (1999). Аттрактор Лоренца существует. Comptes Rendus de l'Académie des Sciences, серия I-Mathematics, 328 (12), 1197–1202.
  9. ^ Янг, Розалинд Сесили (1931). Алгебра многозначных величин. Mathematische Annalen, 104(1), 260-290. (Примечание. Докторант Кембриджского университета .)
  10. ^ Дуайер, Пол Самнер (1951). Линейные вычисления. Оксфорд, Англия: Wiley. ( Мичиганский университет )
  11. ^ Сунага, Теруо (1958). «Теория интервальной алгебры и ее применение к численному анализу». Мемуары РААГ (2): 29–46.
  12. ^ Мур, Рамон Эдгар (1966). Интервальный анализ . Энглвуд Клифф, Нью-Джерси, США: Prentice-Hall . ISBN 0-13-476853-1.
  13. ^ Cloud, Michael J.; Moore, Ramon Edgar ; Kearfott, R. Baker (2009). Введение в интервальный анализ . Филадельфия: Общество промышленной и прикладной математики (SIAM). ISBN 978-0-89871-669-6.
  14. ^ Хансен, Элдон Роберт (2001-08-13). "Публикации, связанные с ранними интервальными работами RE Moore". Университет Луизианы в Lafayette Press . Получено 29-06-2015 .
  15. ^ Предварительные статьи по интервальному анализу Мечислава Вармуса Архивировано 18 апреля 2008 г. на Wayback Machine
  16. ^ Кулиш, Ульрих В. (1989). Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung (на немецком языке). Висбаден: Vieweg-Verlag . ISBN 3-528-08943-1.
  17. ^ Кулиш, Ульрих В. (1969). «Grundzüge der Intervallrechnung». В Лаугвице, Детлеф (ред.). Jahrbuch Überblicke Mathematik (на немецком языке). Том. 2. Мангейм, Германия: Библиографический институт . стр. 51–98.
  18. ^ Алефельд, Гетц [на немецком языке] ; Герцбергер, Юрген (1974). Einführung in die Intervallrechnung . Райхе Информатик (на немецком языке). Том. 12. Мангейм, Вена, Цюрих: BI-Wissenschaftsverlag . ISBN 3-411-01466-0.
  19. ^ Границы для обыкновенных дифференциальных уравнений Рудольфа Лонера Архивировано 11 мая 2018 г. на Wayback Machine (на немецком языке)
  20. ^ Библиография Р. Бейкера Кирфотта, Университет Луизианы в Лафайете
  21. ^ Вступительный фильм (mpeg) команд COPRIN INRIA , София Антиполис
  22. ^ Программное обеспечение для интервальных вычислений. Архивировано 2 марта 2006 г. на Wayback Machine. Собрано Владиком Крейновичем , Техасский университет в Эль-Пасо .
  23. ^ История XSC-языков. Архивировано 29 сентября 2007 г. на Wayback Machine.
  24. ^ Предложение добавить интервальную арифметику в стандартную библиотеку C++
  25. ^ Gaol — это не просто еще одна библиотека интервальной арифметики
  26. ^ Мур: Интервальная арифметика в современном C++
  27. ^ Язык программирования Julia
  28. ^ Проверенные числа.jl
  29. ^ [1] Интервальная арифметика для Максима: краткое изложение Ричарда Дж. Фейтмана.]
  30. ^ ab "Intlab INTerval LABoratory". Архивировано из оригинала 2020-01-30 . Получено 2012-11-07 .
  31. ^ б4м
  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
  37. ^ "IEEE Std 1788.1-2017 - Стандарт IEEE для интервальной арифметики (упрощенный)". Стандарт IEEE . Ассоциация стандартов IEEE. 2017. Архивировано из оригинала 2018-02-07 . Получено 2018-02-06 .

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

Внешние ссылки