マクローリン展開
目次
- 1. 先に結果だけ:展開の式と使われ方
- 2. 本質的な議論
授業で扱った問題は、tanx (0<x<2π)の逆関数f(x)について、まずx−3x3<f(x)という多項式による評価を示し1塾の授業で扱った問題は塾の教材なので、数値を変えた類題に差し替えています。(逆関数の微分は逆関数の微分の記事)、それを使ってπを下から評価しました。後半では、f(x)の値にπが出てくるようなxを具体的に用意します。f(x)はtanf(x)=x (0<f(x)<2π)を満たすので、有名角から候補を探すと
f(1)=4π,f(3)=3π,f(33)=6π
あたりでしょうか。この時点でどれが題意を満たすのかはとうぜん不明なのですが、「満たしやすそうな式」「満たしにくそうな式」は見分けられてほしいところです。
結論から言うと、この手の「関数を多項式で評価する」系の問題で具体値の代入をする場面では、基本的に0に近い値を代入するとうまくいく場面が多いです。つまり今回はx=33を代入してやるとうまくいきそうだということになります。これにはこの手の評価がx=0近傍で精度が非常に良いことが関係しています。以下はその理由の話で、少し発展的内容です。余裕のない人は上の事実を覚えてくれればそれで良いです。
1. 先に結果だけ:展開の式と使われ方
関数 f(x) に対して、無限個の項の和
f(x)=k=0∑∞k!f(k)(0)xk
を f(x) のマクローリン展開と呼びます。f(k)(0) は、f を k 回微分した関数(k 次導関数)に x=0 を代入した値です。k=0 の項は f(0) そのもので、0!=1 と約束します。右辺の和が収束して左辺と等しくなる x の範囲は関数ごとに違います(§2 の脚注6)。
この式の係数を k=0,1,2,… と順に計算すると、よく使う4つの関数について次の展開が得られます。
4つの関数のマクローリン展開
⑴ ex=1+x+2!x2+3!x3+⋯
⑵ sinx=x−3!x3+5!x5−⋯
⑶ cosx=1−2!x2+4!x4−⋯
⑷ log(1+x)=x−2x2+3x3−4x4+⋯
⑴〜⑶はすべての実数 x で成り立ちます。⑷が成り立つのは −1<x≦1 の範囲だけで、端の x=1 を入れると 1−21+31−⋯=log2 になります。
階乗の値は 2!=2, 3!=6, 4!=24, 5!=120 です。たとえば⑵で f(x)=sinx とすると、導関数は cosx, −sinx, −cosx, sinx の4つを繰り返すので、x=0 での値は 0,1,0,−1,0,1,… と並びます。これを k! で割ったものが⑵の係数です。
入試の問題文に無限和の形のまま現れることはまずありません。現れるのは、授業で扱った問題の x−3x3<f(x) のように、展開を途中で打ち切った多項式と元の関数との大小を比べる不等式の形です2tanx (0<x<2π) の逆関数の展開は x−31x3+51x5−71x7+⋯ で、係数の符号が交互に変わります。x−31x3 で打ち切ると、捨てる項の最初は +51x5 で、x>0 では正なので、逆関数のほうが少し大きいと見当がつきます。授業で扱った問題の不等式はこうして作られています。。
展開を打ち切って作る不等式
⑴ 打ち切った多項式は x=0 の近くほど元の関数に近いので、不等式も x=0 の近くほど差の小さい(精密な)評価になる。
⑵ 証明するときは、(大きい側)−(小さい側) を g(x) とおいて微分し、符号が分からなければ導関数をさらに微分する。何回か繰り返せば符号の分かる式に行き着く。
⑶ 自分で不等式を組むときは、捨てる項の符号に注意する。捨てる項の符号は、係数の符号と、x が正か負か(奇数乗の項は x の符号で反転する)の両方で決まる。3こうして見当をつけた不等式も、答案で使うには⑵の方法で証明が必要です。
箱の⑶の考え方を、展開の⑶ cosx で試してみます。1−2x2 で打ち切ると次の項 +24x4 が正なので cosx は少し大きく、1−2x2+24x4 で打ち切ると次の項 −720x6 が負なので cosx は少し小さくなるはずです。実際、すべての実数 x で
1−2x2≦cosx≦1−2x2+24x4
が成り立ちます(§2 のグラフの P2 と P4 の上下関係です)。x=0 のとき各辺から 1 を引いて −x2 で割ると 21−24x2≦x21−cosx≦21 となり、x→0 とすると x21−cosx→21 が読み取れます。
ただしこの極限の求め方は、近似のイメージを持つための例であって、答案の論証の根拠にはなりません。cosx の展開の係数は (cosx)′=−sinx などの微分の公式から計算しますが、sinx, cosx の微分の公式は limx→0xsinx=1 を使って導かれています。x21−cosx の極限はその limx→0xsinx=1 から出す極限なので、展開を根拠にすると循環論法になります。
ここからは、なぜ x=0 の近くほど精度が良いのかを説明します。
2. 本質的な議論
授業で扱った問題の近似は「テイラー展開」(の特殊な場合であるマクローリン展開)と呼ばれるもので、以下の「マクローリンの定理」が根底にあります:
マクローリンの定理
x=0でn回微分可能な任意の関数f(x)について、
f(x)=(k=0∑nk!f(k)(0)xk)+hn(x)xn
をみたし、かつlimx→0hn(x)=0を満たすような関数hn(x)が存在する。
ただし、f(k)(x):=dxkdkf(x)(f(0)(x)=f(x))、0!=1とする。
この定理はつまり、「f(x)はだいたい∑k=0nk!f(k)(0)xk程度であり、両者の誤差はhn(x)xnとなる」ということを示しています。このため、この誤差であるhn(x)xnが小さくなればf(x)を∑k=0nk!f(k)(0)xkで精度よく近似できることがわかります。4このhn(x)xnをペアノの剰余項と言います。この誤差の部分についてはさまざまな表現があるので好きな人は調べてみてください。hn(x)は挙動の掴めない未知の5「未知」とは言ってもf(x)−∑k=0nk!f(k)(0)xkのような表現はできます。あくまで挙動が読めないと言う意味での「未知」です。関数で極限しかわかっていませんから、hn(x)xnを小さくするにはxnを小さくする、つまりx≃0の値を代入してやると精度の良い近似が得られるわけですね。
今回のように、関数が多項式で評価されていたらだいたいこのマクローリン展開です。そのため、この手の評価を精度良く行うにはできるだけ0に近い値を代入するべきで、候補として挙げたこの中で最もそれに適しているのは33となります。
誤差の項をhn(x)xnではなく導関数の値で書く形(テイラーの定理とラグランジュの剰余項)は、平均値の定理のまわりの§3に書きました。sinx≃x−6x3 の近似が極限の問題の背景になる例は、1の∞乗の極限とマクローリン展開にもあります。
上記は「マクローリンの定理」ですが、有限項の和と誤差について考えるのではなく、無限項の級数の形で表現する「マクローリン展開」(§1 のはじめの式)の形も押さえておきましょう。6ただしこれは必ず「収束半径」という概念とセットで用いる必要があります。詳しくはここでは述べませんが関数によってはこの式が成り立つ部分と成り立たない部分が存在することがあるんですね。(§1 の⑷log(1+x)などです。)そのため手放しにこの定理を使うのは危険です。マクローリン展開は小さなxの値に対して関数を近似する際に非常に有用なため、有名な関数のマクローリン展開は高校数学でも多項式評価の場面でたびたびでてきます。基本的には誘導がありますが、知っていると出てきた時に安心感があるのと、いざという時に自分で近似式を作り出せるので、§1 の4つは覚えておくとよいでしょう。ぜひマクローリンの定理の式を使って実際にその4つの式を導出してみてください。
また、マクローリン展開は無限項の途中で打ち切ってn次の多項式近似を作ることができます。以下にcosxの多項式近似を各次数で行ったときのグラフを描きます。グラフを見れば、x≃0で近似精度が上がることや次数を上げるとより広い範囲で近似精度が上がることが視覚的にわかるでしょう:
y=cosxのマクローリン展開での近似のグラフ
図1 y=cosx と、そのマクローリン展開による0次・2次・4次の近似 P0, P2, P4 のグラフP0(x)=1P2(x)=1−2!x2P4(x)=1−2!x2+4!x4
ここまで読んできてそう思った人も多いと思いますが、授業で扱った問題の解法は「解けるという結果ありき」な部分が多分にあります。「問題として出題されているということは解けるということなのだろう、だとすると出題者がやらせたい操作はなんだろう……?」というメタ的な思考は今後けっこう大事になってきたりします。俗に言うところの空気読み能力ですね。
1 塾の授業で扱った問題は塾の教材なので、数値を変えた類題に差し替えています。
2 tanx (0<x<2π) の逆関数の展開は x−31x3+51x5−71x7+⋯ で、係数の符号が交互に変わります。x−31x3 で打ち切ると、捨てる項の最初は +51x5 で、x>0 では正なので、逆関数のほうが少し大きいと見当がつきます。授業で扱った問題の不等式はこうして作られています。
3 こうして見当をつけた不等式も、答案で使うには⑵の方法で証明が必要です。
4 このhn(x)xnをペアノの剰余項と言います。この誤差の部分についてはさまざまな表現があるので好きな人は調べてみてください。
5 「未知」とは言ってもf(x)−∑k=0nk!f(k)(0)xkのような表現はできます。あくまで挙動が読めないと言う意味での「未知」です。
6 ただしこれは必ず「収束半径」という概念とセットで用いる必要があります。詳しくはここでは述べませんが関数によってはこの式が成り立つ部分と成り立たない部分が存在することがあるんですね。(§1 の⑷log(1+x)などです。)そのため手放しにこの定理を使うのは危険です。
塾の授業で配った補足資料をもとに、問題を類題に差し替えて書き直しました。
← 塾講師木下の記事一覧へ