mindchemistry.e3.o3.wigner_3j

View Source On Gitee
mindchemistry.e3.o3.wigner_3j(l1, l2, l3, dtype=float32)[source]

Wigner 3j symbols \(C_{lmn}\).

It satisfies the following two properties:

\[C_{lmn} = C_{ijk} D_{il}(g) D_{jm}(g) D_{kn}(g) \qquad \forall g \in SO(3)\]

where \(D\) are given by wigner_D.

\[C_{ijk} C_{ijk} = 1\]
Parameters
  • l1 (int) – \(l_1\) parameter of wigner_3j.

  • l2 (int) – \(l_2\) parameter of wigner_3j.

  • l3 (int) – \(l_3\) parameter of wigner_3j.

  • dtype (mindspore.dtype) – The type of input tensor. Default: mindspore.float32 .

Returns

Tensor, Wigner 3j symbols \(C_{lmn}\). The shape of Tensor is \((2l_1+1, 2l_2+1, 2l_3+1)\).

Raises
  • TypeError – If l1, l2 or l3 are not int.

  • ValueError – If l1, l2 and l3 do not satisfy abs(l2 - l3) <= l1 <= l2 + l3.

Supported Platforms:

Ascend

Examples

>>> from mindchemistry.e3.o3 import wigner_3j
>>> m = wigner_3j(1,1,1)
>>> print(m)
[[[ 0.         0.         0.       ]
  [ 0.         0.         0.4082483]
  [ 0.        -0.4082483  0.       ]]
 [[ 0.         0.        -0.4082483]
  [ 0.         0.         0.       ]
  [ 0.4082483  0.         0.       ]]
 [[ 0.         0.4082483  0.       ]
  [-0.4082483  0.         0.       ]
  [ 0.         0.         0.       ]]]