[英]Matrix Multiplication in Python Changes the Result Dimension
我有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)
我猜那些變量是numpy.array
,而不是numpy.matrix
。 對於numpy.array
, *
定義為逐元素乘法。 在這種情況下,請使用numpy.dot()
。 這將為您提供矩陣乘法。
或者簡單地使用numpy.matrix
和* operator
將進行矩陣乘法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.