トップページ > 数学 > テイラー展開

テイラー展開

科学を数学的に取り扱っていく際、至るところで近似という手法が利用されます。

「近似」とは、字の通りで「近しいものに似せる」こと。

例えば \(x\) が非常に小さいときの三角関数や無理関数などの近似はよく目にします。

\[ \begin{align*} &\sin x \rightarrow x \\[10pt] &\cos x \rightarrow 1 \end{align*} \]

\[ \sqrt{1+x} \simeq 1 + \frac{x}{2} \]

このようにすることで、三角関数や根号より扱いやすい冪関数にすることができるのでかなり重宝する手法なのです。

しかし、なぜこのような置き換えが可能なのか、その基礎の理解に迫りましょう。

級数展開

そもそもの話、関数を近似すると言っても何を軸として考えればいいのかを知る必要があります。

私達が数学を学ぶ際、多くの場合は多項式から導入します。

その理由は、最も単純であるからに他なりません。

今回の関数の近似も、多項式で表現することが実現できればこれほど嬉しいことは無いです。

そこで関数 \(f(x)\) を次のように書き表してみます。

式(1)

\[ f(x) \simeq A_0 + A_1 x + A_2 x^2 + \cdots + A_N x^N = \sum_{n = 0}^N A_n x^n \]

あくまで近似であるため等号 (\(=\)) ではなく「\(\simeq\)」を利用していることに注意してください。

等号にならないというのは考えてみれば当たり前のようで、例えば \(\sin\) 関数が多項式で表現できるというのであれば、\(\sin\) が存在する理由はありませんからね。

しかし \(f(x)\) と多項式を等号で結ぶという無茶な考えを実現する方法はあります。

それは極限の考えを引っ張り出してくればいいのです。

式(2)

\[ f(x) = \lim_{~ N \rightarrow \infty} \sum_{n = 0}^N A_n x^n = \sum_{n = 0}^\infty A_n x^n \]

※極限の概念のスゴい点についてはこちらのコンテンツで触れているので、参考にしてみてください。

イメージで言えば、項を無限に用意することが可能なため、すなわちそれは無限に補正し放題なため、その結果得られる多項式はほぼ完璧に \(f(x)\) を再現してくれている、といったところでしょうか。

この様に無限の項の和によって関数 \(f(x)\) を表現する方法を級数展開と言います。

そして特に今回の式(2)のように冪関数( \(1\), \(x\), \(x^2\), \(\cdots\) \(x^k\), \(\cdots\) )を用いて展開する手法を冪級数展開と言います。

級数展開の注意点

関数を級数展開する際に注意する点があります。

何でも好き勝手に級数で表現することはできません。

級数とは先程も説明したとおり、無限に項を足し合わせていったものでした。

そのため計算結果が「無限大に発散してしまうのではないか」という心配事が想起されないでしょうか。

これを回避するためには、式(2)で示した級数が収束する範囲の \(x\) で考える必要があります。

もし仮に \(x \geq 1\) だとすると、級数は一体どのような値を取るか考えてみると

各項の \(x^n\) は1以上となるため、これを無限個も足し合わせるとなると無限に発散しそうであることは想像に容易いですね。

そこで当コンテンツにおいては取り扱う \(x\) の範囲を \(|x| < 1\)( \(-1 < x < 1\) )に限定する事としましょう。

すると \(x^n\) は \(n \rightarrow \infty\) に従って小さくなっていくので、級数はある値に収束してくれることを期待されます。

期待されると表現するのには理由があります。

この条件はあくまで冪関数 \(x^n\) のみの影響について考えたものであり、各項にある係数の影響は全く無視していることを注意しておきます。

つまり本来なら級数の収束条件は \(n \rightarrow \infty\) としたとき各項 \(A_n x^n\) 全体で小さくなって貰う必要があるのです。

その収束条件に「収束半径」という概念がありますが、ここでは触れられないため、一旦 \(|x| < 1\) の範囲で冪級数展開することを前提に話を進めてみましょう。

テイラー級数展開

関数の近似でよく利用されるのはテイラー級数展開と呼ばれるものです。

一体どのようなものなのか、まず結果を示しておくことにしましょう。

式(3)

\[ \begin{align*} f(x) &= \sum_{n = 0}^\infty \frac{1}{n!}\frac{d^n}{dx^n}f(0)x^n \\[20pt] &= f(0) + \frac{d}{dx}f(0) x + \frac{1}{2}\frac{d^2}{dx^2}f(0) x^2 + \cdots \end{align*} \]

