テイラー級数展開

提供: MochiuWiki : SUSE, EC, PCB

概要

テイラー級数展開とは、そのままでは扱いにくい関数を、級数の形に近似することである。

例えば、ある点aにおける関数f(x)の振る舞いについてはよく知っているとする。
aにおける関数の値、関数のグラフの傾きの値、2階微分の値、3階微分の値など、それらの値をを使用して、
aからわずかに離れたx地点での関数の値f(x)を言い当てることができるか、というのがテーマである。

このような直接的ではない情報を、下式の右辺のように計算すれば、それができる。
xとaとの間のわずかな距離はx−aと表せるが、これは(1)式の右辺に(x−a)や(x−a)2や(x−a)3という形で出てきている。

テイラーの定理
f(x)axb において、n階微分可能な時

f(x)=n=01n!dnf(a)dxn(xa)n=f(a)+f(a)(xa)+12!f(a)(xa)2+13!f(a)(xa)3+

となる b(a<b<x) が存在する。


このようにして、関数f(x)を無限級数の和に展開して表すことができる。
これを、aのまわり(x=aにおける)でのテイラー級数展開と呼ぶ。

更にかみ砕いて言うと、関数f(x)全体をxの多項式で近似することはできない場合でも、
ある値aの付近であれば関数f(x)はテイラー級数展開を使った多項式で近似できるということである。


もし、aとして0を選ぶ場合(原点のまわりでのテイラー級数展開)を、マクローリン級数展開と呼ぶ。
f(x)=n=01n!dnf(0)dxnxn=f(0)+f(0)x+12!f(0)x2+13!f(0)x3+

近似でよく利用される形

上式に繰り返し出てくる (xa) の部分は a からの微妙なズレ具合を表している。

まず、通常のテイラー級数展開は、ある点aの周りで関数f(x)を展開する場合、次式のような形になる。
f(x)=f(a)+df(a)dx(xa)+12!d2f(a)dx2(xa)2+13!d3f(a)dx3(xa)3+

一方、f(x+h) の展開を考える場合、xを基準点として考えている。
つまり、この場合は、展開の中心点が a=x、展開する変数が x+h となる。

f(x+h)=f(x)+df(x)dx((x+h)x)+12!d2f(a)dx2((x+h)x)2+13!d3f(a)dx3((x+h)x)3+

ここで、((x+h)x) を簡略化すると、(x+h)x=h となる。

したがって、展開式は次式となる。
f(x+h)=f(x)+df(x)dxh+12!d2f(a)dx2h2+13!d3f(a)dx3h3+

このように、(xa) の項がhのみとなる理由を以下に示す。

  • 展開の中心点をxとしている。
  • 展開する点が (x+h) である。
  • これらの差分を取るとhになる。


この上式は、数値計算において、導関数の数値近似を考える場合によく使用されている。


マクローリン級数展開の意味 (近似との関係)

exsinxcosxlog(1+x) 等のマクローリン級数展開は、不明な関数を整関数として考えることができる。

この無限級数において、途中で打ち切り有限個とする場合、次式のように考えることができる。

ex=1+x+12x2+16x3+
ex1+x
ex1+x+12x2


上記のような操作を近似と呼ぶ。
ただし、これは正確な値に近づける操作に過ぎないため、= で等式化することができない。


具体例

指数関数や三角関数をマクローリン級数展開すると次のようになる。 これらの関数が単純な和で表現できるのは、これらの収束半径は無限大だからである。つまり、xの値にかかわらず、常に成り立つ関係である。
ex=1+x+12!x2+13!x3+
sinx=11!x13!x3+15!x5+
cosx=10!12!x2+14!x4+

指数関数の逆関数である対数関数において、logxに0を代入することはできないので、原点を少しずらして、次のような関数ならば0の周りで展開できる。
log(x+1)=11!x12!x2+13!x314!x4+15!x5


多変数関数のテイラー級数展開

多変数関数についても似たような定理が成り立っている。
まず、2変数関数f(x,y)のテイラー級数展開は次のようになる。
f(x+a,y+b)=n=01n!(ax+by)nf(x,y)=f(x,y)+(ax+by)f(x,y)+12!(ax+by)2f(x,y)+13!(ax+by)3f(x,y)

次に、3変数関数f(x,y,z)の場合も同様の関係が成り立っており、次のようになる。
f(x+a,y+b,z+c)=n=01n!(ax+by+cz)nf(x,y)