簡體   English   中英

計算numpy數組中的總和

[英]Compute a sum in numpy array

我有一個m × n矩陣A ,實現為一個numpy數組。

import numpy as np
m = 10
n = 7
A = np.random.rand(m, n)

我想計算的mm矩陣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)

那么您的BsA與其自身的所謂外積

B = np.outer(sA, sA)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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