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

Материал из Викиконспекты
Перейти к: навигация, поиск
Эта статья находится в разработке!

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

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

[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) [/math][math]+ \frac{f^{(n + 1)}(c_x)}{(n + 1)!}[/math][math] \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]: \ |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][0; 1][/math].

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

Рассмотрим функцию [math]f(x)[/math], непрерывную на отрезке [math][a; b][/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} =[/math](раскрывая квадрат и подставляя [math]p[/math] и [math]q[/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]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]|f(x)-B_n(f, x)| \le 2 \omega(f, \frac 1{2 \sqrt n})[/math]
Доказательство:
[math]\triangleright[/math]
Так как [math]\omega(t)[/math] возрастает и [math]\sqrt{\frac{x(1 - x)}{n}} \leq \sqrt{\frac1{4n}} = \frac1{2\sqrt{n}}[/math](из [math]x(1 - x) \leq \frac14 [/math]), можно в неравенстве [math]|f(x) - B_n(x)| \leq 2\omega(f, \sqrt{\frac{x(1 -x)}{n}})[/math] заменить [math]\sqrt{\frac{x(1 - x)}{n}}[/math] на [math]\frac1{2\sqrt{n}}[/math], получив требуемое.
[math]\triangleleft[/math]

По свойству модуля непрерывности

[math]\lim\limits_{n \to +0} \omega(f, h) = 0[/math], т. е. [math]\forall \varepsilon \gt 0 \, \exists \delta : 0 \lt h \le \delta \Rightarrow \omega(f, h) \le \varepsilon[/math].
Т. к. [math]\lim\limits_{n \to + \infty}\frac 1{2 \sqrt n} = 0[/math], то [math]\exists N \in \mathbb N: \frac 1{2 \sqrt N} \le \delta[/math]. Отсюда по лемме [math]|f(x) - B_N(f, x)| \le 2 \omega(f, \frac 1{2 \sqrt N}) \le 2 \varepsilon[/math] (по выбору [math]N[/math] и [math]\varepsilon[/math]) и теорема Бернштейна доказана.
[math]\triangleleft[/math]

Теперь докажем для произвольного отрезка [math][a; b][/math].

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

Теорема Вейерштрасса напрямую следует из теоремы Бернштейна. Отрезок [math][0; 1][/math] можно перевести в отрезок [math][a; b][/math] линейным преобразованием вида [math]y = (b - a)x + a[/math]. Также существует обратное преобразование [math]x = \frac{y - a}{b - a}[/math]. Оба этих преобразования линейны.

Рассмотрим вспомогательную функцию [math]g(t) = f((b - a)t + a),\ t \in [0; 1][/math].

По только что доказанной теореме Бернштейна, [math]|g(t) - B_n(t)| \leq \varepsilon [/math].

Так как [math]t = \frac{x - a}{b - a}[/math], то, подставляя это, получаем [math]|f(x) - B_n(g, \frac{x - a}{a - b})| \leq \varepsilon[/math]. Значит, можно взять [math]P(x) = B_n(g, \frac{x - a}{b - a})[/math].
[math]\triangleleft[/math]

Равномерная сходимость

Всё это переводится на язык равномерной сходимости или так называемой Чебышёвской метрики.


Определение:
[math]\mathcal{C}[a, b][/math] — класс функций, непрерывных на [math][a; b][/math].


По арифметике непрерывности получаем, что [math]\mathcal{C}[a, b][/math] — линейное множество: если [math]f, g \in \mathcal{C}[a, b][/math], то тогда [math]\forall \alpha, \beta\quad \alpha f(x) + \beta g(x) \in \mathcal{C}[a, b][/math].


Определение:
Чебышёвская(равномерная) норма функции [math]\| f \| = \max\limits_{[a; b]} |f(x)|[/math]


Эта величина удовлетворяет трем законам:

  • [math]\| f \| \ge 0[/math] и [math]\| f \| = 0 \iff f = 0[/math]
  • [math]\| \alpha f \| = |\alpha| \| f \|[/math]
  • [math]\| f + g \| \le \| f \| + \| g \|[/math]


Определение:
[math]f = \lim\limits_{n \to \infty} f_n[/math] в [math]\mathcal{C}[a, b][/math], если [math]\lim\limits_{n \to \infty}\| f_n - f \| = 0[/math].

Или, по определению предела, [math]\lim\limits_{n \to \infty}\| f_n - f \| = 0 \iff \forall \varepsilon \ \exists N\ \forall n \gt N\ \forall x \in [a; b]:\quad |f_n(x) - f(x)| \lt \varepsilon[/math].

Если правую часть воспринимать независимо от нормы, то говорят, что [math]f_n \stackrel{[a; b]}{\rightrightarrows} f[/math] ([math]f_n[/math] равномерно сходится к [math]f[/math]).


С этой точки зрения, теорема Вейерштрасса означает следующее. Обозначим за [math]\mathcal{P}[/math] множество всех полиномов. Тогда [math]\mathcal{P}[/math] — линейное множество в [math]\mathcal{C}[a, b][/math]. По теореме Вейерштрасса получаем [math]\forall \varepsilon \gt 0\ \forall f \in \mathcal{C}[a; b]\ \exists T \in \mathcal{P}: \ \| f - T \| \lt \varepsilon[/math]. Поэтому, по аналогии с рациональными числами, говорят, что [math]\mathcal{P}[/math] всюду плотно расположено в [math]\mathcal{C}[a, b][/math]