numpy中的矩阵特殊乘法

时间:2018-12-06 11:27:57

标签: python numpy matrix multiplication

我有两个数组m1和m2,我想做一个特殊的乘法: 1 * 8 + 2 * 6、3 * 8 + 4 * 6、1 * 2 + 2 * 6、3 * 2 + 4 * 6,... 所以我想要这个输出。结果= [20,48,14,30,..]

m1 = np.array([1,2,3,4])
m2 = np.array([8,6,2,6,2,5])

很抱歉,但我真的不知道该怎么做。 我认为使用这样的for循环:

for x in m1:

谢谢

1 个答案:

答案 0 :(得分:1)

显然,您的标量乘积必须2乘2,因此您需要开始重塑数据:

m1 = np.array([1,2,3,4]).reshape(2,2)
m2 = np.array([8,6,2,6,2,5]).reshape(3,2)

因此,现在,您想要在最后一列上的点积,并将结果展平,所以:

np.dot(m2, m1.T).reshape(-1)