§D1.16テイラーの定理と剰余項の評価

最終更新

高校では「関数を多項式で近似する」テイラー展開を形式的に使いました。ここでその近似の誤差を正確に評価する、テイラーの定理を証明します。これは平均値の定理の一般化です。

1 コーシーの平均値定理

証明の道具として、平均値の定理を2つの関数に拡張したものを用意します。

定理 1.1 (コーシーの平均値定理).F,GF, Gが[a,b][a,b]で連続、(a,b)(a,b)で微分可能とする。このときあるc∈(a,b)c \in (a,b)で(F(b)−F(a))G′(c)=(G(b)−G(a))F′(c)\big(F(b)-F(a)\big)G'(c) = \big(G(b)-G(a)\big)F'(c)。

証明.h(x)=(F(b)−F(a))G(x)−(G(b)−G(a))F(x)h(x) = \big(F(b)-F(a)\big)G(x) - \big(G(b)-G(a)\big)F(x)とおくとhhは[a,b][a,b]で連続・(a,b)(a,b)で微分可能で、h(a)=F(b)G(a)−G(b)F(a)=h(b)h(a) = F(b)G(a)-G(b)F(a) = h(b)。§D1.14 定理 2.2 (ロル)よりあるccでh′(c)=0h'(c)=0、これが主張の等式。▨

2 テイラーの定理

定理 2.1 (テイラー、ラグランジュ剰余).ffがaaとxxを含む閉区間でf(n−1)f^{(n-1)}まで連続、その開区間でf(n)f^{(n)}が存在するとする。このときaaとxxの間のある点ccで

Rn(x)=f(n)(c)n!(x−a)n.R_n(x) = \frac{f^{(n)}(c)}{n!}(x-a)^n.

証明.xxを固定し、ttの関数

F(t)=f(x)−∑k=0n−1f(k)(t)k!(x−t)k,G(t)=(x−t)nF(t) = f(x) - \sum_{k=0}^{n-1} \frac{f^{(k)}(t)}{k!}(x-t)^k, \qquad G(t) = (x-t)^n

を考える。F(x)=0F(x) = 0、F(a)=Rn(x)F(a) = R_n(x)、G(x)=0G(x)=0、G(a)=(x−a)nG(a)=(x-a)^n。FFを微分すると、和が望遠鏡状に打ち消し合って

F′(t)=−f(n)(t)(n−1)!(x−t)n−1F'(t) = -\frac{f^{(n)}(t)}{(n-1)!}(x-t)^{n-1}

だけが残る(ddt[f(k)(t)k!(x−t)k]=f(k+1)(t)k!(x−t)k−f(k)(t)(k−1)!(x−t)k−1\frac{d}{dt}\big[\frac{f^{(k)}(t)}{k!}(x-t)^k\big] = \frac{f^{(k+1)}(t)}{k!}(x-t)^k - \frac{f^{(k)}(t)}{(k-1)!}(x-t)^{k-1}が隣接項で相殺)。またG′(t)=−n(x−t)n−1G'(t) = -n(x-t)^{n-1}。コーシーの平均値定理(定理 1.1)を[a,x][a,x]上のF,GF, Gに適用すると、あるccで

=−f(n)(c)(n−1)!(x−c)n−1−n(x−c)n−1=f(n)(c)n!.= \frac{-\frac{f^{(n)}(c)}{(n-1)!}(x-c)^{n-1}}{-n(x-c)^{n-1}} = \frac{f^{(n)}(c)}{n!}.

左辺はRn(x)−0(x−a)n−0=Rn(x)(x−a)n\dfrac{R_n(x) - 0}{(x-a)^n - 0} = \dfrac{R_n(x)}{(x-a)^n}。よってRn(x)=f(n)(c)n!(x−a)nR_n(x) = \dfrac{f^{(n)}(c)}{n!}(x-a)^n。▨

n=1n=1とすればこれは平均値の定理そのもの。テイラーの定理は「1点の傾き」ではなく「高次の導関数まで」使って近似し、その誤差を最高次の導関数で押さえます。

3 意味:誤差を上から抑えられる

剰余項の形が分かると、近似の誤差を具体的に評価できます。∣f(n)(c)∣|f^{(n)}(c)|を区間上でMMで抑えれば∣Rn(x)∣≤Mn!∣x−a∣n|R_n(x)| \le \dfrac{M}{n!}|x-a|^n。これで、

  • テイラー級数が本当に関数に収束するか(Rn→0R_n \to 0か)を判定でき、
  • sin⁡x,ex\sin x, e^xなどの値を、必要な精度で計算できる(数値計算の基礎)。

例 3.1 (exe^xは級数に一致する).f(x)=exf(x) = e^xはf(n)(t)=etf^{(n)}(t) = e^tゆえ、a=0a = 0とすると00とxxの間のccで∣Rn(x)∣=ecn!∣x∣n≤e∣x∣n!∣x∣n|R_n(x)| = \dfrac{e^c}{n!}|x|^n \le \dfrac{e^{|x|}}{n!}|x|^n。固定したxxに対し∣x∣nn!→0\dfrac{|x|^n}{n!} \to 0(階乗が指数より速く増える)だからRn(x)→0R_n(x) \to 0、すなわちex=∑k=0∞xkk!e^x = \sum_{k=0}^\infty \frac{x^k}{k!}がすべてのxxで成り立つ。とくにx=1x = 1でe=∑k=0∞1k!e = \sum_{k=0}^\infty \frac{1}{k!}、nn項で打ち切った誤差はe1n!<3n!\dfrac{e^1}{n!} < \dfrac{3}{n!}以下である。

例 3.2 (滑らかでも級数に一致しない反例). 一方、f(x)={e−1/x2(x≠0)0(x=0)f(x) = \begin{cases} e^{-1/x^2} & (x \ne 0) \\ 0 & (x = 0)\end{cases}はR\mathbb{R}上で何回でも微分でき、しかもすべての階数でf(k)(0)=0f^{(k)}(0) = 0(x→0x \to 0でe−1/x2e^{-1/x^2}が任意の多項式より速く00に潰れるため)。したがって00を中心とするテイラー級数は恒等的に00で、x≠0x \ne 0ではf(x)≠0f(x) \ne 0に一致しない。この関数ではRn(x)↛0R_n(x) \not\to 0。「何回でも微分できる(C∞C^\infty)」ことと「テイラー級数が関数に一致する(解析的)」ことは別物だ、という重要な区別を示す例である(複素解析では、正則関数は自動的に解析的になり、この落差が消える)。

前提記事