The Virtual Brain Project

Previous topic

models Package

Next topic

Noise

This Page

Integrators

Class diagram for tvb.simulator.integrators

Defines a set of integration methods for both deterministic and stochastic differential equations.

Using an integration step size dt from the following list:
[0.244140625, 0.1220703125, 0.06103515625, 0.048828125, 0.0244140625, 0.01220703125, 0.009765625, 0.006103515625, 0.0048828125]

will be consistent with Monitor periods corresponding to any of [4096, 2048, 1024, 512, 256, 128] Hz

# TODO: error analysis

class tvb.simulator.integrators.Integrator(**kwargs)[source]

The Integrator class is a base class for the integration methods...

[1](1, 2, 3) Kloeden and Platen, Springer 1995, Numerical solution of stochastic differential equations.
[2]Riccardo Mannella, Integration of Stochastic Differential Equations on a Computer, Int J. of Modern Physics C 13(9): 1177–1194, 2002.
[3]R. Mannella and V. Palleschi, Fast and precise algorithm for computer simulation of stochastic differential equations, Phys. Rev. A 40: 3381, 1989.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

dt

Declares a float. This is different from Attr(field_type=float). The former enforces float subtypes. This allows any type that can be safely cast to the declared float type according to numpy rules.

Reading and writing this attribute is slower than a plain python attribute. In performance sensitive code you might want to use plain python attributes or even better local variables.

bounded_state_variable_indices

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_boundaries

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

clamped_state_variable_indices

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

clamped_state_variable_values

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

scheme(X, dfun, coupling, local_coupling, stimulus)[source]

The scheme of integrator should take a state and provide the next state in time, e.g. for a differential equation, scheme should take \(X\) and provide an appropriate \(X + dX\) (dfun in the code).

bound_state(X)[source]
clamp_state(X)[source]
class tvb.simulator.integrators.IntegratorStochastic(**kwargs)[source]

The IntegratorStochastic class is a base class for the stochastic integration methods. It derives from the Integrator abstract base class.

We consider a stochastic differential equation has the generic form:

\[\dot{X}_i(t) = dX_i(\vec{X}) + g_i(\vec{X}) \xi(t)\]

where we assume that the stochastic process \(\xi\) is a Gaussian forcing. In the deterministic case, \(g(X)\) would be zero. The full algorithm, for one external stochastic forcing which is additive, is:

\[X_i(t) = X_i(0) + g_i(X) Z_1(t) + dX_i t + Z_2(t) dX_{i,k} g_k(X) + 0.5 dX_{i,jk} g_j(X) g_k(X) Z_3(t) + 0.5 t^2 dX_{i,j} dX_j\]

where \(Z_1\), \(Z_2\) and \(Z_3\) are Gaussian variables, assuming the Einstein notation and defining:

\[dX_{i,j} = \frac{\partial dX_i}{\partial X_j}\]
noise : tvb.simulator.integrators.IntegratorStochastic.noise = Attr(field_type=<class ‘tvb.simulator.noise.Noise’>, default=<tvb.simulator.noise.Additive object at 0x7f71b3cbca50>, required=True)
The stochastic integrator’s noise source. It incorporates its own instance of Numpy’s RandomState.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

noise

An Attr declares the following about the attribute it describes: * the type * a default value shared by all instances * if the value might be missing * documentation It will resolve to attributes on the instance.

class tvb.simulator.integrators.HeunDeterministic(**kwargs)[source]
It is a simple example of a predictor-corrector method. It is also known as modified trapezoidal method, which uses the Euler method as its predictor. And it is also a implicit integration scheme.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

scheme(X, dfun, coupling, local_coupling, stimulus)[source]

From [1]:

\[\begin{split}X_{n+1} &= X_n + dt (dX(t_n, X_n) + dX(t_{n+1}, \tilde{X}_{n+1})) / 2 \\ \tilde{X}_{n+1} &= X_n + dt dX(t_n, X_n)\end{split}\]

cf. Equation 1.11, page 283.

class tvb.simulator.integrators.HeunStochastic(**kwargs)[source]
It is a simple example of a predictor-corrector method. It is also known as modified trapezoidal method, which uses the Euler method as its predictor.
noise : tvb.simulator.integrators.IntegratorStochastic.noise = Attr(field_type=<class ‘tvb.simulator.noise.Noise’>, default=<tvb.simulator.noise.Additive object at 0x7f71b3cbca50>, required=True)
The stochastic integrator’s noise source. It incorporates its own instance of Numpy’s RandomState.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

scheme(X, dfun, coupling, local_coupling, stimulus)[source]

From [2]:

\[X_i(t) = X_i(t-1) + dX(X_i(t)/2 + dX(X_i(t-1))) dt + g_i(X) Z_1\]

in our case, \(noise = Z_1\)

See page 1180.

class tvb.simulator.integrators.EulerDeterministic(**kwargs)[source]
It is the simplest difference methods for the initial value problem. The recursive structure of Euler scheme, which evaluates approximate values to the Ito process at the discretization instants only, is the key to its successful implementation.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

scheme(X, dfun, coupling, local_coupling, stimulus)[source]
\[X_{n+1} = X_n + dt \, dX(t_n, X_n)\]

cf. Equations 1.3 and 1.13, pages 305 and 306 respectively.

