reservoirpy.datasets.lorenz96#

reservoirpy.datasets.lorenz96(n_timesteps, warmup=0, N=36, F=8.0, dF=0.01, h=0.01, x0=None, **kwargs)[source]#

Lorenz96 attractor timeseries as defined by Lorenz in 1996 [17].

\[\frac{\mathrm{d}x_i}{\mathrm{d} t} = (x_{i+1} - x_{i-2}) x_{i-1} - x_i + F\]

where \(i = 1, \dots, N\) and \(x_{-1} = x_{N-1}\) and \(x_{N+1} = x_1\) and \(N \geq 4\).

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 36) – Dimension of the system.

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

  • dF (float, default to 0.01) – Perturbation applied to initial condition if x0 is None.

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

  • x0 (array-like of shape (N,), default to None) – Initial conditions of the system. If None, the array is initialized to an array of shape (N, ) with value F, except for the first value of the array that takes the value F + dF.

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

Returns:

Lorenz96 timeseries.

Return type:

array of shape (n_timesteps - warmup, N)

References