Date: 12/25/2002 at 19:20:11 From: John Subject: Lorenz equations I don't understand how to plot numbers in Lorenz equations in order to get points I could plot. How do Lorenz equations work, and how do they give you numbers to create the Lorenz attractor? I don't understand how the equations work. What does d stand for? These are the equations: dx/dt = sigma (y-x) dy/dt = rho x - y - xz dz/dt = xy - beta z sigma = 10.0, rho = 28.0, beta = 2.6667.
Date: 12/26/2002 at 04:27:31 From: Doctor Pete Subject: Re: Lorenz equations Hi John, The Lorenz equations are actually a system of nonlinear differential equations. The significance of these equations, which were discovered by Edward Lorenz back in the 60s, is that relatively simple systems such as these could exhibit rather complex (specifically, chaotic) behavior. The chaotic aspect of this system demonstrates that, despite being given the initial conditions to any arbitrary degree of accuracy, one cannot predict a sufficiently advanced state of the system. In other words, the system has built into itself the property of amplifying small perturbations until they become so significant they affect the accuracy of the results. For some years after Lorenz published his paper, mathematicians and physicists did not believe such behavior was even possible at all - and even for those who thought otherwise, conventional wisdom suggested that an extremely complex model would be required. Lorenz, a meteorologist, made his discovery by observing weather phenomena - in particular, convection of fluids (and to a weatherman, the "fluid" he's most interested in is air). He took various mathematical models of fluid convection and simplified them into a system of differential equations that basically led him to the now-famous Lorenz equations. This stripped-down system doesn't really model any real-world situations to a degree that would interest an applied scientist, but Lorenz wasn't concerned with modeling; rather, he wanted to examine what he felt were the fundamental, intrinsic properties of such nonlinear systems. He was more interested in the complexity of behavior than in how this behavior might translate to real-world phenomena. That said, it took years for his work to receive the attention it so well deserved. Many colleagues and peers initially either (1) refused to consider his work because, being interested in how mathematics models the world around them, they gave no thought to abstract models that "don't behave anything like real weather"; or (2) did not believe such behavior was indeed exhibited by these equations, and attributed the results to computational errors. Well, nowadays every mathematician and scientist understands and accepts the idea first put forth by Lorenz, that chaotic behavior can arise naturally from simple nonlinear systems, and by extension, real-world phenomena that are modeled by similar nonlinear systems. That's the mini-history lesson, which you didn't ask for, and might already be aware of, but I felt I needed to provide some context so that you can appreciate the importance of Lorenz's discovery. As for the mathematics of computation, we need to first discuss some basic notation and concepts. First, the variables x, y, and z are visualized as coordinates in 3-dimensional space, and to Lorenz, originally represented three aspects of fluid convection (e.g., temperature and some others that escape me at the moment). The variable t represents time. The parameters sigma, rho, and beta are values Lorenz used to vary the properties of the system; I believe one or more of them represent a temperature differential. One must be very careful to always remember that x, y, and z are actually functions of time; that is, x = x(t), y = y(t), and z = z(t). These three values will change according to what time it is. Last, the "d" is not a variable at all, but is rather a notation used in calculus that indicates the operation of differentiation. A discussion of what precisely this symbol means would take us too far away from what you need to understand at this stage, so let us just loosely describe this concept as "rate of change." In other words, the symbol dx/dt means "the rate of change of the variable x, with respect to the time t." The other derivatives, dy/dt, and dz/dt, are defined similarly. So the system of equations is called "differential equations" because they give the rates of change of the variables as a function of the values of those variables. Think about that for a moment. So how does one plot these equations? The answer is that you can't really plot them exactly; in fact, if we could, they would cease to be interesting! The chaotic nature of the system precludes it from being solved in exact form. But in practical terms, we can approximate a solution, and as it turns out, quite well, too, because of certain global properties of the system. The idea is to use what is called Euler's first-order linear approximation method. The idea is as follows: we "discretize" the parameter t; that is, instead of thinking of time as varying continuously, we think of it as proceeding in discrete "steps." The smaller the steps, the more accurate the approximation. Then the derivative dx/dt becomes a differential, which is just a fraction, (delta)x/(delta)t. So for example, if (delta)t = 0.001, we would have for the first equation (delta)x = (delta)t * (sigma(y(t) - x(t))), = 0.001 * 10 * (y(t) - x(t)) = 0.01 (y(t) - x(t)). What this means is that for a given value of time t, the above equation tells us by how much we must increment x. So the idea is to take the three equations and convert them to their approximations (I will use the capital D for "delta") Dx(t) = (Dt)(sigma)(y(t)-x(t)), Dy(t) = (Dt)(rho x(t) - y(t) - x(t)z(t)) Dz(t) = (Dt)(x(t)y(t) - beta z(t)) and if we really want to make this as simple and concrete as possible, we might write it as x(t + 0.001) = x(t) + (0.001)(10)(y(t) - x(t)), y(t + 0.001) = y(t) + (0.001)(28 x(t) - y(t) - x(t)z(t)) z(t + 0.001) = z(t) + (0.001)(x(t)y(t) - 8/3 z(t)). How do you plot this? Simple. Let x(0) = y(0) = z(0) = 0.0001, or some other small (but nonzero) number. Then recursively compute successive values of x, y, z, for instance, x(0.001) = x(0) + (0.001)(10)(y(0) - x(0)), x(0.002) = x(0.001) + (0.001)(10)(y(0.001) - x(0.001)), etc. Lorenz programmed this into a computer (which had less computing power than a modern pocket calculator), so you can do the same on a home computer. I don't recommend doing this by hand; in any case, it wouldn't be of much use, since it'd be pretty hard to plot points in 3-dimensional space on a 2-dimensional piece of paper! For values of Dt around 0.001, you can get a pretty good picture. Experiment with other values, but get too large and the approximation breaks down, whereas too small a value will make the plotting go very, very slowly. Be careful to observe two things about this system: First, you must save the previous state of (x,y,z), in order to compute the next. In other words, you must not change any of the variables before computing all the new values, because as you can see from the equations, each new value depends on all the old values, so changing one or the other in mid-step will totally ruin your results. Second, x, y, and z do not depend on each other in a direct way, as in an equation such as x^2 + y^2 + z^2 = 1 (which is a sphere), rather they are all functions of time. As such, the approximation I mentioned above gives what are called "parametric equations." I hope you are able to figure things out and get a nice, successful plot. There is a wealth of information on the Internet regarding the Lorenz equations; you may want to look at Eric Weisstein's World of Mathematics: Lorenz Attractor http://mathworld.wolfram.com/LorenzAttractor.html to see some heavy-duty math, and some neat pictures. If you get a plot of the result, you should see something similar to the picture shown at the bottom of the page. - Doctor Pete, The Math Forum http://mathforum.org/dr.math/
Date: 12/26/2002 at 13:09:53 From: John Subject: Thank you (Lorenz equations) This was exactly what I was looking for. Thanks for taking the time to explain everything step by step. It really helped. Sincerely, John
Search the Dr. Math Library:
Ask Dr. MathTM
© 1994-2013 The Math Forum