HindmarshRose¶
Systems / ODEs / Chemical & biological systems
A three-variable neuron model reproducing spiking and bursting with chaotic interspike patterns.
Definition¶
\[
\begin{aligned}
\dot{x} &= - \frac{a x^{3}}{tx} + \frac{b x^{2}}{tx} - x + \frac{y}{tx} + \frac{z}{tx} \\
\dot{y} &= - a x^{3} - x^{2} \left(- b + d\right) + z \\
\dot{z} &= \frac{c}{tz} - \frac{s x}{tz} - \frac{z}{tz}
\end{aligned}
\]
Parameters¶
| Symbol | Default | Role |
|---|---|---|
a |
0.49 |
coefficient of the cubic spike term |
b |
1 |
coefficient of the quadratic spike term |
c |
0.0322 |
constant of the fast recovery dynamics |
d |
1 |
constant of the fast recovery dynamics |
s |
1 |
strength of the slow adaptation feedback |
tx |
0.03 |
timescale constant of the fast (x) variable |
tz |
0.8 |
timescale constant of the slow (z) variable |
State variables: x, y, z
Properties¶
Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
$\nabla\!\cdot f = - \frac{3 a x^{2}}{tx} + \frac{2 b x}{tx} - 1 - \frac{1}{tz}$
state-dependent
state-dependent
Equilibria
1 equilibria
0 stable · 1 unstable
0 stable · 1 unstable
Use it in TSDynamics¶
import tsdynamics as ts
system = ts.systems.HindmarshRose()
traj = system.run(final_time=100.0, dt=0.01)
ts.plot(traj)
spectrum = ts.analysis.lyapunov_spectrum(system)
ts.analysis.kaplan_yorke_dimension(spectrum)
Reference¶
Hindmarsh & Rose (1984), Proc. R. Soc. Lond. B 221, 87-102
doi:10.1098/rspb.1984.0024