Copyright 2016-2022 Джеймс Пол Тернер.
Этот файл является частью библиотеки ARPRA.
Библиотека ARPRA - это бесплатное программное обеспечение: вы можете перераспределить его и/или изменить ее в соответствии с условиями GNU меньшей общедоступной публичной лицензии, опубликованной Фондом Free Software, либо версией 3 лицензии, либо (по вашему варианту) любой более поздней версии.
Библиотека ARPRA распространяется в надежде, что это будет полезно, но без каких -либо гарантий; даже без подразумеваемой гарантии торговой точки зрения или пригодности для определенной цели. Смотрите GNU меньшую общую публичную лицензию для получения более подробной информации.
Вы должны были получить копию GNU меньшей общей публичной лицензии вместе с библиотекой ARPRA. Если нет, см. Http://www.gnu.org/licenses/.
Для любого диапазона авторского права, указанного как yyyy-zzzz в этом пакете, обратите внимание, что диапазон определяет каждый год в этом закрытом интервале.
ARPRA-это библиотека C для (AR) битраривого (P) Recision (R) Ange (A) NALYSISE IEEE-754 Ploing Point Pultings, основанных на GNU MPFR. Основным вариантом использования ARPRA является поддержание вычисленных верхних и нижних границ численной ошибки для всех переменных, в любое время, на протяжении всего вычисления. ARPRA использует смешанный обрезанный интервал/аффинная арифметика с уменьшением термина отклонения для достижения этого.
Аффинная арифметика - это вариант интервальной арифметики, которая учитывает переменные корреляции. Таким образом, он не страдает от так называемой «проблемы зависимости», где интервалы растут слишком большими из-за отсутствия рассмотрения для переменных корреляций. Проблема описана далее по адресу https://en.wikipedia.org/wiki/interval_arithmetic#dependency_problem. Объединяя результаты интервальной арифметической и аффинной арифметики, можно избежать как проблемы зависимости интервальной арифметики, так и нелинейная функция превышает задача аффинной арифметики.
ARPRA реализует аффинную арифметику, используя бэкэнд GNU MPFR. MPFR-это библиотека с плавающей запятой произвольной задачей, что означает, что переменные MPFR с плавающей точкой могут иметь произвольную точность. Для получения дополнительной информации обратитесь к веб -сайту Project MPFR по адресу http://www.mpfr.org/. Внедряя аффинную арифметику с помощью бэкэнда произвольного назначения, можно, например, проверить, как изменение численной точностью или схемой интеграции влияет на локальную и глобальную ошибку во время длительного численного моделирования, без интервального «взрыва». Регулярная интервальная арифметика страдает.
Для получения дополнительной информации о реализации и функциях ARPRA, таких как обрезка диапазона и сокращение терминов, см. В оригинальной опубликованной статье:
Turner, JP, & Nowotny, T. (2021). ARPRA: библиотека анализа произвольного диапазона точности. Границы в нейроинформатике, 30.
https://doi.org/10.3389/fninf.2021.632729
ARPRA следует за знакомой парадигмой построения программного обеспечения GNU/Linux. Типичная процедура установки состоит из следующего.
При установке из репозитория источника GIT (то есть не в дистанционном тарболе), сценарий конфигурации и другие вспомогательные файлы должны быть сгенерированы путем выполнения следующей команды в корне репозитория:
autoreconf -i -Wall
Это генерирует файлы конфигурации из файлов configure.ac и makefile.am (обратите внимание, что Autotools GNU должны быть установлены для запуска AutoreConf). Затем запустите команды Configure, создать и установить:
./configure
make
sudo make install
Все установленные файлы ARPRA можно чисто удалять из системы, выполнив следующую команду:
sudo make uninstall
Набор тестовых программ может быть выполнен с помощью следующей команды:
make check
Все взносы (например, отчеты об ошибках, запросы на функции, экспертные знания, исходный код и взносы документации) с благодарностью получены через трекер выпуска https://github.com/arpra-project/arpra/issues или запрос на развлечение.
Репозиторий исходного кода для ARPRA размещен в GitHub. Клонировать его, используя:
git clone https://github.com/arpra-project/arpra