scipy.special.

kvp#

scipy.special.kvp(v, z, n=1)[source]#

計算實數階修正貝索函數 Kv(z) 的導數

Kv(z) 是第二類修正貝索函數。導數是針對 z 計算。

參數:
v浮點數的類陣列 (array_like of float)

貝索函數的階數

z複數的類陣列 (array_like of complex)

評估導數的自變數

n整數,預設值 1

導數的階數。若為 0,則返回貝索函數 kv 本身。

回傳值:
outndarray

結果

另請參閱

kv

註解

導數是使用 DLFM 10.29.5 [2] 的關係式計算。

參考文獻

[1]

Zhang, Shanjie 和 Jin, Jianming. “特殊函數計算 (Computation of Special Functions)”,John Wiley and Sons,1996 年,第 6 章。 https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html

[2]

NIST 數學函數數位圖書館 (NIST Digital Library of Mathematical Functions)。 https://dlmf.nist.gov/10.29.E5

範例

計算第二類 0 階修正貝索函數及其前兩個導數在 1 的值。

>>> from scipy.special import kvp
>>> kvp(0, 1, 0), kvp(0, 1, 1), kvp(0, 1, 2)
(0.42102443824070834, -0.6019072301972346, 1.0229316684379428)

透過為 v 提供陣列,計算第二類修正貝索函數在 1 處多個階數的第一個導數。

>>> kvp([0, 1, 2], 1, 1)
array([-0.60190723, -1.02293167, -3.85158503])

透過為 z 提供陣列,計算第二類 0 階修正貝索函數在多個點的第一個導數。

>>> import numpy as np
>>> points = np.array([0.5, 1.5, 3.])
>>> kvp(0, points, 1)
array([-1.65644112, -0.2773878 , -0.04015643])

繪製第二類修正貝索函數及其前三個導數的圖。

>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 5, 1000)
>>> fig, ax = plt.subplots()
>>> ax.plot(x, kvp(1, x, 0), label=r"$K_1$")
>>> ax.plot(x, kvp(1, x, 1), label=r"$K_1'$")
>>> ax.plot(x, kvp(1, x, 2), label=r"$K_1''$")
>>> ax.plot(x, kvp(1, x, 3), label=r"$K_1'''$")
>>> ax.set_ylim(-2.5, 2.5)
>>> plt.legend()
>>> plt.show()
../../_images/scipy-special-kvp-1.png