bundles / scipy 1.17.1 / scipy / special / _basic / jnyn_zeros
function
scipy.special._basic:jnyn_zeros
source: /scipy/special/_basic.py :236
Signature
def jnyn_zeros ( n , nt ) Summary
Compute nt zeros of Bessel functions Jn(x), Jn'(x), Yn(x), and Yn'(x).
Extended Summary
Returns 4 arrays of length nt, corresponding to the first nt zeros of Jn(x), Jn'(x), Yn(x), and Yn'(x), respectively. The zeros are returned in ascending order.
Parameters
n: intOrder of the Bessel functions
nt: intNumber (<=1200) of zeros to compute
Returns
Jn: ndarrayFirst
ntzeros of JnJnp: ndarrayFirst
ntzeros of Jn'Yn: ndarrayFirst
ntzeros of YnYnp: ndarrayFirst
ntzeros of Yn'
Examples
Compute the first three roots of :math:`J_1`, :math:`J_1'`, :math:`Y_1` and :math:`Y_1'`.from scipy.special import jnyn_zeros jn_roots, jnp_roots, yn_roots, ynp_roots = jnyn_zeros(1, 3)✓
jn_roots, yn_roots
✗import numpy as np import matplotlib.pyplot as plt from scipy.special import jnyn_zeros, jvp, jn, yvp, yn jn_roots, jnp_roots, yn_roots, ynp_roots = jnyn_zeros(1, 3) fig, ax = plt.subplots() xmax= 11 x = np.linspace(0, xmax) x[0] += 1e-15✓
ax.plot(x, jn(1, x), label=r"$J_1$", c='r') ax.plot(x, jvp(1, x, 1), label=r"$J_1'$", c='b') ax.plot(x, yn(1, x), label=r"$Y_1$", c='y') ax.plot(x, yvp(1, x, 1), label=r"$Y_1'$", c='c')✗
zeros = np.zeros((3, ))
✓ax.scatter(jn_roots, zeros, s=30, c='r', zorder=5, label=r"$J_1$ roots") ax.scatter(jnp_roots, zeros, s=30, c='b', zorder=5, label=r"$J_1'$ roots") ax.scatter(yn_roots, zeros, s=30, c='y', zorder=5, label=r"$Y_1$ roots") ax.scatter(ynp_roots, zeros, s=30, c='c', zorder=5, label=r"$Y_1'$ roots") ax.hlines(0, 0, xmax, color='k') ax.set_ylim(-0.6, 0.6) ax.set_xlim(0, xmax) ax.legend(ncol=2, bbox_to_anchor=(1., 0.75))✗
plt.tight_layout() plt.show()✓

See also
Aliases
-
scipy.special.jnyn_zeros