我有1X2矩阵,Mu_I.transpose()
和2x2矩阵Covariance_I_Inverse
。
乘法的结果应该是1x2矩阵,但我的输出是2x2矩阵。
为什么呢?如何获得1x2矩阵?
>>> Mu_I.transpose()
[[ 10.02010924 9.99184818]]
>>> Mu_I.transpose().shape
(1, 2)
>>> Covariance_I_Inverse
[[ 0.72006911 0. ],
[ 0. 0.77689697]]
>>> Covariance_I_Inverse.shape
(2, 2)
>>> (Mu_I.transpose()*Covariance_I_Inverse)
[[ 7.21517113 0. ],
[ 0. 7.76263658]]
>>> (Mu_I.transpose()*Covariance_I_Inverse).shape
(2, 2)
答案 0 :(得分:6)
我猜这些变量是numpy.array
,而不是numpy.matrix
。对于numpy.array
,*
被定义为逐元素乘法。在这种情况下,使用numpy.dot()
。这将为您提供矩阵乘法。
或者只是使用numpy.matrix
和* operator
将是矩阵乘法。