One approach is the brute force method of evaluating at all points at fixed intervals and when it nears zero write value, this can be combined with adaptive step size. Another approach is approximating it with a polynomial of a certain order and using common methods like Newton-Raphson or bisection to find its roots, another way is to approximate it with interpolating polynomials and find its roots instead.

None of the above methods are efficient. How can I find the zeroes of a Bessel function (of 1st kind of a certain order) more efficiently? Are there other methods?


2 Answers 2


This is a classical problem in numerical methods research: evaluating the zeros of special functions. Many years of research have gone into devising efficient methods. The canonical starting point for anything related to this is the classic book by Abramowicz and Stegun.

Scanned versions of the book can easily be found on the internet (I'm not sure if these are legal copies, and so I won't link to them). The section on Bessel functions has 80 pages :-)

Abramowicz and Stegun first came out in 1964, and much work has been done since. NIST has put much of this material online in the form of the "Digital Library of Mathematical Functions", which can be found here: https://dlmf.nist.gov/ . The material on Bessel functions (chapter 10) is likely even more than the 80 pages in the original printed version.


You may be interested in "On the Numerical Calculation of the Roots of Special Functions Satisfying Second Order Ordinary Differential Equations", Bremer, https://epubs.siam.org/doi/abs/10.1137/16M1057139

  • 1
    $\begingroup$ Would you mind explaining the main points of the paper? $\endgroup$
    – nicoguaro
    Dec 26, 2019 at 20:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.