Integration

See Numerical integration for an overview.

StateUpdaters

Typically you don’t need to worry about StateUpdater objects because they are automatically created from the differential equations defining your model. TODO: more details about this.

class brian.LinearStateUpdater(M, B=None, clock=None)

A linear model with dynamics dX/dt = M(X-B) or dX/dt = MX.

Initialised as:

LinearStateUpdater(M[,B[,clock]])

with arguments:

M
Matrix defining the differential equation.
B
Optional linear term in the differential equation.
clock
Optional clock.

Computes an update matrix A=exp(M dt) for the linear system, and performs the update step.

TODO: more mathematical details?

class brian.LazyStateUpdater(numstatevariables=1, clock=None)

A StateUpdater that does nothing.

Initialised as:

LazyStateUpdater([numstatevariables=1[,clock]])

with arguments:

numstatevariables
The number of state variables to create.
clock
An optional clock to determine when it updates, although the update function does nothing so…

TODO: write docs for these StateUpdaters:

  • StateUpdater, LinearStateUpdater more details, NonlinearStateUpdater, NonlinearStateUpdater2, ExponentialEulerStateUpdater, NonlinearStateUpdaterRK2, NonlinearStateUpdaterBE, SynapticNoise