第3章 テイラー展開

関数の近似

 関数を近似的に表現するということを考えてみたい。近似とはすなわち「真実の値とは少し違うが、だいたい等しい数値を求める」という方法である。

近似などせずに真面目に計算すればよいではないか!
と、思う人が多い。「自然科学ともあろうものが『だいたい』なんていいかげんなことでよいのか?」と憤慨する人もいる。しかし、実際にはいろんな理由で近似が必要となる。まず、
真面目に計算することが不可能なほどに難しい関数もある。
ということが大きい。高校までの勉強では(大学でも低学年でなら)ほぼ、「解ける問題」しか出てこない。ところが世の中には「解けない問題」はいくらでもある。高校および大学初年度程度の教科書は「解ける問題」を厳選して載せているのである。では解けない問題が出てきたらどうするかと言えば、「頑張って解く方法を見つける(見つからないかもしれない)」か、「近似してから解く」しかない。
 もう1つここで言っておきたいことは、「真面目に解くことはほんとに必要か?」ということである。たとえば(あくまで「たとえば」)近似しないで真面目に解いた場合の答と、近似した結果の答が0.1%(つまり$\textstyle {1\over 1000}$ぐらい)違っていたとしよう。その$\textstyle {1\over 1000}$の違いが大きな問題になる時もあれば、そうでない時もある。たとえば今最小目盛りが1mmである物差しで20cmぐらいの長さを測定したとしたら、この測定では$\textstyle {1\over 200}$より細かい精度の数字は得られていない。そういう測定で「近似したら$\textstyle{1\over 1000}$ぐらい答がずれる!」ということにこだわることは果たして必要だろうか?---近似してよいかまずいかは、要求されている精度によって決まるものである。要求される精度を十分に保つ近似に対して、近似だからといって文句を言われる筋合いはない。

 近似としてもっとも大雑把なものは「関数${y}=f({x})$を${y}=f(x_0)$で代用する」というものである。つまり、実際には${x}$が変化すれば変化する量である${y}=f({x})$を、${x}$が$x_0$という値であった時に測定した$f(x_0)$で代用する。つまり「${x}$を変えても${y}=f({x})$はそんなに変わらないだろう」と推測するわけである。こういう近似をやっている例を上げると

先月測った身長は170cmだったが、今月もそんなに変わってないだろう。

という推測だ「関数を定数で代用する」と聞くととんでもないことをやっているように思えるかもしれないが、この例のように「そんなに大きく変わるものではない」ということがわかっている量については、普段からよくやっている。

 もう少しまじめに関数を近似するのが「線型近似(linear approximation)」である。「線型(linear)」この場合に限らず、1次式で書けるという性質を「線型」と表す。「線型」と書く人と「線形」と書く人がいるが、意味は変わらない。英語から「リニア」という言い方もする。というのは「グラフで書くと直線になる」という意味で、(${y}=a{x}+b$のような)1次式で書けるということである(微分のところでは「微小な範囲を考える(グラフを拡大する)」ことで線型近似できる形に持っていった)。

 つまりは線型近似とは「1次式で近似する」もしくは「グラフが直線だと近似する」ということになる。たとえば「朝9時の気温が20度で、10時の気温が22度だから、11時の気温は24度だろう」という推測は線型近似である。あくまで近似であるから、推測が当たる時もあるし、当たらない時もあるだろう。「この人は100mを12秒で走れるから、200mは24秒で走れるだろう」というのも線型近似に基づく推測だが、これには当然、「人間は疲れるのでは?」という反論があってしかるべきである逆に、「最初の加速に手間がかかると考えると、長距離が不利とは限らない」という点を考慮すべき場合もある。

 微分というのはいろんな関数${y}=f({x})$を「拡大してみれば直線${y}=a{x}+b$のようなものだ」と大まかな近似として表した時の傾き$a$である、と言える。もう少し一般的に書けば、

\begin{equation} f({x})\simeq f(x_0)+\left( {\mathrm d \over \mathrm dx}f(x_0)\right)({x}-x_0) \end{equation}

