Приближение непрерывной функции полиномами на отрезке

Материал из Викиконспекты
Версия от 04:06, 26 ноября 2010; 192.168.0.2 (обсуждение) (Свернута сумма)
Перейти к: навигация, поиск
Эта статья находится в разработке!

Постановка задачи

В курсе математического анализа уже рассмотрено два аппарата приближения функции, причём оба имеют локальный зарактер. А именно, мы можем приближать функцию с помощью формулы Тейлора или с помощью интерполяционного полинома:

[math]f(x) = \sum\limits_{k = 0}^{n} \frac{f^{(k)}(x_0)}{k!}\cdot(x - x_0)^k + o((x - x_0)^n)[/math]
[math]f(x) = \sum\limits_{k = 0}^{n} f(x_k)\phi_k(x) + \frac{f^{(n + 1)}(c_x)}{(n + 1)!} \cdot \omega_n(x)[/math]

Причём оба способа дают хорошую точность при хороших дифференциальных свойствах функции.

Можно поставить иную задачу, которая является намного более сложной: пусть функция [math]f[/math] непрерывна на отрезке [math][a; b][/math]. Существует ли [math]\forall \varepsilon \gt 0[/math] некоторый полином [math]P[/math] (неважно, какой степени) такой, что [math]\forall x \in [a; b] \Rightarrow |f(x) - P(x)| \lt \varepsilon[/math]?

Принципиальное отличие этой задачи - требование хорошей точности для всего отрезка при минимальных ограничениях на функцию.

Заметим, что непрерывность функции является необходимым условием. Действительно, пусть [math]f[/math] такова, что [math]\forall \varepsilon \gt 0[/math] полином найдётся. Покажем, что [math]f[/math] необходимо непрерывна:

[math]\forall \varepsilon \gt 0[/math] есть полином [math]P[/math], "обслуживающий" [math]\varepsilon[/math] на всём отрезке.
[math]|f(x + \Delta x) - f(x)| \le |f(x + \Delta x) - P(x + \Delta x)| + |f(x) - P(x)| + |P(x + \Delta x) - P(x)| \le 2 \varepsilon + |P(x + \Delta x) - P(x)|[/math].

Но полином непрерывен, а значит, [math]\forall \varepsilon \gt 0 \ \exists \delta \gt 0: |\Delta x| \lt \delta \Rightarrow |P(x + \Delta x) - P(x)| \lt \varepsilon[/math].

Тогда [math]\forall \varepsilon \gt 0 \ \exists \delta \gt 0: |\Delta x| \lt \delta \Rightarrow |f(x + \Delta x) - f(x)| \lt 3 \varepsilon[/math], то есть, [math]f[/math] непрерывна в точке [math]x[/math].

Положительный ответ на поставленный вопрос впервые был дан Вейерштрассом.

Теорема о существовании искомого полинома

Теорема (Вейерштрасс):
Пусть функция [math]f[/math] - непрерывна на [math][a; b][/math]. Тогда [math]\forall \varepsilon \gt 0 \ \exists P(x)[/math] - полином, такой, что [math]\forall x \in [a; b] \Rightarrow |f(x) - P(x)| \lt \varepsilon[/math]
Доказательство:
[math]\triangleright[/math]

Рассмотрим функцию [math]f(x)[/math] - непрерывную на [math][0; 1][/math]. Определим полиномы:

[math]B_n(f, x) = \sum\limits_{k = 0}^{n}f\left(\frac kn \right)C_n^k x^k (1 - x)^{n - k}[/math], которые называются полиномами Бернштейна функции [math]f[/math].

Заметим, что [math]\sum\limits_{k = 0}^{n} C_n^k x^k (1 - x)^{n - k} = \left[ x + (1 - x) \right ] ^ n = 1, \qquad \forall x \in \mathbb{R}[/math].

Далее, для сокращения записи положим [math]P_{n, k}(x) = C_n^k x^k (1 - x)^{n - k}[/math].

