![]() |
Квадратурная формула Гаусса-Кронрода – это расширение квадратурной формулы Гаусса, позволяющее одновременно получить значение интеграла и оценку погрешности. Этот результат достигается путем добавления к M-точечной квадратурной формуле Гаусса M+1 дополнительных узлов, позволяющих вычислить интеграл с более высокой точностью. Разность между значением интеграла, полученным на основе M-точечной формулы, и значением, полученным с использованием 2M+1-точечной формулы, используется в качестве оценки погрешности интегрирования.
Благодаря своей экономичности квадратурные формулы Гаусса-Кронрода часто используются в качестве базового элемента адаптивных интеграторов. Как правило, используемые формулы имеют невысокий порядок (15-60 узлов). Формулы высокого порядка не используются в связи со сложностями, возникающими при вычислении интегралов недостаточно гладких функций.
Квадратурная формула Гаусса существует для любого интеграла вида

при условии, что W(x) > 0. Узлы квадратурной формулы всегда располагаются на [a,b], весовые коэффициенты строго положительны. К квадратурным формулам Гаусса-Кронрода вышесказанное применимо только в частных случаях. Например, для некоторых функций W(x) квадратурная формула Гаусса-Кронрода может иметь узлы за пределами отрезка [a,b] или даже в комплексных точках. Поэтому, генерируя формулу для произвольной весовой функции W(x), будьте готовы к тому, что для вашей функции может не существовать подходящей квадратурной формулы. Однако в частном случае W(x)=1 доказано, что все узлы формулы располагаются на отрезке интегрирования, и квадратурная формула всегда может быть найдена.
| C++ | gkq subpackage | |
| C# | gkq subpackage |
This article is intended for personal use only.
Исходный код на C#
Исходный код на C++
Исходный код на C++, использующий библиотеки MPFR/GMP.
Исходный код GMP доступен на сайте gmplib.org. Исходный код MPFR доступен на сайте www.mpfr.org.
Исходный код на Free Pascal.
Исходный код на Delphi.
Исходный код на VB.NET.
Исходный код на VBA.
Исходный код на Python (CPython и IronPython).
|
ALGLIB® - numerical analysis library, 1999-2012. |