0
我在尋找一種更快,也可能更精確的方式來計算以下內容:
我有一個矩陣A,我想計算A的行方向點積。赫比我要計算A 我 .T * A 我,其中指數i表示矩陣A的第i行Row.T *矩陣的行點積
import numpy as np
A=np.arange(40).reshape(20,2)
sol=[np.dot(A[ii,:].reshape(1,2).T,A[ii,:].reshape(1,2)) for ii in range(20)]
這導致形狀的矩陣np.shape(sol) #=(20,2,2)
我已經有了一看在np.einsum
,但不能使它工作到目前爲止。
如果只存在解決方案,其中所有20個2×2矩陣相加,這也沒關係,因爲我無論如何要總結一下到底:)
感謝
什麼是必須從輸出的形狀 - '「全部20個2×2矩陣相加」'? – Divakar
對不起。總和我的意思是對所有20個2x2矩陣求和,得到一個2x2矩陣。在範圍(20)中對ii進行重新塑造(np.sum(np.dot(A [ii,:]。reshape(1,2).T,A [ii,:]。reshape(1,2))) ]' – Koanashi
請檢查我的帖子中的編輯。另外,你的評論中的代碼是:'sol = [np.sum(...')不起作用。在發佈之前用你給定的示例驗證代碼是很好的。 – Divakar