§C4.18テイラー多項式による数値の評価

最終更新

exe^xやlog⁡(1+x)\log(1+x)をテイラー多項式で近似すると、有限回の四則演算で近似値が得られます。しかし、近似値を得ただけでは、真の値がどこにあるのかは分かりません。真の値の範囲を定めるには、多項式を打ち切ったときに残る量を、上と下から不等式で押さえる必要があります。

本記事は、自然対数の底eeとlog⁡2\log 2について、この打ち切りの誤差を押さえて値の範囲を定めます。用いるのは二つの手だてです。第一に、打ち切って残る量を定積分の形で書き、被積分関数を定数倍や単項式で上下から押さえます。第二に、log⁡2\log 2のように残る量の符号が項数の偶奇で入れ替わる場合には、項数の異なる二つの評価を組み合わせて範囲を狭めます。剰余項の一般的な評価は用いません。∑k=0nxkk!\displaystyle\sum_{k=0}^{n}\frac{x^k}{k!}がexe^xの、∑k=1n(−1)k−1xkk\displaystyle\sum_{k=1}^{n}\frac{(-1)^{k-1}x^k}{k}がlog⁡(1+x)\log(1+x)の、いずれも00のまわりのテイラー多項式であることと、定積分の計算そのものは「微積分」が扱い、本記事はそれらを用います。

1 自然対数の底の評価

exe^xを有限項で打ち切ったときに残る量を、定積分の形で書きます。書き換えは部分積分を繰り返すだけで得られます。

定理 1.1 (指数関数の有限項の展開と剰余の積分).nnを00以上の整数とする。すべての実数xxについて

ex=∑k=0nxkk!+Rn(x),Rn(x)=1n!∫0x(x−t)net dte^x = \sum_{k=0}^{n}\frac{x^k}{k!} + R_n(x), \qquad R_n(x) = \frac{1}{n!}\int_0^x (x-t)^n e^t\,dt

が成り立つ。

証明.nnについての帰納法によります。n=0n=0のとき、R0(x)=∫0xet dt=ex−1R_0(x) = \displaystyle\int_0^x e^t\,dt = e^x-1なので∑k=00xkk!+R0(x)=1+(ex−1)=ex\displaystyle\sum_{k=0}^{0}\frac{x^k}{k!} + R_0(x) = 1 + (e^x-1) = e^xとなり、主張が成り立ちます。

nnについて主張が成り立つとします。Rn(x)R_n(x)に部分積分を用います。(x−t)n(x-t)^nをttについて積分する側、ete^tを微分する側にとると、−(x−t)n+1n+1-\dfrac{(x-t)^{n+1}}{n+1}が(x−t)n(x-t)^nの原始関数の一つなので

Rn(x)=1n![−(x−t)n+1n+1et]t=0t=x+1n!∫0x(x−t)n+1n+1et dtR_n(x) = \frac{1}{n!}\left[-\frac{(x-t)^{n+1}}{n+1}e^t\right]_{t=0}^{t=x} + \frac{1}{n!}\int_0^x \frac{(x-t)^{n+1}}{n+1}e^t\,dt

です。t=xt=xで(x−t)n+1=0(x-t)^{n+1}=0、t=0t=0で(x−t)n+1=xn+1(x-t)^{n+1}=x^{n+1}、e0=1e^0=1なので、第一項はxn+1(n+1)!\dfrac{x^{n+1}}{(n+1)!}です。第二項はRn+1(x)R_{n+1}(x)です。したがって

∑k=0nxkk!+Rn(x)=∑k=0nxkk!+xn+1(n+1)!+Rn+1(x)=∑k=0n+1xkk!+Rn+1(x)\sum_{k=0}^{n}\frac{x^k}{k!} + R_n(x) = \sum_{k=0}^{n}\frac{x^k}{k!} + \frac{x^{n+1}}{(n+1)!} + R_{n+1}(x) = \sum_{k=0}^{n+1}\frac{x^k}{k!} + R_{n+1}(x)

となり、n+1n+1についても主張が成り立ちます。▨

x=1x=1と置くと、eeの値と有限和との差が定積分として書き表されます。この定積分を、被積分関数のete^tの部分を定数で押さえることによって評価します。

定理 1.2 (剰余の積分の評価).nnを00以上の整数とする。Rn(1)=1n!∫01(1−t)net dtR_n(1) = \dfrac{1}{n!}\displaystyle\int_0^1(1-t)^n e^t\,dtについて

