Introduction to Nonlinear Dynamics in the Logistic Map


The simplest discrete-time dynamical systems which can exhibit chaos are one-dimensional maps. Given a map f: R->R from the real numbers into itself, we can generate a trajectory from the initial condition x(0) by applying the map over and over again as follows:

x(1) = f(x(0)), x(2) = f(x(1) = f(f(x(0))) = f^2(x(0)), ..., x(n) = f(x(n-1)) = f^n(x(0))

The sequence x(0),x(1),x(2),.. form a trajectory of the system.  A periodic trajectory where k is the smallest positive integer for which x(i) = x(i+k), is called a period k trajectory. Similarly, a periodic point of a map f is a point x such that x = f^n(x) for some positive integer n. The least such n is called the period of x. A periodic point of period 1 is called a fixed point. If a point is a periodic point of f of period n, then it is the fixed point of f^n. If x is a fixed point of f^n, then it is a periodic point of f whose period divides n.

For a differentiable map f, a periodic point with period n is stable if |f'(x_1)f'(x_2)...f'(x_n)| < 1 and unstable if |f'(x_1)f'(x_2)...f'(x_n)| > 1, where x_i = f^i(x). Generally, the map f depends continuously on some parameters. For each fixed parameter, the map f can posess stable or unstable periodic points, chaotic dynamics, and other complicated phenomena. As the parameters are varied, changes in the qualitative behavior of the system, also called bifurcations, can occur.

A well-known and thoroughly studied map which can exhibit bifurcation and chaos is the logistic map: y = f(x) = ax(1-x). The parameter a is usually chosen to lie in the range [0,4]. This results in a map from the unit interval [0,1] into itself.

For a is between 0 to 1, the map has a single fixed point at 0 which is stable. When a is increased beyond 1, the fixed point at 0 becomes unstable, and another stable fixed point at 1-1/a is created. This fixed point becomes unstable as a is increased past 3. After this point we observe a period-doubling cascade. The fixed point at 1-1/a becomes unstable as a is increased beyond 3 and a stable period 2 trajectory is created. By further increasing a, this period 2 point becomes unstable and a stable period 4 trajectory is created. This period doubling phenomena occurs for shorter and shorter increment of a converging to a critical a where chaos is observed. Note that a consequence of the chain rule is that all points on the periodic trajectory become unstable at the same parameter value.

We can visualize the dynamics of the map in the following way. We plot the graphs of the functions y = f(x) and y = x. Starting from an initial condition x(0) = x0, we generate x(1) = f(x0). We indicate this by drawing a line from the point on the x-axis (x0,0) to the point on the graph of f, (x0,f(x0)). Then we generate x(2) = f(x(1)). Thus x(1) which is a y-coordinate in the previous point should now be the x-coordinate. We do this change graphically by projecting (x0,x(1)) horizontally onto the graph of y=x, i.e. we plot a line from (x0,x(1)) to (x(1), x(1)). When then project this point vertically to the graph of f, i.e. we plot a line from (x(1),x(1)) to (x(1),f(x(1)). This repeated projections onto the graphs of y=x and y=f(x) give us a visual representation of the dynamics of the map.

In this following Java Applet, you can see this visualization. The vertical scrollbar changes the parameter a. The horizontal scrollbar adjusts the initial condition x0. The clear button clears up the trajectory drawn so far and the restart button reset the initial conditions to x0. The stop button stops the drawing of trajectories, and the continue continue the drawing.

At the beginning a = 2.9, and the system converged towards the stable fixed point. Hit Restart to see this convergence. Change the initial condition by moving the bottom scrollbar and see that it always converges towards the same fixed point. This fixed point is a global attractor, since any initial conditions in [0,1] converges towards it. Well, not quite. Starting from the point x0 = 0, the trajectory remains at 0 = f(x0) = f(f(x0) etc. Starting from x0 = 1, the x1 = f(x0) = 0, and will again stay at 0 from then on. Thus the stable fixed point attracts every point excepts the points 0 and 1. The point 0 is also a fixed point. But it is unstable, since points near 0 leaves it under iteration of the map. There is an easy way to tests whether an fixed point x* is stable or unstable. If |f'(x*)| > 1 then x* is unstable. If |f'(x*)|  < 1 then x* is stable. If |f'(x)|=1, then it depends on the map whether the fixed point is stable or not. Set a = 3.5678 to see a period 16 attracting orbit and a = 3.628 to see a period 6 attracting orbit.

Click here to see a bifurcation diagram of the logistic map. 


Continue to Chua's circuit.

Back to introduction


Copyright 1996, 1997 Chai Wah Wu

Last modified: Dec 23, 1996. Disclaimer 1