Calculate and graphically display the Lyapunov exponents of an iterated map
- Authored and Contributed by
Ronald Joe Record
- Copyright 1993, 1994 Ronald Joe Record
The mathrec source code is freely redistributable. The author maintains
binary distributions for Caldera OpenLinux 3.1, OpenServer, UnixWare 7
and Open UNIX 8. These distributions and the source code are available via:
Lyap is an X11 client.
The idea here is to calculate the Lyapunov exponent for a periodically
forced logistic map (later i added several other nonlinear maps of the unit
interval). In order to turn the 1-dimensional parameter space of the
logistic map into a 2-dimensional parameter space, select two parameter
values (a and b) then alternate the iterations of the logistic map using
first a then b as the parameter. This program accepts an argument to
specify a forcing function, so instead of just alternating a and b, you
can use a as the parameter for say 6 iterations, then b for 6 iterations
and so on. An interesting forcing function to look at is abbabaab (the
Morse-Thue sequence, an aperiodic self-similar, self-generating sequence).
Anyway, you step through all the values of a and b in the ranges you want,
calculating the Lyapunov exponent for each pair of values. The exponent
is calculated by iterating out a ways (specified by the variable "settle")
then on subsequent iterations calculating an average of the logarithm of
the absolute value of the derivative at that point. Points in parameter
space with a negative Lyapunov exponent are colored one way (using the
value of the exponent to index into a color map) while points with a
non-negative exponent are colored differently.
The algorithm was taken from the September 1991 Scientific American article
by A. K. Dewdney who gives credit to Mario Markus of the Max Planck Institute
for its creation. Additional information and ideas were gleaned from the
discussion on alt.fractals involving Stephen Hall, Ed Kubaitis, Dave Platt
and Baback Moghaddam. Assistance with colormaps and spinning color wheels
and X was gleaned from Hiram Clawson. Rubber band code was adapted from
Stacey Campbell's xmandel source.
To build the lyap binary, either use the Imakefile or one of the sample
makefiles - Makefile.ODT or Makefile.OSF. Makefile.ODT is a sample makefile
used to build lyap on an SCO ODT system. Makefile.OSF was used as a makefile
on a DECstation 3100 running OSF/1.
The manual page can be formatted by typing "nroff -man lyap.man > lyap.1".
To install lyap, copy the lyap binary to the desired location (the sample
makefiles put it in /usr/local/bin)
Copy the formatted man page to wherever you keep your local doc (i use
/usr/local/man/cat1 for imaging software), then add that location
to your MANPATH.
Some "interesting" runs of lyap are included as simple shell scripts in the
- I have used it for a couple of years without harm.
- Work Planned
- manual page.
- Execute any or all of the shell scripts provided in /usr/local/mathrec/lyap.
- Ideas, comments, additions, deletions, suggestions, bug reports, code review
- e-mail Ronald Record at firstname.lastname@example.org