[英]Matrix multiplication strange error
這是我現在從3個小時開始苦苦掙扎的問題; /在numpy的python中,我做了簡單的乘法,例如:
matrix.T * matrix
,其中m是我的矩陣,但即使在我的大腦中一切正常(大小正確匹配),我仍然不斷收到錯誤消息:
operands could not be broadcast together with shapes (5,20) (20,5)
這是為什么? 20不匹配20嗎? 我怎么了; D?
提前致謝
矩陣乘法是NumPy中的dot
方法,如果您使用的是最新的Python和NumPy,則使用@
運算符:
matrix.T.dot(matrix)
要么
matrix.T @ matrix
或(如果您擁有足夠新的NumPy但沒有足夠的新Python)
np.matmul(matrix.T, matrix)
請注意,NumPy具有一個行為不同的matrix
類,但是您絕對不要使用它 。
您的matrix
變量用詞不當。 您擁有的是多維數組。
您可以簡單地使用np.dot
將數組相乘:
matrix.T.dot(matrix)
如果您實際上使用np.matrix
創建了矩陣,則該乘法將毫無問題地進行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.