stringtranslate.com

Гауссова квадратура

Сравнение двухточечной гауссовой и трапециевидной квадратуры.
Сравнение между 2-точечной гауссовой и трапециевидной квадратурой.
Синяя кривая показывает функцию, определенный интеграл которой на интервале [−1, 1] должен быть вычислен (интегральное выражение). Формула трапеции аппроксимирует функцию линейной функцией, которая совпадает с подынтегральным выражением на концах интервала и представлена ​​оранжевой пунктирной линией. Аппроксимация, по-видимому, не очень хорошая, поэтому ошибка велика ( формула трапеции дает аппроксимацию интеграла, равную y (–1) + y (1) = –10 , тогда как правильное значение равно 23 ). Чтобы получить более точный результат, интервал необходимо разбить на множество подынтервалов, а затем использовать составную
формулу трапеции, что требует гораздо больше вычислений. Вместо этого гауссова квадратура выбирает более подходящие точки, поэтому даже линейная функция аппроксимирует функцию лучше (черная пунктирная линия). Поскольку подынтегральное выражение представляет собой многочлен 3-й степени ( y ( x ) = 7 x 3 – 8 x 2 – 3 x + 3 ), двухточечное квадратурное уравнение Гаусса даже возвращает точный результат.

В численном анализе квадратурное правило Гаусса для 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 являются корнями многочлена, принадлежащего классу ортогональных многочленов (классу, ортогональному относительно взвешенного внутреннего произведения). Это ключевое наблюдение для вычисления квадратурных узлов и весов Гаусса.

Квадратура Гаусса–Лежандра

Графики полиномов Лежандра (до n = 5)

Для простейшей задачи интеграции, указанной выше, то есть, 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] названная в честь голландского математика Реуэля Лобатто . Она похожа на квадратуру Гаусса со следующими отличиями:

  1. Точки интегрирования включают конечные точки интервала интегрирования.
  2. Он точен для полиномов до степени 2n – 3 , где n число точек интегрирования. [8]

Квадратура Лобатто функции f ( x ) на интервале [−1, 1] :

Абсциссы: x i - первый ноль , здесь обозначает стандартный полином Лежандра m -й степени, а черточка обозначает производную.

Вес:

Остаток:

Вот некоторые веса:

Адаптивный вариант этого алгоритма с 2 внутренними узлами [9] можно найти в GNU Octave и MATLAB как quadlи integrate. [10] [11]

Ссылки

Цитаты

  1. ^ Гаусс 1815
  2. ^ Якоби 1826
  3. ^ Абрамовиц и Стегун 1983, стр. 887
  4. ^ Стер и Булирш 2002, стр. 172–175.
  5. ^ Стер и Булирш 2002, Thm 3.6.24
  6. ^ Каханер, Молер и Нэш 1989, §5.2
  7. ^ Абрамовиц и Стегун 1983, стр. 888
  8. ^ Квартерони, Сакко и Салери 2000
  9. ^ Гандер и Гаучи 2000
  10. ^ MathWorks 2012
  11. ^ Итон и др. 2018

Библиография

Внешние ссылки