[英]efficient way to compute numpy.ndarray internal multiplication
我有兩個形狀相同的矩陣a和b:
a = np.ndarray(shape=(3, 2), dtype=int)
b = np.ndarray(shape=(3, 2), dtype=int)
我想要它們的內部乘法:
1 2
a = 4 5
7 8
9 8
b = 6 5
3 2
我希望結果是這個1x2 ndarray:
[1x9+4x6+7x3 2x8+5x5+8x2]
就像我們正在計算兩個矩陣的列的標量點積。
我現在正在做的是:
np.diag(np.dot(np.transpose(a), b))
但它效率不高,它正在計算許多我不需要的其他東西。
我的矩陣比這些矩陣大得多,因此找到更有效的解決方案很重要。
您可以先進行簡單乘法,然后對axis = 0求和:
>>> a = np.array([[1, 2], [4, 5], [7, 8]])
>>> b = np.array([[9, 8], [6, 5], [3, 2]])
>>> (a * b).sum(axis=0)
array([54, 57])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.