stringtranslate.com

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

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

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

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

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

Введение

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

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

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

Пример

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

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

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

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

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

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

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

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

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

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

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

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

Обозначения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сложная интервальная арифметика

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

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

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

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

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

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

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

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

Стандарт 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, могут использовать интервалы без перезаписи или перекомпиляции.

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] Кроме того, программное обеспечение 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 (Международная конференция). Семинар по надежным инженерным вычислениям).

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

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

  1. ^ Аб Дрейер, Александр (2003). Интервальный анализ аналоговых схем с допусками на компоненты . Ахен, Германия: Шейкер Верлаг . п. 15. ISBN 3-8322-4555-3.
  2. ^ Комплексная интервальная арифметика и ее приложения, Миодраг С. Петкович , Лиляна Д. Петкович, Wiley-VCH , 1998, ISBN 978-3-527-40134-5 
  3. ^ abcdef Хенд Давуд (2011). Теории интервальной арифметики: математические основы и приложения . Саарбрюккен: Академическое издательство LAP LAMBERT. ISBN 978-3-8465-0154-2
  4. ^ «Иржи Рон, Список публикаций». Архивировано из оригинала 23 ноября 2008 г. Проверено 26 мая 2008 г.
  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). Алгебра многозначных величин. Математические Анналы, 104 (1), 260–290. (Примечание: докторант Кембриджского университета .)
  10. ^ Дуайер, Пол Самнер (1951). Линейные вычисления. Оксфорд, Англия: Уайли. ( Университет Мичигана )
  11. ^ Сунага, Теруо (1958). «Теория интервальной алгебры и ее применение к численному анализу». Мемуары РААГ (2): 29–46.
  12. ^ Мур, Рамон Эдгар (1966). Интервальный анализ . Энглвуд Клифф, Нью-Джерси, США: Прентис-Холл . ISBN 0-13-476853-1.
  13. ^ Клауд, Майкл Дж.; Мур, Рамон Эдгар ; Кирфотт, Р. Бейкер (2009). Введение в интервальный анализ . Филадельфия: Общество промышленной и прикладной математики (SIAM). ISBN 978-0-89871-669-6.
  14. ^ Хансен, Элдон Роберт (13 августа 2001 г.). «Публикации, связанные с ранними интервальными работами Р.Э. Мура». Университет Луизианы в Lafayette Press . Проверено 29 июня 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. ^ Тюрьма - это не просто еще одна библиотека интервальной арифметики
  26. ^ Мур: Интервальная арифметика в современном C++
  27. ^ Язык программирования Джулия
  28. ^ ValidatedNumerics.jl
  29. ^ [1] Интервальная арифметика для максимумов: краткое изложение Ричарда Дж. Фейтмана.]
  30. ^ ab "Intlab INterval LAboratory". Архивировано из оригинала 30 января 2020 г. Проверено 7 ноября 2012 г.
  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 Octave
  37. ^ «IEEE Std 1788.1-2017 — Стандарт IEEE для интервальной арифметики (упрощенный)» . Стандарт IEEE . Ассоциация стандартов IEEE. 2017. Архивировано из оригинала 7 февраля 2018 г. Проверено 06 февраля 2018 г.

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

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