ルンゲ=クッタ法のリスト

ウィキメディアの一覧記事

ルンゲ=クッタ法 は、以下の形の常微分方程式初期値問題の解を数値で近似計算する方法である。

一般的に、ルンゲ=クッタ法は以下の形で与えられる。

ただし、

以下のリストで記述するすべての計算方法は、それに対応するブッチャー配列で与えられる。ある一つの方法に対する係数をブッチャー配列で以下の形で表す。

また、陽的ルンゲ=クッタ法に対応するルンゲ=クッタ行列は狭義の下三角行列であるので上三角成分の表記は省略される。

陽的ルンゲ=クッタ法 編集

(前進)オイラー法 編集

オイラー法は1次の方法である。 安定性と精度が低いため、オイラー法は入門の例でしか使われない(実際は大規模な計算では今でも使われることがある)。

 

陽的中点法 編集

(陽的)中点法は2段2次の方法である(陰的中点法も参照)。

 

ホイン法 編集

ホイン法英語版 も2段2次の方法である (陽的台形公式としても知られている)。

 

Ralston法 編集

Ralston法 は2段2次の方法のうちで局所誤差の上界が最小のものである[1]

 

一般的な2段2次の方法 編集

 

クッタの3次の方法 編集

  [2]

古典的ルンゲ=クッタ法 編集

 

クッタの3/8公式 編集

この方法は、上記の古典的方法と同じ論文で提出されたが[3]、古典的方法に比べるとあまり用いられていない。

 

埋め込み型ルンゲ=クッタ法 編集

埋め込み型の方法はルンゲ=クッタ法の局所誤差を推定するために開発された方法である。それらの方法は誤差を制御するために刻み幅を調整する。

埋め込み型方法に対応するブッチャー配列は以下のように与えられる。

 

ここで、上側の段の係数 bip 次陽的方法に対応するものであり、下側の段の係数 b *
i
 
p-1 次陽的方法に対応するものである。

ホイン・オイラー法 編集

この方法は、2次のホイン法と1次のオイラー法を組み合わせる方法であり、もっとも単純な埋め込み型方法である。

 

フェールベルグ RK1(2) 編集

フェールベルグ法は3段で、次数2と1の方法を用いる[4]

 

Bogacki–Shampine法 編集

Bogacki–Shampine法英語版 は4段で、次数3と2の方法を用いる[5]。MATLABのコマンド ode23 はこの方法の実装である[6]

 

ルンゲ=クッタ=フェールベルグ法 編集

ルンゲ=クッタ=フェールベルグ法 は5段で、次数5と4の方法を用いる[4]

 

Cash-Karp法 編集

Cash-Karp法英語版 はフェールベルグの最初のアイディアを変型した方法である[7]。フェールベルグの方法と同じく5段で、次数5と4の方法を用いる。

 

ドルマン=プリンス法 編集

ドルマン=プリンス法 は6段で、次数5と4の方法を用いる[8]。MATLABのコマンド ode45 はこの方法を実装したものである[6]

 

陰的ルンゲ=クッタ 編集

上述の埋め込み型方法と同じく、ブッチャー配列に二つの方法が含まれている場合、表で重ねて書かれた下側の段の係数の方法が誤差をコントロールするためのものとなる。

後退オイラー法(陰的オイラー法) 編集

後退オイラー法 は1次の方法である。 この方法は、偏微分方程式である線型拡散方程式の時間方向の離散化に用いた場合には無条件に安定で非振動的な方法である。

 

陰的中点法 編集

陰的中点法は2次方法である。選点法であり、以下のガウス・ルジャンドル法英語版の最も簡単な場合である。

 

ガウス・ルジャンドル法 編集

これらの方法はガウス求積法に基づいた方法であり、高い次数を持つ(s 段ガウス・ルジャンドル法の次数は 2s である)。

4次の方法は以下のブッチャー配列で与えられる[9]

 

さらに6次の方法に対応する配列は以下で与えられる[9]

 

Lobatto法 編集

Lobatto法[10] は主に IIIA、 IIIB と IIIC(古典的な文献によって、記号 I と II は二種類のRadau法にのみ使われる)と呼ばれる三種類の方法を指している。方法の名称は Rehuel Lobatto にちなむ。それらの方法はすべて陰的であり、次数 2s-2 を持ち、係数に対し条件 c1 = 0cs = 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-安定である。しかし、方法に対する計算コストが高い以上、方法の次数が落ちるという恐れもある。

Radau IA法 編集

Radau IA法の係数 ci は方程式

 

の解である。ここで、Pssルジャンドル多項式である。

3次の方法は以下の配列で与えられる[15]

 

さらに5次の方法は以下の配列で与えられる[15]

 

Radau IIA法 編集

Radau IIA法の係数 ci は方程式

 

の解である。

3次の方法は以下の配列で与えられる[15]

 

さらに5次の方法は以下の配列で与えられる[11]

 

脚注 編集

  1. ^ Ralston 1962
  2. ^ Iserles 2008, p. 40
  3. ^ Hairer, Nørsett & Wanner (1993, p. 138) refer to Kutta (1901).
  4. ^ a b Fehlberg 1970
  5. ^ Bogacki & Shampine 1989
  6. ^ a b Moler 2014
  7. ^ Cash & Karp 1990
  8. ^ Dormand & Prince 1980
  9. ^ a b Iserles 2008, p. 47
  10. ^ a b Butcher (2008) 小節344にLobattoとRadau求積について詳述がある。
  11. ^ a b c d Butcher 2008, p. 226
  12. ^ a b c d Butcher 2008, p. 227
  13. ^ a b c Jay
  14. ^ Butcher 2008
  15. ^ a b c 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. .