Rep#

class cuequivariance.Rep#

Abstract Class, Representation of a Lie group.

Rep abstractly defines what a group representation is and how it can be used.

property lie_dim: int#

Dimension of the Lie algebra

Returns:

The dimension of the Lie algebra.

Return type:

int

property dim: int#

Dimension of the representation

Returns:

The dimension of the representation.

Return type:

int

property A: ndarray#

Algebra of the Lie group, (lie_dim, lie_dim, lie_dim)

See also

algebra()

property X: ndarray#

Generators of the representation, (lie_dim, dim, dim)

property H: ndarray#

Discrete generators of the representation, (len(H), dim, dim)

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

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

trivial() Rep#

Create a trivial representation from the same group as self

exp_map(
continuous_params: ndarray,
discrete_params: ndarray,
) ndarray#

Exponential map of the representation

Parameters:
  • continuous_params (np.ndarray) – An array of shape (lie_dim,).

  • discrete_params (np.ndarray) – An array of shape (len(H),).

Returns:

An matrix of shape (dim, dim).

Return type:

np.ndarray

is_scalar() bool#

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

is_trivial() bool#

Check if the representation is trivial (scalar of dimension 1)