QUADPACK - Википедия - QUADPACK

КВАДПАК
Оригинальный автор (ы)Роберт Писсенс
Элиза деДонкер-Капенга
Кристоф В. Уберхубер
Дэвид Каханер
изначальный выпускМай 1981 г. (1981-05)
Стабильный выпуск
Май 1987 г.[1]
Написано вFORTRAN 77
ТипБиблиотека
ЛицензияВсеобщее достояние
Интернет сайтnines.cs.kuleuven.be/software/QUADPACK

КВАДПАК это FORTRAN 77 библиотека за численное интегрирование одномерных функций.[2] Он был включен в SLATEC Общая математическая библиотека и поэтому находится в всеобщее достояние.[3] Отдельные подпрограммы также доступны на netlib.[4]

В Научная библиотека GNU переопределил процедуры QUADPACK в C. SciPy обеспечивает Python интерфейс к части QUADPACK.[5][6]

Рутины

Основное внимание QUADPACK уделяется автоматический процедуры интеграции, в которых пользователь вводит проблему и абсолютная или относительная ошибка толерантность и процедура пытается выполнить интегрирование с ошибкой не больше запрошенной. В QUADPACK имеется девять таких автоматических подпрограмм в дополнение к ряду неавтоматических подпрограмм. Все автоматические подпрограммы, кроме одной, используют адаптивная квадратура.[7]

Резюме схема именования для автоматических процедур[8]
1-я буква2-я буква3-я буква4-я буква
QКвадратура
NНеадаптивный
ААдаптивный
граммОбщая подынтегральная функция
WВесовая функция заданного вида
Простой интегратор
SОсобенности обработанный
пУказанные точки локальной сложности (особенности, разрывы …)
яБесконечный интервал
ОКолебательная весовая функция (cos или sin) на конечном интервале
Fпреобразование Фурье (соз или грех)
CГлавное значение Коши

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

Универсальные процедуры

Две процедуры общего назначения, наиболее подходящие для использования без дальнейшего анализа подынтегральной функции: QAGS для интегрирования на конечном интервале и QAGI для интегрирование на бесконечном интервале.[7] Эти две процедуры используются в GNU Octaveчетырехъядерный команда)[5] и ринтегрировать функция).[9]

QAGS
использует глобальные адаптивная квадратура на основе 21 балла Квадратура Гаусса – Кронрода в каждом подынтервале с ускорение к Питер Винн с эпсилон-алгоритм.[7][10]
QAGI
является единственной универсальной подпрограммой для бесконечных интервалов, и отображает бесконечный интервал на полуоткрытый интервал (0,1] с помощью преобразования, а затем использует тот же подход, что и QAGS, за исключением того, что используется 15-точечный, а не 21-точечный Gauss– Кронрода квадратура.[2] Для интеграла по всей действительной прямой используется преобразование :[2]
Это не лучший подход для всех подынтегральных выражений: может потребоваться другое преобразование, или можно предпочесть разбить исходный интервал и использовать QAGI только на бесконечной части.[7]

Краткий обзор других автоматических подпрограмм

QNG
простой неадаптивный интегратор
QAG
простой адаптивный интегратор
QAGP
аналогичен QAGS, но позволяет пользователю указать местоположение внутренних особенностей, разрывов и т. д.
QAWO
неотъемлемая часть cos (ωx) ж(Икс) или же грех (ωx) ж(Икс) на конечном интервале
QAWF
преобразование Фурье
QAWS
неотъемлемая часть ш(Икс) ж(Икс) из а к б, куда ж гладкий и ш(Икс) = (Икса)α (бИкс)β бревноk(Икса) бревнол(бИкс), с k, л = 0 или 1 и α, β > –1
QAWC
Главное значение Коши интеграла от ж(Икс)/(Иксc) для указанного пользователем c и ж [2]

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

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

  1. ^ "квадропак / изменения". Netlib. Получено 16 ноября, 2010.
  2. ^ а б c d Писсенс, Роберт; де Донкер-Капенга, Элиза; Überhuber, Christoph W .; Каханер, Дэвид (1983). QUADPACK: пакет подпрограмм для автоматической интеграции. Springer-Verlag. ISBN  978-3-540-12553-2.
  3. ^ Фонг, Кирби В .; Джефферсон, Томас Н .; Суйехиро, Токихико; Уолтон, Ли (июль 1993 г.). «Путеводитель по Общей математической библиотеке SLATEC». netlib.org. Получено 13 ноября, 2010.
  4. ^ "квадропак". Netlib. Получено 13 ноября, 2010.
  5. ^ а б «КВАДПАК». Группа численного интегрирования, нелинейных уравнений и программного обеспечения (NINES), Katholieke Universiteit Leuven. Получено 13 ноября, 2010.
  6. ^ "scipy.integrate.quad - Справочное руководство SciPy v0.14.0". Получено 1 июля 2014.
  7. ^ а б c d Писсенс, Роберт; Де Донкер, Элиза; Каханер, Дэвид (1984-04-17). «Подпрограмма QPDOC». КВАДПАК. netlib. Получено 16 ноября 2010.
  8. ^ Цвиллинджер, Даниэль (1992). Справочник по интеграции. А. К. Питерс. п. 255. ISBN  978-0-86720-293-9.
  9. ^ Основная группа разработчиков R и участники по всему миру (октябрь 2010 г.). "интегрировать {статистику}: интеграция одномерных функций". Документация для пакета «stats» версии 2.13.0. Получено 16 ноября 2010.
  10. ^ «17.4 Адаптивная интеграция QAGS с особенностями». Научная библиотека GNU -- Ссылка. Фонд свободного программного обеспечения. Получено 16 ноября 2010.

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

  • Favati, P .; Lotti, G .; Романи, Ф. (1991). «Алгоритм 691; Улучшение процедур автоматической интеграции QUADPACK». Транзакции ACM на математическом ПО. 17 (2): 218–232. Дои:10.1145/108556.108580.
  • Охлаждает, р .; Хегеманс, А. (2003). «Алгоритм 824: КУБПАК: пакет для автоматической кубатуры; описание фреймворка ". Транзакции ACM на математическом ПО. 29 (3): 287–296. Дои:10.1145/838250.838253.