zeros of the derivative of the spherical Bessel function

181 Views Asked by At

I make reference to the function in Scipy here. I want to calculate the zeros of the derivative of the function j'_n(x). Any propositions for how to do it ?

1

There are 1 best solutions below

0
alexpiers On BEST ANSWER

Use the built-in scipy function scipy.optimize.brentq to find the roots. An example usage is

import scipy.optimize
from scipy.special import spherical_jn

def sphericalBesselBrent(x, n, derivative):
    return spherical_jn(n, x, derivative=derivative)

x0 = scipy.optimize.brentq(sphericalBesselBrent, 0.5, 5, args=(2, True))
print(x0)

Where we need to define some wrapper function sphericalBesselBrent around the scipy bessel function to match the function template required by brentq. This returns a single root between 0.5 and5. If you need more roots, you would need to iterate over ranges to search for roots. a and b must be different signs.