class tvb.simulator.integrators.EulerStochastic(**kwargs)[source]
It is the simplest difference methods for the initial value problem. The recursive structure of Euler scheme, which evaluates approximate values to the Ito process at the discretization instants only, is the key to its successful implementation.
noise : tvb.simulator.integrators.IntegratorStochastic.noise = Attr(field_type=<class ‘tvb.simulator.noise.Noise’>, default=<tvb.simulator.noise.Additive object at 0x7f71b3cbca50>, required=True)
The stochastic integrator’s noise source. It incorporates its own instance of Numpy’s RandomState.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

scheme(X, dfun, coupling, local_coupling, stimulus)[source]

Ones of the simplest time discrete approximations of an Ito process is Euler-Maruyama approximation, that satisfies the scalar stochastic differential equation (From [1], page 305):

\[X_{n+1} = X_n + dX(t_n, X_n) \, dt + g(X_n) Z_1\]

in our case, \(noise = Z_1\)

cf. Equations 1.3 and 1.13, pages 305 and 306 respectively.

class tvb.simulator.integrators.RungeKutta4thOrderDeterministic(**kwargs)[source]
The Runge-Kutta method is a standard procedure with most one-step methods.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

scheme(X, dfun, coupling, local_coupling=0.0, stimulus=0.0)[source]

The classical 4th order Runge-Kutta method is an explicit method. The 4th order Runge-Kutta methods are the most commonly used, representing a good compromise between accuracy and computational effort.

From [1], pages 289-290, cf. Equation 2.8

\[\begin{split}y_{n+1} &= y_n + 1/6 h (k_1 + 2 k_2 + 2 k_3 + k_4) \\ t_{n+1} &= t_n + h \\ k_1 &= f(t_n, y_n) \\ k_2 &= f(t_n + h/2, y_n + h k_1 / 2) \\ k_3 &= f(t_n + h/2, y_n + h k_2 / 2) \\ k_4 &= f(t_n + h, y_n + h k_3)\end{split}\]
class tvb.simulator.integrators.Identity(**kwargs)[source]

The Identity integrator does not apply any scheme to the provided dfun, only returning its results.

This allows the model to determine its stepping scheme directly, and may be used for difference equations and cellular automata.

dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

scheme(X, dfun, coupling=None, local_coupling=0.0, stimulus=0.0)[source]

The identity scheme simply returns the results of the dfun and stimulus.

\[x_{n+1} = f(x_{n})\]
class tvb.simulator.integrators.SciPyODEBase[source]

Provides a base class for integrators using SciPy’s ode class.

class tvb.simulator.integrators.SciPyODE[source]
scheme(X, dfun, coupling, local_coupling, stimulus)[source]
class tvb.simulator.integrators.SciPySDE[source]
scheme(X, dfun, coupling, local_coupling, stimulus)[source]
class tvb.simulator.integrators.VODE(**kwargs)[source]
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

class tvb.simulator.integrators.VODEStochastic(**kwargs)[source]
noise : tvb.simulator.integrators.IntegratorStochastic.noise = Attr(field_type=<class ‘tvb.simulator.noise.Noise’>, default=<tvb.simulator.noise.Additive object at 0x7f71b3cbca50>, required=True)
The stochastic integrator’s noise source. It incorporates its own instance of Numpy’s RandomState.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

class tvb.simulator.integrators.Dopri5(**kwargs)[source]
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

class tvb.simulator.integrators.Dopri5Stochastic(**kwargs)[source]
noise : tvb.simulator.integrators.IntegratorStochastic.noise = Attr(field_type=<class ‘tvb.simulator.noise.Noise’>, default=<tvb.simulator.noise.Additive object at 0x7f71b3cbca50>, required=True)
The stochastic integrator’s noise source. It incorporates its own instance of Numpy’s RandomState.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

class tvb.simulator.integrators.Dop853(**kwargs)[source]
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

class tvb.simulator.integrators.Dop853Stochastic(**kwargs)[source]
noise : tvb.simulator.integrators.IntegratorStochastic.noise = Attr(field_type=<class ‘tvb.simulator.noise.Noise’>, default=<tvb.simulator.noise.Additive object at 0x7f71b3cbca50>, required=True)
The stochastic integrator’s noise source. It incorporates its own instance of Numpy’s RandomState.
dt : tvb.simulator.integrators.Integrator.dt = Float(field_type=<class ‘float’>, default=0.01220703125, required=True)
The step size used by the integration routine in ms. This should be chosen to be small enough for the integration to be numerically stable. It is also necessary to consider the desired sample period of the Monitors, as they are restricted to being integral multiples of this value. The default value is set such that all built-in models are numerically stable with there default parameters and because it is consitent with Monitors using sample periods corresponding to powers of 2 from 128 to 4096Hz.

bounded_state_variable_indices : tvb.simulator.integrators.Integrator.bounded_state_variable_indices = NArray(label=”indices of the state variables to be bounded by the integrators within the boundaries in the boundaries’ values array”, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

state_variable_boundaries : tvb.simulator.integrators.Integrator.state_variable_boundaries = NArray(label=’The boundary values of the state variables’, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_indices : tvb.simulator.integrators.Integrator.clamped_state_variable_indices = NArray(label=’indices of the state variables to be clamped by the integrators to the values in the clamped_values array’, dtype=int64, default=None, dim_names=(), ndim=None, required=False)

clamped_state_variable_values : tvb.simulator.integrators.Integrator.clamped_state_variable_values = NArray(label=’The values of the state variables which are clamped ‘, dtype=float64, default=None, dim_names=(), ndim=None, required=False)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)