Dynamical systems and chaos
Fixed points, stability, bifurcations, limit cycles, and chaos in systems that evolve by deterministic rules.
Integrate the Lorenz equations twice, from starting points 10⁻⁹ apart, at a tolerance of 10⁻¹². By t = 23 the separation has grown by a factor of ten billion and the two runs are unrelated. Lorenz found this in 1963 in a model of convection in the atmosphere, and no tolerance setting rescues a forecast from it. The question changes from where the solution goes to what kind of thing it does. A damped pendulum settles to rest, the Belousov-Zhabotinsky reaction oscillates like a chemical clock, a heart cell fires in a rhythm, predator and prey populations cycle, and a column under a growing load buckles at a critical value. Fixed points, limit cycles, bifurcations, and chaos are the names for these outcomes, and they are found more often from geometry than from formulas.
In Python, scipy.integrate.solve_ivp integrates the equations and scipy.optimize.root finds the fixed points. Their stability comes from the eigenvalues of the Jacobian, the matrix of derivatives of the right-hand side, with numpy.linalg.eigvals: a fixed point is stable when every eigenvalue has a negative real part. A Poincaré section is an event function in solve_ivp, and a Lyapunov exponent is a short loop you write yourself. Julia has the dedicated library: DynamicalSystems.jl computes Lyapunov exponents with lyapunovspectrum and Poincaré sections with poincaresos, and BifurcationKit.jl follows solutions as a parameter changes.
Start with the logistic map, where a single line of arithmetic repeated shows period doubling and chaos. Then fixed points and their stability in a system of two variables such as predator and prey, then limit cycles and bifurcations, then chaos in three dimensions. Integrating the equations accurately belongs to ordinary differential equations.
What belongs here
The qualitative behavior of deterministic systems: fixed points and their stability, linearization, bifurcations, limit cycles, chaos, Lyapunov exponents, Poincaré sections, and iterated maps. How to integrate the equations accurately belongs to odes; this topic asks what the solutions do.
0 tutorials by type and language
| Python | Julia | |
|---|---|---|
| Concept | – | – |
| Tool | – | – |
| Recipe | – | – |
| Visualization | – | – |
| Project | – | – |