我目前正在使用numpy.einsum
处理大型numpy数组乘法,并且一直面临MemoryError
问题。这就是为什么我试图用numexpr
来尽可能地评估表达式。据我了解:
np.einsum('ij,j -> ij', a, b)
在技术上与
相同numexpr.evaluate("a*b")
然而,在其他情况下似乎并不那么简单。假设我有三个表达式:
np.einsum('i, j -> ij', a, b)
np.einsum('ij, i -> ij', a, b)
np.einsum(ijk, kl -> ijkl', a, b)
使用numexpr
实现这三者的等效方法是什么?