陽的Runge-Kutta法のButcher tableau
Explicit Runge-Kutta法の公式はいくつか知られているが、高次の公式になるほどButcher配列の項数が増えるため論文に誤植が多くなる。 それに気づかないまま実際に使うと、プログラムは正しく組めているはずなのに思うように精度が上がらないという落とし穴にはまってしまう。
覚書として、以下に代表的と思われる公式のButcher tableauをまとめる。
以下のButcher tableauはMathematica 8のNumericalDifferentialEquationAnalysisパッケージに含まれるRungeKuttaOrderConditionsで所定の次数条件を達成していることを確認しており、誤植が入り込まないようにそのままMathematica上で画像化している。
使用したMathematicaノートブックはこちら。 必要な人はダウンロードして自分で計算して確認した後に使用してほしい。
MathematicaにCやFortranのソースコード形式で吐かせるのが確実。
※注意事項
公式の名前や出典に関しては自信がないので、鵜呑みにしないこと。
1段1次
Euler法
2段2次
修正Euler法
Heun法
Ralston法
3段3次
Heunの3次法
Kuttaの3次法
Ralstonの3次法
4段4次
古典的Runge-Kutta法
6段5次
Runge-Kutta-Fehlberg法のうち5次の部分
Runge-Kutta-Nystroemのうち5次の部分
Butcherによる5次公式を3つ