Mathematical background¶
A finite dimensional representation of a group over a field
is a
matrix valued function
such that
for any . While it is possible to define representations over different fields,
in GElib we only consider complex valued representations (
)
which is the most common and generally the most straightforward choice.
Different representations of the same group can be related to each other in various ways, for example,
might decompose into a direct sum of smaller representations in the form
However, provided that is a ‘compact` group, it always has a finite or countable sequence of
elementary representations
called its irreducible representations
(or just irreps for short) such that any representation of
can be reduced into a direct
sum of some subset of
.
Equivariant neural networks¶
Equivariant neural networks are a class of neural architectures that are designed to strictly obey certain
underlying symmetries of the learning problem, such as invariance to translations, rotations, and so on.
In order to achieve this, equivariant archtectures store information in objects that transform
according to the individual irreps of the group corresponding to the underlying symmetry.
Technically, such objects are called G-covariant.
GElib provides two basic classes to facilitate working G-covariant objects:
The
Gpart
class stores a collection ofvectors transforming according to the same irrep
of
. Denoting the dimensionality of
by
, a
Gpart
object can be thought of as adimensional matrix
, and the group acts on
by
.
The
Gvec
object stores a collection ofGpart
s corresponding to different irreps. Hence it can store more general-covariant objects that transform according to any representation.
Here G
is to be replaced by the name of the actual group. For example, in the case of the three dimensional
rotation group SO3
the relevant GElib classes are SO3part
and SO3vec
.
Since the irreps are always assumed to be complex valued, the Gpart
and Gvec
objects are also complex.
GElib provides various facilities for operating on G-covariant objects. The most important of these is the Clebsch–Gordan product described below.
The Clebsch–Gordan product¶
Given any two irreducible representations and
of
, their tensor
(Kronecker) product
is also a representation, but,
in general, it is not irreducible. By the general theory of representations of compact groups it must
then be reducible to a direct sum of irreps in the form
(1)¶
for some combination of multiplicities and
unitary transformation matrix.
This is called the Clebsch-Gordan decomposition.
What irreps exactly appear in the decomposition, what the multiplicities are, and what the matrix
is are nontrivial questions that must be derived on a group-by-group basis. For the groups most commonly
used in equivariant nets however the answer to these questions is can generally be readily found in the mathematics literature.
For the purposes of software like GElib the decomposition can be hard coded, since it depends on the group,
and not any form of “data”.
The significance of the Clebsch–Gordan transform for equivariant nets is that it also prescribes
the way that the tensor product of G-covariant
parts and vectors transform. In particular, if and
are two G-covariant parts corresponding
to
resp.
, i.e., they transform under the action of the group as
then their tensor product transforms as
However, if we break into a sequence of horizontal blocks
corresponding to the block structure of the matrix appearing in the square brackets in
(1), and form the so-called Clebsch–Gordan product (CG-product for short) matrices
it is relatively easy to see that each of these matrices transforms simply as
i.e., each is itself an
–covariant part.
Thus, the Clebsch–Gordan product is a bilinear operation on G-covariant objects that produces
other G-covariant objects.
The concept of Clebsch–Gordan product also readily extends to Gvec
s. To compute the CG-product
of two Gvec
s and
, we simply compute the CG-product of each
part in
with each part in
and concatenate all components
that correspond to the same irrep.
Due to their ability to nontrivially combine objects transforming according to the different irreps of the same group Clebsch–Gordan products play a ciritical role in equivariant neural architectures. Unfortunately, they are also relatively costly, and often end up becoming the computational bottleneck. One of the most important components of GElib is providing fast implemntations of CG-products.