Моя страница Выйти Войти

Вычислительная математика

Теория приближения Введение в предмет Интерполяция Оптимальная интерполяция Локальная интерполяция Численное дифференцирование Численное интегрирование Наилучшее приближение Тригонометрические полиномы Численные методы для систем ОДУ Численные методы для систем ОДУ I Численные методы для систем ОДУ II Численные методы линейной алгебры Методы последовательного исключения Собственные числа и вектора Методы простой итерации Сингулярные числа Методы подпространства Крылова Численные методы для нелинейных уравнений Численные методы для нелинейных уравнений Метод Ньютона

Вычислительная математика

Содержание курса
Теория приближения Введение в предмет Интерполяция Оптимальная интерполяция Локальная интерполяция Численное дифференцирование Численное интегрирование Наилучшее приближение Тригонометрические полиномы Численные методы для систем ОДУ Численные методы для систем ОДУ I Численные методы для систем ОДУ II Численные методы линейной алгебры Методы последовательного исключения Собственные числа и вектора Методы простой итерации Сингулярные числа Методы подпространства Крылова Численные методы для нелинейных уравнений Численные методы для нелинейных уравнений Метод Ньютона

Численное интегрирование

Базовая идея численного интегрирования состоит в том, чтобы аппроксимировать интеграл следующим образом:
\begin{equation} \int_a^b f(x) dx \approx \sum_{i=1}^n a_i f(x_i), \quad a_i \in \mathbb{R}, \end{equation}
где выражение справа называется квадратурой. Как и в случае численного дифференцирования, простейшие квадратуры можно вывести, аппроксимируя $f(x)$ интерполяционным многочленом Лагранжа. image/svg+xml

Формулы Ньютона-Котеса

Рассмотрим функцию $f(x) \in C^{n}[a; b]$ и $n$ различных узлов $x_1, \dots, x_n$. Тогда, раскладывая $f(x)$ в базисные многочлены Лагранжа, мы получаем
\begin{equation} f(x) = \sum_{i=1}^n f(x_i) l_i(x) + \frac{\prod_{i=1}^n (x - x_i)}{n!} f^{(n)}(\xi(x)), \end{equation}
где $\xi(x) \in (a; b)$. image/svg+xml Тогда интегрирование $f(x)$ на интервале $[a; b]$ дает:
\begin{equation} \begin{split} \int_a^b f(x) dx &= \int_a^b \sum_{i=1}^n \left[f(x_i) l_i(x) \right] dx + \int_a^b \frac{\prod_{i=1}^n (x - x_i)}{n!} f^{(n)}(\xi(x)) dx \\ &= \sum_{i=1}^n \left[f(x_i) \int_a^b l_i(x) dx \right] + \int_a^b \frac{\prod_{i=1}^n (x - x_i)}{n!} f^{(n)}(\xi(x)) dx, \\ \end{split} \label{eq:general_numer_quad_lagrange} \end{equation}
что дает выражение для коэффициентов квадратуры $a_i$:
\begin{equation} a_i = \int_a^b l_i(x) dx. \end{equation}
В случае, когда интерполяционные узлы $x_1, \dots, x_n$ распределены равномерно, мы получаем формулы Ньютона-Котеса для численного интегрирования. Оценим остаточный член формул Ньютона-Котеса для $n$ узлов $x_i = x_1 + (i-1)h$, где $i = 1, \dots, n$ и $x_1 = a, x_n = b$:
\begin{equation} \begin{split} R &= \frac{1}{n!} \int_a^b \prod_{i=1}^n (x - x_i) f^{(n)}(\xi(x)) dx \\ &= \frac{1}{n!} \int_a^b \prod_{i=1}^n \left[x - x_1 - (i-1)h \right] f^{(n)}(\xi(x)) dx. \\ \end{split} \end{equation}
Представим переменную $x$ как $x = x_1 + (t-1) h$, что дает $dx = h dt$ и $t = \dfrac{x-x_1}{h} + 1$. Тогда, произведя замену в выражении выше, имеем:
\begin{equation} \label{eq:R_newton_cotes} R = \frac{h^n}{n!} \int_1^n \prod_{i=1}^n \left(t - i \right) f^{(n)}(\xi(t)) dt. \end{equation}
Таким образом, порядок точности можно оценить как $O(h^n)$. Чтобы получить более точное выражение для остаточного члена, необходимо заметить, что полином в подинтегральном выражении меняет знак только в узлах $x_i$. Тогда, пользуя первой теоремой о среднем значении, мы получаем:
\begin{equation} R = \frac{h^n}{n!} \sum_{j = 1}^{n-1} f^{(n)}(\xi_j) \int_{j}^{j+1} \prod_{i=1}^n \left(t - i \right) dt. \end{equation}
где $\xi_j \in [x_j; x_{j+1}]$. Эта форма $R$ приводит к теореме об остаточном члене формул Ньютона-Котеса, которую мы рассмотрим без доказательства. Основным следствием теоремы является тот факт, что предпочтительным является нечетное число узлов. Это связано с формой полинома в подинтегральном выражении в \eqref{eq:R_newton_cotes}, который в случае нечетного числа узлов имеет равное количество отрезков, на которых функция всюду положительна и всюду отрицальна, что снижает погрешность метода.

