複素ステップ微分近似
📂数値解析複素ステップ微分近似
公式
関数 f:R→R の導関数 f′(x) は以下のように複素数を利用して近似することができる。
f′(x)≈hIm(f(x+ih))
ここで Im は複素数の虚部を表し、h は十分に小さな実数だ。
説明
やはり複素解析は知るほど面白い。2つ以上の関数値を通じて導関数を近似する有限差分法とは異なり、この方法は特に複素関数ではなかった f でも、形式的に複素関数のように扱って導関数を近似する。
誘導
2つの方法があり、どちらも感嘆するほど面白い。実数 x,y∈R に対して複素数を z=x+iy とし、実関数 f:R→R を u,v:C→R に対して f(z)=u(z)+iv(z) のように表そう。
コーシー・リーマン方程式
コーシー・リーマン方程式: 関数 f:A⊆C→C が R で解析的としよう。もし実関数 u,v に対して
f(z)=f(x+iy)=u(x,y)+iv(x,y)
ならば u,v は x,y に関する一次偏微分関数が存在し、R 上のすべての点で以下の連立微分方程式を満たす。
{ux(x,y)=vy(x,y)uy(x,y)=−vx(x,y)
もし f が解析的であれば、f=u+iv はコーシー・リーマン方程式を満たさなければならない。
∂x∂u=∂y∂u=∂y∂v−∂x∂v
ux の右辺の vy を極限フォームで書き直すと次のようになる。
∂x∂u=h→0limhv(x+i(y+h))−v(x+iy)
f をまるで複素関数のように扱ってはいるが、実際には f は明確に実関数であるので y=0, v(x)=0 であり、u(x) は u(x)=f(x) そのものである。ひとつずつ代入してみると y=0 なので
∂x∂u=h→0limhv(x+ih)−v(x)
であり、v(x)=0 なので
∂x∂u=h→0limhv(x+ih)
であり、u(x)=f(x) なので
∂x∂f=h→0limhv(x+ih)
である。最後に f=u+iv なので Imf=v であり、十分に小さな h に対して次の公式を得る。
∂x∂f=h→0limhImf(x+ih)≈hImf(x+ih)
■
テイラー展開
テイラー展開: 関数 f(x) が [a,b] で連続であり (a,b) で n 回微分可能ならば次を満たす ξ∈(a,b) が存在する。
f(b)==k=0∑n−1k!(b−a)kf(k)(a)+n!(b−a)nf(n)(ξ)f(a)+(b−a)f′(a)+⋯+(n−1)!(b−a)n−1f(n−1)(a)+(n)!(b−a)nf(n)(ξ)
f(x) で ih にテイラー展開してみると次のようになる。
f(x+ih)=f(x)+ihf′(x)−h22!f′′(x)−ih33!sf′′′(x)+⋯
我々が関心を持つのは f′(x) であるため、虚部だけを見てみると
Imf(x+ih)=hf′(x)−h33!sf′′′(x)+⋯
であり、h をキャンセルすると
hImf(x+ih)=f′(x)+O(h2)
である。同様に、h が十分に小さい場合、h2 は無視できるほど小さくなり、次のような近似式を得る。
hImf(x+ih)≈f′(x)
■