Document

重力3体問題の数値積分
Integration of 3-body encounter.
Figure taken from
http://grape.c.u-tokyo.ac.jp/~makino
4. 常微分方程式の数値積分
これからは,1変数の1階常微分方程式
について考えて行く。
1変数の1階常微分方程式についての結果は、ほとんどそのままn本の連立常
微分方程式や高階の常微分方程式に適用することが出来る。
常微分方程式の初期値問題、 方程式
の解の存在と一意性および安定性。
初期条件
常微分方程式の初期値問題、 方程式
の解の存在と一意性および安定性。
初期条件
要約すると、
常微分方程式がリプシッツ条件を満たしているなら、初期値問題の解が
存在して一意である。つまり微分方程式をきちんと積分して解けること
が保証されている。(リプシッツ条件より少し一般的な条件を使うことも
ある。)
初期値問題の安定性は、ある t でほんの少ししか違わない2つの解が
あった場合に、それらがどこまで行っても近いままであるなら安定、極端
に離れていってしまったら不安定と定義される。
解の存在と一意性、安定性と言ったことを、これから数値的に解こうとす
る方程式について抑えておくことは、自分が正しい数値計算をしている
か、結果は物理的に正しいか等を確認する点からも大切である。
初期値問題
オイラー法 Euler’s method:
を考える。
テイラー法 Taylor’s method:
一段階法 one-step method:
Euler 法と Taylor 法、さらに次に紹介するルンゲクッタ(Runge-Kutta)法
等は、一段階法(one-step method)と呼ばれる。
一段階法(one-step method)では、t = ti+1 での数値解 wi+1 を求めるの
に
t = ti での値 wi , f(ti,wi), ti だけを利用する。
線形多段階法 Linear (m-step) Multistep method:
のように、 t = ti+1 での数値解 wi+1 を計算するのにm-step前までの近似解
wj , j = i+1-m, …, i+1 を利用する方法を線形m-step多段階法と呼ぶ。
(係数は補間多項式を積分することで決める。初めの(m-1)step はone-step 法で計算する。)
アダムス法 Adams method: aj = 0, for j = 2, .. , m
Adams-Bashforth,
Adams-Moulton
1段階法 One-step method つづき:
○ 2次精度のルンゲクッタ法 2nd order Runge-Kutta method (RK2).
上のような形をした1段階法を考え、係数の組 a1, a2, d2, D2, がどの
ような条件を満たす時 f が2次精度 O(h2) になるかを調べる。
2次精度のテイラー法と比べるわかる。
• 修正オイラー法 Modified Euler method. (半ステップオイラー + 中点積分)
• Heun法 Heun method, Improved Euler method. (1ステップオイラー + 台形積分.)
• 最適 RK2 法 Optimal RK2 method.
• (古典的)4次精度ルンゲクッタ法 Classical 4th order Runge-Kutta method.
常微分方程式の数値解法についての基礎的な概念の要約。
• 局所打切り誤差 ti 、Local truncation error :
常微分方程式の解が有限差分方程式をどのくらい満たしていないかの値。
例) 1段階法One-step method.
• 大域差分誤差、Global discretization error :
Definitions: (適合性、収束性、安定性 Consistency, Convergence, Stability)
課題 3-1)
上のような形をした1段階法を考え、係数の組 a1, a2, d2, D2, が
の条件を満たす時 f が2次精度 O(h2) になることを示せ。
(2次精度のテイラー法と比べるとわかる。)
課題 3-2)
上の常微分方程式の解は y(t) = t ( 1+ ln t)である。オイラー法で、
差分点の間隔を h = 1/2n , n=1 から 8, のように変化させて、t = 6
での大域誤差 |yi - wi| を求めよ。また、同じ t = 6において、n と n+1
で計算した時の誤差の比
を各 n=1 から 8, の時に求めよ。
課題 3-3) 4-1) と同じ問題を、このノートで取り上げた別の数値計算法で
解いてみよ。
(4次のテイラー法を用いる場合は、f(t,y) の高階微分を手で計算するの
は大変なので、Maple をつかうとよい。)
課題 3-4) Maple を使って、 4次のルンゲクッタ法(Classical 4th-order
Runge-Kutta method)のオーダーが O(h4) になっていることを確かめよ。