簡體   English   中英

numpy中的對稱矩陣?

[英]Symmetric matrices in numpy?

我希望在 python 中啟動一個對稱矩陣並用零填充它。

目前,我已經啟動了一個已知維度的數組,但這不適合隨后作為距離矩陣輸入到 R 中。

numpy 中是否有任何“簡單”方法來創建對稱矩陣?

編輯

我應該澄清 - 創建“對稱”矩陣很好。 但是我只對生成下三角形感興趣,即,

ar = numpy.zeros((3, 3))

array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

我想:

array([[ 0],
       [ 0, 0 ],
       [ 0.,  0.,  0.]])

這可能嗎?

我認為嘗試使用這種三角形陣列是不可行的。

因此,例如,這是(平方)成對歐幾里德距離的簡單實現:

def pdista(X):
    """Squared pairwise distances between all columns of X."""
    B= np.dot(X.T, X)
    q= np.diag(B)[:, None]
    return q+ q.T- 2* B

就性能而言,很難擊敗它(在 Python 級別)。 不使用這種方法的主要優勢是什么?

暫無
暫無

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

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