如何将(2,4)矩阵与(4,1)矩阵相乘?

时间:2019-05-27 12:21:23

标签: python matrix-multiplication

我正在尝试将两个矩阵相乘,但是(4,1)矩阵被python读取为(4,1,1)。如何确保python正确读取我的矩阵并能够将它们相乘?我希望能够从列表中获取数字,并将其放入矩阵中,然后再与另一个相乘。

这是作业的一部分。我已经尝试了numpys .dot和.matmul函数,但是都没有用。而且我不认为我会遗漏任何括号。即使我将list-indexes替换为实际数字,它也不起作用。

def Md(a,b,c,d,e,f):
    Md = np.array([[a,b,0,0],[c,d,e,f]])
    return Md


pl = [np.array([[2],[3]])]
u = np.array([[pl[0][0]],[pl[0][1]],[pl[0][0]**2],[pl[0][1]**2]])
print(np.matmul(Md(1,-1,1,0,0.5,0.5),u))

我希望此乘法的输出为[[-1],[8.5]],但我却收到此错误消息:

ValueError: shapes (2,4) and (4,1,1) not aligned: 4 (dim 1) != 1 (dim 1)

1 个答案:

答案 0 :(得分:0)

u = np.array([[pl[0][0]],[pl[0][1]],[pl[0][0]**2],[pl[0][1]**2]]).reshape(4,1)