I'm not sure if this is the best way, but you could try, e.g.,
sage: import scipy.special
sage: [x for x in dir(scipy.special) if 'zero' in x]
['ai_zeros', 'bei_zeros', 'beip_zeros', 'ber_zeros', 'berp_zeros',
'bi_zeros', 'erf_zeros', 'flatnonzero', 'fresnel_zeros',
'fresnelc_zeros', 'fresnels_zeros', 'jn_zeros', 'jnjnp_zeros',
'jnp_zeros', 'jnyn_zeros', 'kei_zeros', 'keip_zeros', 'kelvin_zeros',
'ker_zeros', 'kerp_zeros', 'nonzero', 'trim_zeros', 'y0_zeros',
'y1_zeros', 'y1p_zeros', 'yn_zeros', 'ynp_zeros', 'zeros', 'zeros_like']
sage: scipy.special.jn_zeros?
sage: scipy.special.jn_zeros(int(0), int(3)).tolist()
[2.4048255576957724, 5.5200781102863106, 8.6537279129110125]
List of scipy.special functions:
http://www.scipy.org/SciPyPackages/Special
Possibly naive questions:
* Are there analogous arbitrary-precision routines in or wrapped by Sage?
* Is it possible to call these GSL functions easily from Sage:
http://www.gnu.org/software/gsl/manual/html_node/Zeros-of-Regular-Bessel-Functions.html
?
You could also use mpmath to calculate the roots:
http://mpmath.googlecode.com/svn/tags/0.15/doc/build/functions/bessel.html?highlight=bessel
(specifically, see the example "Roots of Bessel functions are often used:")
Jason
It would be good if how to find these was more obvious. Roots of Bessel
functions are pretty common to want to find (at least in fields of engineering
I've worked in). It's not obvious that one would use the Sage interface to
mpmath to compute these.
MMA has these as BesselJZero[] and BesselYZero[]
http://reference.wolfram.com/mathematica/ref/BesselJZero.html
http://reference.wolfram.com/mathematica/ref/BesselYZero.html
If nobody beats me to it, when the OpenSolaris and 64-bit SPARC ports are
finished and I can concentrate on other aspects of Sage, I'll look into making
these more easily available.
Dave