reservoirpy.datasets.kuramoto_sivashinsky#

reservoirpy.datasets.kuramoto_sivashinsky(n_timesteps, warmup=0, N=128, M=16, x0=None, h=0.25)[source]#

Kuramoto-Sivashinsky oscillators [19] [20] [21].

\[y_t = -yy_x - y_{xx} - y_{xxxx}, ~~ x \in [0, 32\pi]\]

This 1D partial differential equation is solved using ETDRK4 (Exponential Time-Differencing 4th order Runge-Kutta) method, as described in [22].

Parameters:
  • n_timesteps (int) – Number of timesteps to generate.

  • warmup (int, default to 0) – Number of timesteps to discard at the beginning of the signal, to remove transient states.

  • N (int, default to 128) – Dimension of the system.

  • M (float, default to 0.2) – Number of points for complex means. Modify behaviour of the resulting multivariate timeseries.

  • x0 (array-like of shape (N,), default to None.) – Initial conditions of the system. If None, x0 is equal to \(\cos (\frac{y}{M}) * (1 + \sin(\frac{y}{M}))\) with \(y = 2M\pi x / N, ~~ x \in [1, N]\).

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

Returns:

Kuramoto-Sivashinsky equation solution.

Return type:

array of shape (n_timesteps - warmup, N)

References