ということになるこの${\mathrm d \over \mathrm dx}f(x_0)$は「関数$f({x})$を${x}$で微分した後に${x}$に$x_0$を代入したもの」という意味である(先に代入してしまったら微分すると0である)。すでに代入が終わっているので、この後${x}$で微分すると0になる。釈然としない人がいるかもしれないが、これはそういう書き方をするのが(式を簡単に書くための)決め事なのだと思ってほしい。(${x}-x_0$のところが$\mathrm dx$ に対応すると思えばよい)。この式は${x}=x_0$を代入すると$f(x_0)=f(x_0)$となって成り立つし、${x}$で微分してから${x}=x_0$を代入しても成り立つ。しかしこれだと、${x}$で二階微分すると等式は成り立たない(右辺は0になってしまうが左辺はそうとは限らない)。二階微分が等しくなるためには、

\begin{equation} f({x})\simeq f(x_0)+\left( {\mathrm d \over \mathrm dx}f(x_0)\right)({x}-x_0)+{1\over 2}\left( {\mathrm d^2\over \mathrm dx\!{}^2}f(x_0)\right)({x}-x_0)^2 \end{equation}

とすればよい。右辺を二階微分すると、${1\over 2}({x}-x_0)^2$の二階微分が1になる(ここで、${\mathrm d^2\over \mathrm dx\!{}^2}f(x_0)$は「微分した後${x}=x_0$を代入した結果」なのでもう${x}$の関数ではないことに注意)ので、結果は${\mathrm d^2\over \mathrm dx\!{}^2}f(x_0)$となり、左辺の二階微分の${x}=x_0$での値と一致する(こうなるように${1\over 2}$という係数を選んでおいた)。

関数の値(零階微分)と一階微分、二階微分が一致するのだから、より本当の関数に近づいている。この要領でどんどん右辺を左辺に近づけていく。

授業ではここでノートの上で自分で式を作っていってもらった。数学の勉強をするときは「こんな公式があるから使う」という考え方をするのではなく「自分で公式を作ってやる」という気持ちが大事。すでにテイラー展開の式を知っていた人も「知らないふり」をして「自分が式を作るならどうやるか」と考えよう。これから先、いろんな場面で「自分で式を作る」必要が出てくるはずだから、その時の練習のためにも。

 この次の段階では、三階微分が等しくなるように、右辺に${1\over 3\times 2}{\mathrm d ^3\over \mathrm dx\!{}^3}f(x_0)({x}-x_0)^3$を足す。以下同様に考えていくと、

\begin{equation} f({x})= \sum_{n=0}^\infty {1\over n!}\left( {\mathrm d ^n\over \mathrm dx\!{}^n}f(x_0)\right)({x}-x_0)^n \label{taylorexp} \end{equation}

とすれば、左辺と右辺で${x}=x_0$での値$f(x_0)$と任意の階数の導関数${\mathrm d ^n\over \mathrm dx\!{}^n}f(x_0)$が一致する。

$n!$って、$n=0$のときはどうなるんですか?
$0!=1$です。これは$x^0=1$と並んで「えっ」ってなる人が多い式なんだけど、なぜそうなるかの理由も似ています。$x^0=1$になる理由は$x^n=x\times x^{n-1}$で$n=1$の場合に$x=x\times x^0$となるように、ということなんだけど、階乗についても$n!=n(n-1)!$という公式があるから、この公式が$n=1$でも成り立つためには、$0!=1$でなくてはいけない。

この展開を「テイラー展開(Taylor expansion)」と呼ぶ特に$x_0=0$の場合には「マクローリン展開」という別の名前がついているが、わざわざ別の名前にするほどの意味はない。。右辺の級数和がほんとうに左辺と一致するかというと、一致しないこともある。一般的には、

\begin{equation} f({x})= \sum_{n=0}^N {1\over n!}\left( {\mathrm d ^n\over \mathrm dx\!{}^n}f(x_0)\right)({x}-x_0)^n +\underbrace{{\cal O}(({x}-x_0)^{N+1})}_{剰余項}\label{taylorexpwithjouyo} \end{equation}

のように、級数の形で表しきれていない剰余項を含んだ式が成り立つ剰余項には表現の方法はいろいろあるが、ここではとりあえず触れない。

以上の計算が実行できるような関数は$x_0$において「解析的(analytic)」であると言う。解析的であるためには、「ある領域で何回でも微分可能」という条件が成り立たなくてはいけない。テイラー展開はこの条件のもとで考えている。このような「何回でも微分可能な関数」のことは「なめらかな関数」と呼ぶ。

テイラー展開の例

テイラー展開の例

いくつかの例を説明する。

$\exp$の展開式と、$\sin $の展開式と$\cos $の展開式を見比べると、

