Skip to content

LorenzBounded

Systems / ODEs / Chaotic attractors

The Lorenz attractor reformulated with polynomial corrections that confine it to a bounded region, recovering the standard flow as r grows.

continuous · ODE3 dimensionschaotic

Interactive: drag to rotate

Definition

\[ \begin{aligned} \dot{y_{0}} &= - \sigma y_{0} + \sigma y_{1} + \frac{\sigma y_{0}^{3}}{r^{2}} - \frac{\sigma y_{0}^{2} y_{1}}{r^{2}} + \frac{\sigma y_{0} y_{1}^{2}}{r^{2}} + \frac{\sigma y_{0} y_{2}^{2}}{r^{2}} - \frac{\sigma y_{1}^{3}}{r^{2}} - \frac{\sigma y_{1} y_{2}^{2}}{r^{2}} \\ \dot{y_{1}} &= \rho y_{0} - y_{0} y_{2} - y_{1} - \frac{\rho y_{0}^{3}}{r^{2}} - \frac{\rho y_{0} y_{1}^{2}}{r^{2}} - \frac{\rho y_{0} y_{2}^{2}}{r^{2}} + \frac{y_{0}^{3} y_{2}}{r^{2}} + \frac{y_{0}^{2} y_{1}}{r^{2}} + \frac{y_{0} y_{1}^{2} y_{2}}{r^{2}} + \frac{y_{0} y_{2}^{3}}{r^{2}} + \frac{y_{1}^{3}}{r^{2}} + \frac{y_{1} y_{2}^{2}}{r^{2}} \\ \dot{y_{2}} &= - \beta y_{2} + \frac{\beta y_{0}^{2} y_{2}}{r^{2}} + \frac{\beta y_{1}^{2} y_{2}}{r^{2}} + \frac{\beta y_{2}^{3}}{r^{2}} + y_{0} y_{1} - \frac{y_{0}^{3} y_{1}}{r^{2}} - \frac{y_{0} y_{1}^{3}}{r^{2}} - \frac{y_{0} y_{1} y_{2}^{2}}{r^{2}} \end{aligned} \]

Parameters

Symbol Default Role
beta 2.667 geometric aspect ratio
r 64 bounding radius (larger r recovers unbounded Lorenz)
rho 28 Rayleigh ratio
sigma 10 Prandtl number

Properties

Lyapunov spectrum
$+0.7108,\; +0.007681,\; -11.49$
computed at build
Kaplan–Yorke dimension
$D_{KY} = 2.063$
Divergence ∇·f
$\nabla\!\cdot f = - \beta + \frac{\beta y_{0}^{2}}{r^{2}} + \frac{\beta y_{1}^{2}}{r^{2}} + \frac{3 \beta y_{2}^{2}}{r^{2}} - \sigma - 1 - \frac{2 \rho y_{0} y_{1}}{r^{2}} + \frac{3 \sigma y_{0}^{2}}{r^{2}} - \frac{2 \sigma y_{0} y_{1}}{r^{2}} + \frac{\sigma y_{1}^{2}}{r^{2}} + \frac{\sigma y_{2}^{2}}{r^{2}} + \frac{y_{0}^{2}}{r^{2}} + \frac{3 y_{1}^{2}}{r^{2}} + \frac{y_{2}^{2}}{r^{2}}$
state-dependent
Equilibria
133 equilibria
1 stable · 132 unstable

Define it in TSDynamics

import tsdynamics as ts

sys = ts.systems.LorenzBounded()
traj = sys.integrate(final_time=100.0, dt=0.01)

exps = sys.lyapunov_spectrum()
ts.kaplan_yorke_dimension(exps)

Reference

Sprott & Xiong (2015), Chaos 25, 083101

BibTeX
@misc{lorenzbounded,
  title = {LorenzBounded system},
  note = {Sprott & Xiong (2015), Chaos 25, 083101}
}