ExplicitRKIntegrator

ExplicitRKIntegrator#

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

Explicit Runge–Kutta methods for ordinary differential equation.

For the system,

\[\frac{d y}{d t}=f(t, y)\]

Explicit Runge-Kutta methods take the form

\[\begin{split}k_{i}=f\left(t_{n}+c_{i}h,y_{n}+h\sum _{j=1}^{s}a_{ij}k_{j}\right) \\ y_{n+1}=y_{n}+h \sum_{i=1}^{s} b_{i} k_{i}\end{split}\]

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

\[\begin{split}\begin{array}{c|cccc} c_{1} & a_{11} & a_{12} & \ldots & a_{1 s} \\ c_{2} & a_{21} & a_{22} & \ldots & a_{2 s} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ c_{s} & a_{s 1} & a_{s 2} & \ldots & a_{s s} \\ \hline & b_{1} & b_{2} & \ldots & b_{s} \end{array}\end{split}\]
Parameters:
  • f (callable) – The derivative function.

  • show_code (bool) – Whether show the formatted code.

  • dt (float) – The numerical precision.