\begin{equation} \begin{array}{ccccccccc} \mathrm e^{x}= &1 &+x &+{x^2\over 2!} &+{x^3\over 3!} &+{x^4\over 4!} &+{x^5\over 5!} &+{x^6\over 6!} &+\cdots \\[3mm] \cos x= &1 & &-{x^2\over 2!} & &+{x^4\over 4!} & &-{x^6\over 6!} &+\cdots \\ \sin x= & &x & &-{x^3\over 3!} & &+{x^5\over 5!} & &+\cdots \\ \end{array} \end{equation}

となっていて、$\mathrm e^{\mathrm i x}=\cos x+\mathrm i \sin x $という「オイラーの式」オイラーの式については、複素数を使う微分方程式について考える時に再び扱うことにする。が見えてくる。

 $\sin$や$\cos$の場合は偶数冪や奇数冪のみが現れるので指数関数などとはちょっと違う計算が必要になるが、やはり収束半径は$\infty$である。

テイラー展開 受講者の感想・コメント

受講者の感想・コメント

 青字は受講者からの声、赤字は前野よりの返答です。

オイラーの公式をテイラー展開から導出することができた。
この後いろいろなところで使える式です。

近似を使う大切さがわかった。
はい、大切です。

項を足していくごとに元の関数のグラフに近づいていくのがすごかった。
微分とテイラー展開の威力です。

今回の授業、最初の方は全然よくわからなかったけどだんだんわかるようになってきました。
う〜ん、最初の方もちゃんと意味を理解しておいて欲しいのだけど。

近似式を作るという考え方からテイラー展開が出てくることがわかった。オイラーの公式が面白かった。
結局実際に使う段になると、テイラー展開はかなり強力です。

内容はよくわからなかったけど、テイラー展開がすごいことがわかった。
それじゃ全然ダメです。数学は内容がわからないでは何の役にも立たない。

テイラー展開めっちゃむずいと思ってたけど、しっかり考えればわりと理解しやすかった。
まずは「何のための式なのか」というところから入ると、理解しやすいと思います。

テイラー展開について学んだ。近似することの意味や大切さがわかった。テイラー展開の公式の意味も少しわかったし、実際にアンドロイドでグラフを見れたのでイメージを持つことができた。$e^x$は微分をし続けるとほぼ$e^x$になっていたので驚いた。
「微分をし続けると」ってのは「テイラー展開の次数を上げていくと」の間違いかな? exp(x)というのは非常に収束のよい関数です。

今までただ暗記して使っていたテイラー展開も、改めて意味を考えると面白かったです。とてもわかりやすい説明でした。
わかってくれたのはいいんだけど、「ただ暗記」で式を使ってはダメですよ(これに限らず他のも)。

電卓の中でテイラー展開をしているとしって面白いと思った。
結局関数の値はテイラー展開などを使っていく方法が楽なのです。

テイラー展開について学んだ。タブレットでも見れてイメージしやすかった。
テイラー展開のイメージをつかんでください。

イメージしやすく、新しかったです。
イメージを大事に。

指数関数と三角関数がテイラー展開でつながって凄いと思いました。
なかなか面白いでしょ。

$f(x)=f(x_0)+f'(x)(x-x_0)+A$を$A=f(x)-f(x_0)-f'(x)(x-x_0)$として右辺を変形したら$A={1\over2}f''(x_0)(x-x_0)^2$になりますか?
テイラー展開は「近似」という操作をどこかでやらないといけないので、ただ単純に変形をしたのでは導けません。

テイラー展開は難しい部分もあると感じたが、やれるようになればとてもすごいものなのではないかと思った。
いろいろなところで役に立ちます。

テイラー展開楽しかった。
それはよかった。

テイラー展開の名前をきいたことがあったけどどんなものかは知らなかったので少し知れた。
これから先でずっと「常識」として使うものですから、しっかり知ってください。

テイラー展開の具体的な使い途がなんとなくわかった気がします。もっといろいろな式でも使って慣れていこうと思います。
使ってください。使うための数学です。

ひさしぶりのテイラー展開でした。高校の時のノートで復習しなおしたいと思います。
これから先どんどん使っていってください。

テイラー展開の近似の精度が上がっていくのを実感できておもしろい。
多項式で近似するというのも、使える手段でしょ。

最後のところがよくわからなかったのでしっかり復習したいです。
質問してください。

