mindscience.e3nn.o3.rand_angles

mindscience.e3nn.o3.rand_angles(*shape)[源代码]

返回一组均匀随机的欧拉角 \((\alpha, \beta, \gamma)\),对应三维空间中的随机旋转。 \(\alpha\)\(\gamma\) 在区间 ([0, 2pi)) 上均匀采样,\(\beta\) 在 ([0, pi]) 上按概率密度与 (sin(beta)) 成正比采样,以保证在旋转群 SO(3) 上的均匀分布。

参数:
  • shape (tuple[int]) - 附加尺寸的形状。

返回:

tuple[Tensor],由 \(\alpha\)\(\beta\)\(\gamma\) 组成的三元组,每个张量形状为 shape

异常:
  • TypeError - 如果 shape 的类型不是 tuple。

  • TypeError - 如果 shape 元素的类型不是 int。

样例:

>>> from mindscience.e3nn.o3 import rand_angles
>>> m = rand_angles((1))
>>> print(m)
(Tensor(shape=[1], dtype=Float32, value= [ 4.00494671e+00]), Tensor(shape=[1], dtype=Float32,
value= [ 1.29240000e+00]), Tensor(shape=[1], dtype=Float32, value= [ 5.71690750e+00]))