numpy.i0#
- numpy.i0(x)[source]#
第一类修正贝塞尔函数,阶数为 0。
通常表示为 \(I_0\)。
- 参数:
- x类似数组的浮点数
贝塞尔函数的自变量。
- 返回值:
- outndarray,形状 = 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,“数学函数的切比雪夫级数”,在《国家物理实验室数学表》中,第 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])