一見複雑そうに見えますが、順を追っていくとそうでもありません。

まず、左辺にある \(f(x)\) ですが、ここには前節で説明したとおり近似したい任意の関数が入ります。

近似したい関数のことです。

つぎに右辺ですが、これは冪級数展開となっていて各項に \(x\) の累乗があることが確認できます。

つまり冪関数の直前についているものが係数です。

係数部分だけ抽出したものが次の式となります。

式(4)

\[ A_n = \frac{1}{n!}\frac{d^n}{dx^n}f(0) \]

\(A_n\) とは式(1)で示したとおり、第 \(n\) 項の係数を表しています。

見ての通りですが、係数は階上と微分によって表現されていますね。

※ \(\frac{d}{dx}\) は微分の記号で、それを \(n\) 乗したかのような記号 \(\frac{d^n}{dx^n}\) は \(n\) 階微分を意味します。微分については別のコンテンツで解説をしています。

記号が複雑なため、とてもこんなものは覚えられないと思われるでしょうが、意味さえ理解すれば機械的暗記は回避できます。

後ほど具体例に触れますが、その際に係数の意味についても説明を加えておきましょう。

まずは、実際にどの様に式(3)が導かれるのかを確認していくところからにします。

係数を求める

関数 \(f(x)\) のテイラー展開を求めていきます。

スタートは関数 \(f(x)\) を冪級数展開したところから。

式(2)

\[ f(x) = A_0 + A_1 x + A_2 x^2 + \cdots + A_n x^n + \cdots \\[10pt] \]

前節で述べたとおり、目的は係数 \(A_n\) を具体的に決定していく事です。

それではまず \(A_0\) を求めてみましょう。

これは簡単に求めることが可能ですね。

左辺の \(f(x)\) に \(x = 0\) を代入すると、\(A_0\) 以外の項は次に示すように全て \(0\) となって消去されるからです。

\[ \begin{align*} f(0) &= A_0 + A_1 \cdot 0 + A_2 \cdot 0^2 + \cdots + A_n \cdot 0^n + \cdots \\[10pt] &= A_0 \end{align*} \]

\(A_0\) を具体的に定めることに成功です。

つまり、近似したい関数に \(x = 0\) を代入したものが \(A_0\) ということになります。

式(5)

\[ A_0 = f(0) \]

次に \(A_1\) の話に移りますが、今度は先程のように \(f(x)\) に何らかの \(x\) を代入して \(A_1\) だけが残るようにしようと思ってもそのような \(x\) は見つかりません。

ですが、冪級数展開式(2)の両辺を \(x\) で1階微分してみることによって方針が見えてきます。

式(6)

\[ \begin{align*} \frac{d}{dx}f(x) &= A_0 \frac{d}{dx}1 + A_1 \frac{d}{dx}x + A_2 \frac{d}{dx}x^2 + \cdots + A_n \frac{d}{dx}x^n + \cdots \\[20pt] &= 0 + 1 \cdot A_1 + 2 \cdot A_2 x + 3 \cdot A_3 x^2 + \cdots + n \cdot A_n x^{n-1} + \cdots \end{align*} \]

各項の次数が1つずつ下げられた結果、\(A_1\) を求めることが可能になりました。

実際ここに \(x = 0\) を代入すれば係数 \(A_2\) 以降の項は全て \(0\) となって消去されますね。

\[ \begin{align*} \frac{d}{dx}f(0) &= A_1 + 2A_2 \cdot 0 + 3A_3 \cdot 0^2 + \cdots + nA_n \cdot 0^{n-1} + \cdots \\[10pt] &= A_1 \end{align*} \]

したがって \(A_1\) の具体的な表現が得られます。

式(7)

\[ A_1 = \frac{d}{dx}f(0) \]

このまま \(A_2\) も求めてみます。

手続きは先程と同じように、微分を利用します。

ただし級数を1階微分ではなく、2階微分する必要があります。

あるいは、先程1階微分した級数をもう1回微分すれば同じ多項式が得られるので、その様にしてみましょう。

式(8)

