具有周期性边界条件和输出对距离的 KDTree
KDTree with periodic boundary conditions and pair distances in output
我想 运行 对位于周期性框内的 >10k 点进行最近邻搜索,然后 return 将这些点的距离及其索引发送给我。
到目前为止,我尝试了 sklearn.neighbors.KDTree(positions).query_radius(positions, r=maximum_distance,return_distance=True)
,其中 return 是最大距离内的最近邻距离。半径,但是它不适用于周期性边界条件 (PBC)。我探索的另一种方法是 scipy.spatial.cKDTree(positions, boxsize=box_size).query_pairs(r=maximum_distance)
,它适用于 PBC,但不适用于 return 对之间的距离。
是否可以像 scipy.spatial.cKDTree
那样扩展 sklearn.neighbors.KDTree
处理 PBC 的能力?
或
是否可以将 scipy.spatial.cKDTree
扩展到 return 对距离?
答案是:
scipy.spatial.cKDTree().query()
我想 运行 对位于周期性框内的 >10k 点进行最近邻搜索,然后 return 将这些点的距离及其索引发送给我。
到目前为止,我尝试了 sklearn.neighbors.KDTree(positions).query_radius(positions, r=maximum_distance,return_distance=True)
,其中 return 是最大距离内的最近邻距离。半径,但是它不适用于周期性边界条件 (PBC)。我探索的另一种方法是 scipy.spatial.cKDTree(positions, boxsize=box_size).query_pairs(r=maximum_distance)
,它适用于 PBC,但不适用于 return 对之间的距离。
是否可以像 scipy.spatial.cKDTree
那样扩展 sklearn.neighbors.KDTree
处理 PBC 的能力?
或
是否可以将 scipy.spatial.cKDTree
扩展到 return 对距离?
答案是:
scipy.spatial.cKDTree().query()