List of explicit Runge-Kutta methods#

template<typename value_t>
using ponio::runge_kutta::euler_t = explicit_runge_kutta::explicit_runge_kutta<butcher_euler<value_t>>#

Euler method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|c} 0 & 0 \\ \hline & 1 \end{array} \end{split}\]

  • stages: 1

  • order: 1

  • stages order:

  • stability function:

    \[ z + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::explicit_euler_sub4_t = explicit_runge_kutta::explicit_runge_kutta<butcher_explicit_euler_sub4<value_t>>#

Explicit Euler sub4 method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1}{4} & \frac{1}{4} & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{4} & \frac{1}{4} & 0 & 0 \\ \frac{3}{4} & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} & 0 \\ \hline & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \end{array} \end{split}\]

  • stages: 4

  • order: 1

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{3}}{256} + \frac{z^{2}}{16} + \frac{3 z}{8} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk56_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk56<value_t>>#

RK56 method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2}{23} & \frac{2}{23} & 0 & 0 & 0 & 0 & 0 \\ \frac{12}{37} & - \frac{384}{1369} & \frac{828}{1369} & 0 & 0 & 0 & 0 \\ \frac{27}{29} & \frac{5631861}{622340} & - \frac{8039673}{622340} & \frac{24}{5} & 0 & 0 & 0 \\ \frac{199}{200} & \frac{22890428394764947}{1641109248000000} & - \frac{78986676649487}{3964032000000} & \frac{103911467638313}{14784768000000} & - \frac{308153608007}{5544288000000} & 0 & 0 \\ 1 & \frac{1781059432255}{124415232228} & - \frac{12785194207}{625202172} & \frac{904736654489}{125792366742} & - \frac{246740990}{4701689307} & - \frac{1472000000}{264184008767} & 0 \\ \hline & \frac{75317}{773712} & 0 & \frac{1145112371}{2326257360} & \frac{386882707}{156505608} & - \frac{7360000000}{366413327} & \frac{721}{40} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk56a_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk56a<value_t>>#

RK56a method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{6} & \frac{1}{6} & 0 & 0 & 0 & 0 & 0 \\ \frac{12}{37} & \frac{12}{1369} & \frac{432}{1369} & 0 & 0 & 0 & 0 \\ \frac{15}{16} & \frac{84995}{28416} & - \frac{66417}{9472} & \frac{119}{24} & 0 & 0 & 0 \\ \frac{74}{75} & \frac{9130103592001}{2191442343750} & - \frac{238171162168}{24349359375} & \frac{2910761155207}{438288468750} & - \frac{14380276736}{365240390625} & 0 & 0 \\ 1 & \frac{4874959019}{1089361548} & - \frac{317812436}{30260043} & \frac{47844943720}{6764346369} & - \frac{3895040}{144757503} & - \frac{111796875}{6026555708} & 0 \\ \hline & \frac{15557}{159840} & 0 & \frac{1182595591}{2401898400} & \frac{3227648}{963765} & - \frac{335390625}{32098832} & \frac{751}{100} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk6es_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk6es<value_t>>#

RK6ES method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0.202276644898141 & 0.202276644898141 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0.303414967347211 & 0.0758537418368027 & 0.227561225510408 & 0 & 0 & 0 & 0 & 0 \\ 0.875 & 1.3592822172833 & -5.23788570262881 & 4.75360348534551 & 0 & 0 & 0 & 0 \\ 0.5 & -0.321092002258022 & 1.65135312792238 & -0.905286676763721 & 0.0750255510993598 & 0 & 0 & 0 \\ 0.125 & 0.292321839349364 & -0.74826938608983 & 0.592470844966485 & -0.0395545388491436 & 0.0280312406231245 & 0 & 0 \\ 1.0 & -20.6627618949041 & 63.8523209463321 & -74.1517509476888 & 0.864117644373384 & 14.5054816592948 & 16.5925925925926 & 0 \\ \hline & 0.0142857142857143 & 0 & 0 & 0.270899470899471 & 0.42962962962963 & 0.270899470899471 & 0.0142857142857143 \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_118_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_118<value_t>>#

RK (11,8) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{4} & \frac{1}{4} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} - \frac{\sqrt{21}}{14} & \frac{1}{7} & - \frac{1}{14} + \frac{3 \sqrt{21}}{98} & \frac{3}{7} - \frac{5 \sqrt{21}}{49} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} - \frac{\sqrt{21}}{14} & \frac{11}{84} - \frac{\sqrt{21}}{84} & 0 & \frac{2}{7} - \frac{4 \sqrt{21}}{63} & \frac{\sqrt{21}}{252} + \frac{1}{12} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{5}{48} - \frac{\sqrt{21}}{48} & 0 & \frac{1}{4} - \frac{\sqrt{21}}{36} & - \frac{77}{120} - \frac{7 \sqrt{21}}{180} & \frac{7 \sqrt{21}}{80} + \frac{63}{80} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{\sqrt{21}}{14} + \frac{1}{2} & \frac{\sqrt{21}}{42} + \frac{5}{21} & 0 & - \frac{48}{35} - \frac{92 \sqrt{21}}{315} & \frac{211}{30} + \frac{29 \sqrt{21}}{18} & - \frac{23 \sqrt{21}}{14} - \frac{36}{5} & \frac{13 \sqrt{21}}{35} + \frac{9}{5} & 0 & 0 & 0 & 0 & 0 \\ \frac{\sqrt{21}}{14} + \frac{1}{2} & \frac{1}{14} & 0 & 0 & 0 & \frac{\sqrt{21}}{42} + \frac{1}{9} & \frac{13}{63} + \frac{\sqrt{21}}{21} & \frac{1}{9} & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{32} & 0 & 0 & 0 & \frac{91}{576} + \frac{7 \sqrt{21}}{192} & \frac{11}{72} & - \frac{385}{1152} + \frac{25 \sqrt{21}}{384} & \frac{63}{128} - \frac{13 \sqrt{21}}{128} & 0 & 0 & 0 \\ \frac{1}{2} - \frac{\sqrt{21}}{14} & \frac{1}{14} & 0 & 0 & 0 & \frac{1}{9} & - \frac{733}{2205} + \frac{\sqrt{21}}{15} & \frac{515}{504} - \frac{37 \sqrt{21}}{168} & - \frac{51}{56} + \frac{11 \sqrt{21}}{56} & \frac{132}{245} - \frac{4 \sqrt{21}}{35} & 0 & 0 \\ 1 & 0 & 0 & 0 & 0 & - \frac{7}{3} - \frac{7 \sqrt{21}}{18} & - \frac{28 \sqrt{21}}{45} - \frac{2}{5} & - \frac{91}{24} + \frac{53 \sqrt{21}}{72} & \frac{301}{72} - \frac{53 \sqrt{21}}{72} & \frac{28}{45} + \frac{28 \sqrt{21}}{45} & \frac{7 \sqrt{21}}{18} + \frac{49}{18} & 0 \\ \hline & \frac{1}{20} & 0 & 0 & 0 & 0 & 0 & 0 & \frac{49}{180} & \frac{16}{45} & \frac{49}{180} & \frac{1}{20} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_21_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_21<value_t>>#

RK (2,1) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cc} 0 & 0 & 0 \\ \frac{1}{2} & 1 & 0 \\ \hline & \frac{1}{2} & \frac{1}{2} \end{array} \end{split}\]

  • stages: 2

  • order: 2

  • stages order:

  • stability function:

    \[ z \left(\frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_22_midpoint_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_22_midpoint<value_t>>#

RK (2,2) mid-point method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cc} 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 \\ \hline & 0 & 1 \end{array} \end{split}\]

  • stages: 2

  • order: 2

  • stages order:

  • stability function:

    \[ z \left(\frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_22_ralston_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_22_ralston<value_t>>#

RK (2,2) Ralston method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cc} 0 & 0 & 0 \\ \frac{2}{3} & \frac{2}{3} & 0 \\ \hline & \frac{1}{4} & \frac{3}{4} \end{array} \end{split}\]

  • stages: 2

  • order: 2

  • stages order:

  • stability function:

    \[ z \left(\frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_32_best_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_32_best<value_t>>#

RK (3,2) best method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} & 0 \\ \hline & 0 & 0 & 1 \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_33_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_33<value_t>>#

RK (3,3) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 \\ 1 & -1 & 2 & 0 \\ \hline & \frac{1}{6} & \frac{2}{3} & \frac{1}{6} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_33_233e_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_33_233e<value_t>>#

RK (3,3) 233e method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{2}{3} & \frac{2}{3} & 0 & 0 \\ \frac{2}{3} & \frac{1}{3} & \frac{1}{3} & 0 \\ \hline & \frac{1}{4} & 0 & \frac{3}{4} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_33_bogackishampine_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_33_bogackishampine<value_t>>#

RK (3,3) Bogacki-Shampine method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 \\ \frac{3}{4} & 0 & \frac{3}{4} & 0 \\ \hline & \frac{2}{9} & \frac{1}{3} & \frac{4}{9} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_33_heun_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_33_heun<value_t>>#

RK (3,3) Heun method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{3} & 0 & 0 \\ \frac{2}{3} & 0 & \frac{2}{3} & 0 \\ \hline & \frac{1}{4} & 0 & \frac{3}{4} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_33_ralston_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_33_ralston<value_t>>#

RK (3,3) Ralston method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 \\ \frac{3}{4} & 0 & \frac{3}{4} & 0 \\ \hline & \frac{2}{9} & \frac{1}{3} & \frac{4}{9} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_33_van_der_houwen_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_33_van_der_houwen<value_t>>#

RK (3,3) Van der Houwen method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{8}{15} & \frac{8}{15} & 0 & 0 \\ \frac{2}{3} & \frac{1}{4} & \frac{5}{12} & 0 \\ \hline & \frac{1}{4} & 0 & \frac{3}{4} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_44_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_44<value_t>>#

RK (4,4) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 \\ \hline & \frac{1}{6} & \frac{1}{3} & \frac{1}{3} & \frac{1}{6} \end{array} \end{split}\]

  • stages: 4

  • order: 4

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_44_235j_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_44_235j<value_t>>#

RK (4,4) 235j method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1}{4} & \frac{1}{4} & 0 & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} & 0 & 0 \\ 1 & 1 & -2 & 2 & 0 \\ \hline & \frac{1}{6} & 0 & \frac{2}{3} & \frac{1}{6} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_44_38_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_44_38<value_t>>#

RK (4,4) 3/8 method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{3} & 0 & 0 & 0 \\ \frac{2}{3} & - \frac{1}{3} & 1 & 0 & 0 \\ 1 & 1 & -1 & 1 & 0 \\ \hline & \frac{1}{8} & \frac{3}{8} & \frac{3}{8} & \frac{1}{8} \end{array} \end{split}\]

  • stages: 4

  • order: 4

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_44_ralston_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_44_ralston<value_t>>#

