GAMS – the Guide to Available Mathematical Software on the World Wide Web – was used to identify suitable user-callable routines, and the source code was retrieved by following ‘fullsource’ anchors on the Web. GAMS is an index to individual subroutines from a variety of packages, which in turn are located at several different repositories, such as NETLIB.
One major building block of the library is FFTPACK found in NETLIB (at Oak Ridge National Laboratory and AT&T Bell Laboratories). It has been stripped down to just the bits needed to serve Starlink applications, i.e. routines to take the forward and backward FFT of a complex or purely real sequence of values. Some extra subroutines have also been written to perform N-dimensional FFTs, and to convert arrays of Fourier coefficients between NAG and FFTPACK formats. Also, a double precision version has been created.
Most routines are from the SLATEC library – a large Public Domain library – and retrieved from the CAMSUN repository at the National Institute of Standards and Technology (NIST).
NMS is another Public Domain library at the TIBER repository (also at the National Institute of Standards and Technology). Some routines are from MINPACK and retrieved from NETLIB. This too is a Public Domain package.
OPT (from NETLIB) is a less homogeneous package. PDA uses two modules:
The gridded 2-D polynomial surface fitting routines PDA_DB2INK and PDA_DB2VAL originated from Ronald Boisvert of the US National Bureau of Standards. They were part of CMLIB from CAMSUN.
The ungridded 2-D surface fitting routines PDA_IDBVIP and PDA_IDSFFT were originally module TOMS526 of the TOMS library at NETLIB.
Some routines are from the DIERCKX library. The author Paul Dierckx calls it FITPACK, but in GAMS they have another library of the same name. FITPACK should be considered as public domain software and consequently it can be used freely for research purposes under existing conditions of appropriate referencing. It cannot be used for commercial purposes without the author’s written consent.
Although the code of the PDA library comes from other sources in the Public Domain, problems with the routines should in the first instance be taken up with Starlink and not the original authors. If there are bugs in PDA, then the first assumption must be that they were introduced during the integration of the Public Domain code into the PDA library, and that the original authors are not to blame.