为什么可以';我不能使用numpy.logaddexp.reduce吗?

为什么可以';我不能使用numpy.logaddexp.reduce吗?,numpy,numpy-ufunc,Numpy,Numpy Ufunc,为什么我不能使用numpy.logaddexp.reduce In [46]: a = np.array([1,5, 3, 2]) In [47]: np.logaddexp.reduce(a) --------------------------------------------------------------------------- TypeError Traceback (most recent call last)

为什么我不能使用numpy.logaddexp.reduce

In [46]: a = np.array([1,5, 3, 2])

In [47]: np.logaddexp.reduce(a)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-47-701e5f4017fe> in <module>()
----> 1 np.logaddexp.reduce(a)

TypeError: No loop matching the specified signature was found for ufunc logaddexp
[46]中的
:a=np.array([1,5,3,2])
在[47]中:np.logaddexp.reduce(a)
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1 np.logaddexp.reduce(a)
TypeError:找不到与ufunc logaddexp指定签名匹配的循环

看起来
reduce
函数不接受整数数组。使用浮点数组:

In [28]: a = np.array([1.0, 5.0, 3.0, 2.0])

In [29]: np.logaddexp.reduce(a)
Out[29]: 5.1851824526038124
或者使用
dtype
参数:

In [34]: a = np.array([1, 5, 3, 2])

In [35]: np.logaddexp.reduce(a, dtype=np.float64)
Out[35]: 5.1851824526038124