numpy矩阵乘法简化 - 有可能吗?

时间:2016-05-24 21:09:34

标签: python numpy matrix-multiplication

有没有办法简化

 a=np.dot(a,b)

就像您将a=a+b写为a+=b的方式一样? (a,b都是np.array

1 个答案:

答案 0 :(得分:7)

在Python3.5 +中,您可以使用@ operator进行矩阵乘法,例如:

import numpy as np

a = np.random.randn(4, 10)
b = np.random.randn(10, 5)

c = a @ b

这相当于调用c = np.matmul(a, b)。原位矩阵乘法(@=)尚不支持(在大多数情况下无论如何都没有意义,因为输出通常与第一个输入的维度不同)。

另请注意,当一个或多个输入数组具有> 2维时,np.matmul(和@)的行为与np.dot不同(请参阅here)。