High-order symplectic integration: an assessment. Ch. Schlier, A. Seiter.

PROGRAM SUMMARY
Title of program: testsymp
Catalogue identifier: ADLZ
Ref. in CPC: 130(2000)176
Distribution format: gzip file
Operating system: Windows NT4, AIX 4.2
High speed store required: 1MK words
Number of lines in distributed program, including test data, etc: 363
Keywords: General purpose, Ordinary differential equations, Numerical integration, Hamiltonian dynamics, Symplectic dynamics, Classical trajectories.
Programming language used: Fortran
Computer: PC with Pentium II , PC with Xeon processor , IBM RS/6000 .

Nature of physical problem:
Numerical integration of Hamiltonian systems, mainly in classical mechanics.

Method of solution
The reference paper assesses the numerical integration of ODEs with symplectic integrators of order 6 and 8, which are documented in the program. The system must be Hamiltonian (symplectic), and the kinetic energy must either be a quadratic form of the momenta, or - for one of the integrators - at least be separable from the potential. The centre of this documentation is module coefficients, containing the coefficients of five different integrators with 35 places, sufficient for quadruple precision (QP) calculations. Subroutine algo12 is an example of an integrating routine using these coefficients, and program testsymp a simple driver, computing one cycle of a harmonic oscillator. Module coordinates are used by all others.

Restrictions on the complexity of the problem
Set by the available computer time and/or the word length of computer.

Typical running time
For interesting applications the running time will be completely determined by the time needed to compute the right hand sides ("forces") of the ODEs. For the simple problem of the one dimensional harmonic oscillator shown in the driver, the program needs ~3 mus per full step in DP, and ~120 mus in QP on a 350 MHz Pentium II, using Lahey Fortran 95, V.5, with optimization, and 19.1 mus (4.7 mus) in QP (DP) on a 160 MHz IBM RS/6000 Model 397 using xlf90 with optimization. Note that the running time will depend very much on the amount of cache available for the routines computing the right hand sides.

Unusual features of the program
Probably the best known integrators for long trajectories in Hamiltonian dynamics, if the goal is high accuracy.