O3#

class cuequivariance.O3#

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

Each representation is labeled by a non-negative integer \(l\) and a parity \(p = \pm 1\).

Examples

>>> O3(0, 1)
0e
>>> O3(1, -1)
1o
>>> O3(1, -1).dim
3
>>> O3.from_string("2o")
2o
classmethod regexp_pattern()#

Regular expression pattern for parsing the string representation.

Return type:

Pattern

classmethod from_string(s)#

Create an instance from the string representation.

Parameters:

s (str)

Return type:

O3

classmethod clebsch_gordan(rep1, rep2, rep3)#

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().

Parameters:
  • rep1 (O3)

  • rep2 (O3)

  • rep3 (O3)

Return type:

ndarray

property dim: int#

Dimension of the representation

Returns:

The dimension of the representation.

Return type:

int

is_scalar()#

Check if the representation is scalar (acting as the identity)

Parameters:

rep (O3)

Return type:

bool

classmethod iterator()#

Iterator over all irreps of the Lie group.

  • the first element is the trivial irrep

  • the elements respect the partial order defined by __lt__

Return type:

Iterator[O3]

continuous_generators()#

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

Parameters:

rep (O3)

discrete_generators()#

Discrete generators of the representation

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

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

Return type:

np.ndarray

Parameters:

rep (O3)

algebra()#

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

__init__(l, p)#
Parameters:
Return type:

None