[英]Compute a sum in numpy array
我有一個m
× n
矩陣A
,實現為一個numpy
數組。
import numpy as np
m = 10
n = 7
A = np.random.rand(m, n)
我想計算的m
由m
矩陣B
其條目
B[i, j] = sum_{k=1,...,n} sum_{l=1,...,n} A[i, k] * A[j, l]
沒有顯式for循環的最簡單方法是什么?
請注意,表達式中k
的和僅影響第一個因子,而l
的和僅涉及第二個因子:
sum_{k=1,...,n} sum_{l=1,...,n} A[i, k] * A[j, l] =
(sum_{k=1,...,n} A[i, k]) * (sum_{l=1,...,n} A[j, l])
除索引名稱外,括號中的表達式相同,因此定義
sA = np.sum(A, axis=1)
那么您的B
是sA
與其自身的所謂外積 :
B = np.outer(sA, sA)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.