y″(z)=P(z)=g(z)y(z)というようなタイプの微分方程式の数値解を得ようとする時には、ヌメロフ法が便利だと思う。
ヌメロフ法の簡単な説明としては、まずテイラー展開で yn+1+yn−1−2yn=22!y″(z)h2+24!y⁗(z)h4+O(h6), とする。 yn+1=y(z+h),yn−1=y(z−h)
そしてy⁗(z)については、 y″(z)=P(z)であることを使って、 Pn+1+Pn−1−2Pn=22!P″(z)h2+O(h4),h2y⁗(z)=h2P″(z)=Pn+1+Pn−1−2Pn−O(h4), となることがわかる。それを利用して、 yn+1+yn−1−2yn=Pnh2+2h24!(Pn+1+Pn−1−2Pn−O(h4))+O(h6),=h212Pn+1+5h26Pn+h212Pn−1+O(h6) となることがわかる。よって、 (1−h212gn+1)yn+1+(1−h212gn−1)yn−1=(2−5h26gn)yn+O(h6) を得る。これがヌメロフ法である。
ヌメロフ法を使ってこの手の微分方程式を解いてみる。 d2χndz2+(−α24+14z2+n+α2+12z−14)χn=0 といった方程式はどうだろう。この解析解は χn(z)=zα+12e−z2L(α)n(z) である。
例として、 α=1.0,N=2と α=2.5,N=3, α=4.5,N=5, α=5,N=7 の場合では、
α=1.0,N=10 と α=1.0,N=20の場合は
のようになり、Nが大きくなるほど収束は遅くなることがわかる。
全体的に解析解と数値解はかなり近い値となっている。計算速度もかなり速かったと思う。
0 件のコメント:
コメントを投稿