SU2#

class cuequivariance.SU2(j: float)#

Subclass of Irrep, irreducible representations of the Lie group \(SU(2)\).

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

Examples

>>> SU2(0)
0
>>> SU2(1/2)
1/2
>>> SU2(1/2).dim
2
>>> SU2.from_string("1")
1
classmethod regexp_pattern() Pattern#

Regular expression pattern for parsing the string representation.

classmethod from_string(
string: str,
) SU2#

Create an instance from the string representation.

classmethod clebsch_gordan(
rep1: SU2,
rep2: SU2,
rep3: SU2,
) 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

is_scalar() bool#

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

classmethod iterator() Iterator[SU2]#

Iterator over all irreps of the Lie group.

  • the first element is the trivial irrep

  • the elements respect the partial order defined by __lt__

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

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

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