陽的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つ

7段6次

Hammudによるもの

9段7次

Shanksによるもの

CooperとVernerによる7次公式

11段8次

CooperとVernerによる8次公式

16段9次

Vernerによる埋め込み型公式のうち9次のもの