初期値が少し異なるときのオイラーメソッドの誤差
📂数値解析初期値が少し異なるときのオイラーメソッドの誤差
定理
[x0,b]×R で定義された f に対する初期値問題 {y′=f(x,y)y(x0)=Y0 の解 Y(x) が Y∈C3[x0,b] であり、fy(x,y)=∂y∂f(x,y) と fyy(x,y)=∂y2∂2f(x,y) が連続でありながら有界であるとしよう。初期値 yh(x0) が Y0−yh(x0)=δ0h+O(h2) を満たすとする。そうすると、オイラー法によって発生する誤差は線形初期値問題
⎩⎨⎧D’(x)=fy(x,Y(x))D(x)+21Y’’(x)D(x0)=δ0
の解 D(x) に対して次を満たす。
Y(xn)−yh(xn)=D(xn)h+O(h2)
説明
初期値 yh(x0) が Y0−yh(x0)=δ0h+O(h2) を満たすということは、初期値が真の値と少し異なってもいいという意味だ。そして、その差から生じる誤差自体も D を計算できれば、さらに減少させることができる。
証明
戦略:強いリプシッツ条件を仮定してϵn=O(h2)、gn、kn を導出する。式の操りが多いため、頑固ともいえる証明法だが、数値解析ではよく見られる。美しい証明ではないかもしれないが、この方法自体に慣れておくのが良い。
xi:=x0+ih、特にxn+1−xn=hである。便宜上
Y(xn):=Yn
y(xn):=yn
と書き、n番目の誤差 ϵn を次のように表す。
ϵn:=Y(xn)−y(xn)
パート 1.
Y(xn+1) を xn に関して 3 次テイラー展開すると、ある xn≤ξn≤xn+1 に対して
Yn+1=Yn+hY’n+2h2Y’’(xn)+6h3Y’’’(ξn)
ここからオイラー近似を用いて次の式を得る。
ϵn+1=ϵn+h(f(xn,Yn)−f(xn,yn))+2h2Y’’(xn)+6h3Y’’’(ξn)
(1) の f(xn,yn) を yn の関数と見てテイラー展開すると、ある ζn∈H{yn,Yn} に対して
f(xn,yn)=f(xn,Yn)+(yn−Yn)fy(xn,Yn)+21(yn−Yn)2fyy(xn,ζn)
よって
ϵn+1=ϵn+h(ϵnfy(xn,Yn)−21ϵ2fyy(xn,ζn))+2h2Y’’(xn)+6h3Y’’’(ξn)
整理すると
ϵn+1=[1+fy(xn,Yn)]ϵn+2h2Y’’(xn)+6h3Y’’’(ξn)−21hfyy(xn,ζn)ϵn2
パート 2.
強いリプシッツ条件とオイラー法の誤差: x0≤xn≤bmax∣Yxn−yh(xn)∣≤ϵ(b−x0)K∣ϵ0∣+[Kϵ(b−x0)K−1]τ(h)
ϵ=O(h) であるから
6h3Y’’’(ξn)−21hfyy(xn,ζn)ϵn2=O(h3)
そして、O(h3) が十分に小さいと仮定されるので、O(h3) が除去された gn+1 を次のように定義できる。
gn+1:=[1+fy(xn,Yn)]gn+2h2Y’’(xn)
仮定からg0=hδ0 であるとすると、gn=hδn と置いて両辺から h を除去して
δn+1:=δn+h[fy(xn,Yn)δn+21Y’’(xn)]
少し整理すると
hδn+1−δn=fy(xn,Yn)δn+21Y’’(xn)
この式の形をよく見ると、線形初期値問題 ⎩⎨⎧D’(x)=fy(x,Y(x))D(x)+21Y’’(x)D(x0)=δ0 に似ている。結局 δn は D(xn) のオイラー近似解、つまり D(xn)−δn=O(h) であることがわかる。今 gn の定義により、両辺に h を掛けると
gn=D(xn)h+O(h2)
パート 3.
kn:=en−gn とすると
kn+1=[1+hfh(xn,yn)]kn+O(h3)
そして fy が有界であるので、ある K≥0 に対して
∣kn+1∣≤(1+hK)∣kn∣+O(h3)
再帰的に解いてみると
∣kn∣=O(h2)+O(h3)=O(h2)
よって
ϵn===gn+kn[hD(xn)+O(h2)]+O(h2)O(h2)
■