xlyap — display an array of Lyapunov exponents graphically
xlyap [-BLps][-W width][-H height][-o filename][-a n ] [-b n ] [-w n ] [-h n ] [-i xstart] [-M n ] [-R p ] [-S n ] [-D n ] [-F string][-f string][-r n ] [-O n ] [-C n ] [-c n ] [-m n ] [-x xpos] [-y ypos] [-fps]
Descriptionxlyap generates and graphically displays an array of Lyapunov exponents for a variety of iterated periodically forced non-linear maps of the unit interval.
- A good choice for use with xscreensaver: picks random parameters from a built-in list.
- -C n
- Specifies the minimum color index to be used for negative exponents
- -D n
- Specifies the "dwell" or number of iterations over which to average in order to calculate the Lyapunov exponent. Default is 50.
- -H n
- Specifies the height of the window. Default is 256.
- Indicates use log(x) + log(y) rather than log(xy).
- -M r
- Specifies the real value to compare exponent values to for indexing into a color wheel. The default value is 1.0.
- -O n
- Specifies the minimum color index to be used for positive exponents
- -R p
- Specifies pseudo-random forcing with probability p of using parameter value 'a'.
- -S n
- Specifies the "settle" or number of iterations prior to the beginning of the calculation of the Lyapunov exponent. Default is 50.
- -a r
- Specifies the real value to use as the minimum parameter value of the horizontal axis. Default is 2.0 for the logistic map.
- -b n
- Specifies the real value to use as the minimum parameter value of the vertical axis. Default is 2.0 for the logistic map.
- -c n
- Selects one of six different color wheels to use. The default color wheel is a rainbow palette.
- -F 10101010
- Specifies the "Function" forcing function to use. The example above would alternate between iterating the circle and logistic maps. An argument of "-F 2323" would alternate between left and right logistic maps. The default is to only use the single specified map (see the description of -m).
- -f abbabaab
- Specifies the forcing function to use. The default is to alternate between the "a" parameter and the "b" parameter.
- -h r
- Specifies the real value to be used as the range over which the vertical parameter values vary. The default is 1.0.
- -i r
- Specifies the real value of the initial condition to use. Default is 0.65.
- -m n
- Selects between available non-linear maps of the unit interval. A value of 0 specifies the logistic map. A value of 1, the circle map. A value of 2, the left-logistic. A value of 3, the right-logistic. A value of 4, the double-logistic. The default is 0, the logistic map.
- -o filename
- Specifies the output filename to be used. If the -o option is given, this file will automatically be written out at the completion of the drawing. If it is not specified, a default filename of lyap.out is used and only written if the 'f' or 'F' keys are pressed during a run. The format of the output file is PPM for color and PGM for monochrome. The parameters used to calculate the picture are included as comments at the beginning of the output file.
- Switches color indices for negative and positive exponents. Generally, causes negative exponents to be displayed in more detail while darkening and narrowing the color range for positive exponents. This can be toggled during runtime by pressing the 'p' key.
- -r n
- Specifies the maximum rgb value to be used. Default is 65000.
- -s n
- Specifies the length of the color wheel spin.
- Prints out the various values to be used and exits.
- -w r
Specifies the real value to be used as the range over which the horizontal
parameter values vary. The default is 1.0.
During display, pressing any mouse button allows you to select the area to be investigated with the mouse. The upper left hand corner of the desired area is the location of the cursor when the button is pressed. The lower right hand corner is specified by the cursor when the button is released.
Use of the keys bBeEfFkKjJmnrRsSwWxXqQ indicates:
(<) Halve dwell value.
(>) Double dwell value.
([) Halve settle value.
(]) Double settle value.
(B or b) Toggle button display on/off
(E or e) Recalculate the indices into the color wheel using a different method
(F or f) Save current screen to output file (not yet implemented)
(H or h or ?) Display brief help message
(i) Decrement the interval between stripes for the striped color map.
(I) Increment the interval between stripes for the striped color map.
(K) Decrease value exponents are compared against by 0.05.
(J) Increase value exponents are compared against by 0.05.
(M) Decrease value exponents are compared against by 0.005.
(N) Increase value exponents are compared against by 0.005.
(m) Increment the map index, changing the map to be iterated.
(P or p) Toggle positive/negative exponent display.
(r) Redraw the window using previously calculated exponents.
(R) Redraw the window using the newly set dwell and/or settle values.
(S) Spin the color wheel
(s) Halve the length of the spin and spin the color wheel
(u) Go up to the window just prior to the most recent zoom.
(U) Go all the way up to the original window.
(V or v) Display values of various parameters currently in use
(W or w) Use next color map.
(X or x) Clear window
(Q or q) quit
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 banding code was adapted from an existing Mandelbrot program written by Stacey Campbell.
Viciously hacked for xscreensaver by Jamie Zawinski, 20-Nov-97.