| A basic example of an occasionally chaotic system:
Here z is forced by x and y, and the dynamics of x and y are given by the "cat map," which is a hyperbolic (chaotic) map on the torus. The dynamics in the z direction are given by:
This piecewise linear function has stable fixed points at 1 and -1 and an unstable fixed point at 0 (once the forcing term is added these are no longer fixed points).
If we choose an initial condition with z close to 1, then the contracting nature of f(z) around the stable fixed point will pull the orbit closer to 1, unless the forcing is larger enough to perturb the orbit to a point with a negative z value. Once that happens the orbit will then be attracted to the other stable fixed point at -1. The strength of the forcing is determined by the parameter α. If α is small (say 0.2) then an orbit starting with z close to 1 will always stay close to 1, it will never "switch sides" and attain a negative z value. This is illustrated below in the plot to the left. The plot on the right demonstrates the behavior when α is 0.6. Points on the orbit are plotted against their images, these plots are known as cobweb plots.
An interesting convenience results from choosing the cat map as the dynamical system in the x-y plane. If we choose a square grid of initial conditions (say a 500 by 500 grid from 0 to 1 in each direction) then grid points will map to grid points. Therefore even though the dynamics are chaotic we can iterate trajectories exactly with no rounding error (at least in the x-y plane). Of course, the number of grid points is finite so all orbits must be periodic in the x-y plane, but the period is very large for most points (on the order of 250000). If we start with a set of initial conditions on a 500 by 500 grid all with a z value of 1, upon iterating the entire set forward a "surface" evolves that reveals the structure of the attractor to which most initial conditions converge. The first 20 iterates with α=0.5. This avi movie (5MB) shows the iterates increasing in powers of 2 up to 2048.
Iterate 10 viewed as a surface from below:
|