21Формула Тейлора с остаточным членом в форме Пеано
Допустим, мы знаем значение функции f в какой-то точке x0, а хотим узнать
её значение в точке x. Если мы ничего знаем про функцию f дополнительно,
дело это безнадёжное: f(x) может равняться чему угодно, даже если x близко к
x0. Например, функция Дирихле принимает значения 0 и 1 в сколь угодно
близких точках. Однако, если потребовать, чтобы f обладало какими-нибудь
хорошими свойствами, задача становится не столь бессмысленной. Об этом мы и
поговорим. Но сперва нужно ввести некоторые обозначения.
Пусть функцию f дифференцируема в точке x0. Тогда, как мы
знаем,
справедливо утверждение о линейном приближении:
f(x)=f(x0)+f′(x0)(x−x0)+α(x−x0)⋅(x−x0),(21.1)
f(x)=f(x0)+f′(x0)(x−x0)++α(x−x0)⋅(x−x0),(21.1)
где α(x−x0)→0 при x→x0. Иными словами, выражение
α(x−x0)⋅(x−x0) не просто маленькое при x близком к x0, а оно
маленькое по сравнению с разностью x−x0.
В дальнейшем нам пригодится более компактное обозначение для функций, которые
являются маленькими по сравнению с какими-то другими функциями.
Определение 1. Говорят, что функция f является o-маленьким (или o-малым) от
функции g при x→x0 если f и g определены в некоторой проколотой
окрестности точки x0, g в этой окрестности не обращается в ноль и
limx→x0f(x)g(x)=0.(21.2)
Неформально это означает, что f(x) становится во сколько угодно раз меньше
g(x) при x→x0.
Пример 1. Функция x2 является o-маленьким от x при x→0, поскольку
limx→0x2x=limx→0x=0.
Пример 2. Функция sin(1/x) является o-маленьким от функции 1/x при x→0,
поскольку
limx→0sin(1/x)1/x=limx→0xsin1x=0.
Мы воспользовались тем, что произведение ограниченной функции и стремящейся
к нулю стремится к нулю.
Пример 3. Функция sin(x) не является o-маленьким от функции x при x→0,
поскольку
limx→0sin(x)x=1≠0.
(Это первый замечательный предел.)
Пример 4. Функция sin(1/x) не является o-маленьким от функции x при x→0,
поскольку предел
limx→0sin(1/x)x
не существует.
Вопрос 1. Является ли функция x2o-маленьким от функции x+x2 при x→0?
Неверный ответ.
А если посчитать предел, что получается?
Замечание 1. На письме утверждение «f(x) есть o-маленькое от g(x) при x→x0»
записывают так:
f(x)=o(g(x)),x→x0.
Однако, нужно понимать, что это не равенство в привычном смысле. Например,
из того факта, что f(x)=o(g(x)) и h(x)=o(g(x)) не следует, что
f(x)=h(x), чего мы могли бы ожидать от обычного равенства. Правильнее было
говорить, что o(g(x)) есть множество функций, которые обладают свойством
(21.2), и записывать
f(x)∈o(g(x)),
однако исторически сложилась запись с равенством, и мы будем её
придерживаться.
Замечание 2. Запись
f(x)=h(x)+o(g(x))
означает, что
f(x)−h(x)=o(g(x)),
или, иными словами, найдётся такая функция s(x), являющаяся o-маленьким
от g(x), что
Итак, пусть мы знаем значение функции f в точке x0, а нас интересует
значение f в точке x. Будем считать, что x близко к x0.
Если мы знаем, что f непрерывна, это означает, что limx→x0f(x)=f(x0), то есть значения в близких точках близки к значению f(x0).
Значит можно записать:
f(x)≈f(x0).
Если вы ничего не знаете про моделирование погоды и хотите узнать, какую погоду
ждать завтра, самый лучший ответ, который вы можете дать — примерно такую же,
как сегодня.
Знак приближенного равенства не имеет строгого смысла и не может использоваться
в доказательствах. Однако, мы можем использовать o-символику, чтобы
сформулировать аккуратное утверждение про непрерывность:
f(x)=f(x0)+o(1),(21.3)
где o(1) — это функция, являющаяся o-маленьким от 1 при x→x0. По
определению, o(1) — это такая функция, которая при делении на единицу
стремится к нулю, а поскольку деление на единицу ничего не меняет — она сама
стремится к нулю. Иными словами, равенство (21.3) — это просто другой
способ сказать, что функция f непрерывна в точке x0.
В общем, если мы знаем, что функция f непрерывна, и больше ничего, то лучшее,
что мы можем сделать — это приблизить её константой, функцией y=f(x0).
Пусть теперь мы знаем, что f не только непрерывна в x0, но и
дифференцируема, и, более того, мы знаем её производную в этой точке. Тогда
справедливо равенство (21.1), которое может может быть записано в
виде:
f(x)=f(x0)+f′(x0)(x−x0)+o(x−x0),(21.4)
f(x)=f(x0)+f′(x0)(x−x0)++o(x−x0),(21.4)
где o(x−x0) — это какая-то функция, являющаяся o-маленьким от (x−x0) при
x→x0. Действительно, если поделить α(x−x0)⋅(x−x0) на
(x−x0), получится α(x−x0), а про неё мы знаем, что она стремится к
нулю при x→x0.
В приближении (21.4) мы заменяем функцию не на константу, как в
(21.3), а на линейную функцию, и говорим, что разница между настоящей
функцией и её линейным приближением будет не просто маленькой при x→x0
(это было верно и в (21.3)), но маленькой по сравнению с (x−x0).
Иными словами, воспользовавшись дополнительной информацией (дифференцируемосью и
знанием производной), мы получили лучшее приближение для функции.
Можем ли мы продолжить этот процесс? Оказывается, да.
Обозначим правые части равенств (21.3) и (21.4) без
o-малых через T0(x) и T1(x) соответственно:
T0(x):=f(x0),T1(x):=f(x0)+f′(x0)(x−x0).
Введённые нами функции T0 и T1 являются многочленами соответственно
нулевой и первой степени. У T0 в точке x0 такое же значение, как у f, а
у T1 не только такое же значение, но и такая же производная:
T1(x0)=f(x0),T′1(x0)=f′(x0).
Пусть теперь мы знаем, что функция f имеет не только первую, но и вторую
производную в точке x0, и знаем эту производную. Хотим найти многочлен T2
второй степени, который бы имел в точке x0 такое же значение и такие же
производные, как f, то есть хотим, чтобы выполнялись равенства
T2(x0)=f(x0),T′2(x0)=f′(x0),T′′2(x0)=f′′(x0).
T2(x0)=f(x0),T′2(x0)=f′(x0),T′′2(x0)=f′′(x0).
Как этого добиться? Пусть
T2(x)=f(x0)+f′(x0)(x−x0)+q⋅(x−x0)2,
где q — какая-то константа. Видно, что каким бы ни было q, T2(x0)=f(x0)
и
T′2(x)=f′(x0)+2q⋅(x−x0),
и значит T′2(x0)=f′(x0). Таким образом, первые два условия выполняются
автоматически. Осталось выбрать такое q, чтобы выполнялось и третье условие:
T′′2(x)=2q=f′′(x0).
Значит q=f′′(x0)/2. Таким образом,
T2(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2(x−x0)2.
T2(x)=f(x0)+f′(x0)(x−x0)++f′′(x0)2(x−x0)2.
Пример 5. Пусть f(x)=2+lnx. Тогда f′(x)=1/x и f′′(x)=−1/x2. Пусть
x0=1. Построим T0, T1 и T2:
Посмотрим на графики y=f(x) и y=T0(x), y=T1(x) и y=T2(x), см.
рис. 21.1. График y=f(x) пересекается с горизонтальной прямой
y=T0(x) в точке x=1 и касается прямой y=T1(x) в той же точке.
Парабола y=T2(x) также касается графика y=f(x), причём ещё «плотнее»,
чем это делает y=T1(x) — в точках, близких к x0, она лучше
приближает график нашей функции.
Рис. 21.1: Нулевое, первое и второе приближение логарифма
Построенные нами многочлены T0, T1 и T2 называются многочленами
Тейлора. Как видно из построения и примера 5, многочлен Тейлора
первой степени — это просто функция, задающая касательную, а многочлен Тейлора
второй степени обобщает понятие касательной: вместо приближения графика прямой
линией мы приближаем его параболой, и за счёт этого можем получить лучшую
точность приближения.
Процесс построения многочленов Тейлора можно продолжать. Пусть функция f имеет
n-ю производную в точке x0 (и, стало быть, все производные
меньших порядков тоже).
где f(k) — это k-я производная функции f, нулевая производная — это
сама функция, 0!=1.
Этот многочлен называется многочленом Тейлора степени n для функции
f в окрестности точки x0.
Утверждение 3. Для всех k=0,…,n:
T(k)n(x0)=f(k)(x0).
Доказательство. Утверждение проверяется непосредственно дифференцированием. Поскольку при
каждом дифференцировании степень монома xl уменьшается на единицу, при
k-кратном дифференцировании все слагаемые степени меньше k превращаются
в ноль. Все слагаемые степени больше k будут иметь вид C(x−x0)m для
каких-то чисел C и m∈N. При подстановке x=x0 они
обнулятся. Значит, останется только слагаемое степени k. В результате
каждого дифференцирования степень уменьшается на единицу и сносится
коэффициентом рядом с соответствующим слагаемым. После k дифференцирований
коэффициент будет равен k! и он сократится с k! в знаменателе. Останется
f(k)(x0), что и требовалось получить.∎
До сих пор мы просто формально строили какие-то многочлены, ничего не говоря о
том, как он будет соотноситься с исходной функцией f, по которой он строился.
Настало время это исправить.
При построении каждого следующего тейлоровского многочлена мы используем всё
больше и больше информации про функцию f: значение, производную, вторую
производную, третью производную и т.д. Разумно ожидать, что многочлены больших
степеней будут приближать нашу функцию всё лучше и лучше. Есть разные способы
это формализовать. Сейчас мы сформулируем один из них.
Теорема 1. (Формула Тейлора с остаточным членом в форме Пеано) Пусть f имеет n производных в точке x0 и Tn — многочлен Тейлора
для функции f в окрестности точки x0. Тогда
f(x)=Tn(x)+o((x−x0)n),x→x0.(21.5)
f(x)=Tn(x)+o((x−x0)n),x→x0.(21.5)
Доказательство. Для n=1 формула Тейлора совпадает с (21.4) и была доказана
ранее. Пусть n>1.
Нам нужно доказать, что f(x)−Tn(x) является o((x−x0)n) при x→x0, то есть доказать, что предел
limx→x0f(x)−Tn(x)(x−x0)n(21.6)
равен нулю.
Найдём этот предел явно. Поскольку f(x0)=Tn(x0), он является
неопределенностью 0/0. Заметим, что числитель и знаменатель
дифференцируемы в окрестности точки x0: поскольку у функции f есть n
производных в точке x0, это означает, что (n−1)-я производная
определена в некоторой окрестности точки x0, иначе производную от неё
нельзя было определить; но тогда и (n−2)-я производная существует в
окрестности и т.д. до первой производной; Tn является многочленом и
дифференцируем сколько угодно раз где угодно, равно как и (x−x0)n в
знаменателе. Производная знаменателя не обнуляется при x≠x0. Значит,
можем применить правило Лопиталя и
рассмотреть новый предел:
limx→x0f′(x)−T′n(x)n(x−x0)n−1.
Поскольку f′(x0)=T′n(x0), это снова неопределенность 0/0. Если n>2,
вторая производная функции f существует в окрестности x0 и мы можем
снова применить правило Лопиталя. Получится такой предел:
limx→x0f′′(x)−T′′n(x)n(n−1)(x−x0)n−2.
Так мы можем продолжать до тех пор, пока в числителе не появится производная
порядка (n−1):
limx→x0f(n−1)(x)−T(n−1)n(x)n!(x−x0).(21.7)
Дальше использовать правило Лопиталя нельзя: нам известно, что n-я
производная функции f существует к точке x0, но не факт, что она
существует в окрестности этой точки. Значит, условия теоремы о правиле
Лопиталя могут не выполняться. Однако, это не страшно. Заметим, что
T(n−1)n(x)=f(n−1)(x0)+f(n)(x0)(x−x0).
Проверьте, что это так (в частности, факториалы сократятся).
Тогда предел (21.7) записывается в виде:
Предел первого слагаемоего — это просто определение производной функции функции
f(n−1) в точке x0. (Нужно приглядется к пределу и увидеть.
Пригляделись? Ага, это оно.) А поскольку производная от (n−1)-й производной —
это n-я производная, предел первого слагаемого равен f(n)(x0), а весь предел — нулю.
Теперь применение правила Лопиталя на каждом шаге обосновано и доказано, что
исходный предел (21.6) тоже равен нулю. Что и требовалось!∎
Замечание 3. Когда для функции f записывают равенство (21.5), также
говорят, что это разложение функции f в ряд Тейлора в точке x0 с
остаточным членом в форме Пеано до членов порядка n. (Хотя строго говоря
никакого ряда тут нет.)
Это неопределенность 0/0 и в принципе её можно было бы раскрыть с помощью
правила Лопиталя, но мы сделаем иначе. Разложим функцию ln(x) в ряд
Тейлора с остаточным членом в форме Пеано в окрестности точки 1 до членов
порядка 2 (ср. с примером 5 — разница только в константе).
Получим:
Но по определению o-маленького, второе слагаемое стремится к нулю. (Какая
бы функция не была написана вместо o((x−1)2), если её поделить на
(x−1)2, частное будет стремиться к нулю.) Значит, предел равен −1/2.
Теорема 2. Пусть функция f определена в окрестности x0, дважды дифференцируема в
x0 и f′(x0)=0. Тогда если f′′(x0)>0, то в точке x0 строгий
локальный минимум, а если f′′(x0)<0, то строгий локальный максимум.
Доказательство. Разложим функцию f в ряд Тейлора в точке x0 до членов порядка 2.
Имеем:
Заметим, что f′(x0)=0, и второе слагаемое в формуле обнуляется. Заменим
o((x−x0)2) на β(x−x0)(x−x0)2, где β(x−x0)→0 при
x→x0. (Наличие такого представления эквивалентно определению
o-малого.) Получаем такую штуку:
f(x)=f(x0)+(f′′(x0)2+β(x−x0))(x−x0)2.
f(x)=f(x0)++(f′′(x0)2+β(x−x0))(x−x0)2.
Поскольку β(x−x0)→0 при x→x0, в достаточно маленькой
окрестности x0 знак выражения (f′′(x0)/2+β(x−x0)) совпадает со
знаком f′′(x0), а (x−x0)2>0 при x≠0. Таким образом, если
f′′(x0)>0, то второе слагаемое положительно, а f(x)>f(x0), а если
f′′(x0)<0, то отрицательно, и f(x)<f(x0). Это и есть
определения минимума и максимума соответственно.∎
Формула Тейлора с остаточным членом в форме Пеано — пожалуй, самый важный
факт дифференциального исчисления. Это своего рода микроскоп, с помощью которого
можно изучать сколь угодно тонкие локальные свойства функций. Однако,
теорема 1 не говорит ничего про какую-то конкретную точку x.
Она говорит, что если x приближается к x0, то тейлоровские многочлены
быстро приближаются к значениям функции. Но что если мы будем делать наоборот —
зафиксируем x и будем увеличивать n? Будет ли значение тейлоровских
многочленов в точке x всё лучшим и лучшим приближением к f(x)? Оказывается,
далеко не всегда. Однако во многих случаях — особенно важных с практической
точки зрения — будет. Об этом — в следующей лекции.