reservoirpy.datasets.rabinovich_fabrikant#

reservoirpy.datasets.rabinovich_fabrikant(
n_timesteps: int,
alpha: float = 1.1,
gamma: float = 0.89,
x0: list | ndarray = [-1, 0, 0.5],
h: float = 0.05,
**kwargs,
) ndarray[source]#

Rabinovitch-Fabrikant system [12] [13] timeseries.

\[\begin{split}\frac{\mathrm{d}x}{\mathrm{d}t} &= y(z - 1 + x^2) + \gamma x \\ \frac{\mathrm{d}y}{\mathrm{d}t} &= x(3z + 1 - x^2) + \gamma y \\ \frac{\mathrm{d}z}{\mathrm{d}t} &= -2z(\alpha + xy)\end{split}\]
Parameters:
  • n_timesteps (int) – Number of timesteps to generate.

  • alpha (float, default to 1.1) – \(\alpha\) parameter of the system.

  • gamma (float, default to 0.89) – \(\gamma\) parameter of the system.

  • x0 (array-like of shape (3,), default to [-1, 0, 0.5]) – Initial conditions of the system.

  • h (float, default to 0.05) – Time delta between two discrete timesteps.

  • **kwargs – Other parameters to pass to the scipy.integrate.solve_ivp solver.

Returns:

Rabinovitch-Fabrikant system timeseries.

Return type:

array of shape (n_timesteps, 3)

Examples

>>> from reservoirpy.datasets import rabinovich_fabrikant
>>> timeseries = rabinovich_fabrikant(2500)
>>> timeseries.shape
(2500, 3)
../../_images/reservoirpy-datasets-rabinovich_fabrikant-1.png

References