Python 矩阵乘法与Numpy的关系如何

Python 矩阵乘法与Numpy的关系如何,python,numpy,matrix-multiplication,Python,Numpy,Matrix Multiplication,我有一个2D矩阵,例如X=np.one((97,2))和另一个向量,例如Theta=np.zero((2,1)) 当我将向量θ和矩阵X相乘时,会产生一个错误 'operands could not be broadcast together with shapes (2,1) (97,2)' 但是当我乘以θ.T*x时,它会输出一个新的(97,2)矩阵 它是如何工作的?(1,2)*(97,2)是如何工作的,如果形状与它在θ*X时产生错误无关,请解释一下。当矩阵乘法按维数不起作用时,它会尝试在较

我有一个2D矩阵,例如
X=np.one((97,2))
和另一个向量,例如
Theta=np.zero((2,1))
当我将向量θ和矩阵X相乘时,会产生一个错误

'operands could not be broadcast together with shapes (2,1) (97,2)' 
但是当我乘以θ.T*x时,它会输出一个新的
(97,2)矩阵

它是如何工作的?
(1,2)*(97,2)
是如何工作的,如果形状与它在
θ*X
时产生错误无关,请解释一下。

当矩阵乘法按维数不起作用时,它会尝试在较大的数组上广播(=复制)较小的数组,这就是为什么你的第二个例子有效,但第一个没有


矩阵乘法应该是
X@Theta
Theta.T*X
是元素乘法。