[math]f(x) = \sum\limits_{k = 0}^{n} f(x) P_{n, k}(x), \qquad f(x) - B_n(f, x) = \sum\limits_{k = 0}^{n}\left(f(x) - f \left( \frac k n \right ) \right ) P_{n, k}(x)[/math].
[math]\forall x', x'' \in [0; 1] \Rightarrow |f(x'')-f(x')| \le \omega(f, |x''-x'|)[/math], где [math]\omega(f, x)[/math] - модуль непрерывности функции [math]f[/math].
[math]|f(x) - B_n(f, x)| \le \sum\limits_{k = 0}^{n} \left |f(x) - f\left ( \frac k n \right ) \right | P_{n, k}(x) \le \sum\limits_{k = 0}^n P_{n, k}(x)\omega(f, \left|x - \frac kn\right|)[/math].

Выше мы доказали, что [math]\sum\limits_{k=0}^n P_{n,k}(x) = 1[/math], поэтому к последней сумме применима теорема о выпуклой мажоранте модуля непрерывности:

[math]\sum\limits_{k = 0}^n P_{n, k}(x)\omega(f, \left|x - \frac kn\right|) \le \sum\limits_{k = 0}^n P_{n, k}(x)\omega^*(f \left|x - \frac kn\right|) \le[/math] (по неравенству Йенсена) [math]\omega^*\left(f, \sum\limits_{k = 0}^n \left|x - \frac kn\right| P_{n, k}(x)\right) \le 2\omega\left(f, \sum\limits_{k = 0}^n \left|x - \frac kn\right| P_{n, k}(x)\right)[/math]

Итак, [math]|f(x) - B_n(f, x)| \le 2\omega\left(f, \sum\limits_{k = 0}^n \left|x - \frac kn\right| P_{n, k}(x)\right)[/math]. Оценим сумму в правой части сверху, тогда при замене суммы оценкой правая часть только возрастет(в силу возрастания модуля непрерывности). По неравенству Коши для сумм

[math]\sum\limits_{k = 0}^n \left|x - \frac kn\right| P_{n, k}(x) = \sum\limits_{k = 0}^n \left|x - \frac kn\right| \sqrt{P_{n, k}(x)}\cdot \sqrt{P_{n, k}(x)}[/math] [math]\le \sqrt{\sum\limits_{k = 0}^n \left(x - \frac kn\right)^2 P_{n, k}(x)} \cdot \sqrt{\sum\limits_{k = 0}^n P_{n, k}(x)} = \sqrt{\sum\limits_{k = 0}^n \left(x - \frac kn\right)^2 P_{n, k}(x)}[/math]

Вставим полученное неравенство в оценку: [math]|f(x) - B_n(f, x)| \le 2\omega \left( f, \sqrt{\sum\limits_{k = 0}^n \left(x - \frac kn\right)^2 P_{n, k}(x)}\,\right)[/math] (все эти преобразования были нужны, потому что суммы с модулем трудно сворачиваются). Покажем теперь с помощью метода производящих функций, что [math]\sum\limits_{k = 0}^n \left(x - \frac kn\right)^2 P_{n, k}(x) = \frac{x(1-x)}n[/math].

Для этого рассмотрим полином [math]\varphi(t) = \sum\limits_{k=0}^n a_k t^k[/math], где [math]{a_k}[/math] - произвольная конечная числовая последовательность (такой полином называют производящей функцией). Заметим, что

[math]\varphi'(t) = \sum\limits_{k=1}^n k a_k t^{k-1}[/math]
[math]\varphi''(t) = \sum\limits_{k=2}^n k(k-1) a_k t^{k-2}[/math]

и поэтому

[math]\varphi(1) = \sum\limits_{k=0}^n a_k[/math]
[math]\varphi'(1) = \sum\limits_{k=0}^n k a_k[/math]
[math]\varphi''(1) = \sum\limits_{k=0}^n k(k-1) a_k[/math] (в двух последних суммах слагаемые при [math]k[/math], равных [math]0[/math] или [math]1[/math], обращаются в [math]0[/math], поэтому суммы определены корректно).

Положим теперь [math]a_k = P_{n,k}(x)[/math] и рассмотрим производящую функцию

[math]\varphi(t) = \sum\limits_{k=0}^n P_{n,k}(x) t^k = \sum\limits_{k=0}^n C_n^k (xt)^k (1-x)^{n-k} = (xt + 1 - x)^n[/math]

С целью упрощения дальнейших выкладок обозначим [math]p = x, \, q = 1 - x, \, p + q = 1[/math].

[math]\varphi(t) = (pt + q)^n[/math]
[math]\varphi'(t) = np(pt + q)^{n-1}[/math]
[math]\varphi''(t) = n(n-1)p^2(pt + q)^{n-2}[/math]

Т. к. [math]p + q = 1[/math], то

[math]\varphi(1) = 1, \varphi'(1) = np, \, \varphi''(1) = n(n-1)p^2[/math]

Вернемся к свертыванию суммы:

[math]\sum\limits_{k = 0}^n \left(x - \frac kn\right)^2 C_n^k x^k (1-x)^{n-k} = \frac 1{n^2} \left( n^2 p^2 \sum\limits_{k = 0}^n C_n^k p^k q^{n-k} - 2np \sum\limits_{k = 0}^n k C_n^k p^k q^{n-k} + \sum\limits_{k = 0}^n k^2 C_n^k p^k q^{n-k}\right)[/math]

Первые две суммы в скобках можно посчитать по уже известным формулам, полученным из производящей функции, для вычисления третьей заметим, что [math]k^2 = k(k-1) + k[/math].

[math]\frac 1{n^2} \left( n^2 p^2 \sum\limits_{k = 0}^n C_n^k p^k q^{n-k} - 2np \sum\limits_{k = 0}^n k C_n^k p^k q^{n-k} + \sum\limits_{k = 0}^n k^2 C_n^k p^k q^{n-k}\right)[/math] [math] = \frac 1{n^2}(n^2 p^2 \cdot 1 - 2np \cdot np + np + n(n-1)p^2) = [/math] [math]\frac{np - np^2}{n^2} = \frac{pq}n = \frac{x(1-x)}n[/math], ч. т. д.
[math]\triangleleft[/math]