\[ \begin{align*} &\frac{d}{dx}f(x) = 1 \cdot A_1 + 2 \cdot A_2 x + 3 \cdot A_3 x^2 + \cdots + n \cdot A_n x^{n-1} + \cdots \\[20pt] \xrightarrow{\frac{d}{dx}} ~ &\frac{d^2}{dx^2}f(x) = 1 \cdot A_1 \frac{d}{dx} 1 + 2 \cdot A_2 \frac{d}{dx} x + 3 \cdot A_3 \frac{d}{dx} x^2 + \cdots + n \cdot A_n \frac{d}{dx} x^{n-1} + \cdots \\[20pt] & ~~~~~~~~~~~~~~~ = 0 + (2 \cdot 1) A_2 + (3 \cdot 2) A_3 x + (4 \cdot 3) A_4 x^2 + \cdots + \{n \cdot (n - 1)\} A_n x^{n-2} + \cdots \end{align*} \]

得られた式(8)に \(x = 0\) を代入することによって \(A_3\) 以降の項は全て0となって消えるので \(A_2\) を求めることができます。

式(9)

\[ \begin{align*} &\frac{d^2}{dx^2}f(0) = (2 \cdot 1) A_2 \\[10pt] \Leftrightarrow ~ & A_2 = \frac{1}{2 \cdot 1}\frac{d^2}{dx^2}f(0) \end{align*} \]

もうこれ以降は作業。

ここまでで方針は固まっていますが、念の為 \(A_3\) を求めてから第 \(n\) 項の係数を考えることにします。

式(8)を更に1階微分して \(x = 0\) を代入すればよく、

式(10)

\[ \begin{align*} &\frac{d^2}{dx^2}f(x) = (2 \cdot 1) A_2 + (3 \cdot 2) A_3 x + (4 \cdot 3) A_4 x^2 + \cdots + \{n \cdot (n - 1)\} A_n x^{n-2} + \cdots \\[20pt] \xrightarrow{\frac{d}{dx}} ~ &\frac{d^3}{dx^3}f(x) = (2 \cdot 1) A_2 \frac{d}{dx} 1 + (3 \cdot 2) A_3 \frac{d}{dx} x + (4 \cdot 3) A_4 \frac{d}{dx} x^2 + \cdots + \{n \cdot (n - 1)\} A_n \frac{d}{dx} x^{n-2} + \cdots \\[20pt] & ~~~~~~~~~~~~~~~ = 0 + (3 \cdot 2 \cdot 1) A_3 + (4 \cdot 3 \cdot 2) A_4 x + (5 \cdot 4 \cdot 3) A_5 x^2 + \cdots + \{n \cdot (n - 1) \cdot (n - 2)\} A_n x^{n-3} + \cdots \end{align*} \]

となるので、\(A_3\) は次のようになります。

式(11)

\[ \begin{align*} &\frac{d^3}{dx^3}f(0) = (3 \cdot 2 \cdot 1) A_3 \\[10pt] \Leftrightarrow ~ & A_3 = \frac{1}{3 \cdot 2\cdot 1} \frac{d^3}{dx^3}f(0) \end{align*} \]

以上で得られた関係式をもう一度整理してみましょう。

