{ } Raw JSON

bundles / scipy 1.17.1 / scipy / special / _spherical_bessel / spherical_yn

function

scipy.special._spherical_bessel:spherical_yn

source: /scipy/special/_spherical_bessel.py :128

Signature

def   spherical_yn ( n z derivative = False )

Summary

Spherical Bessel function of the second kind or its derivative.

Extended Summary

Defined as [1],

where is the Bessel function of the second kind.

Parameters

n : int, array_like

Order of the Bessel function (n >= 0).

z : complex or float, array_like

Argument of the Bessel function.

derivative : bool, optional

If True, the value of the derivative (rather than the function itself) is returned.

Returns

yn : ndarray

Notes

For real arguments, the function is computed using the ascending recurrence [2]. For complex arguments, the definitional relation to the cylindrical Bessel function of the second kind is used.

The derivative is computed using the relations [3],

Examples

The spherical Bessel functions of the second kind :math:`y_n` accept both real and complex second argument. They can return a complex type:
from scipy.special import spherical_yn
spherical_yn(0, 3+5j)
type(spherical_yn(0, 3+5j))
We can verify the relation for the derivative from the Notes for :math:`n=3` in the interval :math:`[1, 2]`:
import numpy as np
x = np.arange(1.0, 2.0, 0.01)
np.allclose(spherical_yn(3, x, True),
            spherical_yn(2, x) - 4/x * spherical_yn(3, x))
The first few :math:`y_n` with real argument:
import matplotlib.pyplot as plt
x = np.arange(0.0, 10.0, 0.01)
fig, ax = plt.subplots()
ax.set_ylim(-2.0, 1.0)
ax.set_title(r'Spherical Bessel functions $y_n$')
for n in np.arange(0, 4):
    ax.plot(x, spherical_yn(n, x), label=rf'$y_{n}$')
plt.legend(loc='best')
plt.show()
fig-19125e9d295e3fdd.png

Aliases

  • scipy.special.spherical_yn

Referenced by