Search code examples
pythonscipybessel-functions

Why does scipy bessel root finding not return roots at zero?


I am trying to use code which uses Bessel function zeros for other calculations. I noticed the following piece of code produces results that I consider unexpected.

    import scipy
    from scipy import special

    scipy.special.jn_zeros(1,2)

I would expect the result from this call to be

    array([0., 3.83170597])

instead of

    array([3.83170597, 7.01558667])

Is there a reason a reason why the root at x=0.0 is not being returned?

From what I can see the roots are symmetric along the x-axis except for any found at the origin, but I do not think this would be enough of a reason to leave off the root completely.

The computer I am using has python version 2.7.10 installed and is using scipy version 0.19.0

P.S. the following function is what I am trying to find the zeros of

    scipy.special.j1

Solution

  • It appears to be convention to not count the zero at zero, see for example ħere. Maybe it is considered redundant?