年初の予告通り、確率微分方程式
dX = f(t,X)dt + g(t,X)dW
を数値的に計算しようと思う。しかし、ほとんど文献がないなあ。日本語で読めるものはこの「微分方程式による計算科学入門」くらいかな。
当初考えていたのは、dWのない
dX=f(t,X)dt
はこのブログの看板ともいえる、Dormand-Prince(Runge-Kutta8次)で計算できるから、それにちょこっとノイズを加えりゃいいんじゃないの?とか思っていたが、上の本読んで気づいたのは、「全然ちがーーーーう!!!」
考えれば当たり前で、そもそも dW っていわば√(dt) みたいなもんだから、そもそも次数の勘定が全然違う。
で、まず普通のオイラー法に相当するオイラー・丸山スキームは
X_n+1 = X_n + f(t_n, X_n+1) Δt + g(t_n, X_n+1) ΔWn
です。ここでΔW_n=ξ*√Δt で、ξは平均0、分散1のガウス乱数。
√がでてることでもわかるように、これでも収束次数は1/2!!!
もう少し精度がいいものとしてミルシュテイン・スキームも紹介されている。
X_n+1 = X_n + f(t_n, X_n+1) Δt + g(t_n, X_n+1) ΔWn + [∂g/∂x g](t_n,X_n)*(ΔWn^2-Δt)/2
だが、これでやっと収束次数1!!!!
こりゃ大変だ。しかしfに関する高次のものは長時間積分するわけじゃないからべつにいらないのか。
ではこれを使っていろいろ計算してみよう(続く)。
最近のコメント