簡體   English   中英

Python中的矩陣乘法更改了結果維

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM