brainpy.integrators.ode.explicit_rk.RK3#

class brainpy.integrators.ode.explicit_rk.RK3(f, var_type=None, dt=None, name=None, show_code=False, state_delays=None, neutral_delays=None)[source]#

Classical third-order Runge-Kutta method for ODEs.

For the given initial value problem $$y'(x) = f(t,y);\, y(t_0) = y_0$$, the third order Runge-Kutta method is given by:

$y_{n+1} = y_n + 1/6 ( k_1 + 4 k_2 + k_3),$

where

$\begin{split}k_1 = h f(t_n, y_n), \\ k_2 = h f(t_n + h / 2, y_n + k_1 / 2), \\ k_3 = h f(t_n + h, y_n - k_1 + 2 k_2 ),\end{split}$

where $$t_n = t_0 + n h.$$

Error term $$O(h^4)$$, correct up to the third order term in Taylor series expansion.

The Taylor series expansion is $$y(t+h)=y(t)+\frac{k}{6}+\frac{2 k_{2}}{3}+\frac{k_{3}}{6}+O\left(h^{4}\right)$$.

The corresponding Butcher tableau is:

$\begin{split}\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}\end{split}$
__init__(f, var_type=None, dt=None, name=None, show_code=False, state_delays=None, neutral_delays=None)#

Methods

 __init__(f[, var_type, dt, name, show_code, ...]) build() load_states(filename[, verbose]) Load the model states. nodes([method, level, include_self]) Collect all children nodes. register_implicit_nodes(nodes) register_implicit_vars(variables) save_states(filename[, variables]) Save the model states. set_integral(f) Set the integral function. train_vars([method, level, include_self]) The shortcut for retrieving all trainable variables. unique_name([name, type_]) Get the unique name for this object. vars([method, level, include_self]) Collect all variables in this node and the children nodes.

Attributes

 A B C arg_names arguments All arguments when calling the numer integrator of the differential equation. dt The numerical integration precision. integral The integral function. name neutral_delays neutral delays. parameters The parameters defined in the differential equation. state_delays State delays. variables The variables defined in the differential equation.