# LinearStateUpdater class

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

class brian2.stateupdaters.exact.LinearStateUpdater

  Bases: `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)

    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.