\[ \left\{ ~ \begin{align*} & A_0 = f(0)\\[10pt] & A_1 = \frac{d}{dx}f(0)\\[10pt] & A_2 = \frac{1}{2 \cdot 1}\frac{d^2}{dx^2}f(0) \\[10pt] & A_3 = \frac{1}{3 \cdot 2 \cdot 1}\frac{d^3}{dx^3}f(0) \end{align*}\right. ~ \rightarrow ~ \left\{ ~ \begin{align*} & A_0 = \frac{1}{0!}f(0) \\[10pt] & A_1 = \frac{1}{1!}\frac{d}{dx}f(0) \\[10pt] & A_2 = \frac{1}{2!}\frac{d^2}{dx^2}f(0) \\[10pt] & A_3 = \frac{1}{3!}\frac{d^3}{dx^3}f(0) \end{align*} \right. \]

上式の矢印右側に示した表式だと規則性が分かりやすくなります。

つまり、このことから第 \(n\) 項の係数 \(A_n\) は

式(12)

\[ A_n = \frac{1}{n!}\frac{d^n}{dx^n}f(0) \]

であることが予測できますね。

そしてこの予測は、式(4)と等しいことが分かります。

実際は、この予測を立てた後に数学的帰納法を用いて全ての \(n\) において成り立つことを示す必要がありますが割愛します。

※簡単なので帰納法で証明してみてください。

以上をまとめて、関数 \(f(x)\) を冪級数展開した式(2)と式(12)からテイラー展開式(3)が得られます。

式(3)

\[ \begin{align*} f(x) &= \sum_{n = 0}^\infty \frac{1}{n!}\frac{d^n}{dx^n}f(0)x^n \\[20pt] &= f(0) + \frac{d}{dx}f(0) x + \frac{1}{2}\frac{d^2}{dx^2}f(0) x^2 + \cdots \end{align*} \]

具体的な計算方法

テイラー展開の公式が誘導できたところで、これを利用すれば冒頭で示した三角関数やルートがついた関数(無理関数)の近似式が得られることを確認しましょう。

ただ、その前に注意すべき事が2つあります。

  • テイラー展開公式は無限級数であるが、実際に無限に足し合わせる事は不可能
  • 係数を求める際の計算方法

2つ目は大したこと無いので後ほど簡単に説明することにして、1つ目については非常に重要なことなので先に解決しておきましょう。

テイラー1次近似

現実的に関数にテイラー展開を適用する際に、無限に係数を求めて無限に項を足し合わせるといったことは不可能です。

そこで、無限に連なる項から必要な箇所だけを取り出すという手段にでます。

つまり、関数をテイラー展開(無限級数)で表現することを諦めて、有限の項だけで近似するということです。

急に新しいことを言い出したかのようですが、これは冒頭で示した式(1)に戻しますよということを言っているのです。

以下に式(1)を再掲しましょう。

式(1)

\[ f(x) \simeq A_0 + A_1 x + A_2 x^2 + \cdots + A_N x^N = \sum_{n = 0}^N A_n x^n \]

これは近似であるため等号では結ばれていないことは先述のとおり。

これまでの議論はこの式を \(N \rightarrow \infty\) にした無限級数を取り扱ってきたのでした。

話を進めますが、今回は最も「粗い」近似であるテイラー1次近似を採用することとします。

テイラー1次近似とはその名の通り、1次の項までを利用して近似を考えることを言います。

式(1)で \(N = 1\) の場合を考えるということですね。

具体的に数式を用いて表現すると次のようになります。

テイラー1次近似

\[ \begin{align*} &f(x) \simeq A_0 + A_1 x \\[10pt] \rightarrow ~ & f(x) \simeq f(0) + \frac{d}{dx}f(0) x \end{align*} \]

係数には前節で求めたものを代入しています。

この式から分かる通り、1次近似とは \(x\) に関する1次関数のことを表しているわけです。

つまり得られるグラフは直線ということなのですが…

なんとなく違和感を感じてしまう方がいらっしゃるかも知れませんね。

これから近似しようとしているのは三角関数などで、グラフは曲線になるはず。

「曲線のグラフ」を「直線で近似する」とは一体どういうことか?と。

普通に考えると不可能そうです。

ところがそれを可能にする考えとして、一般にグラフの1部を限りなく拡大すると直線に見えるということを利用するのです。

曲線の直線近似

これは、地球は本来球状なのに私達が立っている場所はまるで水平に見えるのと同じですね。

このことからも分かりますが、初めに断っておくと関数 \(f(x)\) の1次近似によって再現できるのは、この限りなく拡大した点の周辺のみということになります。

そしてこれは、今回採用した級数の収束条件である \(|x| < 1\) という範囲からすると、より限定的な \(x\) の範囲でしか良い近似値が得られないことも以下の具体例で可視化します。

先程述べた「粗い」近似とはそういう事なのです。

係数を求めるときの注意点

ここに示す内容は、「そんな計算ミスをしないでほしい」といった程度の内容なので読み飛ばしていただいて結構です。

というのも、係数 \(\frac{d^n}{dx^n}f(0)\) の意味を誤って、「\(f(0)\) を \(n\) 階微分する」と解釈されてしまう恐れがあるとかないとか。

誤った計算

\[ f(x) ~ \xrightarrow{x = 0} ~ f(0) ~ \xrightarrow{d^n/dx^n} ~ \frac{d^n}{dx^n}f(0) \]

この計算で得られる結果は0で無意味ですね。

前節の内容を確認していただければお分かりでしょうが、\(\frac{d^n}{dx^n}f(0)\) とは関数 \(f(x)\) を \(n\) 階微分した関数 \(\frac{d^n}{dx^n}f(x)\) に \(x = 0\) を代入したものです。

正しい計算

\[ f(x) ~ \xrightarrow{d^n/dx^n} ~ \frac{d^n}{dx^n}f(x) ~ \xrightarrow{x = 0} ~ \frac{d^n}{dx^n}f(0) \]

ここまでお膳立てすれば次の内容も読みやすくなったかな?

さて、長らくお待たせしていたテイラー1次近似の実例を次節から見ていきますよ。

\(\sin x \simeq x\) であることの確認

テイラー1次近似の例として \(f(x) = \sin x\) の場合を確認します。

まずは導きたい関係式の様子をうかがってみましょう。

得たい結果である \(\sin x \simeq x\) には0次の項(すなわち定数項)が出てきていません。

そのため、\(A_0\) を求めようとすると \(0\) となることが期待できます。

それぞれの項の係数を計算して実際に確かめてみましょう。

0次の項の係数

\[ \begin{align*} &f(x) = \sin x \\[15pt] \xrightarrow{x = 0} ~ & f(0) = \sin 0 = 0 \\[15pt] \therefore ~ & A_0 = f(0) = 0 \end{align*} \]

1次の項の係数

\[ \begin{align*} &f(x) = \sin x \\[10pt] \xrightarrow{d/dx} ~ &\frac{d}{dx}f(x) = \cos x \\[10pt] \xrightarrow{x = 0} ~ &\frac{d}{dx}f(0) = \cos 0 = 1 \\[10pt] \therefore ~ & A_1 = \frac{d}{dx}f(0) = 1 \end{align*} \]

期待通り \(A_0 = 0\) になってくれました。

以上まとめると、

\[ \begin{align*} &f(x) \simeq f(0) + \frac{d}{dx}f(0) x \\[10pt] \rightarrow ~ & \sin x \simeq 0 + 1\cdot x \\[10pt] \rightarrow ~ & \sin x \simeq x \end{align*} \]

となることが示されました。

グラフを描いて比較しておきましょう。

sin関数のテイラー1次近似

先述したとおり、赤色斜線部で示した \(|x| < 1\) の範囲からして、より限定的な範囲でしかよい近似を与えないこと分かります。

そしてその限定的な範囲というのは青色網掛けで表現している \(x = 0\) 付近であることがグラフから見て取れます。

つまり近似式 \(\sin x \simeq x\) には \(x = 0\) 周辺でしか成立しないという条件が施されるのです。

しかしながら、この範囲においてはわざわざ小難しい \(\sin x\) という関数を利用せず、単純な \(x\) で置き換えて議論することができるということで、科学に適用する際には非常に重宝する解析手法になります。

\(\cos x \simeq 1\) であることの確認

テイラー1次近似の例として次に \(f(x) = \cos x\) の場合を考えます。

今回の場合は得たい結果は \(\cos x \simeq 1\) であり、定数項のみで表現されることが分かります。

つまりテイラー1次の近似を得るにあたって、1次の係数 \(A_1\) は0になることが期待されます。

実際に係数を求めた結果を以下示しているので確認してみましょう。

0次の項の係数

\[ \begin{align*} &f(x) = \cos x \\[15pt] \xrightarrow{x = 0} ~ & f(0) = \cos 0 = 1 \\[15pt] \therefore ~ & A_0 = f(0) = 1 \end{align*} \]

1次の項の係数

\[ \begin{align*} &f(x) = \cos x \\[10pt] \xrightarrow{d/dx} ~ & \frac{d}{dx}f(x) = -\sin x \\[10pt] \xrightarrow{x = 0} ~ & \frac{d}{dx}f(0) = -\sin 0 = 0 \\[10pt] \therefore ~ & A_1 = \frac{d}{dx}f(0) = 0 \end{align*} \]

したがって、

\[ \begin{align*} &f(x) \simeq f(0) + \frac{d}{dx}f(0) x \\[10pt] \rightarrow ~ & \cos x \simeq 1 + 0 \cdot x \\[10pt] \rightarrow ~ & \cos x \simeq 1 \end{align*} \]

となることが確認できました。

実際にグラフを描いてみましょう。

cos関数のテイラー1次近似

グラフを見るとそれぞれが \(x = 0\) で接していることが分かります。

つまり \(\sin x\) の場合と同様に \(\cos x\) のテイラー1次近似によって良い近似が得られるのは \(x = 0\) 周辺ということになります。

\(\sqrt{1 + x} \simeq 1 + \frac{x}{2}\) であることの確認

最後に \(f(x) = \sqrt{1 + x}\) の場合を見て見ることにします。

近似式の係数の計算結果は次のとおりです。

0次の項の係数

\[ \begin{align*} & f(x) = \sqrt{1 + x} \\[15pt] \xrightarrow{x = 0} ~ & f(0) = \sqrt{1 + 0} = 1 \\[15pt] \therefore ~ & A_0 = f(0) = 1 \end{align*} \]

1次の項の係数

\[ \begin{align*} & f(x) = \sqrt{1 + x} \\[20pt] \xrightarrow{d/dx} ~ & \frac{d}{dx}f(x) = \frac{1}{2}\frac{1}{\sqrt{1 + x}} \\[20pt] \xrightarrow{x = 0} ~ & \frac{d}{dx}f(0) = \frac{1}{2}\frac{1}{\sqrt{1 + 0}} = \frac{1}{2} \\[20pt] \therefore ~ & A_1 = \frac{d}{dx}f(0) = \frac{1}{2} \end{align*} \]

以上のことから \(f(x)\) のテイラー1次近似は次の通りとなります。

\[ \begin{align*} & f(x) \simeq f(0) + \frac{d}{dx}f(0)x \\[10pt] \rightarrow ~ & \sqrt{1 + x} \simeq 1 + \frac{1}{2} \cdot x \\[10pt] \rightarrow ~ & \sqrt{1 + x} \simeq 1 + \frac{x}{2} \end{align*} \]

グラフを以下に示します。

無理関数のテイラー1次近似

グラフが示すとおり、やはり良い近似が得られるのは \(x = 0\) 周辺となります。

以上の例で示すようにテイラー1次近似によって得られる関係式は、関数 \(f(x)\) の \(x = 0\) 周辺でのみ良い近似を与えることが分かりました。

良い近似を与える範囲の幅を広げたければ \(x^2\) の項を追加するテイラー2次近似であったり、更に項数を増やしていけば精度が上がることが期待されます。

ただし、近似の精度を上げることはできても、近似の再現幅を広げることは現段階では考えていません。

そもそも上記で得てきた近似式は、収束することを前提とした級数から有限個(第0項と第1項)の項を取り出したものなので、

取り出す前の級数が収束しない \(|x| \geq 1\) の範囲を考えることは不可能であるということです。

※何度も言うように、これは各項の冪関数 \(x^n\) のみの影響を考えているために、\(x\) の絶対値が1より大きいと発散しそうだと予測を立てているに過ぎません。各項には冪関数以外に係数 \(A_n\) が付いていることを忘れてはいけません。ここでは議論しませんが、\(n \rightarrow \infty\) としたときに \(x^n\) が大きくなるところを打ち消すように \(A_n\) が小さくなってくれれば、級数は収束する可能性を潜めているのです。詳しくは「収束半径」の説明へ。

やはり不便そうなのですが、これをもう少し「使える道具」に仕立て上げることを次の節で説明することにします。

任意の点におけるテイラー近似

前節ではテイラー1次近似を利用して近似式を得ることを実際に行いました。

そこで得られた結果はどれも \(x = 0\) 周辺でしか良い近似を与えてくれないという非常に不自由なものでした。

逆に、このことから冒頭で施した条件 \(|x| < 1\) を設定したことは間違ってはいなかったと言えるでしょう。

先述の通り、そもそもテイラー近似式とはその前段階であるテイラー級数展開が収束するものから取り出しているもののことでした。

そして級数が収束してくれたのは、\(|x| < 1\) の範囲で議論するという取り決めによって達成されるものです。

なぜ級数が収束したかというと、\(|x| < 1\) のとき各項の冪関数 \(x^n\) は小さくなるためで、無限に足し合わせたとしても発散しなかったためです。

以上の内容が上手いこと出来ていたために、実際に近似直線を描いてみても \(f(x)\) を一部再現してくれる形で現れてくれたのです。

ではなぜ \(x = 0\) 周辺でしか成り立たたなかったのか?

それは、上述の内容とテイラー級数展開の式を誘導するところを理解していれば分かります。

テイラー展開式(3)の係数を求める際に、式(2)で与えた級数を微分して \(x = 0\) を代入することによって得たことを思い出しましょう。

式(2)

\[ f(x) = A_0 + A_1 x + A_2 x^2 + \cdots = \sum_{n = 0}^\infty A_n x^n \]

要するに、式(2)で表される級数は \(x = 0\) という値を代入することが許された級数ということで、その条件の下で導かれる係数が式(4)(あるいは式(12))ということになります。

式(4)

\[ A_n = \frac{1}{n!}\frac{d^n}{dx^n}f(0) \]

これらのことを踏まえれば、任意の点 \(x = c\) における級数展開およびテイラー近似を得ることができるはずです。

つまり関数 \(f(x)\) の級数展開を次のように表してみます。

式(13)

\[ f(x) = B_0 + B_1 (x - c) + B_2 (x - c)^2 + \cdots = \sum_{n = 0}^\infty B_n (x - c)^n \]

いかがでしょうか。

話が急すぎると思われる方は、\((x - b)^n\) を二項定理によって展開すると \(x^n\) の多項式に書き換えることができます。

\[ \begin{align*} &\sum_{n = 0}^\infty B_n (x - c)^n \\[20pt] = & \sum_{n = 0}^\infty B_n \left\{\sum_{r = 0}^n {}_n \mathrm{C}_r x^r(-b)^{n - r}\right\} \\[20pt] = & \sum_{n = 0}^\infty B_n \left\{\sum_{r = 0}^n (-1)^r {}_n \mathrm{C}_r b^{n - r} x^r \right\} \\[20pt] = & \sum_{m = 0}^\infty \left\{ (-1)^m \sum_{~ n = m}^\infty B_n ~ {}_n \mathrm{C}_m b^{n - m} \right\} x^m \end{align*} \]

ほらね、できました…(汗)

4行目の中括弧部分を \(A_m\) とでも置けば、それは式(2)と全く同じ形式になります。

※すみません、3行目から4行目にかけてはあまりにも数式まみれになるために端折りました。この辺りの式変形は苦手なので、筆者は3行目の \(\Sigma\) を全て展開して法則性を見出してから再度 \(\Sigma\) でまとめています。普通に計算ミスをしているかも知れませんが心配は無用。とりあえず式(13)を展開すれば「装飾のない冪関数 \(x^n\) の多項式」になることに変わりはないためです。

だから関数の級数展開を式(2)のように書こうが、式(13)のように書こうが別に縛りはなくて、都合のいいようにすればいいのです。

その代わり、級数の収束条件もまた式(13)専用に用意する必要はあります。

式(2)に与えた条件を真似して式(13)にも級数収束条件を与えるなら \(|x - b| < 1\) を満たせば収束してくれるはず…そう考えればいいでしょう。

この条件式を解けば確かに \(x\) は \(b\) 周辺の値を取る必要があることが分かります。

\[ \begin{align*} &|x - b| < 1 \\[10pt] \Leftrightarrow ~ & -1 < x - b < 1 \\[10pt] \Leftrightarrow ~ & b - 1 < x < b + 1 \end{align*} \]

そしてこの条件のもとテイラー展開係数を求めるのですが、先述の内容と同様に微分して \(x = b\) を代入することを繰り返し行えばいいので、その結果のみを示します。

式(14)

\[ B_n = \frac{1}{n!}\frac{d^n}{dx^n}f(b) \]

式(4)と比較するとほどんど同じ表式で、代入されているものが異なるだけですね。

したがって、\(x = b\) におけるテイラー級数展開は次のように表現できます。

式(15)

\[ \begin{align*} f(x) &= \sum_{n = 0}^\infty \frac{1}{n!}\frac{d^n}{dx^n}f(b) (x - b)^n \\[10pt] &= f(b) + \frac{d}{dx}f(b) (x - b) + \frac{1}{2}\frac{d^2}{dx^2}f(b) (x - b)^2 + \cdots \end{align*} \]

そのまま確認のために \(f(x) = \sqrt{1 + x}\) の任意の点におけるテイラー1次近似を求めてみましょう。

\(x = b\) におけるテイラー1次近似は次に示すとおりです。

\[ f(x) \simeq f(b) + \frac{d}{dx}f(b) (x - b) \]

今回は \(b = 2\) を例に近似直線を計算してみましょう。

0次の項の係数

\[ \begin{align*} &f(x) = \sqrt{1 + x} \\[10pt] \xrightarrow{x = 2} ~ & f(2) = \sqrt{1 + 2} = \sqrt{3} \\[10pt] \therefore ~ & B_0 = f(2) = \sqrt{3} \end{align*} \]

1次の項の係数

\[ \begin{align*} & f(x) = \sqrt{1 + x} \\[10pt] \xrightarrow{d/dx} ~ & \frac{d}{dx}f(x) = \frac{1}{2\sqrt{1 + x}} \\[10pt] \xrightarrow{x = 2} ~ & \frac{d}{dx}f(2) = \frac{1}{2 \sqrt{1 + 2}} = \frac{1}{2\sqrt{3}} \\[10pt] \therefore ~ & B_1 = \frac{d}{dx}f(2) = \frac{1}{2\sqrt{3}} \end{align*} \]

したがって求めたいテイラー1次近似式は次のように表せます。

\[ \begin{align*} &f(x) \simeq f(b) + \frac{d}{dx}f(b) (x - b) \\[10pt] \rightarrow ~ & \sqrt{1 + x} \simeq \sqrt{3} + \frac{1}{2\sqrt{3}} (x - 2) \\[10pt] & ~~~~~~~~~~~~ = \frac{x}{2\sqrt{3}} + \sqrt{3} - \frac{1}{\sqrt{3}} \end{align*} \]

以下にグラフを示していますので、直線は関数 \(f(x)\) に対して \(x = 2\) 周辺で良い近似を与えていることを確認してください。

無理関数のx=2におけるテイラー1次近似

テイラー級数展開を式(3)から式(15)にまで拡張することができました。

実のことを言えば、初めに議論していた式(2)はテイラー級数展開の特別な場合、すなわち \(x = 0\) における展開ということでマクローリン展開と言った名称が与えられています。

テイラー展開の幾何学的解釈

最後にテイラー展開係数の意味について見ておくことにします。

そのために式(15)を次のように表現してみます。

式(16)

\[ \begin{align*} f(x) &= \sum_{n = 0}^\infty \frac{1}{n!}\frac{d^n}{dx^n}f(b) (x - b)^n \\[10pt] &= f(b) + \frac{d}{dx}f(b) (x - b) + \sum_{n = 2}^\infty \frac{1}{n!}\frac{d^n}{dx^n}f(b) (x - b)^n \\[10pt] &= f(b) + \frac{d}{dx}f(b) (x - b) + O\left((x - b)^2\right) \end{align*} \]

第2項目までを明示的に示して、第3項目以降は \(O\) という記号でまとめました。

\[ O\left((x - b)^{\textcolor{red}{k}}\right) = \sum_{n = \textcolor{red}{k}}^\infty \frac{1}{n!}\frac{d^n}{dx^n}f(b) (x - b)^n \]

式(16)最下段の第1項と第2項は、先述で示した点 \(x = b\) における \(f(x)\) のテイラー1次近似と等しいものですね。

このことから、\(O\) とはテイラー1次近似では正確に \(f(x)\) を再現できなかった誤差分に相当する事が分かります。

これをグラフを用いて表現してみましょう。

テイラー展開の幾何学的解釈

更にここで \(\Delta x = x - b\) としてみると、意味がわかりやすくなるでしょうか。

式(17)

\[ f(b + \Delta x) = f(b) + \frac{d}{dx}f(b) \Delta x + O\left((\Delta x)^2\right) \]

テイラー展開の幾何学的解釈

\(\frac{d}{dx}f(b)\) は \(x\) 軸方向に対する変化 \(\Delta x\) に対してどのくらい \(y\) 軸方向に変化するかを示す量、すなわちグラフの傾きのことなので、

\(y\) 軸方向の変化量は \(\frac{d}{dx}f(b) \Delta x\) で与えることができます(青色三角形の高さ)。

念の為、数学的に示しておきますが、\(\frac{df}{dx}\) は \(\frac{\Delta f}{\Delta x}\) で近似的に置き換えられると考えれば、\(\frac{d}{dx}f(b) \Delta x\) はまるで次のような計算を行っているかのように捉えることができるでしょう。

\[ \frac{df}{dx} \Delta x \simeq \frac{\Delta f}{\Delta x} \Delta x = \Delta f \]

計算結果は確かに \(y\) 軸向きの増分となります。

これと同じことを級数 \(O\) に含まれる各項についても考えることができ、各項から計算される結果が \(f(b + \Delta x)\) と \(f(b) + \frac{d}{dx}f(b)\Delta x\) の間の誤差を埋めていってくれることになるのです。

従って、テイラー級数展開した際に現れる係数の意味とは、変化量 \(\Delta x\) に対してどの程度関数 \(f\) が変化するかを示すものであることが分かりました。

【サイト運営 : だいご】

今年で物理化学歴11年目になります。

大学入試2次数学でたった3割しか得点できなかったいわゆる数弱落ちこぼれ。それでも好きこそものの上手なれと言ったところか、学会で最優秀賞受賞したり首席卒業できてしまったので、役に立つ知識を当サイトに全て惜しみなく公開しようと思います。ブックマークをオススメ。

広告