pyeeg.simulate.HopfOscillator
- class pyeeg.simulate.HopfOscillator(a=0.01, frequency=10.0, dt=0.001, seed=42)
Two-dimensional Stuart-Landau (Hopf normal-form) oscillator.
The state
(x, y)evolves according to\[\dot{x} = (a - r^2) x - \omega y + I, \quad \dot{y} = (a - r^2) y + \omega x + I\]with \(r^2 = x^2 + y^2\) and \(\omega = 2 \pi f\). For \(a > 0\) the origin is unstable and the oscillator converges to a limit cycle of radius \(\sqrt{a}\) at frequency \(f\).
- Parameters:
a (float) – The bifurcation parameter. Positive values yield a stable limit cycle, negative values a damped oscillator.
frequency (float) – The oscillation frequency in Hz. Must be non-negative.
dt (float) – The integration time step in seconds.
seed (int) – The random seed used to initialise the node’s random number generator.
- Raises:
ValueError – If
frequencyis negative.
Methods
Return the scalar readout of the oscillator.
HopfOscillator.simulate([x0, tmax, noise, I])Simulate the oscillator and return its states and readout.
HopfOscillator.step([I, noise])Advance the oscillator by one integration step (Euler method).