テイラー展開

この記事は参考書から摘まんでいるにもかかわらず摘まみ方を間違えてたりする可能性があります。


ある無限回微分可能な関数y(x)があったとして
y(x)にxからΔxだけずれた点aを入力するとy(a)であるが
このy(a)によってy(x)を表すと

このようになる

y(a)で表されたy(x)

こんなのをa点周りでのテイラー展開という。
未知なるy(x)を、既知なるy(a)とy'(a)とその親戚で表している。
シグマを展開すると

$$
y(x)=y(a)+\frac{y'(a)}{1!}(x-a)+\frac{y''(a)}{2!}(x-a)^2+\frac{y'''(a)}{3!}(x-a)^3+…
$$

精度を気にせず大雑把に近似するなら

$$
y(x)\approx y(a)+y'(a)\Delta x
$$

となる。
これは結局線形補間であるからして、なめらかな関数を直線で近似することを示していることが分かる。つまり曲線に対して三角定規を当てている状態である。
こういうのを一次近似などという。

ここで
ズレΔxをx-aで表すと

$$
\Delta x = x-a\\
x=a+\Delta x
$$

すると大雑把な近似$${y(x)\approx y(a)+y'(a)\Delta x}$$は

$$
y(a+\Delta x)\approx y(a)+y'(a)\Delta x\\
y(a+\Delta x)-y(a)\approx y'(a)\Delta x
$$

変数だけずらすと、これは微分からlimとった近似

$$
y(x+\Delta x)-y(x)\approx y'(x)\Delta x\\
\frac{y(x+\Delta x)-y(x)}{\Delta x}\approx y'(x)
$$

また、$${x=a+\Delta x}$$より、y(x)はy(a+Δx)とおんなじであるから

$$
y(a+\Delta x)=y(a)+\frac{y'(a)}{1!}\Delta x+\frac{y''(a)}{2!}\Delta x^2+\frac{y'''(a)}{3!}\Delta x^3+…
$$

$$
y(x)=y(a+\Delta x)\fallingdotseq y(a)+y'(a)\Delta x= y(a)+y'(a)(x-a)
$$

マクローリン展開の場合
a=0ならば、与えられた関数の原点周りでの挙動を見ることができる。



導出


その1

参考
理系のための 微分・積分復習帳 高校の微積分からテイラー展開まで (ブルーバックス) 竹内淳 (著)
流体計算と差分法 – 2005/3/1
桑原 邦郎 (著), 河村 哲也 (著)

ある関数f(x)が次のような形で表せると仮定する。
この時、係数$${a_i (i=0,1…}$$を求めることを考える。

$$
f(x)=a_0+a_1(x-x_0)+a_2(x-x_0)^2+…
$$

この仮定された関数は

$$
f(x)=a_0+a_1 x+ a_2 x^2+ a_3 x^3 +…
$$

の親戚と考えればよく、実際$${x_0=0}$$ならば上の式は下の式に等しくなる。基底的ななにかと係数的ななにかを組み合わせるととても便利という感覚は以下参考

$${x=x_0}$$ならば$${f(x_0)}$$は$${(x-x_0)}$$の項が消滅して

$$
f(x_0)=a_0
$$

f(x)を微分してみると

$$
f'(x)=a_1+2a_2(x-x_0)+3a_3(x-x_0)^2+…
$$

$${x=x_0}$$ならば

$$
f'(x_0)=a_1
$$

繰り返すと順番に係数が求まっていって

$$
f''(x)=2a_2+6a_3(x-x_0)+…
$$

$$
f''(x_0)=2a_2
$$

まとめると

y(a)で表されたy(x)

ただしy(x)はf(x)、aはx_0


その2

参考
物理数学(I) (裳華房フィジックスライブラリー) 単行本 – 2001/5/30
中山 恒義 (著), 原 康夫 (編集), 丸山 瑛一 (編集), 近 桂一郎 (編集), 松下 貢 (編集)


微分

$$
f'(x)=\frac{dy}{dx}=\lim\limits_{\Delta x  \to 0} \frac{f(x+\Delta x)-f(x)}{\Delta x}
$$

あるいは同じことだが記号だけ変えて

$$
y'(x)=\lim\limits_{\Delta x  \to 0} \frac{y(x+\Delta x)-y(x)}{\Delta x}
$$

あるいは
$${a=x+\Delta x}$$,
$${a-\Delta x = x}$$,
$${\Delta x = a-x }$$だから

$$
y'(a-\Delta x)=\lim_{a \to x}\frac{y(a-\Delta x + \Delta x)-y(a-\Delta x)}{a-x}
$$

$$
y'(x)=\lim_{a \to x}\frac{y(a)-y(x)}{a-x}
$$

ところで
x=a周りで近似、すなわち
x=aとしてlimを外す(近似する)と

$$
y'(a)\approx \frac{y(a+(x-a))-y(a)}{x-a}\\
y'(a)\approx \frac{y(x)-y(a)}{x-a}
$$

limが付いてないから近似。
この式を組み替えると

$$
y(x)\approx y(a)+(x-a)y'(a) 
$$

これはテイラー展開を一次の項で切り落としているのと同じ。
$${(x-a)y'(a)}$$部分は$${dy=\frac{dy}{dx}\Delta x}$$に相当。というより

$$
y(x)\approx y(a)+y'(a) \Delta x
$$

右辺は大元の関数y(x)の近似式として機能する。大元の関数y(x)が、a地点の出力y(a)と、a地点における導関数y’(a)を用いて近似されている。

ここでy(x)が元の関数の出力値
y(a)がちょっとずれてる出力値
y’(a)がy(a)の接線の傾きで
x-aがずれてる区間の直角三角形の低辺
(x-a)y’(a)はずれてる区間の直角三角形の縦の辺

ズレの区間に直角三角形をあてこめるから近似になるのであって、ちゃんとy(a)地点から見てy(x)にへばりつけるなら

(1.5)

tはy(x)に対する微小なステップであって、y’(t)はt地点での微小な変化dtに対するyの増分。a地点までのyはy(a)によって判明しているから、以降a地点から入力x地点まで区間、微小なdtステップ毎に対応y増分を加算していくと式(1.5)となる。


二階の微分は

(1.6)
(1.7)

前述の例によって組み替えると

(1.8)

大元の関数の1階導関数y’(x)は、a地点における1階導関数、及び2階導関数によって近似される。

これを(1.5)のy’(t)にぶちこんで

(1.9)

y’(a)だのy’’(a)だのはtに対して無関係だから右辺2項の左っかわは

$$
\int_a^x y’(a)dt = \lbrack y’(a)t \rbrack_a^x=y’(a)x-y’(a)a=(x-a)y’(a)\quad (1.10)
$$

であって、右っかわは積分公式

(1.11)

を使って

$$
\int_a^x (t-a)y’’(a)dt=\int_a^x(t-a)^1y’’(a)dt=\lbrack \frac{1}{1+1}(t-a)^2y’’(a) \rbrack _a^x=\frac{(x-a)^2}{2}y’’(a) \quad (1.12)
$$

$${y’’(a)}$$はtから見て定数扱い。
結果(1.9)は

$$
y(x) \approx y(a)+(x-a)y’(a)+\frac{(x-a)^2}{2}y’’(a) \quad (1.13)
$$


大元の関数y(x)が、a地点の出力y(a)と、a地点における1階、および2階の導関数によって近似されている。

$$
y(a)+y’(a)(x-a)
$$

は線形近似。以降は誤差。
誤差部分をちゃんと積分形で正確に残すなら

$$
y(x)=y(a)+y’(a)(x-a)+\int_a^x y’’(a)(t-a)dt\quad (1.14)
$$

あるいは

$$
y(x)=y(a)+y’(a)(x-a)+\int_a^x y’’(t)(x-t)dt\quad (1.14)
$$

これは

$${y’’(t)}$$をf、$${(x-t)}$$をg’とみて
部分積分$${\int fg’=fg-\int f’g}$$から

$$
\int_a^x y’’(t)(x-t)dt\quad=\lbrack y’’(t)\frac{(x-t)^2}{2} \rbrack_a^x -y’’’(t)(x-t)=0-y’’(a)\frac{(x-a)^2}{2}-y’’’(t)(x-t)
$$

大元の関数y(x)はa地点における出力y(a)とy(x)の1階導関数(の積分)を用いて表すことができる。y(x)の導関数はy(a)の導関数と+1階の導関数によって近似できる。ゆえに大元の関数y(x)はy(a)およびその導関数らで近似できる。

以下を得る。

(2.0)

2変数の場合


ChatGPT4.0にまかせた。

$$
f(x, y) \approx \sum_{n=0}^{\infty} \frac{1}{n!} \sum_{k=0}^{n} \frac{n!}{k!(n-k)!} \frac{\partial^n f}{\partial x^k \partial y^{n-k}}(a, b)(x-a)^k(y-b)^{n-k}
$$

二次まで

$$
f(x, y) \approx f(a, b) + \frac{\partial f}{\partial x}(a, b)(x-a) + \frac{\partial f}{\partial y}(a, b)(y-b) + \frac{1}{2!} \left(\frac{\partial^2 f}{\partial x^2}(a, b)(x-a)^2 + 2\frac{\partial^2 f}{\partial x \partial y}(a, b)(x-a)(y-b) + \frac{\partial^2 f}{\partial y^2}(a, b)(y-b)^2\right) + \cdots
$$

三次まで

$$
f(x, y) \approx f(a, b) + \frac{\partial f}{\partial x}(a, b)(x-a) + \frac{\partial f}{\partial y}(a, b)(y-b) + \frac{1}{2!} \left(\frac{\partial^2 f}{\partial x^2}(a, b)(x-a)^2 + 2\frac{\partial^2 f}{\partial x \partial y}(a, b)(x-a)(y-b) + \frac{\partial^2 f}{\partial y^2}(a, b)(y-b)^2\right) + \frac{1}{3!} \left(\frac{\partial^3 f}{\partial x^3}(a, b)(x-a)^3 + 3\frac{\partial^3 f}{\partial x^2 \partial y}(a, b)(x-a)^2(y-b) + 3\frac{\partial^3 f}{\partial x \partial y^2}(a, b)(x-a)(y-b)^2 + \frac{\partial^3 f}{\partial y^3}(a, b)(y-b)^3\right)
$$

一次近似について

$$
f(x+\Delta x,y+\Delta y)\approx f(x,y)+\frac{\partial f}{\partial x}\Delta x+\frac{\partial f}{\partial y}\Delta y
$$

形を変えると全微分を意味する

$$
f(x+\Delta x,y+\Delta y) - f(x,y)\approx \frac{\partial f}{\partial x}\Delta x+\frac{\partial f}{\partial y}\Delta y
$$

$${f(x+\Delta x,y+\Delta y) - f(x,y)}$$を$${\Delta f}$$と置いてしまうと

$$
\Delta f \approx \frac{\partial f}{\partial x}\Delta x+\frac{\partial f}{\partial y}\Delta y
$$

ただしここでのデルタはナブラ2乗のラプラシアンとは関係ない。ただの微小な変位のこと。

$${\Delta f \to df}$$なら全微分

$$
df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy
$$

$${\Delta f }$$に関して右辺を
関数fの偏微分係数を成分とするベクトルと
微小な変位を成分とするベクトルの内積と見ると

$$
\Delta f \approx \nabla f \cdot \Delta \bm r
$$

ここで$${\nabla f}$$ だの $${\Delta \bm r}$$だのは
例えば3次元なら

$$
\nabla f=(\frac{df}{dx},\frac{df}{dy},\frac{df}{dz})\\
\Delta \bm r = (\Delta x, \Delta y, \Delta z)
$$

n変数の場合

$$
f(\boldsymbol{x}) \approx \sum_{\boldsymbol{\alpha}} \frac{1}{\boldsymbol{\alpha}!} \frac{\partial^{\boldsymbol{\alpha}} f}{\partial \boldsymbol{x}^{\boldsymbol{\alpha}}}(\boldsymbol{a})(\boldsymbol{x}-\boldsymbol{a})^{\boldsymbol{\alpha}}
$$

一次近似

$$
f(\boldsymbol{x}) \approx f(\boldsymbol{a}) + \sum_{i=1}^{n} \frac{\partial f}{\partial x_i}(\boldsymbol{a})(x_i - a_i)
$$

二次まで

$$
f(\boldsymbol{x}) \approx f(\boldsymbol{a}) + \sum_{i=1}^{n} \frac{\partial f}{\partial x_i}(\boldsymbol{a})(x_i - a_i) + \frac{1}{2!}\sum_{i=1}^{n}\sum_{j=1}^{n} \frac{\partial^2 f}{\partial x_i \partial x_j}(\boldsymbol{a})(x_i - a_i)(x_j - a_j)
$$

三次まで

$$
f(\boldsymbol{x}) \approx f(\boldsymbol{a}) + \sum_{i=1}^{n} \frac{\partial f}{\partial x_i}(\boldsymbol{a})(x_i - a_i) + \frac{1}{2!}\sum_{i=1}^{n}\sum_{j=1}^{n} \frac{\partial^2 f}{\partial x_i \partial x_j}(\boldsymbol{a})(x_i - a_i)(x_j - a_j) + \frac{1}{3!}\sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{k=1}^{n} \frac{\partial^3 f}{\partial x_i \partial x_j \partial x_k}(\boldsymbol{a})(x_i - a_i)(x_j - a_j)(x_k - a_k)
$$

ChatGPT4の場合

点($${a, b, c, \ldots}$$)の近傍で多変数関数$${f(x, y, z, \ldots)}$$をテイラー展開すると、展開の各項は関数の各次の偏導関数に基づきます。1次から4次までの近似式は次のようになります:

0次(定数項)

$${ f(a, b, c, \ldots) }$$
この項は、展開の基点($${a, b, c, \ldots}$$)での関数の値です。

1次の近似

$$
f(a, b, c, \ldots) + \nabla f(a, b, c, \ldots) \cdot \left( \begin{array}{c} x - a \\ y - b \\ z - c \\ \vdots \end{array} \right) 
$$

ここで、$${\nabla f}$$は勾配ベクトルであり、各変数における偏導関数のベクトルです。この項は関数の線形近似を表します。

$$
f(a, b, c, \ldots) + \nabla f(a, b, c, \ldots) \cdot \Delta \vec{x}
$$

ここで、$${\Delta \vec{x}}$$ は $${(x - a, y - b, z - c, \ldots)}$$ というベクトルです。

$$
f(a, b, c, \ldots) + \begin{pmatrix} \frac{\partial f}{\partial x} & \frac{\partial f}{\partial y} & \frac{\partial f}{\partial z} & \cdots \end{pmatrix} {(a, b, c, \ldots)} \begin{pmatrix} x - a \\ y - b \\ z - c \\ \vdots \end{pmatrix}
$$

2次の近似

$$
f(a, b, c, \ldots) + \nabla f(a, b, c, \ldots) \cdot \left( \begin{array}{c} x - a \\ y - b \\ z - c \\ \vdots \end{array} \right) + \frac{1}{2} \left( \begin{array}{c} x - a \\ y - b \\ z - c \\ \vdots \end{array} \right)^T \cdot H(f)(a, b, c, \ldots) \cdot \left( \begin{array}{c} x - a \\ y - b \\ z - c \\ \vdots \end{array} \right) 
$$

$${H(f)}$$はヘシアン行列であり、関数の2次偏導関数から構成されます。この項は関数の曲率を加味した近似を提供します。

$$
f(a, b, c, \ldots) + \nabla f(a, b, c, \ldots) \cdot \Delta \vec{x} + \frac{1}{2} \Delta \vec{x}^T \cdot H(f)(a, b, c, \ldots) \cdot \Delta \vec{x} 
$$

この表記では、$${\Delta \vec{x}}$$ が変数の差分を表すベクトルであることを明確にし、そのベクトルを直接勾配ベクトルやヘシアン行列との演算に用います。こうすることで、縦ベクトルを用いた表記を避けつつ、同じ数学的意味を保持することができます。

$$
f(a, b, c, \ldots) + \begin{pmatrix} \frac{\partial f}{\partial x} & \frac{\partial f}{\partial y} & \frac{\partial f}{\partial z} & \cdots \end{pmatrix}{(a, b, c, \ldots)} \begin{pmatrix} x - a \\ y - b \\ z - c \\ \vdots \end{pmatrix} + \frac{1}{2} \begin{pmatrix} x - a & y - b & z - c & \cdots \end{pmatrix} \begin{pmatrix} \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x \partial y} & \frac{\partial^2 f}{\partial x \partial z} & \cdots \\ \frac{\partial^2 f}{\partial y \partial x} & \frac{\partial^2 f}{\partial y^2} & \frac{\partial^2 f}{\partial y \partial z} & \cdots \\ \frac{\partial^2 f}{\partial z \partial x} & \frac{\partial^2 f}{\partial z \partial y} & \frac{\partial^2 f}{\partial z^2} & \cdots \\ \cdots & \cdots & \cdots & \ddots \end{pmatrix}{(a, b, c, \ldots)} \begin{pmatrix} x - a \\ y - b \\ z - c \\ \vdots \end{pmatrix}
$$


3次の近似

3次の項は、関数の3次の偏導関数を含みます。これは次の形式で表されます。

$$
 \frac{1}{3!} \sum_{i,j,k} \frac{\partial^3 f}{\partial x_i \partial x_j \partial x_k}(a, b, c, \ldots) (x_i - a_i) (x_j - a_j) (x_k - a_k) 
$$

ここで、和はすべての変数$${x_i, x_j, x_k}$$にわたって取られ、$${a_i, a_j, a_k}$$はそれぞれの変数の基点の値です。

3次の項は、3階のテンソル(T^{(3)})を用いて次のように表現できます:

$$
\frac{1}{3!} \sum_{i,j,k} T^{(3)}_{ijk} (x_i - a_i) (x_j - a_j) (x_k - a_k) 
$$

ここで、$${T^{(3)}_{ijk} = \frac{\partial^3 f}{\partial x_i \partial x_j \partial x_k}(a, b, c, \ldots)}$$は、点($${a, b, c, \ldots}$$)における関数$${f}$$の3階の偏導関数を要素とするテンソルです。和は全ての$${i, j, k}$$に対して取られます。

4次の近似

4次の項は、関数の4次の偏導関数を含みます。これは次の形式で表されます。

$$
\frac{1}{4!} \sum_{i,j,k,l} \frac{\partial^4 f}{\partial x_i \partial x_j \partial x_k \partial x_l}(a, b, c, \ldots) (x_i - a_i) (x_j - a_j) (x_k - a_k) (x_l - a_l)
$$

ここで、和はすべての変数$${x_i, x_j, x_k, x_l}$$にわたって取られ、$${a_i, a_j, a_k, a_l}$$はそれぞれの変数の基点の値です。

これらの高次の項の計算は、関数の形状や偏導関数の具体的な値に強く依存します。一般的に、これらの項を直接計算するには、偏導関数の明確な形式が必要です。また、これらの項を具体的に書き出すことは、関数の次元が増えるにつれて指数関数的に複雑になります。したがって、特定の関数に対してこれらの項を計算するには、関数の具体的な形と、考慮している点の周囲での偏導関数の値を正確に知る必要があります。

4次の項は、4階のテンソル$${T^{(4)}}$$を用いて次のように表現できます:

$$
\frac{1}{4!} \sum_{i,j,k,l} T^{(4)}_{ijkl} (x_i - a_i) (x_j - a_j) (x_k - a_k) (x_l - a_l) $$

ここで、$${T^{(4)}_{ijkl} = \frac{\partial^4 f}{\partial x_i \partial x_j \partial x_k \partial x_l}(a, b, c, \ldots)}$$は、点($${a, b, c, \ldots}$$)における関数(f)の4階の偏導関数を要素とするテンソルです。和は全ての$${i, j, k, l}$$に対して取られます。

合成関数の微分、あるいは連鎖律

1変数の場合

$${y(u(x))}$$の時

$$
\frac{dy}{dx}=\frac{dy}{du}\frac{du}{dx}
$$

2変数の場合

$${f(x(t),y(t))}$$の時

$$
\frac{df}{dt}=\frac{\partial f}{\partial x}\frac{dx}{dt}+\frac{\partial f}{\partial y}\frac{dy}{dt}
$$

両辺にdt掛けると

2変数全微分の場合

$$
df=\frac{\partial f}{\partial x}dx+\frac{\partial  f}{\partial  y}dy
$$

この辺はテイラー展開の1次の項としてお邪魔する。


この記事が気に入ったらサポートをしてみませんか?