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

Yua*_*hen 3 python numpy matrix-multiplication

有没有办法简化

 a=np.dot(a,b)
Run Code Online (Sandbox Code Playgroud)

就像你写的a=a+b那样a+=b?(a,b都是np.array)

ali*_*i_m 7

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

import numpy as np

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

c = a @ b
Run Code Online (Sandbox Code Playgroud)

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

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