Abstract
We describe a method for the rapid numerical evaluation of the Bessel functions of the first and second kinds of nonnegative real orders and positive arguments. Our algorithm makes use of the well-known observation that although the Bessel functions themselves are expensive to represent via piecewise polynomial expansions, the logarithms of certain solutions of Bessel’s equation are not. We exploit this observation by numerically precomputing the logarithms of carefully chosen Bessel functions and representing them with piecewise bivariate Chebyshev expansions. Our scheme is able to evaluate Bessel functions of orders between 0 and 1,000,000,000 at essentially any positive real argument. In that regime, it is competitive with existing methods for the rapid evaluation of Bessel functions and has at least three advantages over them. First, our approach is quite general and can be readily applied to many other special functions which satisfy second order ordinary differential equations. Second, by calculating the logarithms of the Bessel functions rather than the Bessel functions themselves, we avoid many issues which arise from numerical overflow and underflow. Third, in the oscillatory regime, our algorithm calculates the values of a nonoscillatory phase function for Bessel’s differential equation and its derivative. These quantities are useful for computing the zeros of Bessel functions, as well as for rapidly applying the Fourier-Bessel transform. The results of extensive numerical experiments demonstrating the efficacy of our algorithm are presented. A Fortran package which includes our code for evaluating the Bessel functions is publicly available.
Similar content being viewed by others
References
Amos, D.E.: Algorithm 644: a portable package for Bessel functions of a complex argument and nonnegative order. ACM Trans. Math. Softw. 3, 265–273 (1986)
Bochner, S., Martin, W.: Several Complex Variables. Princeton University Press, Princeton (1948)
Bremer, J.: On the numerical calculation of the roots of special functions satisfying second order ordinary differential equations. SIAM J. Sci. Comput. 39, A55–A82 (2017)
Bremer, J.: On the numerical solution of second order differential equations in the high-frequency regime. Appl. Comput. Harmon. Anal. To appear (2017)
Bremer, J., Rokhlin, V.: Improved estimates for nonoscillatory phase functions. Discrete and Continuous Dynamical Systems, Series A 36, 4101–4131 (2016)
Candés, E., Demanet, L., Ying, L.: Fast computation of Fourier integral operators. SIAM J. Sci. Comput. 29, 2464–2493 (2007)
Candés, E., Demanet, L., Ying, L.: Fast butterfly algorithm for the computation of Fourier integral operators. SIAM Journal on Multiscale Modeling and Simulation 7, 1727–1750 (2009)
Carleson, L.: On convergence and growth of partial sums of Fourier series. Acta Math. 116, 135–157 (1966)
Olver, F.W.J., Olde Daalhuis, A.B., Lozier, D.W., Schneider, B.I., Boisvert, R.F., Clark, C.W., Miller, B.R., Saunders, B.V.: NIST Digital Library of Mathematical Functions. http://dlmf.nist.gov/, Release 1.0.13 of 2016-09-16
Erdélyi, A. et al.: Higher Transcendental Functions, vol. II. McGraw-Hill, New York (1953)
Fedoryuk, M.V.: Asymptotic Analysis. Springer, Berlin (1993)
Fefferman, C.: On the convergence of multiple Fourier series. Bull. Am. Math. Soc. 77, 744–745 (1971)
Gil, A., Segura, J., Temme, N.M.: Numerical Methods for Special Functions. SIAM, Philadelphia (2007)
Heitman, Z., Bremer, J., Rokhlin, V., Vioreanu, B.: On the asymptotics of Bessel functions in the Fresnel regime. Appl. Comput. Harmon. Anal. 39, 347–355 (2015)
Higham, N.J.: Accuracy and Stability of Numerical Algorithms, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia (2002)
Hille, E.: Ordinary Differential Equations in the Complex Domain. Wiley, New York (1976)
Iserles, A.: A First Course in the Numerical Analysis of Differential Equations. Cambridge University Press, Cambridge (1996)
Kummer, E.: De generali quadam aequatione differentiali tertti ordinis. Progr. Evang. Köngil. Stadtgymnasium Liegnitz (1834)
Li, Y., Yang, H.: Interpolative butterfly factorization. SIAM J. Sci. Comput. To appear
Li, Y., Yang, H., Martin, E., Ho, K.L., Ying, L.: Butterfly factorization. SIAM Journal on Multiscale Modeling and Simulation 13, 714–732 (2015)
Mason, J., Handscomb, D.: Chebyshev Polynomials. Chapman and Hall, London (2003)
Matviyenko, G.: On the evaluation of Bessel functions. Appl. Comput. Harmon. Anal. 1, 116–135 (1993)
Michielssen, E., Boag, A.: A multilevel matrix decomposition algorithm for analyzing scattering from large structures. IEEE Trans. Antennas Propag. 44, 1086–1093 (1996)
Miller, J.: On the choice of standard solutions for a homogeneous linear differential equation of the second order. Q. J. Mech. Appl. Math. 3, 225–235 (1950)
Olver, F.W.: Asymptotics and Special Functions. A.K. Peters, Natick (1997)
O‘Neil, M., Woolfe, F., Rokhlin, V.: An algorithm for the rapid evaluation of special function transforms. Appl. Comput. Harmon. Anal. 28, 203–226 (2010)
Trefethen, N.: Approximation Theory and Approximation Practice. Society for Industrial and Applied Mathematics, Philadelphia (2013)
Watson, G.N.: A Treatise on the Theory of Bessel Functions, 2nd edn. Cambridge University Press, New York (1995)
Acknowledgments
The author was supported by National Science Foundation grant DMS-1418723, and by a UC Davis Chancellor’s Fellowship.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Alexander Barnett
Rights and permissions
About this article
Cite this article
Bremer, J. An algorithm for the rapid numerical evaluation of Bessel functions of real orders and arguments. Adv Comput Math 45, 173–211 (2019). https://doi.org/10.1007/s10444-018-9613-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10444-018-9613-9