RK (4,4) Ralston method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ 0.4 & 0.4 & 0 & 0 & 0 \\ -0.45573725 & 0.29697761 & 0.15875964 & 0 & 0 \\ 1 & 0.2181004 & -3.05096516 & 3.83286476 & 0 \\ \hline & 0.17476028 & -0.55148066 & 1.2055356 & 0.17118478 \end{array} \end{split}\]

  • stages: 4

  • order: 4

  • stages order:

  • stability function:

    \[ z \left(0.0416666650601023 z^{3} + 0.166666660087199 z^{2} + 0.4999999951211 z + 1.0\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_65_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_65<value_t>>#

RK (6,5) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{5} & \frac{1}{5} & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{10} & \frac{3}{40} & \frac{9}{40} & 0 & 0 & 0 & 0 \\ \frac{4}{5} & \frac{44}{45} & - \frac{56}{15} & \frac{32}{9} & 0 & 0 & 0 \\ \frac{8}{9} & \frac{19372}{6561} & - \frac{25360}{2187} & \frac{64448}{6561} & - \frac{212}{729} & 0 & 0 \\ 1 & \frac{9017}{3168} & - \frac{355}{33} & \frac{46732}{5247} & \frac{49}{176} & - \frac{5103}{18656} & 0 \\ \hline & \frac{35}{384} & 0 & \frac{500}{1113} & \frac{125}{192} & - \frac{2187}{6784} & \frac{11}{84} \end{array} \end{split}\]

  • stages: 6

  • order: 5

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{5}}{600} + \frac{z^{4}}{120} + \frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_65_236a_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_65_236a<value_t>>#

RK (6,5) 236a method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{4} & \frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{4} & \frac{1}{8} & \frac{1}{8} & 0 & 0 & 0 & 0 \\ \frac{1}{2} & 0 & 0 & \frac{1}{2} & 0 & 0 & 0 \\ \frac{3}{4} & \frac{3}{16} & - \frac{3}{8} & \frac{3}{8} & \frac{9}{16} & 0 & 0 \\ 1 & - \frac{3}{7} & \frac{8}{7} & \frac{6}{7} & - \frac{12}{7} & \frac{8}{7} & 0 \\ \hline & \frac{7}{90} & 0 & \frac{16}{45} & \frac{2}{15} & \frac{16}{45} & \frac{7}{90} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_76_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_76<value_t>>#

RK (7,6) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{3}{8} & \frac{1}{8} & 0 & 0 & 0 & 0 & 0 \\ \frac{2}{3} & \frac{8}{27} & \frac{2}{27} & \frac{8}{27} & 0 & 0 & 0 & 0 \\ \frac{1}{2} - \frac{\sqrt{21}}{14} & - \frac{3}{56} + \frac{9 \sqrt{21}}{392} & - \frac{1}{7} + \frac{\sqrt{21}}{49} & \frac{6}{7} - \frac{6 \sqrt{21}}{49} & - \frac{9}{56} + \frac{3 \sqrt{21}}{392} & 0 & 0 & 0 \\ \frac{\sqrt{21}}{14} + \frac{1}{2} & - \frac{51 \sqrt{21}}{392} - \frac{33}{56} & - \frac{1}{7} - \frac{\sqrt{21}}{49} & - \frac{8 \sqrt{21}}{49} & \frac{9}{280} + \frac{363 \sqrt{21}}{1960} & \frac{\sqrt{21}}{5} + \frac{6}{5} & 0 & 0 \\ 1 & \frac{11}{6} + \frac{7 \sqrt{21}}{12} & \frac{2}{3} & - \frac{10}{9} + \frac{14 \sqrt{21}}{9} & \frac{7}{10} - \frac{21 \sqrt{21}}{20} & - \frac{343}{90} - \frac{7 \sqrt{21}}{10} & \frac{49}{18} - \frac{7 \sqrt{21}}{18} & 0 \\ \hline & \frac{1}{20} & 0 & \frac{16}{45} & 0 & \frac{49}{180} & \frac{49}{180} & \frac{1}{20} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_86_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_86<value_t>>#

RK (8,6) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{9} & \frac{1}{9} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{6} & \frac{1}{24} & \frac{1}{8} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{6} & - \frac{1}{2} & \frac{2}{3} & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{935}{2536} & - \frac{2781}{2536} & \frac{309}{317} & \frac{321}{1268} & 0 & 0 & 0 & 0 \\ \frac{2}{3} & - \frac{12710}{951} & \frac{8287}{317} & - \frac{40}{317} & - \frac{6335}{317} & 8 & 0 & 0 & 0 \\ \frac{5}{6} & \frac{5840285}{3104064} & - \frac{7019}{2536} & - \frac{52213}{86224} & \frac{1278709}{517344} & - \frac{433}{2448} & \frac{33}{1088} & 0 & 0 \\ 1 & - \frac{5101675}{1767592} & \frac{112077}{25994} & \frac{334875}{441898} & - \frac{973617}{883796} & - \frac{1421}{1394} & \frac{333}{5576} & \frac{36}{41} & 0 \\ \hline & \frac{41}{840} & 0 & \frac{9}{35} & \frac{9}{280} & \frac{34}{105} & \frac{9}{280} & \frac{9}{35} & \frac{41}{840} \end{array} \end{split}\]

  • stages: 8

  • order: 6

  • stages order:

  • stability function:

    \[ z \left(\frac{1177 z^{7}}{48285440} + \frac{18713 z^{6}}{81481680} + \frac{z^{5}}{720} + \frac{z^{4}}{120} + \frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_nssp_21_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_nssp_21<value_t>>#

RK NSSP (2,1) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cc} 0 & 0 & 0 \\ \frac{3}{4} & \frac{3}{4} & 0 \\ \hline & 0 & 1 \end{array} \end{split}\]

  • stages: 2

  • order: 1

  • stages order:

  • stability function:

    \[ z \left(\frac{3 z}{4} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_nssp_32_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_nssp_32<value_t>>#

RK NSSP (3,2) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{3} & 0 & 0 \\ 1 & 0 & 1 & 0 \\ \hline & \frac{1}{2} & 0 & \frac{1}{2} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_nssp_33_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_nssp_33<value_t>>#

RK NSSP (3,3) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ - \frac{4}{9} & - \frac{4}{9} & 0 & 0 \\ \frac{2}{3} & \frac{7}{6} & - \frac{1}{2} & 0 \\ \hline & \frac{1}{4} & 0 & \frac{3}{4} \end{array} \end{split}\]

  • stages: 3

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_nssp_53_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_nssp_53<value_t>>#

RK NSSP (5,3) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{7} & \frac{1}{7} & 0 & 0 & 0 & 0 \\ \frac{3}{16} & 0 & \frac{3}{16} & 0 & 0 & 0 \\ \frac{1}{3} & 0 & 0 & \frac{1}{3} & 0 & 0 \\ \frac{2}{3} & 0 & 0 & 0 & \frac{2}{3} & 0 \\ \hline & \frac{1}{4} & 0 & 0 & 0 & \frac{3}{4} \end{array} \end{split}\]

  • stages: 5

  • order: 3

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{4}}{224} + \frac{z^{3}}{32} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_spp_43_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_spp_43<value_t>>#

