Автор (ы) оригинала | Роберт Писсенс Элиза деДонкер-Капенга Кристоф В. Уберхубер Дэвид Каханер |
---|---|
Первый выпуск | Май 1981 г. |
Окончательный релиз | Май 1987 [1] |
Написано в | FORTRAN 77 |
Тип | Библиотека |
Лицензия | Всеобщее достояние |
Веб-сайт | www |
QUADPACK - это библиотека FORTRAN 77 для численного интегрирования одномерных функций. [2] Он был включен в Общую математическую библиотеку SLATEC и, следовательно, является общественным достоянием . [3] Отдельные подпрограммы также доступны в netlib . [4]
GNU Scientific Library переписана в Quadpack подпрограмм в C . SciPy предоставляет интерфейс Python для части QUADPACK. [5] [6]
Процедуры [ править ]
Основное внимание Quadpack на автоматических процедур интеграции , в которой пользователь вводит Проблема и абсолютная или относительная погрешность допуска и обычные попытки выполнить интеграцию с ошибкой не больше , чем требуется. В QUADPACK есть девять таких автоматических подпрограмм в дополнение к ряду неавтоматических подпрограмм. Все автоматические процедуры, кроме одной, используют адаптивную квадратуру . [7]
1-я буква | 2-я буква | 3-я буква | 4-я буква | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
У каждой из адаптивных подпрограмм также есть версии с суффиксом E, у которых есть расширенный список параметров, который предоставляет больше информации и обеспечивает больший контроль. Версии всех подпрограмм с двойной точностью были выпущены с префиксом D.
Универсальные подпрограммы [ править ]
Две процедуры общего назначения, наиболее подходящие для использования без дальнейшего анализа подынтегральной функции, - это QAGS для интегрирования на конечном интервале и QAGI для интегрирования на бесконечном интервале . [7] Эти две подпрограммы используются в GNU Octave ( quad
команда) [5] и R ( integrate
функция). [9]
- QAGS
- использует глобальную адаптивный квадратуры на основе 21-балльной Гаусс-Кронрод квадратуре внутри каждого подпериода, с ускорением по Питер Wynn «с алгоритмом эпсилон . [7] [10]
- QAGI
- является единственной универсальной подпрограммой для бесконечных интервалов, и отображает бесконечный интервал на полуоткрытый интервал (0,1] с помощью преобразования, а затем использует тот же подход, что и QAGS, за исключением того, что используется 15-точечный, а не 21-точечный Gauss– Квадратура Кронрода. [2] Для интеграла по всей действительной прямой используется следующее преобразование : [2]
- Это не лучший подход для всех подынтегральных выражений: может потребоваться другое преобразование, или можно предпочесть разбить исходный интервал и использовать QAGI только на бесконечной части. [7]
Краткий обзор других автоматических подпрограмм [ править ]
- QNG
- простой неадаптивный интегратор
- QAG
- простой адаптивный интегратор
- QAGP
- аналогичен QAGS, но позволяет пользователю указать расположение внутренних особенностей, разрывов и т. д.
- QAWO
- интеграл от cos ( ωx ) f ( x ) или sin ( ωx ) f ( x ) на конечном интервале
- QAWF
- преобразование Фурье
- QAWS
- интеграл от w ( x ) f ( x ) от a до b , где f гладкое и w ( x ) = ( x - a ) α ( b - x ) β log k ( x - a ) log l ( b - x ) , где k , l = 0 или 1 и α , β > –1
- QAWC
- Главное значение Коши интеграла от f ( x ) / ( x - c ) для заданных пользователем c и f [2]
См. Также [ править ]
- Список числовых библиотек
Ссылки [ править ]
- ^ "квадропак / изменения" . Нетлиб . Проверено 16 ноября 2010 года .
- ^ a b c d Писсенс, Роберт; де Донкер-Капенга, Элиза; Überhuber, Christoph W .; Каханер, Дэвид (1983). QUADPACK: пакет подпрограмм для автоматической интеграции . Springer-Verlag . ISBN 978-3-540-12553-2.
- ^ Фонг, Кирби W .; Джефферсон, Томас Х .; Суйехиро, Токихико; Уолтон, Ли (июль 1993 г.). «Путеводитель по Общей математической библиотеке SLATEC» . netlib.org . Проверено 13 ноября 2010 года .
- ^ "quadpack" . Нетлиб . Проверено 13 ноября 2010 года .
- ^ a b «КВАДРОПАК» . Группа численного интегрирования, нелинейных уравнений и программного обеспечения (NINES), Katholieke Universiteit Leuven . Проверено 13 ноября 2010 года .
- ^ "scipy.integrate.quad - Справочное руководство SciPy v0.14.0" . Проверено 1 июля 2014 года .
- ^ a b c d Писсенс, Роберт; Де Донкер, Элиза; Каханер, Дэвид (1984-04-17). «Подпрограмма QPDOC» . КВАДПАК . netlib . Проверено 16 ноября 2010 года .
- Перейти ↑ Zwillinger, Daniel (1992). Справочник по интеграции . А.К. Петерс. п. 255. ISBN 978-0-86720-293-9.
- ^ Основная группа разработчиков R и участники по всему миру (октябрь 2010 г.). «интегрировать {статистику}: интеграция одномерных функций» . Документация для пакета stats версии 2.13.0 . Проверено 16 ноября 2010 года .
- ^ "17.4 Адаптивная интеграция QAGS с особенностями" . Научная библиотека GNU - Справочник . Фонд свободного программного обеспечения . Проверено 16 ноября 2010 года .
Дальнейшее чтение [ править ]
- Favati, P .; Lotti, G .; Романи, Ф. (1991). «Алгоритм 691; Улучшение процедур автоматической интеграции QUADPACK». Транзакции ACM на математическом программном обеспечении . 17 (2): 218–232. DOI : 10.1145 / 108556.108580 .
- Охлаждает, р .; Хегеманс, А. (2003). «Алгоритм 824: CUBPACK : пакет для автоматической кубатуры; описание каркаса». Транзакции ACM на математическом программном обеспечении . 29 (3): 287–296. DOI : 10.1145 / 838250.838253 .