sponge.function.GetDistance

查看源文件
class sponge.function.GetDistance(use_pbc: bool = None, keepdims: bool = False, axis: int = - 1)[源代码]

获取有或者没有PBC box的距离。

参数:
  • use_pbc (bool) - 计算距离时是否使用周期性边界条件。 如果给出 "None" ,它将会根据是否给出了pbc_box决定计算距离时是否使用周期性边界条件。默认值: None

  • keepdims (bool) - 是否将输出张量的最后一个维度保持在范数之后的距离。 如果给出 "True" ,输出张量的最后一个维度将为1。默认值: False

  • axis (int) - 计算距离时是否使用周期性边界条件。默认值: -1

样例:

>>> import mindspore as ms
>>> import numpy as np
>>> from sponge.function import GetDistance
>>> from mindspore import Tensor
>>> crd = Tensor(np.random.random((4, 3)), ms.float32)
>>> pbc_box = Tensor([[0.5, 0.5, 0.5]], ms.float32)
>>> gd = GetDistance(use_pbc=True, keepdims=False)
>>> gd(crd[0], crd[1], pbc_box)
Tensor(shape=[1], dtype=Float32, value= [ 1.39199302e-01])
>>> gd = GetDistance(use_pbc=False, keepdims=False)
>>> gd(crd[0], crd[1])
Tensor(shape=[], dtype=Float32, value= 0.472336)