RK SPP (4,3) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 & 0 \\ 1 & \frac{1}{2} & \frac{1}{2} & 0 & 0 \\ \frac{1}{2} & \frac{1}{6} & \frac{1}{6} & \frac{1}{6} & 0 \\ \hline & \frac{1}{6} & \frac{1}{6} & \frac{1}{6} & \frac{1}{2} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_ssp_22_heun_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_ssp_22_heun<value_t>>#

RK SSP (2,2) Heun method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cc} 0 & 0 & 0 \\ 1 & 1 & 0 \\ \hline & \frac{1}{2} & \frac{1}{2} \end{array} \end{split}\]

  • stages: 2

  • order: 2

  • stages order:

  • stability function:

    \[ z \left(\frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_ssp_32_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_ssp_32<value_t>>#

RK SSP (3,2) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 \\ 1 & \frac{1}{2} & \frac{1}{2} & 0 \\ \hline & \frac{1}{3} & \frac{1}{3} & \frac{1}{3} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_ssp_33_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_ssp_33<value_t>>#

RK SSP (3,3) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ \frac{1}{2} & \frac{1}{4} & \frac{1}{4} & 0 \\ \hline & \frac{1}{6} & \frac{1}{6} & \frac{2}{3} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_ssp_42_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_ssp_42<value_t>>#

RK SSP (4,2) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{3} & 0 & 0 & 0 \\ \frac{2}{3} & \frac{1}{3} & \frac{1}{3} & 0 & 0 \\ 1 & \frac{1}{3} & \frac{1}{3} & \frac{1}{3} & 0 \\ \hline & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_ssp_53_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_ssp_53<value_t>>#

RK SSP (5,3) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ 0.3772689151171 & 0.3772689151171 & 0 & 0 & 0 & 0 \\ 0.75453783023419 & 0.3772689151171 & 0.3772689151171 & 0 & 0 & 0 \\ 0.49056882269314 & 0.16352294089771 & 0.16352294089771 & 0.16352294089771 & 0 & 0 \\ 0.78784303014311 & 0.14904059394856 & 0.14831273384724 & 0.14831273384724 & 0.34217696850008 & 0 \\ \hline & 0.19707596384481 & 0.11780316509765 & 0.11709725193772 & 0.27015874934251 & 0.29786487010104 \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk_ssp_54_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk_ssp_54<value_t>>#

RK SSP (5,4) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ 0.39175222700392 & 0.39175222700392 & 0 & 0 & 0 & 0 \\ 0.58607968896779 & 0.21766909633821 & 0.36841059262959 & 0 & 0 & 0 \\ 0.47454236302687 & 0.0826920867095 & 0.13995850206999 & 0.25189177424738 & 0 & 0 \\ 0.93501063100924 & 0.0679662837032 & 0.11503469844438 & 0.20703489864929 & 0.54497475021237 & 0 \\ \hline & 0.14681187618661 & 0.24848290924556 & 0.1042588303665 & 0.2744389009196 & 0.22600748319395 \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rkc_202_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rkc_202<value_t>>#

RKC (20,2) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccccccccccccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{133} & \frac{1}{133} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{133} & \frac{1}{266} & \frac{1}{266} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{8}{399} & - \frac{8}{1197} & \frac{32}{3591} & \frac{64}{3591} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{5}{133} & - \frac{255}{8512} & \frac{15}{1064} & \frac{5}{133} & \frac{135}{8512} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{8}{133} & - \frac{1076}{16625} & \frac{64}{3325} & \frac{192}{3325} & \frac{108}{3325} & \frac{256}{16625} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{5}{57} & - \frac{151}{1368} & \frac{25}{1026} & \frac{40}{513} & \frac{15}{304} & \frac{16}{513} & \frac{125}{8208} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{16}{133} & - \frac{38008}{228095} & \frac{192}{6517} & \frac{640}{6517} & \frac{432}{6517} & \frac{1536}{32585} & \frac{200}{6517} & \frac{3456}{228095} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{19} & - \frac{79437}{340480} & \frac{21}{608} & \frac{9}{76} & \frac{405}{4864} & \frac{6}{95} & \frac{225}{4864} & \frac{81}{2660} & \frac{147}{9728} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{80}{399} & - \frac{210604}{678699} & \frac{1280}{32319} & \frac{640}{4617} & \frac{40}{399} & \frac{2560}{32319} & \frac{2000}{32319} & \frac{128}{2793} & \frac{140}{4617} & \frac{10240}{678699} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{33}{133} & - \frac{148049}{372400} & \frac{297}{6650} & \frac{528}{3325} & \frac{891}{7600} & \frac{1584}{16625} & \frac{165}{2128} & \frac{7128}{116375} & \frac{693}{15200} & \frac{704}{23275} & \frac{8019}{532000} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{40}{133} & - \frac{1840178}{3717483} & \frac{800}{16093} & \frac{2880}{16093} & \frac{2160}{16093} & \frac{256}{2299} & \frac{1500}{16093} & \frac{8640}{112651} & \frac{140}{2299} & \frac{5120}{112651} & \frac{486}{16093} & \frac{8000}{531069} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{143}{399} & - \frac{191347}{317520} & \frac{1573}{28728} & \frac{715}{3591} & \frac{1287}{8512} & \frac{2288}{17955} & \frac{3575}{32832} & \frac{429}{4655} & \frac{5005}{65664} & \frac{4576}{75411} & \frac{3861}{85120} & \frac{325}{10773} & \frac{17303}{1149120} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{8}{19} & - \frac{34732694}{48213165} & \frac{192}{3211} & \frac{704}{3211} & \frac{540}{3211} & \frac{2304}{16055} & \frac{400}{3211} & \frac{1728}{16055} & \frac{294}{3211} & \frac{5120}{67431} & \frac{972}{16055} & \frac{1600}{35321} & \frac{484}{16055} & \frac{6912}{459173} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{65}{133} & - \frac{20432707}{24086832} & \frac{845}{13034} & \frac{1560}{6517} & \frac{19305}{104272} & \frac{1040}{6517} & \frac{14625}{104272} & \frac{5616}{45619} & \frac{65}{608} & \frac{4160}{45619} & \frac{15795}{208544} & \frac{13000}{215061} & \frac{4719}{104272} & \frac{2160}{71687} & \frac{10985}{729904} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{32}{57} & - \frac{37985848}{38513475} & \frac{896}{12825} & \frac{3328}{12825} & \frac{96}{475} & \frac{11264}{64125} & \frac{80}{513} & \frac{2304}{16625} & \frac{1568}{12825} & \frac{4096}{38475} & \frac{216}{2375} & \frac{1280}{16929} & \frac{3872}{64125} & \frac{3072}{67925} & \frac{2704}{89775} & \frac{12544}{833625} & 0 & 0 & 0 & 0 & 0 \\ \frac{85}{133} & - \frac{1855818719}{1635938304} & \frac{1275}{17024} & \frac{85}{304} & \frac{29835}{136192} & \frac{51}{266} & \frac{23375}{136192} & \frac{2295}{14896} & \frac{5355}{38912} & \frac{340}{2793} & \frac{4131}{38912} & \frac{2125}{23408} & \frac{10285}{136192} & \frac{2295}{38038} & \frac{43095}{953344} & \frac{119}{3952} & \frac{57375}{3813376} & 0 & 0 & 0 & 0 \\ \frac{96}{133} & - \frac{4227342628}{3270412145} & \frac{3072}{38437} & \frac{11520}{38437} & \frac{1296}{5491} & \frac{39936}{192185} & \frac{7200}{38437} & \frac{228096}{1345295} & \frac{840}{5491} & \frac{36864}{269059} & \frac{23328}{192185} & \frac{6400}{60401} & \frac{17424}{192185} & \frac{414720}{5496491} & \frac{16224}{269059} & \frac{16128}{356915} & \frac{8100}{269059} & \frac{49152}{3267145} & 0 & 0 & 0 \\ \frac{17}{21} & - \frac{1193972657}{817296480} & \frac{289}{3402} & \frac{544}{1701} & \frac{85}{336} & \frac{272}{1215} & \frac{5525}{27216} & \frac{136}{735} & \frac{1309}{7776} & \frac{5440}{35721} & \frac{153}{1120} & \frac{6800}{56133} & \frac{2057}{19440} & \frac{272}{3003} & \frac{14365}{190512} & \frac{952}{15795} & \frac{425}{9408} & \frac{256}{8505} & \frac{4913}{326592} & 0 & 0 \\ \frac{120}{133} & - \frac{25446999243}{15523707199} & \frac{4320}{48013} & \frac{16320}{48013} & \frac{12960}{48013} & \frac{11520}{48013} & \frac{1500}{6859} & \frac{67392}{336091} & \frac{1260}{6859} & \frac{56320}{336091} & \frac{7290}{48013} & \frac{72000}{528143} & \frac{5808}{48013} & \frac{103680}{980837} & \frac{30420}{336091} & \frac{6720}{89167} & \frac{20250}{336091} & \frac{36864}{816221} & \frac{1445}{48013} & \frac{233280}{15508199} & 0 \\ \hline & - \frac{9454786563}{5173168000} & \frac{19}{200} & \frac{9}{25} & \frac{459}{1600} & \frac{32}{125} & \frac{15}{64} & \frac{27}{125} & \frac{637}{3200} & \frac{32}{175} & \frac{2673}{16000} & \frac{5}{33} & \frac{1089}{8000} & \frac{432}{3575} & \frac{169}{1600} & \frac{147}{1625} & \frac{135}{1792} & \frac{128}{2125} & \frac{289}{6400} & \frac{243}{8075} & \frac{361}{24000} \end{array} \end{split}\]

  • stages: 20

  • order: 2

  • stages order:

  • stability function:

    \[ z \left(\frac{32768 z^{19}}{563794957188848500305686224618190097399925} + \frac{131072 z^{18}}{847811965697516541813061991907052778045} + \frac{1212416 z^{17}}{6374526057876064224158360841406411865} + \frac{196608 z^{16}}{1369393352927188877370217151752183} + \frac{765952 z^{15}}{10296190623512698326091858283851} + \frac{379912192 z^{14}}{13547619241464076744857708268225} + \frac{162021376 z^{13}}{20372359761600115405801065065} + \frac{265125888 z^{12}}{153175637305264025607526805} + \frac{67317120 z^{11}}{230339304218442143770717} + \frac{66593280 z^{10}}{1731874467807835667449} + \frac{36626304 z^{9}}{9301151814220384895} + \frac{229632 z^{8}}{736141813551277} + \frac{731952 z^{7}}{38744305976383} + \frac{250240 z^{6}}{291310571251} + \frac{62560 z^{5}}{2190305047} + \frac{275264 z^{4}}{411711475} + \frac{12903 z^{3}}{1238230} + \frac{66 z^{2}}{665} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rkc_51_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rkc_51<value_t>>#

RKC (5,1) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{25} & \frac{1}{25} & 0 & 0 & 0 & 0 \\ \frac{4}{25} & \frac{2}{25} & \frac{2}{25} & 0 & 0 & 0 \\ \frac{9}{25} & \frac{3}{25} & \frac{4}{25} & \frac{2}{25} & 0 & 0 \\ \frac{16}{25} & \frac{4}{25} & \frac{6}{25} & \frac{4}{25} & \frac{2}{25} & 0 \\ \hline & \frac{1}{5} & \frac{8}{25} & \frac{6}{25} & \frac{4}{25} & \frac{2}{25} \end{array} \end{split}\]

  • stages: 5

  • order: 1

  • stages order:

  • stability function:

    \[ z \left(\frac{16 z^{4}}{9765625} + \frac{16 z^{3}}{78125} + \frac{28 z^{2}}{3125} + \frac{4 z}{25} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rkc_52_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rkc_52<value_t>>#

RKC (5,2) method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{8} & \frac{1}{8} & 0 & 0 & 0 & 0 \\ \frac{1}{8} & \frac{1}{16} & \frac{1}{16} & 0 & 0 & 0 \\ \frac{1}{3} & - \frac{1}{9} & \frac{4}{27} & \frac{8}{27} & 0 & 0 \\ \frac{5}{8} & - \frac{255}{512} & \frac{15}{64} & \frac{5}{8} & \frac{135}{512} & 0 \\ \hline & - \frac{269}{250} & \frac{8}{25} & \frac{24}{25} & \frac{27}{50} & \frac{32}{125} \end{array} \end{split}\]

  • stages: 5

  • order: 2

  • stages order:

  • stability function:

    \[ z \left(\frac{z^{4}}{6400} + \frac{z^{3}}{160} + \frac{7 z^{2}}{80} + \frac{z}{2} + 1\right) + 1 \]

Template Parameters:

value_t – type of coefficient (double by default)

Embedded methods#

template<typename value_t>
using ponio::runge_kutta::rk54_6m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk54_6m<value_t>>

RK5(4) 6M method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{5} & \frac{1}{5} & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{10} & \frac{3}{40} & \frac{9}{40} & 0 & 0 & 0 & 0 \\ \frac{3}{5} & \frac{3}{10} & - \frac{9}{10} & \frac{6}{5} & 0 & 0 & 0 \\ \frac{2}{3} & \frac{226}{729} & - \frac{25}{27} & \frac{880}{729} & \frac{55}{729} & 0 & 0 \\ 1 & - \frac{181}{270} & \frac{5}{2} & - \frac{266}{297} & - \frac{91}{27} & \frac{189}{55} & 0 \\ \hline & \frac{19}{216} & 0 & \frac{1000}{2079} & - \frac{125}{216} & \frac{81}{88} & \frac{5}{56} \\ \hline & \frac{31}{540} & 0 & \frac{190}{297} & - \frac{145}{108} & \frac{351}{220} & \frac{1}{20} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk54_7m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk54_7m<value_t>>

RK5(4) 7M method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{5} & \frac{1}{5} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{10} & \frac{3}{40} & \frac{9}{40} & 0 & 0 & 0 & 0 & 0 \\ \frac{4}{5} & \frac{44}{45} & - \frac{56}{15} & \frac{32}{9} & 0 & 0 & 0 & 0 \\ \frac{8}{9} & \frac{19372}{6561} & - \frac{25360}{2187} & \frac{64448}{6561} & - \frac{212}{729} & 0 & 0 & 0 \\ 1 & \frac{9017}{3168} & - \frac{355}{33} & \frac{46732}{5247} & \frac{49}{176} & - \frac{5103}{18656} & 0 & 0 \\ 1 & \frac{35}{384} & 0 & \frac{500}{1113} & \frac{125}{192} & - \frac{2187}{6784} & \frac{11}{84} & 0 \\ \hline & \frac{35}{384} & 0 & \frac{500}{1113} & \frac{125}{192} & - \frac{2187}{6784} & \frac{11}{84} & 0 \\ \hline & \frac{5179}{57600} & 0 & \frac{7571}{16695} & \frac{393}{640} & - \frac{92097}{339200} & \frac{187}{2100} & \frac{1}{40} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk54_7s_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk54_7s<value_t>>

RK5(4) 7S method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2}{9} & \frac{2}{9} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{12} & \frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ \frac{5}{9} & \frac{55}{324} & - \frac{25}{108} & \frac{50}{81} & 0 & 0 & 0 & 0 \\ \frac{2}{3} & \frac{83}{330} & - \frac{13}{22} & \frac{61}{66} & \frac{9}{110} & 0 & 0 & 0 \\ 1 & - \frac{19}{28} & \frac{9}{4} & \frac{1}{7} & - \frac{27}{7} & \frac{22}{7} & 0 & 0 \\ 1 & \frac{19}{200} & 0 & \frac{3}{5} & - \frac{243}{400} & \frac{33}{40} & \frac{7}{80} & 0 \\ \hline & \frac{19}{200} & 0 & \frac{3}{5} & - \frac{243}{400} & \frac{33}{40} & \frac{7}{80} & 0 \\ \hline & \frac{431}{5000} & 0 & \frac{333}{500} & - \frac{7857}{10000} & \frac{957}{1000} & \frac{193}{2000} & - \frac{1}{50} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk65_8m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk65_8m<value_t>>

RK6(5) 8M method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{10} & \frac{1}{10} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2}{9} & - \frac{2}{81} & \frac{20}{81} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{7} & \frac{615}{1372} & - \frac{270}{343} & \frac{1053}{1372} & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{5} & \frac{3243}{5500} & - \frac{54}{55} & \frac{50949}{71500} & \frac{4998}{17875} & 0 & 0 & 0 & 0 \\ \frac{4}{5} & - \frac{26492}{37125} & \frac{72}{55} & \frac{2808}{23375} & - \frac{24206}{37125} & \frac{338}{459} & 0 & 0 & 0 \\ 1 & \frac{5561}{2376} & - \frac{35}{11} & - \frac{24117}{31603} & \frac{899983}{200772} & - \frac{5225}{1836} & \frac{3925}{4056} & 0 & 0 \\ 1 & \frac{465467}{266112} & - \frac{2945}{1232} & - \frac{5610201}{14158144} & \frac{10513573}{3212352} & - \frac{424325}{205632} & \frac{376225}{454272} & 0 & 0 \\ \hline & \frac{821}{10800} & 0 & \frac{19683}{71825} & \frac{175273}{912600} & \frac{395}{3672} & \frac{785}{2704} & \frac{3}{50} & 0 \\ \hline & \frac{61}{864} & 0 & \frac{98415}{321776} & \frac{16807}{146016} & \frac{1375}{7344} & \frac{1375}{5408} & - \frac{37}{1120} & \frac{1}{10} \end{array} \end{split}\]

