Daniel W. Lozier and Frank W.J. Olver, ACMD
Stimulated by applications, special functions have long played a central role in mathematics. They arise in the solution of boundary-value problems in physics and in the construction of probability distributions in statistics, to cite just two examples. In physics applications before the advent of computers, computations were laboriously done by first expressing the desired solution in terms of special functions and then interpolating from tables of numerical values. With the arrival of computers, both these steps were altered radically. First, algorithms were developed that approximate the solution in algebraic terms. These algorithms converge as the approximation mesh becomes finer. The number of arithmetic operations needed in these algorithms is so great that it taxes even the most advanced supercomputers. Indeed, these algorithms are a major driving force in the quest for ever more powerful computers. A by-product of these developments was an apparent reduction in need for the classical special functions. Nevertheless, the steady stream of requests for software is evidence of their continued importance. The second step in physics applications, after the formulation of the problem to be solved, is the generation of numerical values. As far as special functions are concerned, this is done nowadays by computer subroutines, not interpolation in tables. The construction of these subroutines is a matter for specialists. Although the methods used may be familiar to physicists, subtle issues associated with numerical stability and the computational infrastructure, particularly the computer arithmetic, make their successful application delicate. Therefore numerical support for special functions should be part part of the infrastructure. This project addresses this need through development of algorithms and construction of software for special functions. The project also includes methodology for testing the accuracy of software and techniques for disseminating software.
NIST has contributed to the revolution in scientific computing in many ways. An important early contribution was the NBS Handbook on Mathematical Functions, originally published in 1964. This volume, still in print, remains a standard desk reference of working scientists. Since then computational mathematicians in ACMD have published software packages for Bessel and Legendre functions, as well as articles describing algorithms.
Recent work has centered on identifying software needs in special functions; see NISTIR 5490. This paper has been submitted to the Journal of Computational and Applied Mathematics in connection with its presentation at the International Congress on Computational and Applied Mathematics. Fifteen libraries and interactive systems were assessed with regard to their coverage of 44 different functions. Not surprisingly, the greatest deficiencies involve functions of complex variables. The paper also discussed the need for improved testing and suggested a graphics-based approach that could in principle be offered on the World Wide Web. The work grew out of an earlier survey of current resources for numerical evaluation of special functions which culminated in a lengthy paper in the American Mathematical Society's Proceedings of Symposia in Applied Mathematics.
Currently, work is in progress to prepare the survey paper mentioned above in hypertext format for presentation on the Web. Because of its extensive classification and bibliography of special functions, it will be a valuable resource for scientific workers. Future plans call for updating the bibliographic database on a regular basis.