By default, Brian
chooses an integration method automatically, trying to solve the equations
exactly first (for linear equations) and then resorting to numerical algorithms.
It will also take care of integrating stochastic differential equations
appropriately.

Note that in some cases, the automatic choice of integration method will not be
appropriate, because of a choice of parameters that couldn’t be determined in
advance. In this case, typically you will get nan (not a number) values in the
results, or large oscillations. In this case, Brian will generate a warning to
let you know, but will not raise an error.

You will get an INFO message telling you which integration method Brian decided to use,
together with information about how much time it took to apply the integration method
to your equations. If other methods have been tried but were not applicable, you will
also see the time it took to try out those other methods. In some cases, checking
other methods (in particular the 'linear' method which attempts to solve the
equations analytically) can take a considerable amount of time – to avoid wasting
this time, you can always chose the integration method manually (see below). You
can also suppress the message by raising the log level or by explicitly suppressing
'method_choice' log messages – for details, see Logging.

If you prefer to chose an integration algorithm yourself, you can do so using
the method keyword for NeuronGroup, Synapses, or SpatialNeuron.
The complete list of available methods is the following:

'linear': exact integration for linear equations

'independent': exact integration for a system of independent equations,
where all the equations can be analytically solved independently

Each class defines its own list of algorithms it tries to
apply, NeuronGroup and Synapses will use the first suitable method out of
the methods 'linear', 'euler' and 'heun' while SpatialNeuron
objects will use 'linear', 'exponential_euler', 'rk2' or 'heun'.

You can also define your own numerical integrators, see
State update for details.