Python 3.x 我用numpy乘以两个矩阵时遇到问题
我尝试使用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乘以这些矩阵时,我得到了一
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]])
请提供用于所获得中间矩阵的乘法检查维度的代码。是否尝试使用其中一个数组?