Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

GNU Scientific Library переписана в Quadpack подпрограмм в C . SciPy предоставляет интерфейс Python для части QUADPACK. [5] [6]

Процедуры [ править ]

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

У каждой из адаптивных подпрограмм также есть версии с суффиксом 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]

См. Также [ править ]

  • Список числовых библиотек

Ссылки [ править ]

  1. ^ "квадропак / изменения" . Нетлиб . Проверено 16 ноября 2010 года .
  2. ^ a b c d Писсенс, Роберт; де Донкер-Капенга, Элиза; Überhuber, Christoph W .; Каханер, Дэвид (1983). QUADPACK: пакет подпрограмм для автоматической интеграции . Springer-Verlag . ISBN 978-3-540-12553-2.
  3. ^ Фонг, Кирби W .; Джефферсон, Томас Х .; Суйехиро, Токихико; Уолтон, Ли (июль 1993 г.). «Путеводитель по Общей математической библиотеке SLATEC» . netlib.org . Проверено 13 ноября 2010 года .
  4. ^ "quadpack" . Нетлиб . Проверено 13 ноября 2010 года .
  5. ^ a b «КВАДРОПАК» . Группа численного интегрирования, нелинейных уравнений и программного обеспечения (NINES), Katholieke Universiteit Leuven . Проверено 13 ноября 2010 года .
  6. ^ "scipy.integrate.quad - Справочное руководство SciPy v0.14.0" . Проверено 1 июля 2014 года .
  7. ^ a b c d Писсенс, Роберт; Де Донкер, Элиза; Каханер, Дэвид (1984-04-17). «Подпрограмма QPDOC» . КВАДПАК . netlib . Проверено 16 ноября 2010 года .
  8. Перейти ↑ Zwillinger, Daniel (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. DOI : 10.1145 / 108556.108580 .
  • Охлаждает, р .; Хегеманс, А. (2003). «Алгоритм 824: CUBPACK : пакет для автоматической кубатуры; описание каркаса». Транзакции ACM на математическом программном обеспечении . 29 (3): 287–296. DOI : 10.1145 / 838250.838253 .