Metoda Dormanda-Prince'a

W analizie numerycznej metoda Dormanda -Prince'a ( RKDP ) lub metoda DOPRI jest wbudowaną metodą rozwiązywania równań różniczkowych zwyczajnych ( Dormand i Prince 1980 ). Metoda należy do rodziny solwerów ODE Runge-Kutta . Mówiąc dokładniej, wykorzystuje sześć ocen funkcji do obliczenia dokładnych rozwiązań czwartego i piątego rzędu. Różnica między tymi rozwiązaniami jest następnie traktowana jako błąd rozwiązania (czwartego rzędu). To oszacowanie błędu jest bardzo wygodne dla adaptacyjnych algorytmów całkowania stopniowego. Inne podobne metody integracji to Fehlberg (RKF) i Cash-Karp (RKCK).

Metoda Dormand-Prince ma siedem etapów, ale wykorzystuje tylko sześć ocen funkcji na krok, ponieważ ma właściwość FSAL (First Same As Last): ostatni etap jest oceniany w tym samym punkcie, co pierwszy etap następnego kroku. Dormand i Prince wybrali współczynniki swojej metody, aby zminimalizować błąd rozwiązania piątego rzędu. Jest to główna różnica w stosunku do metody Fehlberga, która została tak skonstruowana, że ​​rozwiązanie czwartego rzędu ma mały błąd. Z tego powodu metoda Dormanda-Prince'a jest bardziej odpowiednia, gdy rozwiązanie wyższego rzędu jest używane do kontynuowania integracji, praktyka znana jako ekstrapolacja lokalna ( Shampine 1986 ; Hairer, Nørsett i Wanner 2008 , s. 178-179).

Dormand-Prince jest obecnie domyślną metodą w solverze ode45 dla MATLAB i GNU Octave i jest domyślnym wyborem dla solvera eksploratora modeli Simulink . Jest to opcja w bibliotece integracyjnej SciPy ODE Pythona oraz w bibliotece solwerów ODE Julia (język programowania) . Dostępne są również implementacje Fortran , Java i C++ .

Tablica Rzeźnika to:

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

Pierwszy rząd współczynników b daje rozwiązanie dokładne piątego rzędu, a drugi rząd — rozwiązanie dokładne czwartego rzędu.

Notatki

  1. ^ "Scipy.integrate.ode - Podręcznik SciPy v1.8.1" .
  2. ^ „Rozwiązania ODE · DifferentialEquations.jl” .
  3. Bibliografia Linki zewnętrzne
  4. ^ "DormandPrince54Integrator (API Commons Math 4.0)" .
  5. ^ "Szablon klasy runge_kutta_dopri5 - 1.53.0" .

Dalsza lektura

  • Engstler, C. i Lubich, C. (1997). MUR8: wielostopniowe rozszerzenie metody Dormanda-Prince'a ósmego rzędu. Stosowana matematyka numeryczna, 25(2-3), 185-192.
  • Calvo, M., Montijano, JI i Randez, L. (1990). Interpolant piątego rzędu dla metody Dormanda i Prince'a Runge-Kutty. Journal of Computational and Applied Mathematics , 29 (1), 91-100.
  • Aristoff, JM, Horwood, JT i Poore, AB (2014). Propagacja orbity i niepewności: porównanie podejść opartych na Gaussa-Legendre'a, Dormanda-Prince'a i Czebyszewa-Picarda. Mechanika nieba i astronomia dynamiczna, 118 (1), 13-28.
  • Seen, WM, Gobithaasan, RU i Miura, KT (2014, lipiec). Akceleracja GPU metody Runge Kutta-Fehlberg i jej porównanie z metodą Dormanda-Prince'a. W AIP Conference Proceedings (t. 1605, nr 1, s. 16–21). AIP.