1(n+1)!≤Rn(1)≤e(n+1)!\frac{1}{(n+1)!} \le R_n(1) \le \frac{e}{(n+1)!}

が成り立つ。

証明.0≤t≤10 \le t \le 1ではete^tは単調に増えるので1≤et≤e1 \le e^t \le eです。この区間で(1−t)n≥0(1-t)^n \ge 0なので

(1−t)n≤(1−t)net≤e (1−t)n(1-t)^n \le (1-t)^n e^t \le e\,(1-t)^n

であり、[0,1][0,1]で積分すると

∫01(1−t)n dt≤∫01(1−t)net dt≤e∫01(1−t)n dt\int_0^1 (1-t)^n\,dt \le \int_0^1 (1-t)^n e^t\,dt \le e\int_0^1 (1-t)^n\,dt

です。∫01(1−t)n dt=[−(1−t)n+1n+1]01=1n+1\displaystyle\int_0^1 (1-t)^n\,dt = \left[-\frac{(1-t)^{n+1}}{n+1}\right]_0^1 = \frac{1}{n+1}なので、各辺をn!n!で割ると結論を得ます。▨

上の評価の右端にはeeそのものが現れます。このままでは、eeの範囲を定めるためにeeの値が要ることになるので、先に粗い上からの評価を得ておきます。

定理 1.3 (eeの粗い上からの評価).e≤3e \le 3が成り立つ。

証明.定理 1.1でn=2n=2、x=1x=1と置くとe=1+1+12+R2(1)=52+R2(1)e = 1 + 1 + \dfrac12 + R_2(1) = \dfrac52 + R_2(1)です。定理 1.2によりR2(1)≤e3!=e6R_2(1) \le \dfrac{e}{3!} = \dfrac{e}{6}なので

e≤52+e6e \le \frac52 + \frac{e}{6}

です。両辺からe6\dfrac{e}{6}を引くと56e≤52\dfrac56 e \le \dfrac52であり、両辺に65\dfrac65を掛けてe≤3e \le 3を得ます。▨

公式 1.4 (eeの値の範囲).nnを00以上の整数とし、sn=∑k=0n1k!s_n = \displaystyle\sum_{k=0}^{n}\frac{1}{k!}と置く。このとき

sn+1(n+1)!≤e≤sn+3(n+1)!s_n + \frac{1}{(n+1)!} \le e \le s_n + \frac{3}{(n+1)!}

である。

証明.定理 1.1でx=1x=1と置くとe=sn+Rn(1)e = s_n + R_n(1)です。定理 1.2と定理 1.3により

1(n+1)!≤Rn(1)≤e(n+1)!≤3(n+1)!\frac{1}{(n+1)!} \le R_n(1) \le \frac{e}{(n+1)!} \le \frac{3}{(n+1)!}

なので、各辺にsns_nを足して結論を得ます。▨

例 1.5 (n=6n=6による評価).n=6n=6とします。

s6=1+1+12+16+124+1120+1720=720+720+360+120+30+6+1720=1957720s_6 = 1 + 1 + \frac12 + \frac16 + \frac{1}{24} + \frac{1}{120} + \frac{1}{720} = \frac{720+720+360+120+30+6+1}{720} = \frac{1957}{720}

です。7!=50407! = 5040であり、1957720=136995040\dfrac{1957}{720} = \dfrac{13699}{5040}なので、公式 1.4により

137005040≤e≤137025040\frac{13700}{5040} \le e \le \frac{13702}{5040}

です。左辺は685252=2.71825⋯\dfrac{685}{252} = 2.71825\cdots、右辺は68512520=2.71865⋯\dfrac{6851}{2520} = 2.71865\cdotsなので

2.718<e<2.7192.718 < e < 2.719

が得られます。範囲の幅は25040=12520\dfrac{2}{5040} = \dfrac{1}{2520}です。

2 22の対数の評価

log⁡2\log 2については、剰余の符号が項数の偶奇で入れ替わります。まず、11+x\dfrac{1}{1+x}を有限項の等比の和と剰余に分けます。

定理 2.1 (有限項の等比の和と剰余).nnを正の整数とする。x≠−1x \ne -1を満たすすべての実数xxについて

