Python 3.x 我用numpy乘以两个矩阵时遇到问题

Python 3.x 我用numpy乘以两个矩阵时遇到问题,python-3.x,numpy,Python 3.x,Numpy,我尝试使用numpy将两个矩阵相乘: import numpy as np A = np.array([[1, 3, 2], [4, 0, 1]]) B = np.array([[1, 0, 5], [3, 1, 2]]) 我测试了这个过程,并使用矩阵乘法公式手动运行计算。因此,在本例中,我首先将[1,0,5]xa相乘,得到[11,9],然后将[3,1,2]xb相乘,得到[10,14]。最后,这个乘法的乘积是[[11,9],[10,14]] 然而,当我使用numpy乘以这些矩阵时,我得到了一

我尝试使用numpy将两个矩阵相乘:

import numpy as np

A = np.array([[1, 3, 2], [4, 0, 1]])
B = np.array([[1, 0, 5], [3, 1, 2]])
我测试了这个过程,并使用矩阵乘法公式手动运行计算。因此,在本例中,我首先将
[1,0,5]xa
相乘,得到
[11,9]
,然后将
[3,1,2]xb
相乘,得到
[10,14]
。最后,这个乘法的乘积是
[[11,9],[10,14]]

然而,当我使用numpy乘以这些矩阵时,我得到了一个错误:

ValueError: shapes (2,3) and (2,3) not aligned: 3 (dim 1) != 2 (dim 0)
有没有办法用python成功地做到这一点?

阅读上的文档,特别是关于行为的文档

行为取决于以下方式的参数

如果两个参数都是二维的,则它们会像常规的那样相乘 矩阵。如果任一参数为N-D,N>2,则将其视为堆栈 位于最后两个索引和广播中的矩阵的 因此。如果第一个参数是1-D,它将提升为矩阵 通过将1添加到其尺寸。矩阵相乘后 已删除前置1。如果第二个参数为1-D,则将提升该参数 通过在矩阵的维度上添加1来添加到矩阵。后矩阵 删除附加的1

要获得输出,请在乘法之前尝试转置1

c=np.matmul(A,B.transpose())

array([[11, 10],
       [ 9, 14]])

请提供用于所获得中间矩阵的乘法检查维度的代码。是否尝试使用其中一个数组?