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 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).