Lorenz attractor
The Lorenz attractor, named for Edward N. Lorenz, is a structure (a so-called strange attractor) that arises in the study of the Lorenz Oscillator, a 3-dimensional dynamical system that exhibits chaotic flow. The Lorenz attractor is noted for its figure eight shape.
Contents |
[edit] Overview
In 1963, Edward Lorenz developed a simplified mathematical model for convection rolls arising in the atmosphere. His model is known as the Lorenz Oscillator and the equations are known as the Lorenz Equations. The Lorenz Equations also arise in simplified models for lasers (Haken 1975) and dynamos (Knobloch 1981).
From a technical standpoint, the Lorenz oscillator is nonlinear, three-dimensional and deterministic. For a certain set of parameters, the system exhibits chaotic behavior and displays what is today called a strange attractor. The strange attractor in this case is a fractal of Hausdorff dimension between 2 and 3. Grassberger (1983) has estimated the Hausdorff dimension to be 2.06 ± 0.01 and the correlation dimension to be 2.05 ± 0.01.
It's important to note that not all initial states converge to the Lorenz attractor. (See below for more details.)
While the behavior of the Lorenz Oscillator is of mathematical interest, one should be careful in drawing conclusions about the behavior of real-world systems modeled by the Lorenz Equations.
[edit] Equations
The equations that govern the Lorenz oscillator (known as the Lorenz Equations) are:
where
is called the Prandtl number and
is called the Rayleigh number. All
,
,
, but usually
,
and
is varied. The system exhibits chaotic behavior for
but displays knotted periodic orbits for other values of
. For example, with
it becomes a T(3,2) torus knot.
A Saddle-node bifurcation occurs at
. When σ ≠ 0 and β (ρ-1) ≥ 0, the equations generate three critical points. The critical points at (0,0,0) correspond to no convection, and the critical points at
correspond to steady convection. This pair is stable only if
, which can hold only for positive
if
.
Sensitive dependence on the initial condition Time t=1 (Enlarge) Time t=2 (Enlarge) Time t=3 (Enlarge) These figures — made using ρ=28, σ = 10 and β = 8/3 — show three time segments of the 3-D evolution of 2 trajectories (one in blue, the other in yellow) in the Lorenz attractor starting at two initial points that differ only by 10-5 in the x-coordinate. Initially, the two trajectories seem coincident (only the yellow one can be seen, as it is drawn over the blue one) but, after some time, the divergence is obvious. Java animation of the Lorenz attractor shows the continuous evolution.
[edit] Rayleigh number
The Lorenz attractor for different values of ρ ρ=14, σ=10, β=8/3 (Enlarge) ρ=13, σ=10, β=8/3 (Enlarge) ρ=15, σ=10, β=8/3 (Enlarge) ρ=28, σ=10, β=8/3 (Enlarge) For small values of ρ, the system is stable and evolves to one of two fixed point attractors. When ρ is larger than 24.28, the fixed points become repulsors and the trajectory is repelled by them in a very complex way, evolving without ever crossing itself. Java animation showing evolution for different values of ρ
[edit] Source code
The source code to simulate the Lorenz attractor in GNU Octave follows.
% Lorenz Attractor equations solved by ODE Solve %% x' = sigma*(y-x) %% y' = x*(rho - z) - y %% z' = x*y - beta*z function dx = lorenzatt(X) rho = 28; sigma = 10; beta = 8/3; dx = zeros(3,1); dx(1) = sigma*(X(2) - X(1)); dx(2) = X(1)*(rho - X(3)) - X(2); dx(3) = X(1)*X(2) - beta*X(3); return end
% Using LSODE to solve the ODE system. clear all close all lsode_options("absolute tolerance",1e-3) lsode_options("relative tolerance",1e-4) t = linspace(0,25,1e3); X0 = [0,1,1.05]; [X,T,MSG]=lsode(@lorenzatt,X0,t); T MSG plot3(X(:,1),X(:,2),X(:,3)) view(45,45)
% A simple Lorenz Solver in MatLab code function dxdt=myLorenz(t,x) % The RHS of the Lorenz attractor % Save this function in a separate file 'myLorenz.m' sigma = 10; r = 28; b = 8/3; dxdt=[ sigma*(x(2)-x(1)); r*x(1)-x(2)-x(1)*x(3); x(1)*x(2)-b*x(3)]; end
%% Main program: Save the program in a separate .m file and run it. clear all; % clear all variables t=linspace(0,50,3000)'; % time variables y0=[-1;3;4]; % Initial conditions [t,Y] = ode45(@myLorenz,t,y0); %Invoking built-in solver 'ode45' plot3(Y(:,1),Y(:,2),Y(:,3)); % Plot results grid on;
[edit] See also
[edit] References
- Frøyland, J., Alfsen, K. H. (1984). "Lyapunov-exponent spectra for the Lorenz model". Phys. Rev. A 29 (5): 2928–2931. doi:10.1103/PhysRevA.29.2928.
- P. Grassberger and I. Procaccia (1983). "Measuring the strangeness of strange attractors". Physica D 9 (1–2): 189–208. Bibcode 1983PhyD....9..189G. doi:10.1016/0167-2789(83)90298-1.
- Haken, H. (1975). "Analogy between higher instabilities in fluids and lasers". Physics Letters A 53 (1): 77–78. doi:10.1016/0375-9601(75)90353-9.
- Lorenz, E. N. (1963). "Deterministic nonperiodic flow". J. Atmos. Sci. 20 (2): 130–141. Bibcode 1963JAtS...20..130L. doi:10.1175/1520-0469(1963)020<0130:DNF>2.0.CO;2.
- Knobloch, Edgar (1981). "Chaos in the segmented disc dynamo". Physics Letters A 82 (9): 439–440. doi:10.1016/0375-9601(81)90274-7.
- Strogatz, Steven H. (1994). Nonlinear Systems and Chaos. Perseus publishing.
- Tucker, W. (2002). "A Rigorous ODE Solver and Smale's 14th Problem". Found. Comp. Math. 2: 53–117. http://www.math.uu.se/~warwick/main/rodes.html.
[edit] External links
| Wikimedia Commons has media related to: Lorenz attractors |
- Weisstein, Eric W., "Lorenz attractor" from MathWorld.
- Lorenz attractor by Rob Morris, Wolfram Demonstrations Project.
- Lorenz equation on planetmath.org
- For drawing the Lorenz attractor, or coping with a similar situation using ANSI C and gnuplot.
- Synchronized Chaos and Private Communications, with Kevin Cuomo. The implementation of Lorenz attractor in an electronic circuit.
- Lorenz attractor interactive animation (you need the Adobe Shockwave plugin)
- Levitated.net: computational art and design
- 3D Attractors: Mac program to visualize and explore the Lorenz attractor in 3 dimensions
- 3D VRML Lorenz attractor (you need a VRML viewer plugin)
- Essay on Lorenz attractors in J - see J programming language
- Applet for non-linear simulations (select "Lorenz attractor" preset), written by Viktor Bachraty in Jython
- Lorenz Attractor implemented in analog electronic
- Visualizing the Lorenz attractor in 3D with Python and VTK
- Lorenz Attractor implemented in Flash









