【发布时间】:2022-01-10 15:57:12
【问题描述】:
我有一个名为 vec 的矩阵,它有两列,vec[:,0] 和 vec[:,1]。 P 包含两个矩阵,P[0,:,:] 和 P[1,:,:]。我想将 P[0,:,:] 与 vec 的第一列相乘,并将 P[1,:,:] 与 vec 的第二列相乘。但是,操作 P@vec 还给了我 P[0,:,:] 与 vec 的第二列的矩阵乘积以及 P[1,:,:] 与 vec 的第一列的矩阵乘积,这会减慢我的代码。
是否可以直接计算第 1 列到矩阵 1 和第 2 列到矩阵 2 的对而无需“关闭”产品?
import numpy as np
P=np.arange(50).reshape(2, 5, 5)
vec=np.arange(10).reshape(5,2)
have=P@vec
want=np.column_stack((have[0,:,0],have[1,:,1]))
have,want
【问题讨论】:
标签: python numpy matrix matrix-multiplication