Template Parameters:

value_t – type of coefficient (double by default)

template<typename value_t>
using ponio::runge_kutta::rk87_13m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk87_13m<value_t>>

RK8(7) 13M method.

see more on ponio

This method is based on the following Butcher tableau:

\[\begin{split} \begin{array}{c|ccccccccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{18} & \frac{1}{18} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{12} & \frac{1}{48} & \frac{1}{16} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{8} & \frac{1}{32} & 0 & \frac{3}{32} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{5}{16} & \frac{5}{16} & 0 & - \frac{75}{64} & \frac{75}{64} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{8} & \frac{3}{80} & 0 & 0 & \frac{3}{16} & \frac{3}{20} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{59}{400} & \frac{29443841}{614563906} & 0 & 0 & \frac{77736538}{692538347} & - \frac{28693883}{1125000000} & \frac{23124283}{1800000000} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{93}{200} & \frac{16016141}{946692911} & 0 & 0 & \frac{61564180}{158732637} & \frac{22789713}{633445777} & \frac{545815736}{2771057229} & - \frac{180193667}{1043307555} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{5490023248}{9719169821} & \frac{39632708}{573591083} & 0 & 0 & - \frac{433636366}{683701615} & - \frac{421739975}{2616292301} & \frac{100302831}{723423059} & \frac{790204164}{839813087} & \frac{800635310}{3783071287} & 0 & 0 & 0 & 0 & 0 \\ \frac{13}{20} & \frac{246121993}{1340847787} & 0 & 0 & - \frac{37695042795}{15268766246} & - \frac{309121744}{1061227803} & - \frac{12992083}{490766935} & \frac{6005943493}{2108947869} & \frac{393006217}{1396673457} & \frac{123872331}{1001029789} & 0 & 0 & 0 & 0 \\ \frac{1201146811}{1299019798} & - \frac{1028468189}{846180014} & 0 & 0 & \frac{8478235783}{508512852} & \frac{1311729495}{1432422823} & - \frac{10304129995}{1701304382} & - \frac{48777925059}{3047939560} & \frac{15336726248}{1032824649} & - \frac{45442868181}{3398467696} & \frac{3065993473}{597172653} & 0 & 0 & 0 \\ 1 & \frac{185892177}{718116043} & 0 & 0 & - \frac{3185094517}{667107341} & - \frac{477755414}{1098053517} & - \frac{703635378}{230739211} & \frac{5731566787}{1027545527} & \frac{5232866602}{850066563} & - \frac{4093664535}{808688257} & \frac{3962137247}{1805957418} & \frac{65686358}{487910083} & 0 & 0 \\ 1 & \frac{403863854}{491063109} & 0 & 0 & - \frac{5068492393}{434740067} & - \frac{411421997}{543043805} & \frac{652783627}{914296604} & \frac{11173962825}{925320556} & - \frac{13158990841}{6184727034} & \frac{3936647629}{1978049680} & - \frac{160528059}{685178525} & \frac{248638103}{1413531060} & 0 & 0 \\ \hline & \frac{13451932}{455176623} & 0 & 0 & 0 & 0 & - \frac{808719846}{976000145} & \frac{1757004468}{5645159321} & \frac{656045339}{265891186} & - \frac{3867574721}{1518517206} & \frac{465885868}{322736535} & \frac{53011238}{667516719} & \frac{2}{45} & 0 \\ \hline & \frac{14005451}{335480064} & 0 & 0 & 0 & 0 & - \frac{59238493}{1068277825} & \frac{181606767}{758867731} & \frac{561292985}{797845732} & - \frac{1041891430}{1371343529} & \frac{760417239}{1151165299} & \frac{118820643}{751138087} & - \frac{528747749}{2220607170} & \frac{1}{4} \end{array} \end{split}\]

  • stages: 13

  • order: 5

  • stages order:

  • stability function:

    \[ z \left(- \frac{18014461410191061851044337424226964161393267397 z^{11}}{176362113233915443784632481296954662860466153062400000000} + \frac{579610672882944040965459831292043121517203402453769233950141611115653229058190630611561896792980377451 z^{10}}{52930149274503007565740611232642107727595980255919940377981010519187847281299356065113509881736331264000000000} + \frac{1311690294666324576022540737002853396744479072059268864101155037520235267958573549649709719841929880743320656239063971762630287492634974480323740498115819303 z^{9}}{4688900342046827221233515138559599920429581165305922099071888609522466458955325926837138275611106507974272813904493125923254971797262611160871875006955520000000000} + \frac{173202026928930674956862643792583472430250030082292305387802401908069242973872705211790880025189048547738958626947936068664047772105017256485381526909165350626899349196961435582733119709433309706069823297 z^{8}}{67105009555446125023068824548786436707601134466887950725124522889091129532097475245188150926338518916219849168487030705367949449358686050694711115285704900502867563299072552908079406625899017839509504000000000} + \frac{7715232892371949774979784590658427020425594166350073790724222667294167202182718396183370280501115600063120008672418123668744560041229464535772623192406109198524961399341137876727533206440531469493852666690918433774379091701003201795555337533344723 z^{7}}{308063994448581211308820363469127573445794487885051155265053442800141273324921936449975003043547483729993905998094764633305974019177609230957044120104890909146869771787154457113674382372738353117527574872488176875678515767874036429961250734080000000000} + \frac{1115410772446920399165305019719214725765371472850245379183763357941915347092294926234456635437733656099186960427101598549137987457933329442390392644569310693844705793492448010408280781272564584162428916553203011074648454741226478889523182041000669641484874761652737883698112559927732662571 z^{6}}{5621670293132478897734681633585456635782010950377593787681816513737078370374455354028115066931825468927808340615671300736801048788883707461876157917746358391571722654115519102224487269020296777426775904906708003430717505307068899653397091192232294293767812034172984650357204859617280000000000} + \frac{2334184210892632413432406632760118538337965198713072315996282819882547044427650573815526110550168509804990463654159134528362052293639226380264133101339961105460479644073451098753650308153072999048686027975471718977265895400336367229277347300063482314939584551590892019533087498395484565799320354149668843956037 z^{5}}{1680612631842695365419782967854313884096448524191177364353254872846657435518138538104378993769154867373255541490261239744797413240336864205184799981310002908344334745670117778934423186016602134782127099076328585467665019379670118441448699823611353002416723647861324475407438047381724399955314181034188800000000000} + \frac{101938791853692372195797298931657797035446315257702626996539029237170275359971335430427362704404014005955811485110901810821115594835218928148422697586247351886417158308973747725084896276348838296766115956166200620137082882467258262588569033910706668118005115419413632925651871658299708165056330850217590331728453024615360637675899 z^{4}}{12232655022443084867186848515744314278060261084231049838318011538894205145990936296390374381515621795156936523017935899423481812590503754314178625220100007212342174547711683064105274245610997023365929547084040244234165614715135707927688581300109712475395341921292807529093266366872602285862829615310416554653646160845529600000000000} + \frac{138820097270640751120649850690533109535436253518333598268111135955940008885783475477190314584157308544073572073500149585900701977685573813193247885201454753963496045709198563626005911211296652210100215694168128651787914370606904284332938258325794036365064828248882400532748197533758274819705163326831259697511341082278673947921917179437873 z^{3}}{3331682334495378028266699558154999686693825757134914203767818382252623002541210392436705070441207772961670211088202513385121752112616157038057116570905551150962337027779221405580658896786293713771395640894876869351627596338589008467714916771851280949811277658571238421987834003438977586204595534034553650306587157519688552641233400000000000} + \frac{3216737384368291044698829700110298764369664287360835592258622015286755792022434243736588442844033580530423099367532361370615245170560337176132882900424940350802558077478589846160796918495618861855441103784076715411009578045816743811248521650498723955189031730729100471151548928419603476636427196447952583568864143090650768677307983523126179 z^{2}}{19300424306209746327953771365225335142148564894753303271242687236259452113118809358360232773977835790060757284835517651354864672562460022508282823989970241522919638048352573623033815278023599290575127094633593342804859458902451341482245913263407288839790392247464745045036013070971092101256021450813070321717626259367871188699629220000000000} + \frac{54736314961905438367044618304357346820367656411141526630641353828331284274482492355150836021591733858246532000654016442241006910581380001863585052317000771310994173682808059050685863646266334772248540751685793756206483101990512959326950535438526941201674760403119908113929728847761616112749381005775214952273840810844959153843281976167508849 z}{109472629923810877303151802180443887829663773452582787281691697382229123444715213354774726603313486065343651849174748730456837655237271123163198252479200918706478090870824248798633506615516456844589767154259107323781280356251508456322869018913086115015505821109371806986065156372896859837999835823419158261983104914773298644450774170750000000} + \frac{370952526618963512497086801444530779494344988945804575254}{370952526618963512211046321800629321994711078958870761915}\right) + 1 \]

  • bibliography: Prince, P.J. & Dormand, J.R., “High order embedded Runge-Kutta formulae”, in: Journal of Computational and Applied Mathematics (1981)

Template Parameters:

value_t – type of coefficient (double by default)