11+x=∑k=0n−1(−1)kxk+(−1)nxn1+x\frac{1}{1+x} = \sum_{k=0}^{n-1}(-1)^k x^k + \frac{(-1)^n x^n}{1+x}

が成り立つ。

証明. 初項11、公比−x-x、項数nnの等比数列の和を考えます。−x≠1-x \ne 1のとき

∑k=0n−1(−x)k=1−(−x)n1−(−x)=1−(−1)nxn1+x\sum_{k=0}^{n-1}(-x)^k = \frac{1-(-x)^n}{1-(-x)} = \frac{1-(-1)^n x^n}{1+x}

です。(−x)k=(−1)kxk(-x)^k = (-1)^k x^kなので、左辺は結論の右辺の第一項に一致します。したがって

11+x−∑k=0n−1(−1)kxk=1−{1−(−1)nxn}1+x=(−1)nxn1+x\frac{1}{1+x} - \sum_{k=0}^{n-1}(-1)^k x^k = \frac{1 - \bigl\{1-(-1)^n x^n\bigr\}}{1+x} = \frac{(-1)^n x^n}{1+x}

となります。x=1x = 1のときは−x=−1≠1-x = -1 \ne 1なので、この計算はx≠−1x \ne -1を満たすすべてのxxについて成り立ちます。▨

両辺を[0,1][0,1]で積分します。この区間で1+x≥1>01+x \ge 1 > 0なので、11+x\dfrac{1}{1+x}は連続であり、その原始関数の一つはlog⁡(1+x)\log(1+x)です。

定理 2.2 (log⁡2\log 2の部分和と剰余).nnを正の整数とし、

sn=∑k=1n(−1)k−1k,Tn=∫01xn1+x dxs_n = \sum_{k=1}^{n}\frac{(-1)^{k-1}}{k}, \qquad T_n = \int_0^1 \frac{x^n}{1+x}\,dx

と置く。このときlog⁡2=sn+(−1)nTn\log 2 = s_n + (-1)^n T_nが成り立つ。

証明.定理 2.1の両辺を[0,1][0,1]で積分します。左辺は[log⁡(1+x)]01=log⁡2\bigl[\log(1+x)\bigr]_0^1 = \log 2です。右辺の第一項は

∑k=0n−1(−1)k∫01xk dx=∑k=0n−1(−1)kk+1=∑j=1n(−1)j−1j=sn\sum_{k=0}^{n-1}(-1)^k\int_0^1 x^k\,dx = \sum_{k=0}^{n-1}\frac{(-1)^k}{k+1} = \sum_{j=1}^{n}\frac{(-1)^{j-1}}{j} = s_n

です。ここでj=k+1j = k+1と置き直しました。右辺の第二項は(−1)nTn(-1)^n T_nです。▨

定理 2.3 (剰余の積分の評価).nnを正の整数とする。定理 2.2のTnT_nについて

12(n+1)≤Tn≤1n+1\frac{1}{2(n+1)} \le T_n \le \frac{1}{n+1}

が成り立つ。

証明.0≤x≤10 \le x \le 1では1≤1+x≤21 \le 1+x \le 2であり、xn≥0x^n \ge 0なので

xn2≤xn1+x≤xn\frac{x^n}{2} \le \frac{x^n}{1+x} \le x^n

です。[0,1][0,1]で積分し、∫01xn dx=1n+1\displaystyle\int_0^1 x^n\,dx = \frac{1}{n+1}を用いると結論を得ます。▨

nnが偶数のときlog⁡2=sn+Tn\log 2 = s_n + T_nなのでsns_nはlog⁡2\log 2より小さく、nnが奇数のときlog⁡2=sn−Tn\log 2 = s_n - T_nなのでsns_nはlog⁡2\log 2より大きくなります。項数を一つ増やすたびに部分和はlog⁡2\log 2の反対側へ移ります。偶数のnnと、それに11を加えた奇数とを組み合わせると、両側からの評価が同時に得られます。

公式 2.4 (log⁡2\log 2の値の範囲).nnを正の偶数とし、sn=∑k=1n(−1)k−1ks_n = \displaystyle\sum_{k=1}^{n}\frac{(-1)^{k-1}}{k}と置く。このとき

sn+12(n+1)≤log⁡2≤sn+1n+1−12(n+2)s_n + \frac{1}{2(n+1)} \le \log 2 \le s_n + \frac{1}{n+1} - \frac{1}{2(n+2)}

