# Wigner Functions

e3nn.o3.wigner_D(l, alpha, beta, gamma)[source]

Wigner D matrix representation of $$SO(3)$$.

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$$

• $$D(\text{rotation around Y axis})$$ has some property that allows us to use FFT in ToS2Grid

Parameters
Returns

tensor $$D^l(\alpha, \beta, \gamma)$$ of shape $$(2l+1, 2l+1)$$

Return type

torch.Tensor

e3nn.o3.wigner_3j(l1, l2, l3, dtype=None, device=None)[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$$

• l2 (int) – $$l_2$$

• l3 (int) – $$l_3$$

• dtype (torch.dtype or None) – dtype of the returned tensor. If None then set to torch.get_default_dtype().

• device (torch.device or None) – device of the returned tensor. If None then set to the default device of the current context.

Returns

tensor $$C$$ of shape $$(2l_1+1, 2l_2+1, 2l_3+1)$$

Return type

torch.Tensor