Integrated on the server with SciPy · rendered with Plotly · drag to rotate, scroll to zoom
server compute
0 ms · 0 integrations
λ (largest)
—
|Δ| > 0.1 at
—
separation at t_max
—
finite-time estimate over t ∈ [5, 40]
ẋ = σ(y − x) ẏ = x(ρ − z) − y ż = xy − βz
σ (Prandtl)
10.00ρ (Rayleigh)
28.00chaos onset near ρ ≈ 24.7
β
2.667integration time
40λ estimate sharpens as this grows
sample points
5,000perturbation δ (log₁₀)
1e-4twin starts δ away in x
Presets
What you are looking at
The dashed blue curve is the linearised growth: a tangent vector evolved with the variational equation, which grows exponentially forever because nothing constrains it. The orange curve is the real separation between two trajectories seeded δ apart — identical to the linear estimate while δ stays small, then saturating at the size of the attractor, because two points on a bounded set can only get so far apart. The slope of the straight section is λ.
λ converges slowly. At t_max = 40 expect roughly 0.79 for the classic parameters; push t_max up and it climbs toward the accepted 0.906. That drift is a property of finite-time Lyapunov exponents, not of the solver.
Truncation error is amplified at the same rate as any physical perturbation, so below δ ≈ 1e-6 the divergence is arithmetic rather than dynamics. Enable the noise-floor control to integrate a third time at rtol=1e-11 and plot that error alongside.