広義Runge–Kutta法の数値安定性
数値解法の安定性とは
(大雑把に言えば)どのくらい刻み幅が大きくなると計算が明らかにおかしくなるか、ということである。
A-stabilityとは
数値解法の安定性を評価する指標の一つである。
次の常微分方程式を考える。
これをとして解析的に解けば
このとき、ならば
である。
ある数値解法で(1)式を解いたとき、刻み幅にかかわらず式(2)を満たすならば、その解法はA-stableであるという。
安定領域とは
上の係数と、刻み幅の積がを満たすの領域である。
広義Runge–Kutta法においてはこの領域は容易に求められる。
広義Runge–Kutta法において次の式が成り立つ。
ここで、である。であり、はの初期値である。
また、は各解法で固有な関数で、安定関数とよばれる。
安定領域は、なる領域である。
ある解法がA-stableであるには、安定領域がなる領域を含んでいればよい。
各解法の安定領域
今までこのブログで書いてきた各解法(すべて広義Runge–Kutta法である)について、その安定領域を調べる。
陽的Euler法
陽的オイラー法の式は
これに、を代入して、
よって、安定関数は
ゆえに、安定領域は
(以後の安定関数の計算も全て同様の方法である)
(縦軸:虚軸() 横軸:実軸() 以後の画像も同様)
台形法
台形法の式は
安定関数は
ゆえに、安定領域は
変形して、
この解法はA-stableである。
陽的中点法
陽的中点法の式は
安定関数は
陰的中点法
陰的中点法の式は
安定関数は
これは台形法と同じ安定関数なので、安定領域は
(図省略)
陽的化した台形法 (Heun法)
陽的化した台形法の式は
安定関数は
これは陽的中点法と同じ安定関数である。
その他
一般に陰的解法はA-stableである。
また、広義Runge–Kutta法は次数が上がるほど安定領域が広がる傾向があるようだ。