mindscience.e3nn.o3.wigner_D
- mindscience.e3nn.o3.wigner_D(l, alpha, beta, gamma)[source]
Wigner D matrix representation of SO(3).
These matrices describe how quantum-mechanical states with angular-momentum l rotate under a sequence of three Euler angles (Z-Y-Z convention):
Rotate by \(\gamma\) around the original Z axis
Rotate by \(\beta\) around the new Y axis
Rotate by \(\alpha\) around the newest Z axis
The resulting \(D^l(\alpha,\beta,\gamma)\) is a \((2l+1) \times (2l+1)\) unitary matrix whose entries are the famous Wigner D-functions.
It satisfies the following properties:
\(D(\text{identity rotation}) = \text{identity matrix}\)
\(D(R_1 \circ R_2) = D(R_1) \circ D(R_2)\)
\(D(R^{-1}) = D(R)^{-1} = D(R)^T\)
- Parameters
l (int) – degree of representation.
alpha (Union[Tensor[float32], list[float], tuple[float], ndarray[np.float32], float]) – rotation \(\alpha\) around Y axis, applied third.
beta (Union[Tensor[float32], list[float], tuple[float], ndarray[np.float32], float]) – rotation \(\beta\) around X axis, applied second.
gamma (Union[Tensor[float32], list[float], tuple[float], ndarray[np.float32], float]) – rotation \(\gamma\) around Y axis, applied first.
- Returns
Tensor, Wigner D matrix \(D^l(\alpha, \beta, \gamma)\). The shape of Tensor is \((2l+1, 2l+1)\).
Examples
>>> from mindscience.e3nn.o3 import wigner_D >>> m = wigner_D(1,1,1,1) >>> print(m) [[-0.09064701 0.7080733 0.70029646] [ 0.7080733 0.54030234 -0.45464867] [-0.7002964 0.45464864 -0.5503447 ]]