scipy.special.kv#

scipy.special.kv(v, z, выход=None) = 'kv'>#

Модифицированная функция Бесселя второго рода вещественного порядка v

Возвращает модифицированную функцию Бесселя второго рода для вещественного порядка v в комплексной z.

Их также иногда называют функциями третьего рода, функциями Бассета или функциями Макдональда. Они определяются как те решения модифицированного уравнения Бесселя, для которых,

\[K_v(x) \sim \sqrt{\pi/(2x)} \exp(-x)\]

как \(x \to \infty\) [3].

Параметры:
varray_like из float

Порядок функций Бесселя

zarray_like комплексных чисел

Аргумент, в котором вычисляются функции Бесселя

выходndarray, необязательно

Необязательный выходной массив для результатов функции

Возвращает:
скаляр или ndarray

Результаты. Обратите внимание, что входные данные должны быть комплексного типа, чтобы получить комплексный вывод, например. kv(3, -2+0j) вместо kv(3, -2).

Смотрите также

kve

Эта функция с удаленным ведущим экспоненциальным поведением.

kvp

Производная этой функции

Примечания

Оболочка для AMOS [1] рутина zbesk. Для обсуждения используемого алгоритма см. [2] и ссылки в нём.

Ссылки

[1]

Дональд Э. Амос, «AMOS, переносимый пакет для функций Бесселя комплексного аргумента и неотрицательного порядка», http://netlib.org/amos/

[2]

Дональд Э. Амос, "Алгоритм 644: Переносимый пакет для функций Бесселя комплексного аргумента и неотрицательного порядка", ACM TOMS Том. 12 Выпуск 3, сентябрь 1986, стр. 265

[3]

NIST Digital Library of Mathematical Functions, Уравнение 10.25.E3. https://dlmf.nist.gov/10.25.E3

Примеры

Построить график функции нескольких порядков для вещественного входа:

>>> import numpy as np
>>> from scipy.special import kv
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 5, 1000)
>>> for N in np.linspace(0, 6, 5):
...     plt.plot(x, kv(N, x), label='$K_{{{}}}(x)$'.format(N))
>>> plt.ylim(0, 10)
>>> plt.legend()
>>> plt.title(r'Modified Bessel function of the second kind $K_\nu(x)$')
>>> plt.show()
../../_images/scipy-special-kv-1_00_00.png

Вычислить для одного значения при нескольких порядках:

>>> kv([4, 4.5, 5], 1+2j)
array([ 0.1992+2.3892j,  2.3493+3.6j   ,  7.2827+3.8104j])