であり、右辺と左辺の差は12(n+1)(n+2)\dfrac{1}{2(n+1)(n+2)}である。

証明.nnは偶数なので定理 2.2によりlog⁡2=sn+Tn\log 2 = s_n + T_nであり、定理 2.3の左側の不等式からlog⁡2≥sn+12(n+1)\log 2 \ge s_n + \dfrac{1}{2(n+1)}です。

次にn+1n+1を用います。n+1n+1は奇数なのでlog⁡2=sn+1−Tn+1\log 2 = s_{n+1} - T_{n+1}であり、定理 2.3の左側の不等式をn+1n+1について用いるとTn+1≥12(n+2)T_{n+1} \ge \dfrac{1}{2(n+2)}なので

log⁡2≤sn+1−12(n+2)=sn+1n+1−12(n+2)\log 2 \le s_{n+1} - \frac{1}{2(n+2)} = s_n + \frac{1}{n+1} - \frac{1}{2(n+2)}

です。最後の等号ではsn+1=sn+(−1)nn+1=sn+1n+1s_{n+1} = s_n + \dfrac{(-1)^{n}}{n+1} = s_n + \dfrac{1}{n+1}(nnは偶数)を用いました。

差を計算すると

(1n+1−12(n+2))−12(n+1)=12(n+1)−12(n+2)=12(n+1)(n+2)\left(\frac{1}{n+1} - \frac{1}{2(n+2)}\right) - \frac{1}{2(n+1)} = \frac{1}{2(n+1)} - \frac{1}{2(n+2)} = \frac{1}{2(n+1)(n+2)}

です。▨

例 2.5 (n=10n=10による評価).n=10n=10とします。負の項はkkが偶数の項なので、それらを2倍して全体から引くと

s10=∑k=1101k−2∑j=1512j=∑k=1101k−∑j=151j=16+17+18+19+110s_{10} = \sum_{k=1}^{10}\frac1k - 2\sum_{j=1}^{5}\frac{1}{2j} = \sum_{k=1}^{10}\frac1k - \sum_{j=1}^{5}\frac1j = \frac16+\frac17+\frac18+\frac19+\frac{1}{10}

であり、その値は

s10=420+360+315+280+2522520=16272520s_{10} = \frac{420+360+315+280+252}{2520} = \frac{1627}{2520}

です。公式 2.4により

16272520+122≤log⁡2≤16272520+111−124\frac{1627}{2520} + \frac{1}{22} \le \log 2 \le \frac{1627}{2520} + \frac{1}{11} - \frac{1}{24}

です。通分すると左辺は1915727720=0.69108⋯\dfrac{19157}{27720} = 0.69108\cdots、右辺は1926227720=0.69487⋯\dfrac{19262}{27720} = 0.69487\cdotsなので

0.691<log⁡2<0.6950.691 < \log 2 < 0.695

が得られます。範囲の幅は12⋅11⋅12=1264\dfrac{1}{2\cdot11\cdot12} = \dfrac{1}{264}です。

注意 2.6 (二つの項数を組み合わせることの効き方). 偶数nnだけを用いると、定理 2.3からsn+12(n+1)≤log⁡2≤sn+1n+1s_n + \dfrac{1}{2(n+1)} \le \log 2 \le s_n + \dfrac{1}{n+1}であり、範囲の幅は12(n+1)\dfrac{1}{2(n+1)}である。n=10n=10ではこの幅は122\dfrac{1}{22}である。項数を一つ増やした評価を組み合わせると幅は12(n+1)(n+2)\dfrac{1}{2(n+1)(n+2)}になり、n=10n=10では1264\dfrac{1}{264}である。組み合わせによって幅は1n+2\dfrac{1}{n+2}倍に縮む。

注意 2.7 (本記事が扱う範囲). 本記事は、exe^xとlog⁡(1+x)\log(1+x)という二つの関数について、打ち切りの誤差を定積分の形に書いてから不等式で押さえる手順を扱う。一般の関数について剰余項を評価するテイラーの定理は「ε-論法と基礎解析」が扱う。同じ手順を11+x2\dfrac{1}{1+x^2}へ当てて円周率の値を評価するのは「円周率の値の評価」と「ライプニッツ級数と打ち切りの誤差」である。

前提記事