software for dynamical systems
Mathematical background on dynamical systems can be found in [a3], [a7] or [a9] (cf. also Dynamical system). Numerical methods are described in [a3], [a6] and [a9].
In its basic form a dynamical system is a system of ordinary differential equations of the form
\begin{equation} \tag{a1} \dot { x } = G ( x , \alpha ), \end{equation}
where $x \in \mathbf{R} ^ { n }$ is the state variable, $\alpha \in \mathbf{R} ^ { m }$ is a parameter vector and $G ( x , \alpha )$ is a non-linear function of $x$ and $\alpha$. The independent variable $t$ is usually identified with time. The equilibria of (a1) are its constant solutions, i.e. the solutions of the non-linear system
\begin{equation} \tag{a2} G ( x , \alpha ) = 0, \end{equation}
for a given parameter vector $\alpha$. Equilibria are asymptotically stable if all eigenvalues of the Jacobian matrix $G_{X}$ have a strictly negative real part (cf. also Jacobi matrix). They are unstable if at least one eigenvalue has a strictly positive part. In the remaining cases the stability depends on the non-linear terms in the Taylor expansion of $G$ (cf. also Stability theory).
If a component of $\alpha$ is freed, then curves of equilibria can be computed. Generically, curves of equilibria can bifurcate in two ways (cf. also Bifurcation). The first is the limit point bifurcation, where $G_{X}$ becomes singular, i.e. has an eigenvalue zero (cf. also Limit point of a trajectory). Generically, this indicates a turning point of equilibria. If the equilibrium was initially stable, then it generically loses the stability.
The second bifurcation is the Hopf bifurcation, where $G_{X}$ has a conjugate pair of pure imaginary eigenvalues, i.e. with real part zero. Generically, a curve of periodic orbits is born in a Hopf point. If the equilibrium was initially stable, then generically it loses stability.
A periodic orbit is a solution of (a1) for which there exists a period $T > 0$ such that $x ( t + T ) = x ( t )$ for one and hence all values of $t$. The linearized return mapping of a periodic orbit (cf. also Poincaré return map) is called the monodromy matrix. The eigenvalues of the monodromy matrix are the Floquet multipliers (cf. also Floquet exponents; Floquet theory). There is always one multiplier equal to $1$. If all other multipliers have moduli strictly less than $1$, then the periodic orbit is asymptotically stable. If at least one multiplier has modulus strictly larger than $1$, then the periodic orbit is unstable. In the remaining cases the stability depends on the non-linear terms in the Taylor expansion of the return mapping.
Again, if a component of $\alpha$ is freed, then curves of periodic orbits can be computed.
The periodic orbits that originate at a Hopf point can be either stable or unstable. The stability is guaranteed if the equilibrium preceding to the Hopf point is stable and a quantity, called the first Lyapunov coefficient $\mathbf{l}_{1}$, is negative (cf. also Lyapunov characteristic exponent). The bifurcation is then supercritical, i.e. the stable periodic orbits are found at the side where the equilibria are unstable. If the equilibrium preceding to the Hopf point is stable and $\mathbf{l}_{1}$ is positive, then the periodic orbits are unstable and the bifurcation is subcritical, i.e., the periodic orbits are found at the side of the stable equilibria. The intermediate case where $\text{l}_1 = 0$ is called a generalized Hopf or Bautin point.
The notion of a dynamical system can be extended in several ways. A discrete dynamical system is an iterated mapping
\begin{equation} \tag{a3} x \rightarrow G ( x , \alpha ). \end{equation}
A delay differential equation is an equation of the form (a1) where $G$ is also explicitly dependent on the values $x ( t - \tau _ { i } )$ for one or several delays $\tau_i$ (cf. also Differential equations, ordinary, retarded). It is a neutral differential equation if $G$ is also explicitly dependent on the values $\dot { x } ( t - \tau _ { i } )$ for one or several delays $\tau_i$ (cf. also Neutral differential equation). A partial differential equation of evolution type is also considered as a dynamical system (cf. also Evolution equation).
A website on dynamical systems software is [a8].
The most widely used software package for dynamical systems computations is AUTO97 [a4]. This software is distributed freely; see [a1]. A manual is also available from this site. AUTO has many interesting features:
It can compute solution branches of (a2), detect and compute branch points and compute the bifurcating branches. It can also detect and compute limit points and Hopf points and continue these in two parameters. Also, it can find extrema of an objective function along solution branches and continue such extrema in more parameters.
It can compute fixed points for the discrete dynamical system (a3). It can compute branches of such fixed points, detect, compute and continue fold points, period-doubling (flip) and Neimark–Sacker bifurcations of fixed points.
It can perform a bifurcation analysis of (a1). It can compute branches of stable and unstable periodic orbits and compute the Floquet multipliers. Periodic orbits can be started from Hopf bifurcation points. Along branches of periodic orbits branch points, fold points, period-doubling, and torus bifurcations can be computed. In branch and period doubling bifurcations branch switching is possible.
Period-doubling bifurcations, folds, torus bifurcation points, and orbits with fixed period can be continued in two parameters.
It can follow curves of homoclinic orbits and detect and continue various codimension-$2$ homoclinic orbits.
It can locate extrema of an integral objective function along a branch of periodic solutions and continue such extrema in more parameters.
It can also compute curves of solutions to (a1) on a fixed interval $[ 0,1 ]$ subject to general non-linear integral and boundary conditions. Folds and branch points can be computed along such curves. Curves of folds can be computed and branch switching at branch points is provided.
It can further do some stationary and wave calculations for partial differential equations of the form
\begin{equation} \tag{a4} \dot { x } = D _ { x _ { ss } } + G ( x , \alpha ), \end{equation}
where $D$ is a diagonal matrix of diffusion constants and $x$ depends on time $t$ and a one-dimensional space variable $s$.
In AUTO, the numerical quality of the algorithms is strongly emphasised and the graphical user interface got less attention. In fact, AUTO can be used in command mode, i.e. without any graphical interface.
Another important package is CONTENT [a10], whose main developer is Yu.A. Kuznetsov.
CONTENT is a CONTinuation EnvironmeNT and the user interaction is via a windowing system. For algebraic equations (a2) as equilibrium solutions of (a1), CONTENT provides more routines than does AUTO. In fact, it allows one to detect all codimension-two bifurcations and to continue them numerically if a third parameter is freed. These codimension-two bifurcations are: Bogdanov–Takens, zero-Hopf, double Hopf, cusp, and generalized Hopf. The behaviour of dynamical systems near codimension-two equilibrium bifurcations is described in [a7] and [a9]. Generically, periodic orbits, homoclinic orbits, invariant tori, and chaotic behaviour can all be detected. CONTENT even allows one to detect and compute certain codimension-$3$ bifurcations, such as triple zero, swallowtail, resonant double Hopf, and a few others. Also, in most cases CONTENT offers several computational routines to compute and continue bifurcation points.
For discrete dynamical systems (a3), CONTENT offers the same possibilities as AUTO but leaves the user options to use several methods.
For dynamical systems (a1), CONTENT offers less routines than AUTO. However, it allows one to compute curves of periodic orbits and to detect the fold, flip and Neimark–Sacker bifurcations.
For partial differential equations, CONTENT allows a wider class of one-dimensional problems than does AUTO; actually, in (a4) the right-hand side can be replaced by practically any "reasonable" function and the boundary conditions can be quite general. On the other hand, only the time evolution computation of such systems is at present (2000) supported and only by the implicit Euler and Crank–Nicolson methods.
A third roughly comparable package is CANDYS/QA (see [a8] for more information).
DsTool [a8] can compute equilibria of ordinary differential equations and diffeomorphisms and compute their stable and unstable manifolds. Several packages, notably DsTool, Dynamics Solver and XPP simulate and numerically solve dynamical systems equations. Several other packages, notably Global Manifolds 1D, Global Manifolds 2D, GAIO and BOV-method compute invariant manifolds. See [a8] for details.
For partial differential equations, the choice of software is limited. In addition to the capabilities of AUTO and CONTENT there is PDECONT [a8] for the continuation of periodic solutions of partial differential equations. Next, there exists the software package PLTMG [a2] that allows one to solve a whole class of boundary value problems on regions in the plane, to continue the solution with respect to a parameter, and even to compute branching points and limit points. This software combines a sophisticated finite-element discretization with advanced linear algebra techniques.
For delay differential equations there is the bifurcation package DDE-BIFTOOL [a5].
[a1] | WEB, http://indy.cs.concordia.ca/auto/doc/index.html (2000) |
[a2] | R.E. Bank, "pltmg: A software package for solving elliptic partial differential equations, Users' Guide 8.0" , SIAM (1998) MR1621384 |
[a3] | "Handbook of dynamical systems" H. Broer (ed.) F. Takens (ed.) , Elsevier (to appear) (Vol. I: Ergodic Theory (eds. B. Hasselblatt, A. Katok); Vol II: Bifurcation Theory (eds. H. Broer, F. Takens); Vol III: Towards Applications (eds. B. Fiedler, G. Iooss and N. Kopell)) |
[a4] | E.J. Doedel, A.R. Champneys, T.F. Fairgrieve, Yu.A. Kuznetsov, B. Sandstede, X.J. Wang, "auto97: Continuation and bifurcation software for ordinary differential equations (with HomCont), User's Guide" , Concordia Univ. (1997) |
[a5] | K. Engelborhgs, "dde-biftool: A Matlab package for bifurcation analysis of delay differential equations" www.cs.kuleuven.ac.be/~koen/delay/ddebiftool.shtml (2000) |
[a6] | W. Govaerts, "Numerical methods for bifurcations of dynamical equilibria" , SIAM (2000) MR1736704 Zbl 0935.37054 |
[a7] | J. Guckenheimer, P. Holmes, "Nonlinear oscillations, dynamical systems, and bifurcations of vector fields" , Applied Math. Sci. , 42 , Springer (1983) MR0709768 Zbl 0515.34001 |
[a8] | H. Osinga, "Website on dynamical systems software" www.maths.ex.ac.uk/~hinke/dss/ (2000) |
[a9] | Yu.A. Kuznetsov, "Elements of applied bifurcation theory" , Applied Math. Sci. , 112 , Springer (1995/98) MR2071006 MR1711790 MR1344214 Zbl 1082.37002 Zbl 0914.58025 Zbl 0829.58029 |
[a10] | Yu.A. Kuznetsov, V.V. Levitin, "content: A multiplatform environment for analyzing dynamical systems" Dynamical Systems Lab. CWI, Amsterdam (1995/97) (ftp.cwi.nl/pub/content) |