Что такое квадратура Гаусса–Лагерра?
Квадратура Гаусса–Лагерра — это численный метод приближённого вычисления несобственных интегралов на полубесконечном промежутке (0, ∞), у которых подынтегральная функция убывает по экспоненциальному закону. Интеграл заменяется взвешенной суммой значений функции в специально подобранных точках, которые называют узлами. Для выбранного порядка n правило точно интегрирует любой многочлен степени до 2n−1 (с весом \(x^{\alpha}\cdot e^{-x}\)), благодаря чему даёт поразительно высокую точность для гладких функций всего за несколько вычислений.
Как пользоваться калькулятором
Сначала выберите режим ввода. Возьмите f(x), если ваш интеграл уже имеет вид интеграла от \(x^{\alpha}\cdot e^{-x}\cdot f(x)\, dx\) и вам нужно ввести только множитель f. Возьмите g(x), если у вас есть полная подынтегральная функция g(x) на (0, ∞) — тогда калькулятор автоматически выделит встроенный вес. Введите функцию от переменной x в стандартной записи (+, −, *, /, ^, sqrt, exp, ln, sin, cos, tan и т. д.), задайте число узлов n и параметр веса alpha (для обычной квадратуры Гаусса–Лагерра используйте 0). Увеличение n повышает точность для гладких функций.
Разбор формулы
Узлы x_i — это корни обобщённого многочлена Лагерра \(L_n^{(\alpha)}(x)\), а веса w_i находятся по алгоритму Голуба–Уэлша: собственные значения симметричной трёхдиагональной матрицы Якоби дают узлы, а \(w_i = \Gamma(\alpha+1)\), умноженное на квадрат первой компоненты каждого нормированного собственного вектора. Затем интеграл приближается взвешенной суммой, показанной выше.
$$\int_{0}^{\infty} x^{\alpha} e^{-x}\, g(x)\, dx \approx \sum_{i=1}^{n} w_i\, g(x_i)$$
Разобранный пример
Возьмём \(\alpha = 0\), \(n = 2\), режим f(x), \(f(x) = x^2\) (то есть оцениваем интеграл от \(x^2\cdot e^{-x}\, dx\), точное значение которого равно \(\Gamma(3) = 2\)). Два узла: \(x_1 = 2 - \sqrt{2} = 0{,}585786\) с весом \(w_1 = 0{,}853553\) и \(x_2 = 2 + \sqrt{2} = 3{,}414214\) с весом \(w_2 = 0{,}146447\). Сумма равна $$0{,}853553 \times 0{,}343146 + 0{,}146447 \times 11{,}656854 = 0{,}292893 + 1{,}707107 = 2{,}000000,$$ что в точности совпадает с точным ответом, потому что \(x^2\) — это многочлен степени \(2 \le 2n-1 = 3\).
Частые вопросы
Что задаёт параметр alpha? Он определяет показатель степени в весовой функции \(x^{\alpha}\cdot e^{-x}\). Для стандартной квадратуры Гаусса–Лагерра используйте \(\alpha = 0\). Значение должно удовлетворять условию \(\alpha > -1\), чтобы вес оставался интегрируемым.
Почему мой результат неточен? Скорее всего, подынтегральная функция либо недостаточно гладкая, либо слишком медленно убывает на (0, ∞). Правило всегда возвращает конечное число, но имеет смысл лишь тогда, когда истинный интеграл сходится, а функция хорошо приближается многочленами, умноженными на вес. Увеличьте n, чтобы проверить сходимость.
В чём разница между режимами f и g? В режиме f вы задаёте только множитель при встроенном весе, а в режиме g — всю подынтегральную функцию целиком, и тогда вес выделяется внутри суммы. При согласованной настройке оба режима дают одинаковый ответ.