numpy.i0#

numpy.i0(x)[source]#

第一类零阶修正贝塞尔函数。

通常表示为 \(I_0\)

参数:
x浮点数的 array_like

贝塞尔函数的自变量。

返回值:
outndarray,shape = x.shape,dtype = float

x 的每个元素处计算的修正贝塞尔函数。

注释

推荐使用 scipy 实现而不是此函数:它是一个用 C 编写的合适的 ufunc,速度快了一个数量级以上。

我们使用 Clenshaw [1] 发布并由 Abramowitz 和 Stegun [2] 参考的算法,该算法将函数域划分为两个区间 [0,8] 和 (8,inf),并在每个区间中使用切比雪夫多项式展开。使用 IEEE 算术在 [0,30] 域上的相对误差在 [3] 中记录为峰值为 5.8e-16,均方根为 1.4e-16 (n = 30000)。

参考文献

[1]

C. W. Clenshaw,“用于数学函数的切比雪夫级数”,载于 *National Physical Laboratory Mathematical Tables*,第 5 卷,伦敦:Her Majesty’s Stationery Office,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])