This is a suite of Fortran 77 codes that approximate Lyapunov
exponents of linear and nonlinear continuous dynamical systems.
There are four routines to approximate the Lyapunov
exponents, depending on which problem you have:
- LESLIL: LInear Large
- LESLIS: LInear Small
- LESNLL: NonLinear Large
- LESNLS: NonLinear Small
The naming "large" and "small" is for convenience and
for typical use.
In "large", there are programs which never need to
store (possibly, not even know) the Jacobian, the
coefficient matrix in the linear case.
They require the action (Jacobian)x(vector) =: J*v
In the nonlinear case, this can be computed in a
Jacobian free way, whereby the action J*v is
approximated by discrete directional derivatives
internally by the code. Alternatively, the user
may provide the action J*v analytically.
See documentation of LESNLL.
For the "linear large" codes, LESLIL, the user must
provide the action A(t)*v analytically in a subroutine,
see documentation and sample drivers.
For the "linear small" option, the codes require
explicit storage (and knowledge) of the Jacobian,
the coefficient matrix, in the linear case.
For small problems, say of dimension up to 10,
when forming and storing the Jacobian is not a
hindrance, this is the recommended way to proceed
since it is more efficient.
Authors:
Luca Dieci,
<dieci@math.gatech.edu>,
and Erik S. Van Vleck,
<evanvleck@math.ku.edu>
These codes are provided for the benefit of the scientific
community. While the authors decline any responsibility for
possible malfunctioning of the codes, they will welcome
any and all comments on bugs and the like. Please report any
mishap to the first named author above.
If you use these codes, the authors would appreciate your
acknowledging having done so in the reports, publications,
theses, etc., resulting from their use.
The authors gratefully acknowledge the support of the
National Science Foundation (NSF) during the time period
in which these codes were written.
To use the codes, save the relevant zip file(s) below in
the directory where you are going to put the codes.
Linear Codes:
For example, say you save the file for the linear codes,
that will be "linear.zip" below.
Upon saving the file, type "unzip -a linear.zip", and then you
will see that a directory called "linear" with subdirectories
"small" and "large" was created. Moving inside one of these
subdirectories, it will be evident how to proceed.
Non Linear Codes:
Just as for the linear codes,
if you save the file for the nonlinear codes,
that will be "nonlinear.zip" below.
Upon saving the file, type "unzip -a nonlinear.zip", and then you
will see that a directory called "nonlinear" with subdirectories
"small" and "large" was created. Moving inside one of these
subdirectories, it will be evident how to proceed.