Lorenz Attractor
Deterministic Chaos in a Three-Dimensional ODE
This extra session extends the ODE material into deterministic chaos. The Lorenz system is defined by three coupled differential equations, yet its long-term trajectories can become highly sensitive to tiny changes in initial conditions (Lorenz 1963; Strogatz 2024).
From ODEs to Chaos
Earlier ODE sessions focused on phase portraits, fixed points, oscillations, and coupling.
The Lorenz system keeps the same ingredients, a deterministic vector field and a time-stepping scheme, but adds a new phenomenon:
- trajectories remain bounded,
- the system is fully deterministic,
- long-term prediction still becomes difficult because nearby initial conditions diverge.
This is the core idea behind deterministic chaos.
Case Studies
Start with the vector field, fixed points, and numerical simulation.
Then compare nearby initial conditions and visualize sensitivity directly.
When both parts are clear, move to the assignment.
Learning Goals
- Implement the Lorenz vector field as a three-dimensional ODE.
- Simulate the trajectory with forward Euler time stepping.
- Plot the attractor in three dimensions.
- Compare nearby trajectories quantitatively.
- Explain why a deterministic system can still have limited predictability.
Flow of This Session
- Write the Lorenz right-hand side.
- Integrate a trajectory from one initial condition.
- Visualize the butterfly-shaped attractor.
- Compare two nearby trajectories.
- Interpret the divergence as sensitivity to initial conditions.
What do we need?
numpy
Store the state, step the ODE forward, and measure trajectory separation.
matplotlib.pyplot
Plot three-dimensional trajectories and diagnostic curves.
Why use Euler here?
Euler’s method is not the most accurate integrator, but it is simple enough that you can see how numerical time stepping turns a continuous ODE into a computable trajectory. That makes it a good teaching entry point before you move to higher-order solvers.
The Lorenz attractor is bounded but not periodic. A trajectory keeps moving forever without settling into a fixed point or a simple closed orbit.