Lorenz System

The classic Lorenz 1963 system.

The Lorenz system, introduced by Edward Lorenz in 1963 as a simplified model of atmospheric convection, is the quintessential example of a chaotic system. It exclusively exhibits self-excited attractors, making it a useful negative control when searching for hidden attractors.

Equations

x˙=σ(yx)y˙=x(ρz)yz˙=xyβz\begin{align} \dot{x} &= \sigma (y - x) \\ \dot{y} &= x (\rho - z) - y \\ \dot{z} &= x y - \beta z \end{align}

Parameters

The default parameters in the registry correspond to the classic chaotic regime.

ParameterSymbolDefault ValueDescription
sigmaσ\sigma10.010.0Prandtl number
rhoρ\rho28.028.0Rayleigh number
betaβ\beta8/32.6678/3 \approx 2.667Geometric factor

Equilibria

The Lorenz system has three equilibria for ρ>1\rho > 1: the origin, and two convective fixed points.

O0=(0,0,0)O+=(β(ρ1),β(ρ1),ρ1)O=(β(ρ1),β(ρ1),ρ1)\begin{align} O_0 &= (0, 0, 0) \\ O_+ &= (\sqrt{\beta(\rho-1)}, \sqrt{\beta(\rho-1)}, \rho-1) \\ O_- &= (-\sqrt{\beta(\rho-1)}, -\sqrt{\beta(\rho-1)}, \rho-1) \end{align}

Usage

You can load the Lorenz system from the registry:

from hidden_attractors import get_system

lorenz = get_system("lorenz")

params = lorenz.default_params()
eq = lorenz.equilibria_fn(params)

Because the Lorenz attractor intersects the neighborhoods of its unstable equilibria, all valid trajectories in the classic chaotic regime will be classified as BasinLabel.SELF_EXCITED.