=====
What it is
=====

Lyapunov is a program to calculate maps of Lyapunov space, using a
function originally posted to alt.fractals by Ed Kubaitis.  For more
information on Lyapunov space, see the September 1991 issue of
Scientific American.  While I don't have any way of checking whether
or not the output of this program is, in fact, mathematically correct,
it does *look* reasonable; if you discover any errors in this program,
please send corrections to me.

====
Terms and Conditions
====

This program and documentation are Copyright 1991, Garrett A. Wollman.
This program may be modified and distributed for any purpose and
without fee, provided that this notice remains on all such copies
unaltered.  Binary distributions not including this document are
prohibited.  Modified versions must be marked with the name of the
modifier and the date of modification.

Under no circumstances shall Garrett A. Wollman or the University of
Vermont and State Agricultural College be held liable for any damages
resulting from the use or misuse of this program, whether the author
is aware of such possibility or not.  This program is warranted solely
to occupy disk space.

====
How to use it
====

lyapunov generates your choice of PGM or PBM files.  If you want to
actually *look* at the output, you will need a program which can deal
with this file format; such programs include `xv' (which is the
program that I use) and Jef Poskanzer's PBMPLUS toolkit.

lyapunov's command line syntax is as follows:

lyapunov [-r rows] [-c cols] [-v program] [-p] [-t]
         [-# processors] [-o file] [-m minLya] [-d Dwell] [-s Settle]
         [-g initGuess] [-5] amin amax bmin bmax bits

where:

[-r rows]
[-c cols]
These two flags set the shape of the output image (default 512x512).

[-v program]
When this flag is specified, output is piped through `program'.

[-p]
This flag tells the coloring function that you are interested in the
positive, rather than negative, lyapunov exponents.

[-t]
This flag turns off the RAWBITS format in the output; it is only
really useflu for debugging.

[-# processors]
This flag, on versions that support it, causes the calculation to run
row-parallel on processors processors.  Currently, only Silicon
Graphics machines are supported.

[-o file]
Sends the output to `file' instead of standard output.  This option
and `-v' are mutually exclusive.

[-l colormap]
Use the specified Fractint-style `.map' file instead of the default
grey.

[-m minLya]
Tell the coloring routine that minLya is the minimum expected Lyapunov
exponent (default -5).  Values below minLya are clamped to minLya.

[-d Dwell]
Set the Dwell value (default 2000).

[-s Settle]
Set the Settle value (default 600).

[-g initGuess]
Set the starting value for `x'.

[-5]
This flag turns on PGM (as opposed to PPM) output format; any
colormap loaded with `-l' is ignored.

amin
amax
bmin
bmax
The range for `a' and `b' to be calculated.  This region is mapped
onto the *first* quadrant (opposite from the way the rows and columns
are numbered).  See the code for more details.

bits
A string of 'a's and 'b's to be used as the seed for the Markus
vector.

====
Compiling
====

Just look through the Makefile; it's quite self-explanatory.  If you
add support for another CPU or make the program faster, please send me
the changes!

====
Author
====

Garrett A. Wollman
wollman@UVM.EDU
uvm-gen!wollman

University of Vermont, Division of Engineering, Mathematics, and
Business Administration, Computer Facility.

