numpy.i0#
- numpy.i0(x)[原始碼]#
第一類零階修正貝索函數。
通常表示為 \(I_0\)。
- 參數:
- xfloat 類型的陣列型物件
貝索函數的引數。
- 傳回:
- outndarray,形狀 = x.shape,dtype = float
在 x 的每個元素上評估的修正貝索函數。
註解
建議使用 scipy 實作來取代此函數:它是在 C 中編寫的適當 ufunc,速度快了一個數量級以上。
我們使用 Clenshaw [1] 發布並由 Abramowitz 和 Stegun [2] 參考的演算法,其中函數域劃分為兩個區間 [0,8] 和 (8,inf),並且在每個區間中使用 Chebyshev 多項式展開。使用 IEEE 算術在域 [0,30] 上的相對誤差記錄 [3] 為峰值 5.8e-16,均方根值為 1.4e-16 (n = 30000)。
參考文獻
[1]C. W. Clenshaw,“數學函數的 Chebyshev 級數”,在國家物理實驗室數學表,第 5 卷,倫敦:女王陛下的文具辦公室,1962 年。
[2]M. Abramowitz 和 I. A. Stegun,《數學函數手冊》,第 10 次印刷,紐約:Dover,1964 年,第 379 頁。https://personal.math.ubc.ca/~cbm/aands/page_379.htm
範例
>>> import numpy as np >>> np.i0(0.) array(1.0) >>> np.i0([0, 1, 2, 3]) array([1. , 1.26606588, 2.2795853 , 4.88079259])