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 ?
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.