Квадратурная формула Гаусса – Кронрода
Квадратурная формула Гаусса -Кронрода представляет собой адаптивный метод численного интегрирования . Это вариант квадратуры Гаусса , в которой точки оценки выбираются так, чтобы можно было вычислить точную аппроксимацию путем повторного использования информации, полученной в результате вычисления менее точной аппроксимации. Это пример того, что называется вложенным квадратурным правилом : для одного и того же набора точек оценки функции оно имеет два квадратурных правила, одно более высокого порядка и одно более низкого порядка (последнее называется встроенным правилом). Разница между этими двумя приближениями используется для оценки расчетной погрешности интегрирования.
Эти формулы названы в честь Александра Кронрода , придумавшего их в 1960-х годах, и Карла Фридриха Гаусса .
Описание
[ редактировать ]Задача численного интегрирования состоит в приближении определенных интегралов вида
Такие интегралы можно аппроксимировать, например, n -точечной гауссовой квадратурой
где w i , xi — веса и точки , в которых можно оценить функцию f ( x ).
Если интервал [ a , b ] подразделяется, точки оценки Гаусса новых подинтервалов никогда не совпадают с предыдущими точками оценки (за исключением средней точки для нечетного числа точек оценки), и поэтому подынтегральная функция должна вычисляться в каждой точке. Формулы Гаусса – Кронрода представляют собой расширения квадратурных формул Гаусса, созданных добавлением указывает на -точечное правило таким образом, чтобы результирующее правило имело порядок ( Лори (1997 , стр. 1133); соответствующее правило Гаусса имеет порядок ). Эти дополнительные точки являются нулями полиномов Стилтьеса . Это позволяет вычислять оценки более высокого порядка, повторно используя значения функции оценки более низкого порядка. Разницу между правилом квадратур Гаусса и его расширением Кронрода часто используют для оценки ошибки аппроксимации.
Пример
[ редактировать ]Популярный пример сочетает правило Гаусса из 7 пунктов с правилом Кронрода из 15 пунктов ( Каханер, Молер и Нэш 1989 , §5.5). Поскольку точки Гаусса включены в точки Кронрода, всего требуется всего 15 оценок функции.
(G7, K15) on [−1,1] Узлы Гаусса Веса ±0.94910 79123 42759 ∗ 0.12948 49661 68870 ±0.74153 11855 99394 ∗ 0.27970 53914 89277 ±0.40584 51513 77397 ∗ 0.38183 00505 05119 0.00000 00000 00000 ∗ 0.41795 91836 73469 Узлы Кронрода Веса ±0.99145 53711 20813 0.02293 53220 10529 ±0.94910 79123 42759 ∗ 0.06309 20926 29979 ±0.86486 44233 59769 0.10479 00103 22250 ±0.74153 11855 99394 ∗ 0.14065 32597 15525 ±0.58608 72354 67691 0.16900 47266 39267 ±0.40584 51513 77397 ∗ 0.19035 05780 64785 ±0.20778 49550 07898 0.20443 29400 75298 0.00000 00000 00000 ∗ 0.20948 21410 84728
Затем интеграл оценивается по правилу Кронрода. и ошибку можно оценить как .
Для произвольного интервала позиции узлов и веса масштабируются к интервалу следующим образом:
Паттерсон (1968) показал, как находить дальнейшие расширения этого типа, Писсенс и Брандерс (1974) и Монегато (1978) предложили улучшенные алгоритмы , и, наконец, наиболее эффективный алгоритм был предложен Лори (1997) . Коэффициенты четырехкратной точности (34 десятичных знака) для (G7, K15), (G10, K21), (G15, K31), (G20, K41) и других рассчитаны и сведены в таблицы. [1]
Реализации
[ редактировать ]Подпрограммы для квадратур Гаусса–Кронрода предоставляются библиотекой QUADPACK , Научной библиотекой GNU , Числовыми библиотеками NAG , R , [2] C ++ библиотека Boost ., [3] а также пакет Julia QuadGK.jl [4] (который может вычислять формулы Гаусса – Кронрода с произвольной точностью ).
См. также
[ редактировать ]- Квадратура Кленшоу – Кертиса , еще одно вложенное правило квадратур с аналогичной точностью.
Примечания
[ редактировать ]- ^ Павел Голобородько (07.11.2011). «Квадратурные узлы и веса Гаусса-Кронрода» . Проверено 15 января 2016 г.
- ^ «R: Интегрирование одномерных функций» . Р Документация . Проверено 14 декабря 2019 г.
- ^ Томпсон, Ник; Мэддок, Джон. «Квадратура Гаусса-Кронрода» . boost.org . Проверено 24 декабря 2017 г.
- ^ «Руководство QuadGK.jl» . juliamath.github.io . Проверено 19 июля 2023 г.
Ссылки
[ редактировать ]- «Квадратурная формула Гаусса – Кронрода» , Математическая энциклопедия , EMS Press , 2001 [1994]
- Каханер, Дэвид; Молер, Клив ; Нэш, Стивен (1989), Численные методы и программное обеспечение , Прентис-Холл , ISBN 978-0-13-627258-8
- Кронрод, Александр Семенович (1965), Узлы и веса квадратурных формул. Шестнадцатизначные таблицы , Нью-Йорк: Консультантское бюро (Авторизованный перевод с русского)
- Писсенс, Роберт; де Донкер-Капенга, Элиза; Уберхубер, Кристоф В. [на немецком языке] ; Каханер, Дэвид К. (1983), QUADPACK, Пакет подпрограмм для автоматической интеграции , Springer-Verlag , ISBN 978-3-540-12553-2 (Справочное руководство по QUADPACK)
- Паттерсон, Томас Н.Л. (1968), «Оптимальное добавление точек к квадратурным формулам», Math. Вычислить. , 22 (104): 847–856 и C1–C11, doi : 10.2307/2004583 , JSTOR 2004583 . Ошибка в математике. Вычислить. 23 : 892.
- Писсенс, Роберт; Брандерс, Мария (1974), «Заметки об оптимальном добавлении абсцисс к квадратурным формулам Гаусса и Лобатто», Mathematics of Computing , 28 (125): 135–139, doi : 10.2307/2005820 , JSTOR 2005820
- Монегато, Джованни (1978), «Некоторые замечания по построению расширенных правил квадратур Гаусса», Mathematics of Computation , 32 (141): 247–252, doi : 10.2307/2006272 , JSTOR 2006272
- Лори, Дирк (1997), «Расчет квадратурных правил Гаусса-Кронрода», Mathematics of Computation , 66 (219): 1133–1145, doi : 10.1090/s0025-5718-97-00861-2
Внешние ссылки
[ редактировать ]- QUADPACK (часть SLATEC) , исходный код [1] . QUADPACK — это набор алгоритмов на Фортране для численного интегрирования, основанных на правилах Гаусса-Кронрода. SLATEC (в Netlib ) — крупная общедоступная библиотека для численных вычислений.
- Исходный код ALGLIB на C#, C++, Delphi и Visual Basic.