SO3#

class cuequivariance.SO3(l: int)#

Subclass of Irrep, real irreducible representations of the 3D rotation group \(SO(3)\).

Each representation is labeled by a non-negative integer \(l\).

Examples

>>> SO3(0)
0
>>> SO3(1)
1
>>> SO3(1).dim
3
>>> SO3.from_string("2")
2
classmethod regexp_pattern() Pattern#

Regular expression pattern for parsing the string representation.

classmethod from_string(
s: str,
) SO3#

Create an instance from the string representation.

classmethod clebsch_gordan(
rep1: SO3,
rep2: SO3,
rep3: SO3,
) ndarray#

Clebsch-Gordan coefficients tensor.

The shape is (number_of_paths, rep1.dim, rep2.dim, rep3.dim) and rep3 is the output irrep.

See also

clebsch_gordan().

property dim: int#

Dimension of the representation

Returns:

The dimension of the representation.

Return type:

int

classmethod iterator() Iterator[SO3]#

Iterator over all irreps of the Lie group.

  • the first element is the trivial irrep

  • the elements respect the partial order defined by __lt__

continuous_generators() ndarray#

Generators of the representation

The generators of the representation are defined by the following equation:

\[\rho(\alpha) = \exp\left(\alpha_i X_i\right)\]

Where \(\rho(\alpha)\) is the representation of the group element corresponding to the parameter \(\alpha\) and \(X_i\) are the (continuous) generators of the representation, each of shape (dim, dim).

Returns:

An array of shape (lie_dim, dim, dim).

Return type:

np.ndarray

discrete_generators() ndarray#

Discrete generators of the representation

\[\rho(n) = H^n\]
Returns:

An array of shape (len(H), dim, dim).

Return type:

np.ndarray

algebra() ndarray#

Algebra of the Lie group

The algebra of the Lie group is defined by the following equation:

\[[X_i, X_j] = A_{ijk} X_k\]

where \(X_i\) are the continuous generators and \(A_{ijk}\) is the algebra.

Returns:

An array of shape (lie_dim, lie_dim, lie_dim).

Return type:

np.ndarray

rotation(axis: ndarray, angle: float) ndarray#

Rotation matrix for the representation.