LinearStateUpdater class

(Shortest import: from brian2.stateupdaters.exact import LinearStateUpdater)

class brian2.stateupdaters.exact.LinearStateUpdater[source]

Bases: brian2.stateupdaters.base.StateUpdateMethod

A state updater for linear equations. Derives a state updater step from the analytical solution given by sympy. Uses the matrix exponential (which is only implemented for diagonalizable matrices in sympy).

Methods

__call__(equations[, variables, method_options]) Generate abstract code from equations.

Details

__call__(equations, variables=None, method_options=None)[source]

Generate abstract code from equations. The method also gets the the variables because some state updaters have to check whether variable names reflect other state variables (which can change from timestep to timestep) or are external values (which stay constant during a run) For convenience, this arguments are optional – this allows to directly see what code a state updater generates for a set of equations by simply writing euler(eqs), for example.

Parameters:

equations : Equations

The model equations.

variables : dict, optional

The Variable objects for the model variables.

method_options : dict, optional

Additional options specific to the state updater.

Returns :

——- :

code : str

The abstract code performing a state update step.