图的节点之间的快速欧几里德距离计算

时间:2016-01-04 00:41:34

标签: python numpy optimization graph euclidean-distance

我有一个图表,其中包含边缘列表和节点坐标。例如,

import numpy as np
edge = np.random.randint(100, size=[100,2])
node = np.random.rand(100,2)

我需要找到所有边缘的长度。到目前为止,我一直在使用以下功能(我最好的镜头!),它运行得很好但不适用于非常大的图形:

def GetLengths(node, edge):
    li = node[edge]
    arr = np.linalg.norm(li[:,0]-li[:,1],axis=1)
    return arr, np.mean(arr)

是否还有其他更好的实现(=更快)?我主要从事二维工作,但我很欣赏可以推广到更高维度的方法。

0 个答案:

没有答案