maxframe.tensor.i0#
- maxframe.tensor.i0(x, **kwargs)[源代码]#
第一类修正贝塞尔函数,阶数为 0。
通常表示为 \(I_0\)。此函数支持广播,但不会将纯整数类型的参数“提升”为更高精度,除非至少有一个参数是浮点型或复数类型(见下方 Raises)。
- 参数:
x (array_like, dtype float or complex) -- 贝塞尔函数的参数。
- 返回:
out -- 在 x 的每个元素处计算的第一类修正贝塞尔函数值。
- 返回类型:
Tensor, shape = x.shape, dtype = x.dtype
- 抛出:
TypeError -- 数组无法安全地转换为所需类型:如果参数完全由整数类型组成。
备注
我们使用 Clenshaw [1] 发表并由 Abramowitz 和 Stegun [2] 引用的算法,该算法将函数定义域划分为两个区间 [0,8] 和 (8,inf),并在每个区间中使用切比雪夫多项式展开。在 [0,30] 区间内使用 IEEE 算术计算所得的相对误差峰值为 5.8e-16,均方根误差为 1.4e-16(n = 30000)[3]_。
引用
示例
>>> import maxframe.tensor as mt
>>> mt.i0([0.]).execute() array([1.]) >>> mt.i0([0., 1. + 2j]).execute() array([ 1.00000000+0.j , 0.18785373+0.64616944j])