我试图优化一组点之间的欧几里得距离计算,
在简单矩阵上运行dist时,第一列为x,第二列为y,如下所示:
m <- matrix(c(3,4,5,6,7,1,2,3,4,5,6) , ncol=2)
[,1] [,2]
[1,] 3 1
[2,] 4 2
[3,] 5 3
[4,] 6 4
[5,] 7 5
我得到以下结果:
dist(m)
1 2 3 4
2 1.414214
3 2.828427 1.414214
4 4.242641 2.828427 1.414214
5 5.656854 4.242641 2.828427 1.414214
我对第一列特别感兴趣,它有每个点到下一个点的距离。但是,如果我使用gpuR软件包并将此矩阵转换为gpuMatrix,结果会完全不同,我不知道如何解释它,有人能解释一下或给我指出正确的方向吗?我在这个库中找不到关于此函数的有用文档或示例:
m2 <- gpuMatrix(m)
dist(m2)[]
[,1] [,2] [,3] [,4] [,5]
[1,] 0.000000 1.414214 0 0 0
[2,] 1.414214 0.000000 0 0 0
[3,] NaN NaN 0 0 0
[4,] 2.828427 NaN 0 0 0
[5,] 4.690416 NaN 0 0 0