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.
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
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
state-dependent
Equilibria
133 equilibria
1 stable · 132 unstable
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