Preply — Study more efficiently by working with a personal tutor. Get 50% off.Affiliate

Wikipedia

List of Runge–Kutta methods

Runge–Kutta methods are methods for the numerical solution of the ordinary differential equation

d y d t = f ( t , y ) . {\displaystyle {\frac {dy}{dt}}=f(t,y).}

Explicit Runge–Kutta methods take the form

y n + 1 = y n + h ∑ i = 1 s b i k i k 1 = f ( t n , y n ) , k 2 = f ( t n + c 2 h , y n + h ( a 21 k 1 ) ) , k 3 = f ( t n + c 3 h , y n + h ( a 31 k 1 + a 32 k 2 ) ) , ⋮ k i = f ( t n + c i h , y n + h ∑ j = 1 i − 1 a i j k j ) . {\displaystyle {\begin{aligned}y_{n+1}&=y_{n}+h\sum _{i=1}^{s}b_{i}k_{i}\\k_{1}&=f(t_{n},y_{n}),\\k_{2}&=f(t_{n}+c_{2}h,y_{n}+h(a_{21}k_{1})),\\k_{3}&=f(t_{n}+c_{3}h,y_{n}+h(a_{31}k_{1}+a_{32}k_{2})),\\&\;\;\vdots \\k_{i}&=f\left(t_{n}+c_{i}h,y_{n}+h\sum _{j=1}^{i-1}a_{ij}k_{j}\right).\end{aligned}}}

Stages for implicit methods of s stages take the more general form, with the solution to be found over all s

k i = f ( t n + c i h , y n + h ∑ j = 1 s a i j k j ) . {\displaystyle k_{i}=f\left(t_{n}+c_{i}h,y_{n}+h\sum _{j=1}^{s}a_{ij}k_{j}\right).}

Each method listed on this page is defined by its Butcher tableau, which puts the coefficients of the method in a table as follows:

c 1 a 11 a 12 … a 1 s c 2 a 21 a 22 … a 2 s ⋮ ⋮ ⋮ ⋱ ⋮ c s a s 1 a s 2 … a s s b 1 b 2 … b s {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\\end{array}}}

For adaptive and implicit methods, the Butcher tableau is extended to give values of b i ∗ {\displaystyle b_{i}^{*}} , and the estimated error is then

e n + 1 = h ∑ i = 1 s ( b i − b i ∗ ) k i {\displaystyle e_{n+1}=h\sum _{i=1}^{s}(b_{i}-b_{i}^{*})k_{i}} .

Explicit methods The explicit methods are those where the matrix [ a i j ] {\displaystyle [a_{ij}]} is lower triangular.

First-order methods

Forward Euler The Euler method is first order. The lack of stability and accuracy limits its popularity mainly to use as a simple introductory example of a numeric solution method.

0 0 1 {\displaystyle {\begin{array}{c|c}0&0\\\hline &1\\\end{array}}}

Second-order methods

Generic second-order method Second-order methods can be generically written as follows:

0 0 0 α α 0 1 − 1 2 α 1 2 α {\displaystyle {\begin{array}{c|ccc}0&0&0\\\alpha &\alpha &0\\\hline &1-{\frac {1}{2\alpha }}&{\frac {1}{2\alpha }}\\\end{array}}}

with α ≠ 0.

Explicit midpoint method The (explicit) midpoint method is a second-order method with two stages (see also the implicit midpoint method below):

0 0 0 1 / 2 1 / 2 0 0 1 {\displaystyle {\begin{array}{c|cc}0&0&0\\1/2&1/2&0\\\hline &0&1\\\end{array}}}

Heun's method Heun's method is a second-order method with two stages. It is also known as the explicit trapezoid rule, improved Euler's method, or modified Euler's method:

0 0 0 1 1 0 1 / 2 1 / 2 {\displaystyle {\begin{array}{c|cc}0&0&0\\1&1&0\\\hline &1/2&1/2\\\end{array}}}

Ralston's method Ralston's method is a second-order method with two stages and a minimum local error bound:

0 0 0 2 / 3 2 / 3 0 1 / 4 3 / 4 {\displaystyle {\begin{array}{c|cc}0&0&0\\2/3&2/3&0\\\hline &1/4&3/4\\\end{array}}}

Third-order methods

Generic third-order method Third-order methods can be generically written as follows:

0 0 0 0 α α 0 0 β β α β − 3 α ( 1 − α ) ( 3 α − 2 ) − β α β − α ( 3 α − 2 ) 0 1 − 3 α + 3 β − 2 6 α β 3 β − 2 6 α ( β − α ) 2 − 3 α 6 β ( β − α ) {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\\alpha &\alpha &0&0\\\beta &{\frac {\beta }{\alpha }}{\frac {\beta -3\alpha (1-\alpha )}{(3\alpha -2)}}&-{\frac {\beta }{\alpha }}{\frac {\beta -\alpha }{(3\alpha -2)}}&0\\\hline &1-{\frac {3\alpha +3\beta -2}{6\alpha \beta }}&{\frac {3\beta -2}{6\alpha (\beta -\alpha )}}&{\frac {2-3\alpha }{6\beta (\beta -\alpha )}}\\\end{array}}}

