# Groups¶

class `emlp.groups.``Group`(*args, **kwargs)[source]

Abstract Group Object which new groups should inherit from.

`d` = NotImplemented

The dimension of the base representation

`lie_algebra` = NotImplemented

The continuous generators

`discrete_generators` = NotImplemented

The discrete generators

`exp`(A)[source]

Matrix exponential

`sample`()[source]

Draw a sample from the group (not necessarily Haar measure)

`samples`(N)[source]

Draw N samples from the group (not necessarily Haar measure)

class `emlp.groups.``Trivial`(n)[source]

The trivial group G={I} in n dimensions. If you want to see how the inductive biases of EMLP perform without any symmetry, use Trivial(n)

class `emlp.groups.``SO`(n)[source]

The special orthogonal group SO(n) in n dimensions

class `emlp.groups.``O`(n)[source]

The Orthogonal group O(n) in n dimensions

class `emlp.groups.``C`(k)[source]

The Cyclic group Ck in 2 dimensions

class `emlp.groups.``D`(k)[source]

The Dihedral group Dk in 2 dimensions

class `emlp.groups.``Scaling`(n)[source]

The scaling group in n dimensions

class `emlp.groups.``SO13p`(*args, **kwargs)[source]

The component of Lorentz group connected to identity

class `emlp.groups.``SO13`(*args, **kwargs)[source]
class `emlp.groups.``O13`(*args, **kwargs)[source]

The full lorentz group (including Parity and Time reversal)

class `emlp.groups.``Lorentz`(*args, **kwargs)[source]
class `emlp.groups.``SO11p`(*args, **kwargs)[source]

The identity component of O(1,1) (Lorentz group in 1+1 dimensions)

class `emlp.groups.``O11`(*args, **kwargs)[source]

The Lorentz group O(1,1) in 1+1 dimensions

class `emlp.groups.``Sp`(m)[source]

Symplectic group Sp(m) in 2m dimensions (sometimes referred to instead as Sp(2m) )

class `emlp.groups.``Z`(n)[source]

The cyclic group Z_n (discrete translation group) of order n. Features a regular base representation.

class `emlp.groups.``S`(n)[source]

The permutation group S_n with an n dimensional regular representation.

class `emlp.groups.``SL`(n)[source]

The special linear group SL(n) in n dimensions

class `emlp.groups.``GL`(n)[source]

The general linear group GL(n) in n dimensions

class `emlp.groups.``U`(n)[source]

The unitary group U(n) in n dimensions (complex)

class `emlp.groups.``SU`(n)[source]

The special unitary group SU(n) in n dimensions (complex)

class `emlp.groups.``Cube`[source]

A discrete version of SO(3) including all 90 degree rotations in 3d space Implements a 6 dimensional representation on the faces of a cube

class `emlp.groups.``RubiksCube`[source]

The Rubiks cube group G<S_48 consisting of all valid 3x3 Rubik’s cube transformations. Generated by the a quarter turn about each of the faces.

class `emlp.groups.``ZksZnxZn`(k, n)[source]

One of the original GCNN groups ℤₖ⋉(ℤₙ×ℤₙ) for translation in x,y and rotation with the discrete 90 degree rotations (k=4) or 180 degree (k=2)

class `emlp.groups.``Embed`(G, d, slice)[source]

A method to embed a given base group representation in larger vector space. Inputs: G: the group (and base representation) to embed d: the dimension in which to embed slice: a slice object specifying which dimensions G acts on.

`emlp.groups.``SO2eR3`()[source]

SO(2) embedded in R^3 with rotations about z axis

`emlp.groups.``O2eR3`()[source]

O(2) embedded in R^3 with rotations about z axis

`emlp.groups.``DkeR3`(k)[source]

Dihedral D(k) embedded in R^3 with rotations about z axis