Here is some of the software developed in my research and that
of my students has been distributed publicly. The usual caveats apply -
use at your own risk and expect that there may be difficulties in
making the software work properly on your system. You have an
obligation to acknowledge use of the software in your
research.
DsTool
DsTool is a computer program for the interactive investigation of
dynamical
systems on computers using unix or linux and the X window system. The
aims of the
program are described in an article entitled dstool: Computer Assisted
Exploration of Dynamical Systems (Notices of the American Mathemtical
Society,
39, 303--309, 1992). Originally written at Cornell by Mark Myers, Rick
Wicklin and Patrick Worfolk, it was improved and modified by
contributions
from Allen Back and the staff of the former Geometry Center at the
University
of Minneapolis. Three versions of the program were written: Versions 1,
Version
2 and Version tk. Versions 1 and 2 used the xview toolkit for the
user interface which has fallen into disuse. Version tk has a
tcl/tk interface. Download
dstool_tk and its
user
manual here.
There has
been little development of the
programs since 1997. Instead, recent efforts of Rob Clewley, Erik Sherwood and Drew Lamar have been directed at the
development of PyDSTool
PyDSTool Wiki, a python program that incorporates the functionality of DsTool and much more.
Comments about the program or contributions
to either program can be sent to John Guckenheimer at jmg16@cornell.edu.
Periodic Orbit Solver with Matlab and ADOLC
This software implements a multiple shooting algorithm for computing
periodic
orbits that uses automatic differentiation. The method achieves
accuracy
comparable to the floating point round-off of IEEE-754 double precision
arithmetic. The algorithm utilizes three strategies that
contribute
to its accuracy:
-
Automatic differentiation is employed to calculate high order
derivatives
of a vector field and its trajectories.
-
The methods emphasize compact parametrizations of function spaces that
include high order approximations to the periodic orbits.
-
A posteriori error estimates of the accuracy of numerically computed
periodic
orbits are used for mesh adaptation.
The method has additional attractive geometric features from both
theoretical
and geometric perspectives. It utilizes directly the geometric objects
that are prominent in the theory. These objects can be readily examined
and manipulated, and they can be used adaptively to enable the
algorithms
to respond to changes in the geometry of a periodic orbit during
continuation.
The algorithm gives
dense output, accurate
representations of approximate
periodic orbits at all points rather than just at mesh points of a
discretization.
Constraints are readily imposed upon mesh points, enabling the accurate
computation of periodic orbits of piecewise analytic vector fields and
hybrid systems.
A detailed account of the mathematics underlying the
algorithms is available in the paper
Computing
Periodic
Orbits and their Bifurcations with Automatic Differentiation.
The algorithm has been implemented in MATLAB, using a modified
version of the automatic differenentiation code ADOLC as an engine for
computing derivatives. The file
Canard_demo.tar.gz is
a
gzipped tar file of the computer codes.
These programs require MATLAB and a C++ compiler. Won Gyu Choe and Brian Meloon contributed to this work. The figure
below shows a family of periodic orbits computed with this
algorithm as a parameter is varied. Mesh points are marked by "x". This
system has slow and fast time scales, and the family of periodic orbits
contains
canards,
segments that follow the unstable portion of the slow manifold. The
instability of trajectories along the unstable branch of the slow
manifold is so severe that round-off errors in initial values are large
enough to prevent the trajectories from tracking the manifold for more
than a short distance approximately 0.1.