是否有一个ufunc只是转发数据?

在大多数情况下,要达到相同的效果并不难,但是有时在显式使用ufunc时,使用只转发数据的函数会很方便。主要用于测试/调试并具有一致的代码。

例如,当我有一个将ufunc作为参数的函数时:

op = some ufunc
x = do_with_op(data0, data1, op)

最佳答案

如果您的数据都是真实的,则复共轭np.conj(x)是一元ufunc身份。



您也可以使用np.frompyfunc创建自己的ufunc:

forward_unary  = np.frompyfunc(lambda x:    x, 1, 1)
forward_first  = np.frompyfunc(lambda x, y: x, 2, 1)
forward_second = np.frompyfunc(lambda x, y: y, 2, 1)

10-08 19:59