sponge.function.calc_vector

View Source On Gitee
sponge.function.calc_vector(initial: Tensor, terminal: Tensor, pbc_box: Tensor = None)[source]

Compute vector from initial point to terminal point.

Parameters
  • initial (Tensor) – Tensor of shape \((..., D)\), where \(D\) is the spatial dimension of the simulation system (usually 3). Data type is float. Position coordinate of initial point

  • terminal (Tensor) – Tensor of shape \((..., D)\). Data type is float. Position coordinate of terminal point.

  • pbc_box (Tensor) – Tensor of shape \((D)\) or \((B, D)\), where \(B\) is the batchsize (i.e., number of walkers in simulation). Data type is float. Default: None

Returns

vector (Tensor, a tensor of shape (…, D)). Data type is float.

Supported Platforms:

Ascend GPU

Examples

>>> import mindspore as ms
>>> import numpy as np
>>> from mindspore import Tensor
>>> from sponge.function import calc_vector
>>> crd = Tensor(np.random.random((4, 3)), ms.float32)
>>> pbc_box = Tensor([[3, 3, 3]], ms.float32)
>>> calc_vector(crd[0], crd[1])
Tensor(shape=[3], dtype=Float32, value= [ 6.60338998e-02,  1.31848425e-01,  2.01904610e-01])
>>> calc_vector(crd[0], crd[1], pbc_box)
Tensor(shape=[1, 3], dtype=Float32, value=
[[ 6.60338998e-02,  1.31848425e-01,  2.01904625e-01]])