ルンゲ=クッタ法のリスト
ルンゲ=クッタ法 は、以下の形の常微分方程式の初期値問題の解を数値で近似計算する方法である。
一般的に、ルンゲ=クッタ法は以下の形で与えられる。
ただし、
以下のリストで記述するすべての計算方法は、それに対応するブッチャー配列で与えられる。ある一つの方法に対する係数をブッチャー配列で以下の形で表す。
また、陽的ルンゲ=クッタ法に対応するルンゲ=クッタ行列は狭義の下三角行列であるので上三角成分の表記は省略される。
陽的ルンゲ=クッタ法
(前進)オイラー法
オイラー法は1次の方法である。 安定性と精度が低いため、オイラー法は入門の例でしか使われない(実際は大規模な計算では今でも使われることがある)。
ホイン法
ホイン法 も2段2次の方法である (陽的台形公式としても知られている)。
一般的な2段2次の方法
クッタの3次の方法
古典的ルンゲ=クッタ法
埋め込み型ルンゲ=クッタ法
埋め込み型の方法はルンゲ=クッタ法の局所誤差を推定するために開発された方法である。それらの方法は誤差を制御するために刻み幅を調整する。
埋め込み型方法に対応するブッチャー配列は以下のように与えられる。
ここで、上側の段の係数 bi は p 次陽的方法に対応するものであり、下側の段の係数 b *
i は p-1 次陽的方法に対応するものである。
ホイン・オイラー法
この方法は、2次のホイン法と1次のオイラー法を組み合わせる方法であり、もっとも単純な埋め込み型方法である。
陰的ルンゲ=クッタ
上述の埋め込み型方法と同じく、ブッチャー配列に二つの方法が含まれている場合、表で重ねて書かれた下側の段の係数の方法が誤差をコントロールするためのものとなる。
ガウス・ルジャンドル法
これらの方法はガウス求積法に基づいた方法であり、高い次数を持つ(s 段ガウス・ルジャンドル法の次数は 2s である)。
4次の方法は以下のブッチャー配列で与えられる[9]。
さらに6次の方法に対応する配列は以下で与えられる[9]。
Lobatto法
Lobatto法[10] は主に IIIA、 IIIB と IIIC(古典的な文献によって、記号 I と II は二種類のRadau法にのみ使われる)と呼ばれる三種類の方法を指している。方法の名称は Rehuel Lobatto にちなむ。それらの方法はすべて陰的であり、次数 2s-2 を持ち、係数に対し条件 c1 = 0 と cs = 1 を満たす。
Lobatto IIIA法
Lobatto IIIA法 はコロケーション法である。
2次の方法は陰的台形公式として知られ[11]、以下の配列で与えられる。
さらに4次の方法は以下の配列で与えられる[12]。
これらの方法はどれもA-安定であるが、L-安定やB-安定ではない。
Lobatto IIIB法
Lobatto IIIB法 はコロケーション法ではないけど、非連続的コロケーション法として見ることができる。
2次の方法は以下の配列で与えられる[13]。
さらに4次の方法は以下の配列であたえられる[12]。
これらの方法はどれもA-安定であるが、L-安定やB-安定ではない。
Lobatto IIIC法
Lobatto IIIC法 も非連続的コロケーション法である。
2次の方法は以下の配列で与えられる[11]。
さらに4次の方法は以下の配列で与えられる[12]。
これらの方法は、すべてL-安定であり、さらに代数的安定(よってB-安定)でもある。そのため、硬い方程式に対する適切な方法である。
Lobatto IIIC*法
Lobatto IIIC*法[13] は文献によって、Lobatto III法[14]、ブッチャーのLobatto法やLobatto IIIC法としても知られている。
2次の方法は上述の陽的台形公式にあたり(よって陰的方法ではない)、以下の配列で与えられる[11]。
さらに4次の方法は以下の配列で与えられる[12]。
これらの方法は、どれもA-安定でも、L-安定でも、B-安定でもない。
一般化Lobatto法
上述のLobatto法の係数はすべて一意に定められるため、方法の線型結合も考えられる[13]。一般的に、3つの実数パラメータ からなるLobatto係数を以下のようにする。
但し、
ここで、a A
i,j はLobatto IIIA法に対するルンゲ=クッタ行列である。
αA = 2、αB = 2、αC = -1 のとき、対応する方法はLobatto IIID法であり、Lobatto IIINW法とも呼ばれる。
2次の方法は以下の配列であたえられる。
さらに4次の方法は以下の配列であたえられる。
これらの方法もすべてL-安定であり、さらに代数的安定(よってB-安定)である。
Radau法
Radau法[10] は次数 2s-1 を持ち、A-安定である。しかし、方法に対する計算コストが高い以上、方法の次数が落ちるという恐れもある。
脚注
- Ralston 1962
- Iserles 2008, p. 40
- Hairer, Nørsett & Wanner (1993, p. 138) refer to Kutta (1901).
- Fehlberg 1970
- Bogacki & Shampine 1989
- Moler 2014
- Cash & Karp 1990
- Dormand & Prince 1980
- Iserles 2008, p. 47
- Butcher (2008) 小節344にLobattoとRadau求積について詳述がある。
- Butcher 2008, p. 226
- Butcher 2008, p. 227
- Jay
- Butcher 2008
- Butcher 2008, p. 225
参考文献
- Bogacki, Przemyslaw; Shampine, Lawrence F. (1989), “A 3(2) pair of Runge–Kutta formulas”, Applied Mathematics Letters 2 (4): 321–325, doi:10.1016/0893-9659(89)90079-7, ISSN 0893-9659.
- Butcher, John C. (2008), Numerical Methods for Ordinary Differential Equations, New York: John Wiley & Sons, ISBN 978-0-470-72335-7.
- Cash, J. R.; Karp, Alan H. (1990). “A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sides”. ACM Transactions on Mathematical Software (ACM) 16 (3): 201-222. doi:10.1145/79505.79507..
- Dormand, J. R.; Prince, P. J. (1980), “A family of embedded Runge-Kutta formulae”, Journal of Computational and Applied Mathematics 6 (1): 19–26, doi:10.1016/0771-050X(80)90013-3.
- Fehlberg, Erwin (1970). “Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Wärmeleitungsprobleme”. Computing (Springer-Verlag) 6 (1): 61-67. doi:10.1007/BF02241732..
- Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (1993), Solving ordinary differential equations I: Nonstiff problems, Berlin, New York: Springer-Verlag, ISBN 978-3-540-56670-0.
- Iserles, Arieh (2008), A First Course in the Numerical Analysis of Differential Equations (Second Edition), Cambridge University Press, ISBN 978-0-521-73490-5.
- Jay, Laurent O.. “Lobatto Methods”. 2016年12月31日閲覧。
- Kutta, Martin Wilhelm (1901), “Beitrag zur näherungsweisen Integration totaler Differentialgleichungen”, Zeitschrift für Mathematik und Physik 46: 435–453.
- Moler, Cleve (2014年). “Ordinary Differential Equation Solvers ODE23 and ODE45”. 2016年12月31日閲覧。
- Ralston, Anthony (1962). “Runge-Kutta Methods with Minimum Error Bounds”. Mathematics of Computation 16 (80): 431-437. doi:10.2307/2003133..