Skip to content

LorenzCoupled

Systems / ODEs / Chaotic attractors

Two identical Lorenz subsystems diffusively coupled through their x-variables — the canonical testbed for chaos synchronization.

continuous · ODE6 dimensionssynchronization

projection (x1, y1, z1)
projection (x1, x2, z1)

Interactive: drag to rotate

Definition

\[ \begin{aligned} \dot{x1} &= \kappa \left(- x_{1} + x_{2}\right) + \sigma \left(- x_{1} + y_{1}\right) \\ \dot{y1} &= \rho x_{1} - x_{1} z_{1} - y_{1} \\ \dot{z1} &= - \beta z_{1} + x_{1} y_{1} \\ \dot{x2} &= \kappa \left(x_{1} - x_{2}\right) + \sigma \left(- x_{2} + y_{2}\right) \\ \dot{y2} &= \rho x_{2} - x_{2} z_{2} - y_{2} \\ \dot{z2} &= - \beta z_{2} + x_{2} y_{2} \end{aligned} \]

Parameters

Symbol Default Role
beta 2.66667 geometric aspect ratio (shared)
kappa 2.85 diffusive coupling strength between the two subsystems
rho 28 Rayleigh ratio (shared)
sigma 10 Prandtl number (shared)

State variables: x1, y1, z1, x2, y2, z2

Properties

Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
$\nabla\!\cdot f = - 2 \beta - 2 \kappa - 2 \sigma - 2$
constant
Equilibria
9 equilibria
0 stable · 9 unstable

Use it in TSDynamics

import tsdynamics as ts

system = ts.systems.LorenzCoupled()
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

Lorenz (1963), J. Atmos. Sci. 20, 130-141
doi:10.1175/1520-0469(1963)020<0130:dnf>2.0.co;2

BibTeX
@misc{lorenzcoupled,
  title = {LorenzCoupled system},
  note = {Lorenz (1963), J. Atmos. Sci. 20, 130-141},
  doi = {10.1175/1520-0469(1963)020<0130:dnf>2.0.co;2}
}