도르만-프린스 방식

Dormand–Prince method

수치해석에서는 도만드-프린스(RKDP) 방식이나 DOPRI 방식일반 미분방정식(Dormand & Prince 1980)을 해결하기 위한 내장형 방법이다.방법은 ODE 해결사 룬게-쿠타 계열의 일원이다.구체적으로는 6가지 기능평가를 활용해 4차, 5차 정확한 솔루션을 계산한다.이 솔루션들 간의 차이는 (4차 주문) 솔루션의 오류로 간주된다.이 오류 추정치는 적응 단계별 통합 알고리즘에 매우 편리하다.다른 유사한 통합 방법은 Fehlberg (RKF)와 Cash-Karp (RKCK)이다.

도만드-프린스 방식은 7단계가 있지만 FSAL(First Same As Last) 특성을 갖고 있기 때문에 단계당 기능 평가만 6회만 사용한다. 마지막 단계는 다음 단계의 첫 단계와 동일한 지점에서 평가된다.도르만드와 프린스는 5차 해법의 오류를 최소화하기 위해 방법의 계수를 선택했다.이는 4차 해법이 작은 오차를 갖도록 구축한 펠베르크 방식과의 주요 차이점이다.이러한 이유로 도만드-프린스 방법은 국부적 외삽법(Shampine 1986; Hairer, Nørsett & Wanner 2008, 페이지 178–179)으로 알려진 통합을 지속하기 위해 고차 솔루션을 사용할 때 더 적합하다.

도르만드-프린스는 현재 디폴트 방식이다.ode45 MATLABGNU 옥타브용 솔버로, Simulink의 모델 탐색기 솔버의 기본 선택이다.파이썬의 SciPy ODE 통합 라이브러리와 줄리아(프로그래밍 언어)의 ODE 해결사 라이브러리에 있는 옵션이다.[2]Fortran,[3] Java, C++, 구현도 가능하다.

도살자 탁자는 다음과 같다.

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 계수의 첫 번째 행은 5번째 순서의 정확한 해답을, 두 번째 행은 첫 번째 해법에서 뺄 때 오차 추정치를 산출하는 대체 해답을 제공한다.

메모들

참조

  • MATLAB의 소프트웨어 구현: https://www.mathworks.com/help/matlab/ref/ode45.html
  • GNU 옥타브에서의 구현: https://octave.org/doc/interpreter/Matlab_002dcompatible-solvers.html#Matlab_002dcompatible-solvers
  • Python어로 구현: https://web.archive.org/web/20150907215914/http://adorio-research.org/wordpress/?p=6565
  • 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.
  • Dormand, John R. (1996), Numerical Methods for Differential Equations: A Computational Approach, Boca Raton: CRC Press, pp. 82–84, ISBN 0-8493-9433-3.
  • Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (2008), Solving ordinary differential equations I: Nonstiff problems, Berlin, New York: Springer-Verlag, ISBN 978-3-540-56670-0.
  • Shampine, Lawrence F. (1986), "Some Practical Runge-Kutta Formulas", Mathematics of Computation, American Mathematical Society, 46 (173): 135–150, doi:10.2307/2008219, JSTOR 2008219.

추가 읽기

  • Engstler, C, & Lubich, C. (1997년)MUR8: 8차 도만드프린스 방식의 다단계 확장.응용수학, 25(2-3), 185-192.
  • 칼보, M, 몬티자노, J. I, & 랜데스, L. (1990)도만드와 왕자 룬게-쿠타 방식의 5차 보간제.연산응용 수학 저널, 29(1), 91-100.
  • Aristoff, J. M., Horwood, J. T., & Tacle, A. B. (2014)궤도 및 불확실성 전파: 가우스-레전드르, 도만드-프린스 및 체비셰프-피카드 기반 접근법의 비교.천체역학과 동력 천문학, 118(1), 13-28.
  • 본 W. M., 고비타아산, R. U. & Miura, K. T. (2014, 7월)Runge Kutta-Felberg의 GPU 가속화와 Domand-Prince 방법과의 비교.AIP 컨퍼런스 프로시저(Vol. 1605, 1번, 페이지 16-21)에서.AIP.