Формулы трапеций и Симпсона

Частными случаями формул Ньютона-Котеса являются формула трапеций ($n=2$) и формула Симпсона ($n=3$). В связи с их распространенностью рассмотрим вывод этих формул с явными выражением для остаточного члена. Так, для $n=2$ выражение \eqref{eq:general_numer_quad_lagrange} принимает вид:
\begin{multline} \int_a^b f(x) dx = f(x_1) \int_{x_1}^{x_2} \frac{(x-x_2)}{(x_1 - x_2)} dx + f(x_2) \int_{x_1}^{x_2} \frac{(x-x_1)}{(x_2 - x_1)} dx + \\ + \int_{x_1}^{x_2} \frac{(x - x_1)(x - x_2)}{2} f^{\prime\prime}(\xi(x)) dx, \end{multline}
что после интегрирования линейных полиномов дает:
\begin{equation} \int_a^b f(x) dx = \frac{h}{2}\left[f(x_1) + f(x_2)\right] + \int_{x_1}^{x_2} \frac{(x - x_1)(x - x_2)}{2} f^{\prime\prime}(\xi(x)) dx. \end{equation}
Так как полином внутри подинтегрального выражения не меняет знак для $x \in [a; b]$, первая теорема о среднем значении позволяет записать выражение
\begin{equation} \int_a^b f(x) dx = \frac{h}{2}\left[f(x_1) + f(x_2)\right] + f^{\prime\prime}(\xi) \int_{x_1}^{x_2} \frac{(x - x_1)(x - x_2)}{2} dx, \end{equation}
где $\xi \in (a; b)$. Таким образом мы получаем выражение для формулы трапеций:
\begin{equation} \label{eq:integr_trapezoid_formula} \int_a^b f(x) dx = \frac{h}{2}\left[f(x_1) + f(x_2)\right] - \frac{h^3}{12} f^{\prime\prime}(\xi), \end{equation}
где, как мы помним, $x_1 = a$, $x_2 = b$ и $h = b - a$. image/svg+xml Для вывода формулы Симпсона с $n=3$ мы воспользуемся альтернативным подходом, который сделает вывод остаточного члена проще, а также в очередной раз продемонстрирует связь между интерполяционным многочленом Лагранжа и рядом Тейлора. Рассмотрим разложение функции $f(x)$ в ряд Тейлора в промежуточном узле $x_2$:
\begin{multline} f(x) = f(x_2) + f'(x_2)(x-x_2) + \frac{f''(x_2)}{2} (x-x_2)^2 + \frac{f'''(x_2)}{6} (x-x_2)^3 + \\ + \frac{f^{(4)}(\xi(x))}{24} (x-x_2)^4. \end{multline}
Тогда интеграл от $f(x)$ принимает вид:
\begin{multline} \int_a^b f(x) dx = \\ = \left[f(x_2)(x-x_2) + \frac{f'(x_2)}{2}(x-x_2)^2 + \frac{f''(x_2)}{6} (x-x_2)^3 + \frac{f'''(x_2)}{24} (x-x_2)^4 \right]_{x_1}^{x_3} + \\ + \int_{x_1}^{x_3} \frac{f^{(4)}(\xi(x))}{24} (x-x_2)^4 dx. \end{multline}
В силу четности степеней члены, включающие в себя нечетные производные, обращаются в ноль. Более того, так как $(x-x_2)^4 \geq 0$, мы можем применить первую теорему о среднем значении, что в результате дает:
\begin{equation} \int_a^b f(x) dx = 2h f(x_2) + \left[\frac{f''(x_2)}{6} (x-x_2)^3 \right]_{x_1}^{x_3} + \frac{f^{(4)}(\xi)}{24} \int_{x_1}^{x_3} (x-x_2)^4 dx, \end{equation}
где $\xi \in (x_1; x_3)$. Для того, чтобы избавиться от второй производной, воспользуемся формулой для численного дифференцирования с остаточным членом \eqref{eq:num_diff_second_deriv}. После подстановки равенство выше принимает вид:
\begin{equation} \begin{split} \int_a^b f(x) dx &= 2h f(x_2) + \frac{h^3}{3}\left[\frac{f(x_1) - 2 f(x_2) + f(x_3)}{h^2} - \frac{h^2}{12} f^{(4)}(\xi_1)\right] \\ &\quad + \frac{f^{(4)}(\xi_2)}{24} \int_{x_1}^{x_3} (x-x_2)^4 dx \\ &= \frac{h}{3}\left[f(x_1) + 4 f(x_2) + f(x_3)\right] - \frac{h^5}{36} f^{(4)}(\xi_1) + \frac{h^5}{60} f^{(4)}(\xi_2), \end{split} \end{equation}
где $\xi_1, \xi_2 \in (x_1; x_3)$. Так как в общем случае $\xi_1 \neq \xi_2$ нам необходимо каким-то образом скомбинировать два последних члена. Для этого рассмотрим остаточный член в общем случае и предположим, что существует такое $\xi \in (x_1; x_3)$, что:
\begin{equation} \int_a^b f(x) dx = \frac{h}{3}\left[f(x_1) + 4 f(x_2) + f(x_3)\right] + \alpha f^{(4)}(\xi), \end{equation}
где $\alpha \in \mathbb{R}$ – неопределенный коэффициент. Для того чтобы найти его, заметим, что $f^{(4)}(\xi) = 24$ для любого нормированного многочлена 4-й степени. Тогда рассмотрим в качестве $f(x)$ многочлен $(x-x_2)^4$:
\begin{equation} \begin{split} &\int_{x_1}^{x_3} (x-x_2)^4 dx = \frac{2 h^5}{5} \\ \Longrightarrow \quad &\frac{2 h^5}{5} = \frac{h}{3}\left[(x_1-x_2)^4 + 4 (x_2-x_2)^4 + (x_3-x_2)^4\right] - 24 \alpha \\ \Longrightarrow \quad &\alpha = -\frac{h^5}{90}. \end{split} \end{equation}
Таким образом мы получаем формулу Симпсона с явным выражением для остаточного члена:
\begin{equation} \label{eq:simpson} \int_a^b f(x) dx = \frac{h}{3}\left[f(x_1) + 4 f(x_2) + f(x_3)\right] - \frac{h^5}{90} f^{(4)}(\xi), \end{equation}
где $x_1 = a$, $x_2 = x_1 + h$ и $x_3 = x_1 + 2h = b$. Малость погрешности формулы Симпсона, $O(h^5)$, при использовании всего лишь трех узлов объясняет ее частое использование в реальных приложениях. image/svg+xml Необходимо отметить, что такая малая погрешность сохраняется только при достаточной гладкости функции $f(x)$. Для того, чтобы численно исследовать зависимость остаточного члена формулы Симпсона от гладкости интегрируемой функции, мы проведет следующий вычислительный эксперимент. Рассмотрим две функции $f_1(x) = e^x$ и $f_2(x) = |x|$, первая из которых является бесконечно гладкой, а вторая лишь непрерывной. Построим на основе последовательности шагов $\{h_i\}_{i=1}^n$ соответствующую последовательность интегралов:
\begin{align} \{I_i^{(1)}\}_{i=1}^n, \quad \text{где~} I_i^{(1)} &= \int_{\frac{1}{2} - h_i}^{\frac{1}{2} + h_i} e^x dx = e^{\frac{1}{2} + h_i} - e^{\frac{1}{2} - h_i}, \\ \{I_i^{(2)}\}_{i=1}^n, \quad \text{где~} I_i^{(2)} &= \int_{-h_i}^{h_i} |x| dx = h_i^2, \end{align}
где $x = 1/2$ и $x = 0$ являются центральными узлами численного интегрирования для $f_1(x)$ и $f_2(x)$ соответственно. Рассчитав те же интегралы с помощью формулы Симпсона и найдя полную погрешность $E$, включающую в себя как остаточный член, так и вычислительную погрешность, для каждого случая, мы получаем рисунок ниже. Для начала заметим, что численное интегрирование устойчиво с вычислительной точки зрения, и полная погрешность полностью соответствует остаточному члену вплоть до тех пор, пока $E$ не достигнет машинного эпсилон. Сам остаточный член, как мы видим, пропорционален $O(h^5)$ в случае бесконечно гладкой функции $f_1(x)$, что и предполагается равенством \eqref{eq:simpson}, в то время как в случае функции $f_2(x)$ погрешность метода пропорциональна лишь $O(h^2)$, что связано с тем, что уже первая производная от $f_2(x)$ имеет разрыв, что делает формулу \eqref{eq:simpson} нерабочей. 2022-08-21T15:14:00.351667 image/svg+xml Matplotlib v3.5.1, https://matplotlib.org/

