{ } Raw JSON

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 : int

Order of the Bessel functions

nt : int

Number (<=1200) of zeros to compute

Returns

Jn : ndarray

First nt zeros of Jn

Jnp : ndarray

First nt zeros of Jn'

Yn : ndarray

First nt zeros of Yn

Ynp : ndarray

First nt zeros 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
Plot :math:`J_1`, :math:`J_1'`, :math:`Y_1`, :math:`Y_1'` and their 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()
fig-5094f18bd8f3485a.png

See also

jn_zeros
jnp_zeros
yn_zeros
ynp_zeros

Aliases

  • scipy.special.jnyn_zeros