名前だけ聞いてたらテイラー展開とか難しそーという先入観があったのですが、今までの微分の知識をちゃんと使うだけで、こんなにわかりやすいものかとびっくりしました。
はい、全然難しいものではなくて「微分を使ったらこんなこともできる」という1つの例です。

テイラー展開していくとどんどんその式に近づいていくのに感動した。$\mathrm e^{{\mathrm i}x}=\cos x+\mathrm i\sin x$の説明がわかりやすかった。
テイラー展開の威力を感じてください。

三階微分がよくわかりませんでした。テイラー展開勉強したいです。
テイラー展開の三次の項のことかな? 計算を実際にやってみて確認してみてください。

$\mathrm e^{{\mathrm i}x}=\cos x+\mathrm i\sin x$が面白いと思った。
面白いだけでなく、今後役に立つ式ですよ。

手を動かせばテイラー展開の式を作るのは簡単だと思った。三角関数のテイラー展開のグラフとその式が複雑だと感じたが、グラフの形は面白いと思った。
自分で手を動かして式を作っていくのが大事ですね。

今日の内容は関数の近似とテイラー展開についてで、近似値を微分して両辺が一致するような考え方で成り立っていることを知った。あとテイラー展開の式に出てくる$!$で$0!=1$の話を改めて確認した。$x^0=1$と$0!=1$の話が面白かった。
$0!=1$はひっかっかる人が多いですが、実際に使うときを考えるとこの方が自然なのです。

テイラー展開は楽しいと思いました。計算機は何次ぐらいはやっているのか考えると計算機すごいと思いました。
計算機は何次までやればよいかをちゃんとプログラムで決めて動いてます。

うるう年とかうるう秒があるのは地球とか月とか太陽とかの「三体問題」が解けてないから使う近似式の誤差で出るのでしょうか?
テイラー展開は微積分学の予習でやっていたのですが、今日の講義でどうりうものか分かりました!
うるう秒などが出るのは地球の自転が遅くなっていることと、月や太陽だけでなく他の惑星などの重力の影響を受けているせいです。近似式による計算の誤差は1秒も出ません(というか、出ないように近似のやり方を工夫する)。

テイラー展開なかなか難しかったです。
これから先ずっと「ふつ〜」に使うものなので、ちゃんと理解していきましょう。

$e^x,\sin x,\cos x$に関係があることにとても驚きました。$x=x_0$の付近での近似は完璧にできるけど$|x|<1$の範囲でないとあまり利用することができないこともわかりました。虚数がなぜ出てくるのか高校で勉強している時に考えていたけど、こういったことに使用されると、いろんな関係が見えてきました。とても面白いです。
近似式を使うときは「どこまで使えるか」には常に注意しましょう。虚数は便利だから使うものです(後でも出てきますが)。

今日のテイラー展開はとても難しかったです。復習しないといけないと思いました。
ここまでの話の組み合わせでできている話なので、今日の話が難しく感じるなら、その前の部分に抜けがあるということで、復習はかなり必要です。頑張ってください。

テイラー展開で関数の近似について学んだ。公式だけ見ると難しそうだが、やってみるとそうでもなかった。二階微分、三階微分と順を追って公式を求めると規則性があり、わかりやすくなった。
公式も、理屈がわかってから見れば難しくないでしょ。

$\exp(x),\sin x, \cos x$の組み合わせがオイラーの式になることは知っていた。再確認したが、やっぱりオイラーの式は感動する。
オイラーの式はとても使い道が多い式です。

テイラー展開はとてもわかりやすくて、とてもおもしろかったです。$0!=1$ということは知らなかったので、知れてよかったです。
これからもいろんな場面で使うことになると思います。

近似というのを正直ナメていたが、実はやばいヤツだったんだと知った。これからは態度に気をつけたい。
そうですね。これから先ずっと御世話になる方なので。

テイラー展開難しいです。でもめっちゃおもしろいなと思いました。自然現象が説明できるようになりたいです!
おもしろいと思えるなら、理解していきましょう。

テイラー展開は名前からしてわかりにくそうだったが今回の授業でだいたい理解できたのでよかった。日頃から、自分で式を導く訓練もしっかりしたい。
名前は気にしない方がいいですよ。中身が大事。

テイラー展開について学んだ。アンドロイドでいろんな関数のテイラー展開を見た。項の数を増やすほど元の関数に近づいていくところがすごいと思った。
うまく作られた計算方法です。