An adaptive contour code for the numerical evaluation of the oscillatory cuspoid canonical integrals and their derivatives. N.P. Kirk, J.N.L. Connor, C.A. Hobbs.

PROGRAM SUMMARY
Title of program: cuspint
Catalogue identifier: ADMP
Ref. in CPC: 132(2000)142
Distribution format: tar gzip file
Operating system: UNIX
Number of lines in distributed program, including test data, etc: 9880
Keywords: General purpose, Cuspoid oscillatory integrals, Pearcey canonical integral, Swallowtail canonical integral, Adaptive contour numerical quadrature, Function.
Programming language used: Fortran
Computer: Sun Sparc , SGI Indy , SGI Challenge .

Nature of physical problem:
The theoretical treatment of short wavelength scattering phenomena often involves the uniform asymptotic evaluation of oscillating integrals with several coalescing saddle points. An important practical problem then is the numerical evaluation of the cuspoid canonical integrals and their first order partial derivatives.

Method of solution:
A robust Fortran 90 code has been developed in which the integration path along the real axis is replaced by a contour in the complex plane, one which is more suitable for a numerical quadrature [1]. Results for the cusp and swallowtail canonical integrals are presented.

Typical running time:
The code takes a few seconds on a Sun Sparc Ultra 2 Workstation to compute the cusp (Pearcey) canonical integral, P(x,y), and its derivatives, deltaP(x,y)/deltax and deltaP(x,y)/deltay, on the grid x = -8.0 (2.0) 8.0 and y = 0.0 (2.0) 8.0; see Section 5 (Long Write-up).

Unusual features:
The code has the novel feature that the algorithm implements an adaptive contour procedure, which chooses contours that avoid the violent oscillatory and exponential natures of the integrand. Modifications to the coutour are made by exploiting the powerful error reporting facilities of subroutine D01AKF in the NAG Program Library [2] or subroutine DQAG and dependencies in the QUADPACK Program Library [3].

References:

 [1] J.N.L. Connor, P.R. Curtis, A method for the numerical evaluation of
     the oscillatory integrals associated with the cuspoid catastrophes: 
     application to Pearcey's integral and its derivatives, J. Phys. A,  
     15 (1982) 1179-1190.                                                
 [2] Numerical Algorithms Group, Fortran Library Manual, Mark 16, Vol. 1,
     subroutine D01AKF, (NAG, Oxford, 1993).                             
 [3] R. Piessens, E. de Doncker-Kapenga, C.W. Uberhuber, D.K. Kahaner,   
     QUADPACK, A Subroutine Package for Automatic Integration, (Springer,
     Berlin, 1983).