Python 如何结合元素乘法和矩阵乘法
我尝试将元素乘法和矩阵乘法结合起来,用于两个矩阵:Python 如何结合元素乘法和矩阵乘法,python,numpy,matrix,scipy,Python,Numpy,Matrix,Scipy,我尝试将元素乘法和矩阵乘法结合起来,用于两个矩阵: 矩阵1形状:(N,N,3,3) 矩阵2形状:(N,N,3,1) 我想对前两个维度(N,N)执行元素操作,对后两个维度执行矩阵乘法。目标是得到一个(N,N,3,1)矩阵 我在numpy找不到一个好的手术,请问有没有合适的手术?谢谢 也许你想要这个。这本质上是内部(3,3)和(3,1)形矩阵的矩阵乘法 import numpy as np >>> a = np.random.rand(2, 2, 3, 3) >>&
- 矩阵1形状:(N,N,3,3)
- 矩阵2形状:(N,N,3,1)
我在numpy找不到一个好的手术,请问有没有合适的手术?谢谢 也许你想要这个。这本质上是内部
(3,3)
和(3,1)
形矩阵的矩阵乘法
import numpy as np
>>> a = np.random.rand(2, 2, 3, 3)
>>> b = np.random.rand(2, 2, 3, 1)
>>> c = np.matmul(a, b)
>>> c.shape
(2, 2, 3, 1)
听起来像是
einsum
可能是你要找的,但是Divakar可能在我之前就找到了表达式。我想他们想要einsum('ijkl,ijlm->ijkm',matrix1,matrix2)
maul/@
应该可以用了谢谢!einsum('ijkl,ijlm->ijkm',matrix1,matrix2)工作得很好!等价地,a@b
给出了完全相同的结果(用numpy查找数组广播)。