The FORTRAN 77 code Archi was originally written
as part of my Ph.D. in 1992, with the aim of solving delay differential
equations (DDEs) and neutral differential equations (NDEs). The code was
written with the intention of making it as portable as possible; thus the
original Archi as undergone a number of minor modifications and
improvements so as to maintain 100% compatibility with all the Fortran
compilers available to me. Since 1992, two extended version ArchiL
(that interfaces with the Netlib unconstrained minimization code LMDIF)
and ArchiN (that interfaces with the NAg constrained optimization
code E04UPF) for solving parameter estimation problems have been
developed under SERC grant GR/H59237. The next extension to Archi
(funded by EPSRC grant GR/K48297) is to add defect control, both as an
error control for the solution and as an alternative to tracking derivative
discontinuities (from now on referred to simply as `discontinuities').
This version of the guide now also documents the use of ArchiL
and ArchiN for parameter estimation.
Archi is based on the fifthorder Dormand &
Prince explicit RungeKutta method with a fifthorder Hermite interpolant
due to Shampine. The choice of a Hermite interpolant was influenced by:
1. The conclusion of Gladwell, Shampine, Baca & Brankin that for nonmonotonic
solutions, quintic Hermite interpolants are required in order to preserve
the shape of a solution. 2. In order to maintain the asymptotic correctness
of a pth order local error estimator, the local error in the approximation
scheme used to evaluate delay terms must be at least order p+1.
Archi has also been designed to track the propagation of discontinuities
in a solution using the discontinuity tracking theory developed by Wille
& Baker, and to solve vanishinglag DDEs using either extrapolation
or the predictorcorrector approach developed by Baker & Paul. In addition,
Archi can solve a limited class of delayintegrodifferential equations,
specifically those equations that have a sufficiently smooth integrand,
using the adaptive quadrature algorithm developed by Paul.
