Lorenz63
The Lorenz (1963) system is the standard low-order benchmark for deterministic chaos: three coupled ordinary differential equations,
which model convective roll motion in a truncated Rayleigh-Benard problem. At the classical parameters (\(\sigma=10\), \(\rho=28\), \(\beta=8/3\)), the system is chaotic with leading Lyapunov exponent \(\lambda_1 \approx 0.906\), so two trajectories starting a distance \(\epsilon\) apart diverge to order-one separation within a Lyapunov time \(1/\lambda_1 \approx 1.1\).

Time evolution of \(x\), \(y\) and \(z\) for \(\rho=28\), past the initial transient. Left: the full run. Right: the last four Lyapunov times, showing the characteristic double-lobe switching of the attractor.
Quickstart
from dynamodels.physical import Lorenz63
model = Lorenz63(rho=28., sigma=10., beta=8./3, dt=0.02)
psi, t = model.time_integrate(Nt=5000)
model.update_history(psi, t)
model.visualize_attractor() # the classical butterfly, in 3-D and its three projections
model.close()
observe_dims (default [0, 1, 2], all three states) selects which
components are observable; Lorenz63(observe_dims=[0]) restricts the model to
observing \(x\) alone, as in a partial-observation data-assimilation setup.
Nonlinear diagnostics

Diagnostics from ntsa.characterize, left to right: the
observable time series with a zoomed inset; power spectral density; the 3-D
delay-embedded portrait; the first-return map of the maxima; a
plane-crossing Poincare section; a recurrence plot; a 3-D classical-MDS
embedding of the full state; and the Lyapunov spectrum, confirming the
chaotic classification.
Reference
Lorenz, E. N. (1963). Deterministic nonperiodic flow. Journal of the Atmospheric Sciences, 20(2), 130-141.
API
dynamodels.physical.lorenz63.Lorenz63
Bases: Model
Lorenz (1963) system — chaotic benchmark with three state variables.
With the classical parameters (\(\sigma = 10\), \(\rho = 28\), \(\beta = 8/3\)) the system is chaotic with leading Lyapunov exponent \(\lambda_1 \approx 0.906\).
References
Lorenz (1963). Deterministic nonperiodic flow. J. Atmos. Sci., 20, 130–141.
Source code in dynamodels/physical/lorenz63.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | |
time_derivative(t, psi, sigma, rho, beta)
staticmethod
Calculates the time derivative of the Lorenz 63 system. Note: This derivative must handle the augmented state vector (psi). The augmented parameters are stored after the core state (x, y, z).
Source code in dynamodels/physical/lorenz63.py
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
visualize_attractor(psi_cases=None, **kwargs)
Visualizes the Lorenz attractor for given state trajectories.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
psi_cases
|
list
|
State trajectories to plot, each of shape |
None
|
**kwargs
|
Plotting options forwarded to the helper ( |
{}
|
Source code in dynamodels/physical/lorenz63.py
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | |