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

How do I multiply a (2,4)-matrix with a (4,1)-matrix?

我正在尝试将两个矩阵相乘,但 (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)

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