BesselEval

BesselEval: Fast Evaluation of Bessel Functions. An algorithm for evaluating the Bessel functions J_nu and Y_nu of the first and seconds kinds of nonnegative real orders and positive real arguments. It also calculates either the values of a nonoscillatory phase function and its derivative (when in the oscillatory regime) or the values of the logarithms of the functions J_nu and -Y_nu (when in the nonoscillatory regime). For the most part, it operates via a table of numerically precomputed expansions, although asymptoptic expansions are used in the cases of extremely large and extremely small arguments and series expansions are used to evaluate Bessel functions of small orders and arguments. On a typical laptop machine available circa 2017 the average time required for a single evaluation was approximately 5 x 10^(-7) seconds.