上一主题

numpy.logaddexp2

下一主题

numpy.sinc

numpy.i0

numpy.i0(x)[source]

修改Bessel函数的第一类,顺序为0。

通常表示为I_0此函数广播,但将“up-cast”int dtype参数,除非附带至少一个float或complex dtype参数(参见下面的Raises)。

参数:

x:array_like,dtype float或complex

贝塞尔函数的参数。

返回:

out:ndarray,shape = x.shape,dtype = x.dtype

x的每个元素处评估的修改的贝塞尔函数。

上升:

TypeError:数组无法安全地转换为必需类型

如果参数完全由int类型组成。

笔记

我们使用由Clenshaw [R29]发布并由Abramowitz和Stegun [R30]引用的算法,其中函数域被划分为两个区间[0,8]和(8,inf),并且在每个间隔中采用切比雪夫多项式扩展。使用IEEE算术在域[0,30]上的相对误差记录为具有5.8e-16的峰值,具有1.4e-16的rms(n = 30000)的[R31]

参考文献

[R29](1, 2) C. W. Clenshaw, “Chebyshev series for mathematical functions”, in National Physical Laboratory Mathematical Tables, vol. 5,伦敦:女王陛下文具办公室,1962年。
[R30]12 M. Abramowitz和I.A. Stegun,Handbook of Mathematical Functions,第10次印刷,New York:Dover,1964,http://www.math.sfu.ca/~cbm/aands/page_379.htm
[R31]12 http://kobesearch.cpan.org/htdocs/Math-Cephes/Math/Cephes.html

例子

>>> np.i0([0.])
array(1.0)
>>> np.i0([0., 1. + 2j])
array([ 1.00000000+0.j        ,  0.18785373+0.64616944j])