繁体   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