我有一个n
维矩阵A
,即nXn...Xn
矩阵,我想计算矩阵中行的所有成对距离的总和。距离可以是欧几里德或任何其他规定的距离。
我尝试使用scipy
在scipy.spatial.distance.pdist
中给出的示例,但它不适用于n维矩阵(需要文档中所述的mXn
矩阵)。
对于2d矩阵,
A = [ a b c ,
d e f ,
g h i ]
所有可能的观察对之间的欧氏距离定义为
Sum = sqrt( (a-d)^2 + (b-e)^2 + (c-f)^2 ) ) + sqrt( (a-g)^2 + (b-h)^2 + (c-i)^2 ) ) + sqrt( (g-d)^2 + (h-e)^2 + (i-f)^2 ) )
我想扩展上述2d矩阵距离的概念(取每个成对行并计算它们之间的距离)。
array([[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]])
使用矢量化计算相同的最快方法是什么?