scipy.special.

jvp#

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

計算第一類貝索函數的導數。

計算貝索函數 Jv 相對於 z 的第 n 階導數。

參數:
varray_like 或 float

貝索函數的階

z複數

評估導數的參數;可以是實數或複數。

n整數,預設值為 1

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

返回:
純量或 ndarray

貝索函數導數的值。

注意

導數是使用關係式 DLFM 10.6.7 [2] 計算得出。

參考文獻

[1]

Zhang, Shanjie 和 Jin, Jianming。「Computation of Special Functions」,John Wiley and Sons,1996 年,第 5 章。 https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html

[2]

NIST 數學函數數位圖書館。 https://dlmf.nist.gov/10.6.E7

範例

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

>>> from scipy.special import jvp
>>> jvp(0, 1, 0), jvp(0, 1, 1), jvp(0, 1, 2)
(0.7651976865579666, -0.44005058574493355, -0.3251471008130331)

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

>>> jvp([0, 1, 2], 1, 1)
array([-0.44005059,  0.3251471 ,  0.21024362])

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

>>> import numpy as np
>>> points = np.array([0., 1.5, 3.])
>>> jvp(0, points, 1)
array([-0.        , -0.55793651, -0.33905896])

繪製 1 階第一類貝索函數及其前三個導數的圖。

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