Что делает этот калькулятор
Инструмент вычисляет узлы (абсциссы) \(x_i\) и веса \(w_i\) n-точечной квадратурной формулы Гаусса–Лобатто на эталонном отрезке [-1, 1] с весовой функцией \(w(x) = 1\). В отличие от классической квадратуры Гаусса–Лежандра, формула Гаусса–Лобатто всегда включает оба конца отрезка \(x = -1\) и \(x = +1\) в число узлов. Это особенно полезно, когда важны граничные значения — например, в методах спектральных элементов. Речь идёт о чистом численном анализе: формула работает одинаково везде и не привязана к какой-либо стране или региону.
Как пользоваться
Задайте число точек \(n\) (от 2 до 100) и при желании укажите точность вывода. Калькулятор вернёт таблицу из \(n\) строк, в каждой из которых приведены узел \(x_i\) и соответствующий ему вес \(w_i\). Узлы расположены симметрично относительно нуля, веса тоже симметричны, поэтому \(x_i\) и \(-x_i\) имеют одинаковый вес. В качестве встроенной проверки: сумма всех весов равна 2 — длине отрезка.
Разбор формулы
Формула приближает интеграл суммой \(w_1 f(x_1) + \ldots + w_n f(x_n)\) и точна для многочленов степени до \(2n-3\) включительно. Внутренние узлы \(x_2, \ldots, x_{n-1}\) — это \(n-2\) корня производной \(P_{n-1}'(x)\) многочлена Лежандра степени \(n-1\). Концевые узлы получают вес \(\frac{2}{n(n-1)}\), а каждый внутренний узел \(x_i\) — вес \(\frac{2}{n(n-1)[P_{n-1}(x_i)]^2}\). Калькулятор находит внутренние корни методом Ньютона, отталкиваясь от начальных приближений Чебышёва–Гаусса–Лобатто \(\cos\left(\frac{\pi j}{n-1}\right)\), что обеспечивает полную двойную точность (около 15–16 значащих цифр).
$$\int_{-1}^{1} f(x)\,dx \approx \sum_{i=1}^{\text{n}} w_i\, f(x_i)$$ $$\text{where}\quad \left\{ \begin{aligned} x_1 &= -1,\quad x_{\text{n}} = 1 \\ x_i &: P_{\text{n}-1}^{\prime}(x_i) = 0 \quad(\text{interior}) \\ w_{1} &= w_{\text{n}} = \frac{2}{\text{n}\,(\text{n}-1)} \\ w_i &= \frac{2}{\text{n}\,(\text{n}-1)\,\left[P_{\text{n}-1}(x_i)\right]^{2}} \end{aligned} \right.$$
Разобранный пример (n = 4)
Внутренние узлы являются решениями уравнения \(P_3'(x) = \frac{15x^2 - 3}{2} = 0\), поэтому \(x = \pm\frac{1}{\sqrt{5}} = \pm 0.4472135955\). Вес концевого узла равен $$\frac{2}{4 \cdot 3} = \frac{1}{6} = 0.1666666667.$$ Для внутренних узлов \(P_3\left(\frac{1}{\sqrt{5}}\right) = -0.4472135955\), квадрат этого значения равен \(0.2\), что даёт вес $$\frac{2}{4 \cdot 3 \cdot 0.2} = \frac{5}{6} = 0.8333333333.$$ Сумма \(\frac{1}{6} + \frac{5}{6} + \frac{5}{6} + \frac{1}{6} = 2\) подтверждает корректность формулы.
Частые вопросы
Чем это отличается от квадратуры Гаусса–Лежандра? В формуле Гаусса–Лежандра все узлы лежат строго внутри интервала \((-1, 1)\), и она точна до степени \(2n-1\). Гаусса–Лобатто закрепляет оба конца в качестве узлов и точна до степени \(2n-3\) — то есть жертвует двумя степенями точности ради включения границ.
Как применить эти значения на произвольном отрезке [a, b]? Преобразуйте каждый узел по правилу \(x \to \frac{b-a}{2} x + \frac{a+b}{2}\) и умножьте каждый вес на \(\frac{b-a}{2}\). На этой странице выводятся только значения для отрезка [-1, 1].
Почему сумма весов должна равняться 2? Интеграл функции \(f(x) = 1\) по отрезку [-1, 1] равен 2, а формула точна для констант, поэтому веса в сумме обязаны давать длину отрезка.