scipy.special.

y1_zeros#

scipy.special.y1_zeros(nt, комплексный=False)[источник]#

Вычислить nt нулей функции Бесселя Y1(z) и производную в каждом нуле.

Производные задаются как Y1'(z1) = Y0(z1) в каждом нуле z1.

Параметры:
ntint

Количество нулей для возврата

комплексныйbool, по умолчанию False

Установите False, чтобы возвращать только действительные нули; установите True, чтобы возвращать только комплексные нули с отрицательной действительной частью и положительной мнимой частью. Обратите внимание, что комплексно-сопряженные к последним также являются нулями функции, но не возвращаются этой процедурой.

Возвращает:
z1nndarray

Расположение n-го нуля Y1(z)

y1pz1nndarray

Значение производной Y1’(z1) для n-го нуля

Ссылки

[1]

Zhang, Shanjie and Jin, Jianming. “Computation of Special Functions”, John Wiley and Sons, 1996, chapter 5. https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html

Примеры

Вычислить первые 4 вещественных корня и производные в корнях \(Y_1\):

>>> import numpy as np
>>> from scipy.special import y1_zeros
>>> zeros, grads = y1_zeros(4)
>>> with np.printoptions(precision=5):
...     print(f"Roots: {zeros}")
...     print(f"Gradients: {grads}")
Roots: [ 2.19714+0.j  5.42968+0.j  8.59601+0.j 11.74915+0.j]
Gradients: [ 0.52079+0.j -0.34032+0.j  0.27146+0.j -0.23246+0.j]

Извлечь действительные части:

>>> realzeros = zeros.real
>>> realzeros
array([ 2.19714133,  5.42968104,  8.59600587, 11.74915483])

Построить график \(Y_1\) и первые четыре вычисленных корня.

>>> import matplotlib.pyplot as plt
>>> from scipy.special import y1
>>> xmin = 0
>>> xmax = 13
>>> x = np.linspace(xmin, xmax, 500)
>>> zeros, grads = y1_zeros(4)
>>> fig, ax = plt.subplots()
>>> ax.hlines(0, xmin, xmax, color='k')
>>> ax.plot(x, y1(x), label=r'$Y_1$')
>>> ax.scatter(zeros.real, np.zeros((4, )), s=30, c='r',
...            label=r'$Y_1$_zeros', zorder=5)
>>> ax.set_ylim(-0.5, 0.5)
>>> ax.set_xlim(xmin, xmax)
>>> plt.legend()
>>> plt.show()
../../_images/scipy-special-y1_zeros-1_00_00.png

Вычислить первые 4 комплексных корня и производные в корнях \(Y_1\) установкой complex=True:

>>> y1_zeros(4, True)
(array([ -0.50274327+0.78624371j,  -3.83353519+0.56235654j,
         -7.01590368+0.55339305j, -10.17357383+0.55127339j]),
 array([-0.45952768+1.31710194j,  0.04830191-0.69251288j,
        -0.02012695+0.51864253j,  0.011614  -0.43203296j]))