# brainpy.integrators.sde.normal.Heun#

class brainpy.integrators.sde.normal.Heun(f, g, dt=None, name=None, show_code=False, var_type=None, intg_type=None, wiener_type=None, state_delays=None, dyn_vars=None)[source]#

The Euler-Heun method for Stratonovich integral scheme.

Its mathematical expression is given by

\begin{split}\begin{aligned} Y_{n+1} &=Y_{n}+f_{n} h+\frac{1}{2}\left[g_{n}+g\left(\bar{Y}_{n}\right)\right] \Delta W_{n} \\ \bar{Y}_{n} &=Y_{n}+g_{n} \Delta W_{n} \\ \Delta W_{n} &=\left[W_{t+h}-W_{t}\right] \sim \sqrt{h} \mathcal{N}(0,1) \end{aligned}\end{split}
__init__(f, g, dt=None, name=None, show_code=False, var_type=None, intg_type=None, wiener_type=None, state_delays=None, dyn_vars=None)[source]#

Methods

 __init__(f, g[, dt, name, show_code, ...]) load_states(filename[, verbose]) Load the model states. nodes([method, level, include_self]) Collect all children nodes. register_implicit_nodes(*nodes, **named_nodes) register_implicit_vars(*variables, ...) save_states(filename[, variables]) Save the model states. set_integral(f) Set the integral function. step(*args, **kwargs) 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

 arguments All arguments when calling the numer integrator of the differential equation. dt The numerical integration precision. integral The integral function. name Name of the model. parameters The parameters defined in the differential equation. state_delays State delays. variables The variables defined in the differential equation.