with α ≠ 0, α ≠ 2⁄3, β ≠ 0, and α ≠ β.

Kutta's third-order method

0 0 0 0 1 / 2 1 / 2 0 0 1 − 1 2 0 1 / 6 2 / 3 1 / 6 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1/2&1/2&0&0\\1&-1&2&0\\\hline &1/6&2/3&1/6\\\end{array}}}

Heun's third-order method

0 0 0 0 1 / 3 1 / 3 0 0 2 / 3 0 2 / 3 0 1 / 4 0 3 / 4 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1/3&1/3&0&0\\2/3&0&2/3&0\\\hline &1/4&0&3/4\\\end{array}}}

Ralston's third-order method Ralston's third-order method has a minimum local error bound and is used in the embedded Bogacki–Shampine method.

0 0 0 0 1 / 2 1 / 2 0 0 3 / 4 0 3 / 4 0 2 / 9 1 / 3 4 / 9 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1/2&1/2&0&0\\3/4&0&3/4&0\\\hline &2/9&1/3&4/9\\\end{array}}}

Van der Houwen's/Wray's third-order method

0 0 0 0 8 / 15 8 / 15 0 0 2 / 3 1 / 4 5 / 12 0 1 / 4 0 3 / 4 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\8/15&8/15&0&0\\2/3&1/4&5/12&0\\\hline &1/4&0&3/4\\\end{array}}}

Third-order Strong Stability Preserving Runge-Kutta (SSPRK3)

0 0 0 0 1 1 0 0 1 / 2 1 / 4 1 / 4 0 1 / 6 1 / 6 2 / 3 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1&1&0&0\\1/2&1/4&1/4&0\\\hline &1/6&1/6&2/3\\\end{array}}}

Fourth-order methods

Classic fourth-order method The "original" Runge–Kutta method.

0 0 0 0 0 1 / 2 1 / 2 0 0 0 1 / 2 0 1 / 2 0 0 1 0 0 1 0 1 / 6 1 / 3 1 / 3 1 / 6 {\displaystyle {\begin{array}{c|cccc}0&0&0&0&0\\1/2&1/2&0&0&0\\1/2&0&1/2&0&0\\1&0&0&1&0\\\hline &1/6&1/3&1/3&1/6\\\end{array}}}

3/8-rule fourth-order method This method isn't as well known as the "classic" method, but is just as classic because it was proposed in the same paper (Kutta, 1901).

0 0 0 0 0 1 / 3 1 / 3 0 0 0 2 / 3 − 1 / 3 1 0 0 1 1 − 1 1 0 1 / 8 3 / 8 3 / 8 1 / 8 {\displaystyle {\begin{array}{c|cccc}0&0&0&0&0\\1/3&1/3&0&0&0\\2/3&-1/3&1&0&0\\1&1&-1&1&0\\\hline &1/8&3/8&3/8&1/8\\\end{array}}}

Ralston's fourth-order method This fourth order method has minimum truncation error.

0 0 0 0 0 2 5 2 5 0 0 0 14 − 3 5 16 − 2 889 + 1 428 5 1 024 3 785 − 1 620 5 1 024 0 0 1 − 3 365 + 2 094 5 6 040 − 975 − 3 046 5 2 552 467 040 + 203 968 5 240 845 0 263 + 24 5 1 812 125 − 1000 5 3 828 3 426 304 + 1 661 952 5 5 924 787 30 − 4 5 123 {\displaystyle {\begin{array}{c|cccc}0&0&0&0&0\\{\frac {2}{5}}&{\frac {2}{5}}&0&0&0\\{\frac {14-3{\sqrt {5}}}{16}}&{\frac {-2\,889+1\,428{\sqrt {5}}}{1\,024}}&{\frac {3\,785-1\,620{\sqrt {5}}}{1\,024}}&0&0\\1&{\frac {-3\,365+2\,094{\sqrt {5}}}{6\,040}}&{\frac {-975-3\,046{\sqrt {5}}}{2\,552}}&{\frac {467\,040+203\,968{\sqrt {5}}}{240\,845}}&0\\\hline &{\frac {263+24{\sqrt {5}}}{1\,812}}&{\frac {125-1000{\sqrt {5}}}{3\,828}}&{\frac {3\,426\,304+1\,661\,952{\sqrt {5}}}{5\,924\,787}}&{\frac {30-4{\sqrt {5}}}{123}}\\\end{array}}}

Fifth-order methods

Nyström's fifth-order method This fifth-order method was a correction of the one proposed originally by Kutta's work.

0 0 0 0 0 0 0 1 3 1 3 0 0

Tags

  • Mathematics-related lists
  • Numerical differential equations
  • Runge–Kutta methods