NumPy参考 >例行程序 >Mathematical functions > numpy.i0
numpy.
i0
(x )[来源] ¶第一种修改的Bessel函数,阶数为0。
通常表示为。该函数可以广播,但不会
“向上转换” int dtype参数,除非伴随至少一个float或complex dtype参数(请参见下文的“引发”)。
贝塞尔函数的参数。
修改后的Bessel函数在x的每个元素处求值。
如果参数仅由int dtypes组成。
笔记
建议在此函数上使用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)。
参考文献
CW Clenshaw,“ Chebyshev数学函数系列”,在《 国家物理实验室数学表》中,第1卷。5,伦敦:英国女王Her下办公室,1962年。
M. Abramowitz和IA Stegun,《数学函数手册》,第10版,纽约:多佛,1964年,第379页 。http://www.math.sfu.ca/~cbm/aands/page_379.htm
http://kobesearch.cpan.org/htdocs/Math-Cephes/Math/Cephes.html
例子
>>> np.i0(0.)
array(1.0) # may vary
>>> np.i0([0., 1. + 2j])
array([ 1.00000000+0.j , 0.18785373+0.64616944j]) # may vary