ufunc文档指出:
在哪里
1.7 版中的新功能。接受与操作数一起广播的布尔数组。True 值表示计算该位置的 ufunc,False 值表示将值单独留在输出中。
默认行为是什么,什么时候out
没有给出?
我观察到一些行为,这对我来说真的没有意义:
import numpy as np
a,b = np.ones((2,2))
np.add(a,b,where = False) #returns 0
np.exp(a, where = False) #returns 1
np.sin(a, where = False) #returns 1
np.sign(a, where = False) #returns 0
np.reciprocal(a, where = False) #returns 0
有谁知道根本原因/行为?尤其是np.reciprocal
没有意义,因为倒数永远不会是 0
编辑:行为更加复杂:
a,b = np.ones(2)
np.add(a,b,where = False) #returns 6.0775647498958414e-316
a,b = 1,1
np.add(a,b, where = False) #returns 12301129,
#running this line several times doesn't give the same result every time...
我正在使用 Numpy 版本 1.11.1