numpy.i0 #

麻木的。i0 ( x ) [来源] #

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

通常表示为\(I_0\)

参数
x类似浮点数的数组

贝塞尔函数的参数。

返回
输出ndarray,形状 = 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 ]

CW Clenshaw,“数学函数的切比雪夫级数”, 国家物理实验室数学表,卷。 5,伦敦:女王陛下文具办公室,1962 年。

[ 2 ]

M. Abramowitz 和 IA Stegun,《数学函数手册》,第 10 版,纽约:Dover,1964 年,第 379 页。 https://personal.math.ubc.ca/~cbm/aands/page_379.htm

例子

>>> np.i0(0.)
array(1.0)
>>> np.i0([0, 1, 2, 3])
array([1.        , 1.26606588, 2.2795853 , 4.88079259])