ドルマン＝プリンス法

ドルマン＝プリンス法 (Dormand-Prince method) はMATLAB/GNU Octaveにおいてode45として搭載されている常微分方程式の数値解法であり、ルンゲ＝クッタ法の一つであるDormand, J. R.; Prince, P. J. (1980), "A family of embedded Runge-Kutta formulae", :en:Journal of Computational and Applied Mathematics, 6 (1): 19–26.Dormand, John R. (1996), Numerical Methods for Differential Equations: A Computational Approach, Boca Raton: :en:CRC Press.Deuflhard, P., & Bornemann, F. (2012). Scientific computing with ordinary differential equations. :en:Springer Science & Business Media.Shampine, Lawrence F. (1986), "Some Practical Runge-Kutta Formulas", :en:Mathematics of Computation, 46 (173): 135–150.。ドルマン＝プリンス法では6つの勾配を用いて4次および5次精度の解を与える。4次精度と5次精度の解の相対誤差はシミュレーションの誤差として、適切なシミュレーションの刻み幅を推定するために用いられる。同様の機能を持つ埋め込み型ルンゲクッタ法には、ルンゲ＝クッタ＝フェールベルグ法やCash–Karp_methodなどがある。

このアルゴリズムの係数は5次精度の解の誤差が小さくなるように設計された。これに対して、フェールベルグ法では4次精度の解の誤差が小さくなるように設計された。よって、ドルマン＝プリンス法は5次の解の方を使って積分を行う場合により適している。

 ブッチャー配列 
ドルマン=プリンス法に対応するブッチャー配列は以下の通りである。
  0 1/5  1/5 3/10  3/40  9/40 4/5   44/45  −56/15  32/9 8/9   19372/6561  −25360/2187  64448/6561  −212/729 1  9017/3168  −355/33  46732/5247  49/176  −5103/18656 1  35/384  0  500/1113  125/192  −2187/6784  11/84   35/384  0  500/1113  125/192  −2187/6784  11/84  0  5179/57600  0  7571/16695  393/640  −92097/339200  187/2100  1/40 
最初の行のb の係数は五次の精度の解を与え、二番目の行の係数は四次の精度の解を与える。

出典

外部リンク
 ドルマン・プリンス法でvan der Pol方程式をExcel VBAで計算


 Ordinary Differential Equation Solvers ODE23 and ODE45, Posted by Cleve Moler, May 26, 2014 (MathWorksのブログ)
 ode45 (MathWorksのウェブサイト)
  (Python・SciPyでの実装)
  (FORTRANでの実装)
  (Javaでの実装)
  (C++での実装)
関連項目
 ルンゲ＝クッタ法
 ルンゲ＝クッタ法のリスト
 ルンゲ＝クッタ＝フェールベルグ法
 :en:Cash–Karp method
関連文献
 Engstler, C., & Lubich, C. (1997). MUR8: a multirate extension of the eighth-order Dormand-Prince method. Applied numerical mathematics, 25(2-3), 185-192.
 Calvo, M., Montijano, J. I., & Randez, L. (1990). A fifth-order interpolant for the Dormand and Prince Runge-Kutta method. Journal of Computational and Applied Mathematics, 29(1), 91-100.
 Aristoff, J. M., Horwood, J. T., & Poore, A. B. (2014). Orbit and uncertainty propagation: a comparison of Gauss–Legendre-, Dormand–Prince-, and Chebyshev–Picard-based approaches. Celestial Mechanics and Dynamical Astronomy, 118(1), 13-28.
 Seen, W. M., Gobithaasan, R. U., & Miura, K. T. (2014, July). GPU acceleration of Runge Kutta-Fehlberg and its comparison with Dormand-Prince method. In AIP Conference Proceedings (Vol. 1605, No. 1, pp. 16-21). AIP.
 Jiménez, J. C., Sotolongo, A., & Sanchez-Bornot, J. M. (2014). Locally linearized Runge Kutta method of Dormand and Prince. Applied Mathematics and Computation, 247, 589-606.
 Olemskoi, I. V. (2005). A fifth-order five-stage embedded method of the Dormand–Prince type. Zhurnal Vychislitel'noi Matematikii Matematicheskoi Fiziki, 45(7), 1181-1191.
 Novikov, A. E. E., & Novikov, E. A. (2007). An algorithm of variable order and step based on stages of the Dormand-Prince method of the eighth order of accuracy. Vychislitel'nye metodyi programmirovanie, 8(4), 317-325.

category:数値解析
category:数値微分方程式
category:応用数学
Category:数学に関する記事