两组点之间的成对距离

时间:2019-05-10 18:19:52

标签: python numpy

我正在使用numpy计算两组点之间的成对(平方)欧几里德距离(存储为两个矩阵的行)。这是我当前拥有的代码:

import numpy as np

def squared_pair_dist(x, y):
    x = np.expand_dims(x, -2)
    return np.sum(np.square(x - y), axis=-1)

p = 10
x = np.random.standard_normal((100, p))
y = np.random.standard_normal((1000, p))

d = squared_pair_dist(x, y) # get 100x1000 squared-distance matrix

我的程序大部分时间都在计算np.sum(np.square(x - y), axis=-1)上。有没有办法加快速度?

在我的应用程序中,p始终相对较小,典型值范围为1到15。其他尺寸通常较大。

0 个答案:

没有答案