numpy.i0#

numpy.i0(x)[源代码]#

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

通常表示为 \(I_0\).

参数:
x类似数组的浮点数

贝塞尔函数的参数.

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

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

备注

推荐使用 scipy 的实现而不是这个函数:它是一个用 C 编写的适当 ufunc,并且速度快了一个数量级以上.

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

参考文献

[1]

C. W. Clenshaw, “Chebyshev series for mathematical functions”, in National Physical Laboratory Mathematical Tables, vol. 5, London: Her Majesty’s Stationery Office, 1962.

[2]

M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, 10th printing, New York: Dover, 1964, pp. 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])