Формула средних

Отдельно рассмотрим случай, когда на отрезке $[a; b]$ мы имеем только один узел, расположенный в центре отрезка, т.е. $x_1 = \frac{a + b}{2}$. Разложим функцию $f(x) \in C^2[a; b]$ в ряд Тейлора в этом узле:
\begin{equation} f(x) = f(x_1) + f'(x_1)(x - x_1) + \frac{f''(\xi(x))}{2} (x - x_1)^2. \end{equation}
Тогда интеграл от $f(x)$ вычисляется следующим образом:
\begin{equation} \int_a^b f(x) dx = \left[f(x_1)(x - x_1) + \frac{1}{2}f'(x_1)(x - x_1)^2 \right]_{a}^{b} + \int_{a}^{b} \frac{f''(\xi(x))}{2} (x - x_1)^2 dx. \end{equation}
Так как выражение $(x-x_1)^2$ всюду неотрицательно, мы можем воспользователься первой теоремой о среднем значении, что дает:
\begin{equation} \int_a^b f(x) dx = f(x_1)(b - a) + \frac{f''(\xi)}{2} \int_{a}^{b} (x - x_1)^2 dx, \end{equation}
что после интегрирования приводит к формуле средних:
\begin{equation} \int_a^b f(x) dx = f(x_1)(b - a) + \frac{f''(\xi)}{24} (b - a)^3. \end{equation}
Заметим, что остаточный член в формуле средних пропорционален $O(h^3)$, где $h = b-a$, т.е. имеет тот же порядок погрешности, что и формула трапеций. Однако формула средних использует только один узел и, соответственно, только одно значение функции $f(x)$, что делает ее предпочтительной с вычислительной точки зрения. image/svg+xml

Степень точности численного интегрирования

Несмотря на то, что оценка остаточного члена с точки зрения его зависимости от шага интегрирования $h$ является удобной для анализа и сравнения различных формул интегрирования, на практике часто пользуются другой оценкой, напрямую следующей из формы остаточного члена. Этой оценкой является степень точности численного интегрирования. Степенью точности квадратуры называется такое наибольшее $n \in \mathbb{N}$, что формула квадратуры дает точный результат для всех $x^i, i = 0, \dots n$. Легко проверить, что вследствие линейности операции интегрирования, это определение автоматически приводит к следующей теореме: Форма остаточного члена в формулах трапеций и Симпсона позволяет заключить, что они имеют степени точности $1$ и $3$ соответственно. Например, интегрируя любой полином, имеющий степень $0, 1, 2$ или $3$, формула Симпсона будет давать точный результат. В дальнейшем мы рассмотрим способ построения квадратур, имеющих наибольшую степень точности при наименьшем числе используемых узлов.

Составные формулы численного интегрирования

Как и в случае с интерполяцией, использование формул Ньютона-Котеса большого порядка для увелечения точности интегрирования на больших отрезках приводит к паразитным решениям. В таком случае предпочтительным является кусочный подход к интегрированию. Мы построим составные формулы из формул Симпсона, трапеций и средних, хотя подобный подход, очевидно, можно применить к любым другим квадратурам. image/svg+xml Рассмотрим интеграл $\int_a^b f(x) dx$. Разделим отрезок $[a; b]$ на четное число подотрезков $n$ и применим формулу Симпсона на каждом из них. Тогда для $f(x) \in C^{4}[a;b]$, $h = \frac{b - a}{n}$ и $x_i = a + (i-1)h$, где $i = 1, \dots, n+1$ мы имеем:
\begin{equation} \begin{split} \int_a^b f(x) dx &= \sum_{i = 1}^{n/2} \int_{x_{2i - 1}}^{x_{2i + 1}} f(x) dx \\ &= \frac{h}{3} \sum_{i = 1}^{n/2} \left[f(x_{2i - 1}) + 4 f(x_{2i}) + f(x_{2i + 1})\right] - \frac{h^5}{90} \sum_{i = 1}^{n/2} f^{(4)}(\xi_i), \end{split} \end{equation}
где $\xi_i \in (x_{2i - 1}; x_{2i + 1})$. Заметим, что все нечетные узлы за исключением $x_1$ и $x_{n+1}$ дважды повторяются в сумме, что позволяет упростить выражение:
\begin{equation} \int_a^b f(x) dx = \frac{h}{3} \left[f(x_1) + 2 \sum_{i = 1}^{n/2 - 1} f(x_{2i + 1}) + 4 \sum_{i = 1}^{n/2} f(x_{2i}) + f(x_{n+1})\right] - \frac{h^5}{90} \sum_{i = 1}^{n/2} f^{(4)}(\xi_i). \end{equation}
Для упрощения выражения для остаточного члена заметим, что так как $f(x) \in C^{4}[a; b]$, мы имеем:
\begin{equation} \begin{split} &\min_{x \in [a; b]} f^{(4)}(x) \leq f^{(4)}(\xi_i) \leq \max_{x \in [a; b]} f^{(4)}(x) \\ \Longrightarrow &\frac{n}{2} \min_{x \in [a; b]} f^{(4)}(x) \leq \sum_{i = 1}^{n/2} f^{(4)}(\xi_i) \leq \frac{n}{2} \max_{x \in [a; b]} f^{(4)}(x) \\ \Longrightarrow &\min_{x \in [a; b]} f^{(4)}(x) \leq \frac{2}{n} \sum_{i = 1}^{n/2} f^{(4)}(\xi_i) \leq \max_{x \in [a; b]} f^{(4)}(x). \end{split} \end{equation}
Тогда по теореме о промежуточном значении мы получаем:
\begin{equation} f^{(4)}(\xi) = \frac{2}{n} \sum_{i = 1}^{n/2} f^{(4)}(\xi_i), \end{equation}
где $\xi \in (a; b)$. Остаточный член в таком случае принимает следующую форму:
\begin{equation} \begin{split} R &= - \frac{h^5}{90} \sum_{i = 1}^{n/2} f^{(4)}(\xi_i) \\ &= -\frac{n h^5}{180} f^{(4)}(\xi) \\ &= -\frac{(b-a) h^4}{180} f^{(4)}(\xi). \end{split} \end{equation}
Заметим, что по сравнению со стандартной формулой Симпсона, остаточный член составной формулы Симпсона пропорционален $O(h^4)$. Результирующее выражение для составной формулы представлено в следующей теореме. Аналогично можно вывести составные формулы трапеций и средних, в которых $n$ может быть как четным, так и нечетным. Мы приведет соответствующие теоремы без доказательства.

Вычислительная устойчивость операции интегрирования

По сравнению с дифференцированием, операция интегрирования, как мы вскоре покажем, способна к стабилизации вычислительной погрешности. Интуитивное объяснение этого эффект заключается в том, что интегрирование предполагает суммирование близких значений, в то время как дифференцирование вычисляет их разность. Рассмотрим составную формулу Симпсона и предположим, что значение $f(x)$ в точке $x_i$ вычисляется с погрешностью округления $e_i$:
\begin{equation} f(x_i) = \tilde f(x_i) + e_i, \quad i = 1, \dots, n + 1. \end{equation}
Тогда полная погрешность округления, накапливаемая составной формулой Симпсона, может быть оценена следующим образом:
\begin{equation} \begin{split} e(h) &= \frac{h}{3} \left[e_1 + 2 \sum_{i = 1}^{n/2 - 1} e_{2i + 1} + 4 \sum_{i = 1}^{n/2} e_{2i} + e_{n+1}\right] \\ &\leq \frac{h}{3} \left[|e_1| + 2 \sum_{i = 1}^{n/2 - 1} |e_{2i + 1}| + 4 \sum_{i = 1}^{n/2} |e_{2i}| + |e_{n+1}|\right]. \end{split} \end{equation}
Предположим, что погрешность округления ограничена, например, машинным эпсилон: $|e_i| \leq \epsilon$, $i = 1, \dots, n+1$. Тогда полная погрешность погрешность оценивается как:
\begin{equation} \begin{split} e(h) &\leq \frac{h \epsilon}{3} \left[1 + 2\left(\frac{n}{2} - 1\right) + 4 \frac{n}{2} + 1\right] \\ &= nh\epsilon \\ &= (b-a)\epsilon. \end{split} \end{equation}
Этот результат показывает, что верхняя грань для накопленной погрешности округления не зависит от $n$ или $h$, что означает, что увеличение числа подотрезков не приводит к дестабилизации полной погрешности. Действительно, из графика можно заметить, что полная погрешность интегрирования падает до тех пор, пока она не достигнет значения, сравнимого с машинным эпсилон, после чего уменьшение погрешности становится невозможным, и она стабилизируется на уровне машинного эпсилон.

Квадратуры Гаусса

Формулы Ньютона-Котеса были построены, исходя из равномерного распределения узлов. Как и в случае интерполяции, логично предположить, что существует иное, неравномерное распределение узлов, которое позволило бы максимизировать точность. Как уже было сказано ранее, на практике часто возникает необходимость максимизировать степень точности, т.е. максимизировать степень полинома, интегрирование которого с помощью данной квадратуры дает точный результат при заданном количестве узлов. Эту задачу решают квадратуры Гаусса, суть которых сводится к нахождению таких $x_1, \dots, x_n$ и $c_1, \dots, c_n$, что приближение
\begin{equation} \int_{a}^{b} f(x) dx \approx \sum_{i=1}^n c_i f(x_i) \end{equation}
максимизирует степень точности. Так как всего мы имеем $2n$ оптимизируемых параметров, логично предположить, что полином $2n - 1$ степени, имеющий так же $2n$ параметров, может быть интегрирован точно при правильно подобранных параметрах. Очевидно, что если квадратура дает точный результат для любого полинома этой степени, то все полиномы низших степеней автоматически интегрируются точно как частные случаи. Рассмотрим случай $n=2$ и интервал интегрирования $[-1; 1]$. Тогда квадратура принимает вид:
\begin{equation} \int_{a}^{b} f(x) dx \approx c_1 f(x_1) + c_2 f(x_2). \end{equation}
Мы ожидаем, что эта квадратура дает точный результат при интегрировании полинома третьей степени:
\begin{equation} \begin{split} &f(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 \\ \Longrightarrow \quad &\int_{-1}^{1} f(x) dx = a_0 \int_{-1}^{1} dx + a_1 \int_{-1}^{1} x dx + a_2 \int_{-1}^{1} x^2 dx + a_3 \int_{-1}^{1} x^3 dx, \end{split} \end{equation}
где $a_0, a_1, a_2, a_3 \in \mathbb{R}$ – произвольные константы. Можно заметить, что квадратура будет точно вычислять интеграл этого полинома тогда, когда точно будут вычисляться интегралы от функций $f(x) = 1$, $f(x) = x$, $f(x) = x^2$, $f(x) = x^3$. В таком случае мы получаем систему уравнений:
\begin{equation} \begin{cases} c_1 + c_2 = \int_{-1}^{1} dx = 2, \\ c_1 x_1 + c_2 x_2 = \int_{-1}^{1} x dx = 0, \\ c_1 x_1^2 + c_2 x_2^2 = \int_{-1}^{1} x^2 dx = \frac{2}{3}, \\ c_1 x_1^3 + c_2 x_2^3 = \int_{-1}^{1} x^3 dx = 0. \end{cases} \end{equation}
Из первых двух уравнений мы получаем:
\begin{align} c_1 &= \frac{2x_2}{x_2 - x_1} \\ c_2 &= -\frac{2x_1}{x_2 - x_1}, \end{align}
что при подстановке в третье дает:
\begin{equation} x_1 x_2 = -\frac{1}{3}. \end{equation}
Тогда четвертое уравнение становится:
\begin{equation} x_1 + x_2 = 0, \end{equation}
что в результате дает следующее решение:
\begin{align} c_1 &= 1, \\ c_2 &= 1, \\ x_1 &= -\frac{1}{\sqrt{3}}, \\ x_2 &= \frac{1}{\sqrt{3}}. \end{align}
Таким образом квадратура Гаусса со степенью точности 3 имеет следующий вид:
\begin{equation} \int_{-1}^{1} f(x) dx \approx f\left(-\frac{1}{\sqrt{3}}\right) + f\left(\frac{1}{\sqrt{3}}\right). \end{equation}
Подобным образом мы можем построить квадратуры Гаусса произвольной степени точности, однако из-за нелинейности решаемой системы уравнений это становится алгебраически утомительным. Для рассмотрения более удобного подхода нам необходимо ознакомиться с понятием линейно-независимых функций и многочленами Лежандра.

Ортогональные полиномы и многочлены Лежандра

По аналогии с векторами мы введем понятие линейно независимых функций. Система функций $\{\phi_1, \dots, \phi_n\}$ называется линейно независимой на $[a; b]$, если
\begin{equation} \sum_{i=1}^{n} c_i \phi_1(x) = 0 \quad \Longleftrightarrow \quad c_1 = \dots = c_n = 0. \end{equation}
В противном случае система функций называется линейно зависимой.
Важное свойство полиномов состоит в том, что любые полиномы различных степеней являются линейно независимыми. Это свойство доказывается в следующей теореме. Также добавим, что если система полиномов $\{\phi_i\}_{i=0}^{n}$ является линейно независимой, то любой полином степени меньшей или равной $n$ можно представить в виде единственной линейной комбинации полиномов $\{\phi_i\}_{i=0}^{n}$. Более того, если такая система полиномов является к тому же ортогональной, то верно следующее равенство:
\begin{equation} \label{eq:orth_poly_with_basis} \langle \phi_n(x), P_k(x) \rangle_{\omega} = \int_a^b \omega(x) \phi_n(x) P_k(x) dx = 0, \end{equation}
где $P_k(x)$ – полиномом любой степени $k < n$. Действительно, мы может разложить $P_k(x)$ в линейную комбинацию полиномов $\phi(x)$:
\begin{equation} P_k(x) = \sum_{i=0}^k c_i \phi_i(x), \end{equation}
что дает
\begin{equation} \int_a^b \omega(x) \phi_n(x) P_k(x) dx = \sum_{i=0}^k c_i \int_a^b \omega(x) \phi_n(x) \phi_i(x) dx = 0. \end{equation}
Линейно независимая система функций необязательно является ортогональной. Для случая полиномов мы можем построить ортогональную систему полиномов, адаптировав процесс Грама-Шмидта, хорошо известный из курса линейной алгебры. Многочлены Лежандра могут быть получены различными способами, однако мы рассмотрим их как ортогональную систему полиномов, построенную с помощью процесса Грама-Шмидта. Действительно, для случая $\omega(x) = 1$ и интервала $[-1; 1]$ мы имеем:
\begin{align} \phi_0(x) &= 1 \\ \phi_1(x) &= x - \frac{\int_{-1}^1 x dx}{\int_{-1}^1 dx} = x \\ \phi_2(x) &= \left(x - \frac{\int_{-1}^1 x^3 dx}{\int_{-1}^1 x^2 dx} \right) x - \frac{\int_{-1}^1 x^2 dx}{\int_{-1}^1 dx} = x^2 - \frac{1}{3}, \\ \phi_3(x) &= \left(x - \frac{\int_{-1}^1 x \left(x^2 - \frac{1}{3}\right)^2 dx}{\int_{-1}^1 \left(x^2 - \frac{1}{3}\right)^2 dx} \right) \left(x^2 - \frac{1}{3}\right) - \frac{\int_{-1}^1 x^2 \left(x^2 - \frac{1}{3}\right) dx}{\int_{-1}^1 x^2 dx} x = x^3 - \frac{3}{5}x. \end{align}
Остальные многочлены Лежандра могут быть получены аналогичным образом. Наконец, мы имеем возможность доказать следующую теорему, которая постулирует, что квадратуры Гаусса могут быть построены, если в качестве узлов выбраны корни соответствующего многочлена Лежандра. Интегрирование на произвольном интервале $[a; b]$ с помощью квадратуры Гаусса реализуется с помощью замены переменных:
\begin{equation} \begin{split} x = \frac{1}{2}\left[(b-a)t + a + b\right], \end{split} \end{equation}
где $x \in [a; b]$ и $t \in [-1; 1]$. Тогда квадратура Гаусса вычисляется следующим образом:
\begin{equation} \int_a^b f(x) dx = \int_{-1}^1 f \left(\frac{(b-a)t + a + b}{2}\right) \frac{b-a}{2} dt. \end{equation}

Квизы

Запись занятия Презентация