В численном анализе квадратурное правило Гаусса для n точек , названное в честь Карла Фридриха Гаусса , [1] представляет собой квадратурное правило, построенное для получения точного результата для многочленов степени 2n − 1 или меньше путем подходящего выбора узлов x i и весов w i для i = 1, ..., n .
Современная формулировка с использованием ортогональных многочленов была разработана Карлом Густавом Якоби в 1826 году. [2] Наиболее распространенная область интегрирования для такого правила берется как [−1, 1] , поэтому правило формулируется как
что является точным для многочленов степени 2 n − 1 или меньше. Это точное правило известно как квадратурное правило Гаусса–Лежандра . Квадратурное правило будет точным приближением к интегралу выше только в том случае, если f ( x ) хорошо приближается многочленом степени 2 n − 1 или меньше на [−1, 1] .
Правило квадратуры Гаусса– Лежандра обычно не используется для интегрируемых функций с конечными сингулярностями . Вместо этого, если подынтегральное выражение можно записать как
где g ( x ) хорошо аппроксимируется полиномом низкой степени, то альтернативные узлы x i ' и веса w i ' обычно дают более точные квадратурные правила. Они известны как квадратурные правила Гаусса-Якоби , т.е.
Можно показать (см. Press et al. или Stoer and Bulirsch), что квадратурные узлы x i являются корнями многочлена, принадлежащего классу ортогональных многочленов (классу, ортогональному относительно взвешенного внутреннего произведения). Это ключевое наблюдение для вычисления квадратурных узлов и весов Гаусса.
Квадратура Гаусса–Лежандра
Для простейшей задачи интеграции, указанной выше, то есть, f ( x ) хорошо аппроксимируется полиномами от , соответствующие ортогональные полиномы являются полиномами Лежандра , обозначаемыми как P n ( x ) . С n -м полиномом, нормализованным так, чтобы дать P n (1) = 1 , i -й узел Гаусса, x i , является i -м корнем P n , а веса задаются формулой [3]
Некоторые квадратурные правила низкого порядка приведены в таблице ниже (на интервале [−1, 1] , другие интервалы см. в разделе ниже).
Изменение интервала
Интеграл по [ a , b ] должен быть преобразован в интеграл по [−1, 1] перед применением квадратурного правила Гаусса. Это изменение интервала можно выполнить следующим образом:
с
Применение квадратурного правила Гаусса приводит к следующему приближению:
Пример двухточечной квадратурной формулы Гаусса
Используйте квадратурное правило Гаусса для двух точек, чтобы приблизительно рассчитать расстояние в метрах, пройденное ракетой от до, как указано в формуле
Измените пределы так, чтобы можно было использовать веса и абсциссы, указанные в Таблице 1. Также найдите абсолютную относительную истинную ошибку. Истинное значение дано как 11061,34 м.
Решение
Во-первых, изменение пределов интегрирования с на дает
Далее, возьмите весовые коэффициенты и значения аргументов функции из Таблицы 1 для правила двух точек,
Теперь мы можем использовать квадратурную формулу Гаусса,
поскольку
Учитывая, что истинное значение равно 11061,34 м, абсолютная относительная истинная погрешность составляет
Другие формы
Проблему интегрирования можно выразить немного более общим образом, введя положительную весовую функцию ω в подынтегральное выражение и допустив интервал, отличный от [−1, 1] . То есть, задача состоит в вычислении
для некоторых выборов a , b и ω . Для a = −1 , b = 1 и ω ( x ) = 1 задача та же, что и рассмотренная выше. Другие выборы приводят к другим правилам интегрирования. Некоторые из них приведены в таблице ниже. Номера уравнений даны для Абрамовица и Стегуна (A & S).
Основная теорема
Пусть p n — нетривиальный многочлен степени n такой, что
Обратите внимание, что это будет верно для всех ортогональных многочленов выше, поскольку каждый p n построен так, чтобы быть ортогональным другим многочленам p j для j < n , а x k находится в пределах этого множества.
Если мы выберем n узлов x i в качестве нулей p n , то существуют n весов w i , которые делают вычисленный гауссовой квадратурой интеграл точным для всех полиномов h ( x ) степени 2 n − 1 или меньше. Более того, все эти узлы x i будут лежать в открытом интервале ( a , b ) . [4]
Чтобы доказать первую часть этого утверждения, пусть h ( x ) будет любым многочленом степени 2 n − 1 или меньше. Разделим его на ортогональный многочлен p n , чтобы получить
, где q ( x ) — частное степени n − 1 или меньше (потому что сумма его степени и степени делителя p n должна быть равна степени делимого), а r ( x ) — остаток, также степени n − 1 или меньше (потому что степень остатка всегда меньше степени делителя). Поскольку p n по предположению ортогонален всем одночленам степени меньше n , он должен быть ортогонален частному q ( x ) . Следовательно
Поскольку остаток r ( x ) имеет степень n − 1 или меньше, мы можем интерполировать его точно, используя n точек интерполяции с полиномами Лагранжа l i ( x ) , где
У нас есть
Тогда его интеграл будет равен
где w i , вес, связанный с узлом x i , определяется как равный взвешенному интегралу l i ( x ) (см. ниже другие формулы для весов). Но все x i являются корнями p n , поэтому формула деления выше говорит нам, что
для всех i . Таким образом, мы в конечном итоге имеем
Это доказывает, что для любого многочлена h ( x ) степени 2 n − 1 или меньше его интеграл в точности равен сумме квадратур Гаусса.
Чтобы доказать вторую часть утверждения, рассмотрим факторизованную форму многочлена p n . Любые комплексно-сопряженные корни дадут квадратный множитель, который либо строго положителен, либо строго отрицателен на всей действительной прямой. Любые множители для корней вне интервала от a до b не изменят знака на этом интервале. Наконец, для множителей, соответствующих корням x i внутри интервала от a до b , которые имеют нечетную кратность, умножьте p n еще на один множитель, чтобы получить новый многочлен
Этот многочлен не может менять знак на интервале от a до b , поскольку все его корни там теперь имеют четную кратность. Поэтому интеграл,
поскольку весовая функция ω ( x ) всегда неотрицательна. Но p n ортогонален всем многочленам степени n -1 или меньше, поэтому степень произведения
должна быть не менее n . Следовательно, p n имеет n различных корней, все действительные, на интервале от a до b .
Общая формула для весов
Веса можно выразить как
где — коэффициент в . Чтобы доказать это, отметим, что с помощью интерполяции Лагранжа можно выразить r ( x ) через as ,
поскольку r ( x ) имеет степень меньше n и, таким образом, фиксируется значениями, которых она достигает в n различных точках. Умножение обеих сторон на ω ( x ) и интегрирование от a до b дает
Веса w i таким образом определяются как
Это интегральное выражение для можно выразить через ортогональные многочлены следующим образом.
Мы можем написать
где - коэффициент в . Принимая предел x к получаем с помощью правила Лопиталя
Таким образом, мы можем записать интегральное выражение для весов как
В подынтегральном выражении записываем
урожайность
при условии , что
является многочленом степени k − 1 , который затем ортогонален . Таким образом, если q ( x ) является многочленом не более n-й степени, то мы имеем
Мы можем оценить интеграл в правой части следующим образом. Поскольку является многочленом степени n − 1 , мы имеем
где s ( x ) является многочленом степени . Поскольку s ( x ) ортогонален, мы имеем
Затем мы можем написать
Член в скобках — это многочлен степени , который, следовательно, ортогонален . Таким образом, интеграл можно записать как
Согласно уравнению ( 2 ), веса получаются путем деления этого значения на , что дает выражение в уравнении ( 1 ).
также может быть выражено через ортогональные многочлены и теперь . В 3-членном рекуррентном соотношении член с исчезает, поэтому в уравнении (1) его можно заменить на .
Доказательство того, что веса положительны
Рассмотрим следующий многочлен степени
, где, как и выше, x j являются корнями многочлена . Очевидно , . Поскольку степень меньше , применяется квадратурная формула Гаусса, включающая веса и узлы, полученные из . Поскольку для j не равно i , имеем
Поскольку обе функции и неотрицательны, то отсюда следует, что .
Вычисление квадратурных правил Гаусса
Существует множество алгоритмов для вычисления узлов x i и весов w i квадратурных правил Гаусса. Наиболее популярными являются алгоритм Голуба-Велша, требующий O ( n 2 ) операций, метод Ньютона для решения с использованием трехчленной рекуррентности для оценки, требующий O ( n 2 ) операций, и асимптотические формулы для больших n, требующие O ( n ) операций.
Рекуррентное соотношение
Ортогональные многочлены с для скалярного произведения , степенью и старшим коэффициентом один (т.е. монические ортогональные многочлены) удовлетворяют рекуррентному соотношению
и скалярное произведение определено
для где n — максимальная степень, которая может быть принята за бесконечность, и где . Прежде всего, многочлены, определяемые рекуррентным соотношением, начинающимся с, имеют ведущий коэффициент один и правильную степень. Учитывая начальную точку , ортогональность может быть показана по индукции. Для одного есть
Теперь, если ортогональны, то также , поскольку во
всех скалярных произведениях обращаются в нуль, за исключением первого и того, где встречается тот же ортогональный многочлен. Следовательно,
Однако, если скалярное произведение удовлетворяет (что имеет место для квадратуры Гаусса), рекуррентное соотношение сводится к трехчленному рекуррентному соотношению: Для — многочлен степени, меньшей или равной r − 1. С другой стороны, ортогонален каждому многочлену степени, меньшей или равной r − 1. Следовательно, имеем и для s < r − 1. Тогда рекуррентное соотношение упрощается до
или
(с соглашением ) где
(последнее из-за , так как отличается от на степень, меньшую r ).
Алгоритм Голуба-Вельша
Трехчленное рекуррентное соотношение можно записать в матричной форме , где , — -й стандартный базисный вектор, т.е. , а J — следующая трехдиагональная матрица , называемая матрицей Якоби:
Нули полиномов до степени n , которые используются в качестве узлов для квадратуры Гаусса, можно найти, вычислив собственные значения этой матрицы. Эта процедура известна как алгоритм Голуба–Велша .
Для вычисления весов и узлов предпочтительнее рассматривать симметричную трехдиагональную матрицу с элементами
То есть,
J иявляются подобными матрицами и, следовательно, имеют одинаковые собственные значения (узлы). Веса могут быть вычислены из соответствующих собственных векторов: Если— нормализованный собственный вектор (т. е. собственный вектор с евклидовой нормой, равной единице), связанный с собственным значением x j , соответствующий вес может быть вычислен из первого компонента этого собственного вектора, а именно:
где - интеграл весовой функции
Более подробную информацию см., например, в (Gil, Segura & Temme 2007).
Оценка погрешности
Погрешность квадратурной формулы Гаусса можно сформулировать следующим образом. [5] Для подынтегрального выражения, имеющего 2 n непрерывных производных,
для некоторого ξ из ( a , b ) , где p n — монический (т.е. старший коэффициент равен 1 ) ортогональный многочлен степени n и где
В важном частном случае ω ( x ) = 1 мы имеем оценку погрешности [6]
Стоер и Булирш отмечают, что эта оценка ошибки неудобна на практике, поскольку может быть трудно оценить производную порядка 2 n , и, кроме того, фактическая ошибка может быть намного меньше границы, установленной производной. Другой подход заключается в использовании двух квадратурных правил Гаусса разных порядков и оценке ошибки как разницы между двумя результатами. Для этой цели могут быть полезны квадратурные правила Гаусса–Кронрода.
Правила Гаусса-Кронрода
Если интервал [ a , b ] подразделяется, то точки оценки Гаусса новых подынтервалов никогда не совпадают с предыдущими точками оценки (за исключением нуля для нечетных чисел), и, таким образом, подынтегральное выражение должно оцениваться в каждой точке. Правила Гаусса–Кронрода являются расширениями квадратурных правил Гаусса, генерируемыми путем добавления n + 1 точек к правилу из n точек таким образом, что результирующее правило имеет порядок 2 n + 1 . Это позволяет вычислять оценки более высокого порядка, повторно используя значения функции оценки более низкого порядка. Разница между квадратурным правилом Гаусса и его расширением Кронрода часто используется в качестве оценки ошибки аппроксимации.
Правила Гаусса-Лобатто
Также известна как квадратура Лобатто , [7] названная в честь голландского математика Реуэля Лобатто . Она похожа на квадратуру Гаусса со следующими отличиями:
Точки интегрирования включают конечные точки интервала интегрирования.
Он точен для полиномов до степени 2n – 3 , где n – число точек интегрирования. [8]
Квадратура Лобатто функции f ( x ) на интервале [−1, 1] :
Абсциссы: x i - первый ноль , здесь обозначает стандартный полином Лежандра m -й степени, а черточка обозначает производную.
Вес:
Остаток:
Вот некоторые веса:
Адаптивный вариант этого алгоритма с 2 внутренними узлами [9] можно найти в GNU Octave и MATLAB как quadlи integrate. [10] [11]
Андерсон, Дональд Г. (1965). "Гауссовы квадратурные формулы для ∫ 0 1 − ln ( x ) f ( x ) d x {\displaystyle \int _{0}^{1}-\ln(x)f(x)dx} ". Math. Comp . 19 (91): 477–481. doi : 10.1090/s0025-5718-1965-0178569-1 .
Данлой, Бернард (1973). «Численное построение квадратурных формул Гаусса для и ». Math. Comp . 27 (124): 861–869. doi :10.1090/S0025-5718-1973-0331730-X. MR 0331730.
Итон, Джон В.; Бейтман, Дэвид; Хауберг, Сорен; Вебринг, Рик (2018). «Функции одной переменной (GNU Octave)» . Проверено 28 сентября 2018 г.
Гандер, Уолтер; Гаучи, Уолтер (2000). «Адаптивная квадратура — повторный взгляд». BIT Numerical Mathematics . 40 (1): 84–101. doi :10.1023/A:1022318402393.
Гаусс, Карл Фридрих (1815). Methodus novaintegrium valores для аппроксимации изобретений. Комм. Соц. наук. Геттингенская математика. Том. 3. С. 29–76.datiert 1814, auch в Werke, Band 3, 1876, S. 163–196. Английский перевод Wikisource.
Гаучи, Вальтер (1970). «О построении квадратурных правил Гаусса из модифицированных моментов». Math. Comp . 24 (110): 245–260. doi :10.1090/S0025-5718-1970-0285117-6. MR 0285177.
Гаучи, Вальтер (2020). Репозиторий программного обеспечения для квадратур Гаусса и функций Кристоффеля . SIAM. ISBN 978-1-611976-34-2.
Гил, Ампаро; Сегура, Хавьер; Темме, Нико М. (2007), «§5.3: квадратура Гаусса», Численные методы для специальных функций , SIAM, ISBN 978-0-89871-634-4
Голуб, Джин Х.; Уэлш, Джон Х. (1969). «Вычисление квадратурных правил Гаусса». Математика вычислений . 23 (106): 221–230. doi : 10.1090/S0025-5718-69-99647-1 . JSTOR 2004418.
Якоби, CGJ (1826 г.). «Новый метод Ueber Gauß, die Werthe der Integrale näherungsweise zu finden». Журнал для королевы и математики . 1 . S. 301–308und Werke, Band 6.{{cite journal}}: CS1 maint: postscript (link)
Кабир, Хоссейн; Матиколаи, Сайед Амир Хоссейн Хассанпур (2017). «Реализация точного обобщенного гауссовского квадратурного решения для поиска упругого поля в однородной анизотропной среде». Журнал Сербского общества вычислительной механики . 11 (1): 11–19. doi :10.24874/jsscm.2017.11.01.02.
Лаудадио, Тереза; Мастронарди, Никола; Ван Доорен, Пол (2023). «Вычисление квадратурных правил Гаусса с высокой относительной точностью». Численные алгоритмы . 92 : 767–793. doi : 10.1007/s11075-022-01297-9 .
Лори, Дирк П. (1999), «Точное восстановление коэффициентов рекурсии из квадратурных формул Гаусса», J. Comput. Appl. Math. , 112 (1–2): 165–180, doi : 10.1016/S0377-0427(99)00228-9
Лори, Дирк П. (2001). «Вычисление квадратурных формул типа Гаусса». J. Comput. Appl. Math . 127 (1–2): 201–217. Bibcode : 2001JCoAM.127..201L. doi : 10.1016/S0377-0427(00)00506-9.
Piessens, R. (1971). "Гауссовы квадратурные формулы для численного интегрирования интеграла Бромвича и обращения преобразования Лапласа". J. Eng. Math . 5 (1): 1–9. Bibcode :1971JEnMa...5....1P. doi :10.1007/BF01535429.
Press, WH ; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), «Раздел 4.6. Гауссовы квадратуры и ортогональные многочлены», Numerical Recipes: The Art of Scientific Computing (3-е изд.), Нью-Йорк: Cambridge University Press, ISBN 978-0-521-88068-8
Ринер, Кордиан; Швайгхофер, Маркус (2018). «Оптимизационные подходы к квадратуре: новые характеристики гауссовой квадратуры на прямой и квадратуры с несколькими узлами на плоских алгебраических кривых, на плоскости и в более высоких измерениях». Журнал сложности . 45 : 22–54. arXiv : 1607.08404 . doi : 10.1016/j.jco.2017.10.002.
Сагар, Робин П. (1991). «Квадратура Гаусса для вычисления обобщенных интегралов Ферми-Дирака». Comput. Phys. Commun . 66 (2–3): 271–275. Bibcode :1991CoPhC..66..271S. doi :10.1016/0010-4655(91)90076-W.
Стоер, Йозеф; Булирш, Роланд (2002), Введение в численный анализ (3-е изд.), Springer , ISBN 978-0-387-95452-3
Табличные веса и абсциссы с исходным кодом Mathematica, квадратурные веса и абсциссы Лежандра-Гаусса высокой точности (16 и 256 знаков после запятой) для n =2 – n =64 с исходным кодом Mathematica.
Исходный код системы Mathematica, распространяемый под лицензией GNU LGPL, предназначен для генерации абсцисс и весов для произвольных весовых функций W(x), областей интегрирования и точности.
Квадратура Гаусса в Boost.Math для произвольной точности и порядка аппроксимации
Квадратура Гаусса–Кронрода в Boost.Math
Узлы и веса квадратуры Гаусса Архивировано 2021-04-14 на Wayback Machine