Интервальный анализ

и его приложения

06:22    Пятница    26 Апрель 2024

Программное обеспечение и языки программирования


  • Interval arithmetic specification, Sun Microsystems, 2000.

    – рабочая cпецификация, на основе которой был создан интервальный Фортран-95 корпорации Sun Microsystems (ныне поглощена Oracle). Документ эпохи, имеющий не только историческую ценность, поскольку в дальнейшем он послужил основой для реализации нескольких библиотек и языков программирования, поддерживающих интервальные вычисления. Под псевдонимом «D. Chiriaev» одного из авторов помимо Д.В. Ширяева скрывается, в действительности, целая команда разработчиков новосибирской компании «УниПро», выполнявшей этот проект.

  • IntvalPy – интервальная библиотека для языка Python

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

    Альтернативная ссылка на библиотеку IntvalPy, на репозиторий pypi.org   –   https://pypi.org/project/intvalpy/.

  • Интервалы в Java – проект JInterval

    Обзоры основных принципов построения этой библиотки даны в презентации С.И. Жилина на конференции МАК-2009 (Алтайский госуниверситет, Барнаул, июнь 2009 года) и в заметке С.И. Жилина с соавторами из трудов этой конференции.

    Современный взгляд на состояние библиотеки JInterval представлен в докладе С.И. Жилина, Д.Ю. Надёжина и Е.Н. Тепикина на Всероссийской научно-практической конференции «Статистика, моделирование, оптимизация – 2011» (Южно-Уральский госуниверситет, Челябинск, 28 ноября – 2 декабря 2011 года).

  • Интервальный пакет для системы Octave

    Octave – система компьютерной математики, созданная как свободный аналог и альтернатива Matlab'у. Он является, фактически, популярной средой программирования со своим высокоуровневым языком, очень близким к языку Matlab'а. Предназначена, в первую очередь, для численных расчётов, но содержит также развитые средства графического представления данных и визуализации.

    Иинтервальный пакет для Octave обеспечивает интервальное расширение системы. Он создан Оливером Хаймлихом (Германия) и помимо собственно интервальной арифметики и элементарных интервальных операций включает некоторые процедуры для решения ряда стандартных задач интервального анализа. Распространяется свободно и пока является одним из немногих программных средств, удовлетворяющих стандарту IEEE 1788 на интервальные вычисления на ЭВМ.


  • Некоторые интервальные программы для Octave

  • Интервальный пакет kinterval для системы Octave

    Пакет kinterval, созданный С.И. Жилиным, реализует в системе Octave полную интервальную арифметику Каухера, и помимо основных арифметических операций и бинарных отношений в него встроены некоторые высокоуровневые интервальные численные методы. В частности, в пакете реализован субдифференциальный метод Ньютона для вычисления формальных решений интервальных систем линейных алгебраических уравнений.

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


  • Интервальный пакет для языка Julia

    Пакет IntervalArithmetic.jl для популярного языка программирования Julia реализует классическую интервальную арифметику и основные бинарные отношения между интервалами.

    Кроме того, для языка Julia разработаны также пакеты с реализациями интервальных методов глобальной оптимизации и распространения ограничений — IntervalOptimisation.jl и IntervalConstraintProgramming.jl соответственно.


  • Int4Sci – интервальное расширение Scilab'а

    Scilab – система компьютерной математики, созданная как европейский аналог Matlab'а. Особенностью Scilab'а является то, что это свободно распространяемый некоммерческий продукт с открытыми исходными кодами. Существуют его версии для Gnu/Linux, Windows 2000/XP/Vista и других платформ. Хорошим введением в систему Scilab является книга Е.Р. Алексеева, Е.А. Чесноковой и Е.А. Рудченко «Scilab: Решение инженерных и математических задач» (Москва: ALT Linux, Бином, 2008), электронную версию которой можно увидеть здесь.

    Int4Sci – интервальное расширение Scilab'а, разработка которого была начата группой французских специалистов в INRIA. Они выпустили самый первый релиз пакета, который успешно работал с Scilab 4, но устарел при переходе на Scilab 5. Окончательные сборки второго релиза Int4Sci, работающего в среде Scilab 5 для различных операционных систем, выполнены на кафедре информатики АлтГУ под руководством С.И. Жилина. Int4Sci также распространяется свободно.



    Некоторые интервальные программы для Scilab'а.

  • INTLAB – интервальное расширение для систем MATLAB и Octave

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

    Хорошим руководством по INTLAB'у (и введением в вычислительный интервальный анализ в целом) является текст


          Hargreaves G.I. Interval analysis in MATLAB // Manchester Center for Computational Mathematics, 2002.

    Ценность данного руководства несколько снижается тем, что приводимые в нём листинги программ на INTLAB'е содержат ряд «глюков».


    Некоторые интервальные программы для MATLAB'а.

  • Пакет VERSOFT — программы И. Рона для решения интервальных задач линейной алгебры

    – эти программы, написанные для системы MATLAB с интервальным расширением INTLAB (см. предыдущий пункт), предназначены для решения обычных (точечных) и интервальных задач линейной алгебры и оптимизации.

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

    Designed and implemented by Jirí Rohn (Czech Republic), VERSOFT package is written in INTLAB, an interval extension of MATLAB, and is intended for numerical solution of both point and interval problems of linear algebra and optimization. VERSOFT includes, in partucular, procedures for computing enclosures of the solution sets to interval linear systems of equations. Among the codes for usual ('point') problems, it is worth mentioning procedures for verified solution of linear and quadratic programming problems. Of special interest are implementations of interval methods for verified solution of matrix eigenvalue problems and matrix singular value problems.

    Краткое руководство по пакету VERSOFT   (A short VERSOFT guide)

    Примеры использования программ пакета VERSOFT   (VERSOFT examples)

  • Программы И.А. Шарой для визуализации множеств решений интервальных и точечных систем линейных отношений

    • IntLinIncR3 – пакет программ для визуализации множеств решений интервальных линейных систем с тремя неизвестными.
      Версия для MATLAB:   Релиз 01.09.2014 (в кодировке UTF-8, в кодировке Windows-1251),   Руководство пользователя
      Англоязычный вариант:
          IntLinInc3D, software package for visualization of solution sets to interval linear 3D systems.
          Version for MATLAB, Release 01.09.2014: Source codes, User manual.


    • IntLinIncR2 – пакет программ для визуализации множеств решений интервальных линейных систем с двумя неизвестными.
      Версия для MATLAB:   Релиз 01.09.2014 (в кодировке UTF-8, в кодировке Windows-1251),   Руководство пользователя
      Англоязычный вариант:
          IntLinInc2D, software package for visualization of solution sets to interval linear 2D systems.
          Version for MATLAB, Release 01.09.2014: Source codes, User manual.
      В основе пакетов серии IntLinInc лежит метод граничных интервалов для визуализации полиэдральных множеств. Для бóльшей переносимости пакеты написаны на «чистом» MATLAB'е без привлечения интервальной надстройки INTLAB.
    • AEsolset.ps – файл-программа на языке PostScript для визуализации множеств АЕ-решений интервальной системы линейных уравнений размера 2х2.
      Файл-программа рисует множество решений, а также вычисляет координаты его вершин и точек пересечения границы с координатными осями.
      Программа может выполняться любым интерпретатором языка PostScript (ghostview, gsview, gv, evince, okular и др.).
      Исходные данные для работы программы, – матрица системы, вектор правой части и, по желанию, начальный брус – вводятся с помощью текстового редактора непосредственно в текст этого файла. Для удобства внесения данных в тексте приведены пояснительные комментарии на русском языке (в кодировке win1251).
      Версия – Декабрь 2008

      Англоязычный вариант:
          AE-solset.ps, file in PostScript language for visualization of AE-solution sets to 2x2-system of interval linear equations.
          The code included in this file draws the solution set and, additionally, computes coordinates of its vertices and coordinates of points where boundary of the set intersects coordinate axes.
          The program can be executed by any PostScript interpreter (ghostview, gsview, gv, evince, okular and so on).
          The input data (i.e., a matrix, a right-hand side vector of the system and, optionally, an initial enclosing box) can be entered into this file by any text editor. The file contains commentaries and examples of data input.
          Version December-2008

  • Программы для вычисления формальных решений интервальных линейных систем

    – программы на языке С для вычисления формальных решений интервальных систем линейных алгебраических уравнений различного вида. English-language version of the page is here.

  • Программа MCN для построения линейной регрессионной модели
    по данным с интервальной неопределённостью


    – написана Н.М.Оскорбиным и А.В.Максимовым в Алтайском госуниверситете ещё в конце 80-х годов XX века для 16-разрядной MS DOS. Для запусков её в современных условиях потребуется эмулятор этой системы. Особую ценность программе придают комментарии и помощь, реализованные с помощью трёх отдельных файлов с расширением .hlp. Фактически, это отдельная научная статья, объясняющая основы метода центра неопределённости и его применение.

    Для удобства все четыре файла (один исполняемый и 3 файла помощи) упакованы в один tar-архив.

  • Система компьютерной математики Sage

    – это свободно распространяемая система компьютерной математики, во многом напоминающая Maple, Mathematica и Matlab, в которой реализована интервальная арифметика переменной точности. На сайте Sage есть русскоязычная ветка с обучающими видеороликами.

  • Библиотеки интервальных вычислений для C++
  • Языки высокого уровня для интервальных вычислений
    – материалы с сайта «Interval Computations»
  • Интервальное программное обеспечение
    – материалы с сайта «Interval Computations»