# Package for representation of groups (group theory)

I wanted to know if there is a package which allows to compute representations of a group like the definition representation, adjoint and so on (for example the Pauli matrix for $SU(2)$ if I specify that I want the definition representation of $SU(2)$). Which allow also to compute the structure constants of a particular group and, given a set of matrix, to test if these matrix form a representation of a particular group.

• Have you looked at the guide here?
– Jens
Apr 11, 2014 at 16:33
• Perhaps related: How to generate a matrix group?. This doesn't answer the question whether there exists a separate package, though.
– Jens
Apr 11, 2014 at 16:42
• @Jens: for the symmetric group, I miss the character table and the link to partitions and Young Tableaux. Apr 11, 2014 at 18:46
• @Wouter Your comment reminded me to look into the Cmobinatorica package - so I now added that as an answer.
– Jens
Apr 11, 2014 at 21:49
• Thank you for your feedback. The "How to generate a matrix group" question is really interesting, I'm strongly thinking to implement it so thank you for that. But for your other answers, it's not really what I want... I'm working with unitary matrix such as $SU(n)$ but in Mathematica there is no command for example to compute the structure constants of the Lie algebra corresponding to $SU(n)$ neither in Combinatorica. I found a package called LieART which does things close to what I want to do but with a little work behind but it seems promising to me :) However thank you ! Apr 14, 2014 at 14:43

1. I presume you mean the representation of the generators of su(2) (i.e. of the algebra) rather than a presentation of the group.

2. Representations of the SU(2) group in any dimension can be obtained from WignerD. Something like

SU2repj = Table[
WignerD[{j, m1, m2}, a, b, c],
{m1, j, -j, -1}, {m2, j, -j, -1}
] /. j -> 2


will generate the $5\times5$ matrix for angular momentum $j=2$.

3. A representation of the algebra in the same dimension as that of the group can be obtained by taking the derivative w/r to the appropriate parameter of the group matrix element, and setting all other group parameters to 0, i.e.

Lymatj = -i D[SU2repj, b] /. {a -> 0, b -> 0, c -> 0}

• This would only give you representations of $L_z$ and $L_y$ since the usual parametrization of SU(2) matrices in terms of Euler angles contains exponentials of $L_z$ and $L_y$ only. $L_x$ can be obtained by commutation of the matrices for $L_y$ and $L_z$, respectively.
4. I am not aware of Mathematica codes for systematically computing matrix elements of generators for other groups, be they unitary or otherwise. For the special unitary groups there is a method based on Gelf'and-Tsetlin patterns, but as far as I know it has not been implemented in Mathematica. Searching for "Gelf'and Tsetlin bases" usually results in multiple hits describing the G-T algorithm.

Edit: there is a package called LieART by Robert Feger and Thomas W. Kephart available on arxiv as https://arxiv.org/abs/1206.6379

• Thanks Oleksandr R. for editing my post correctly. Somehow I couldn't get the tabs to work (Chrome on Mac OS X) and go to the correct "code" mode.
– user14281
May 10, 2014 at 23:27
• @Jens: beware as the built-in D does not agree in its parametrization with the more common parametrization of the canonical text by Varshalovich et al.
– user14281
Dec 25, 2016 at 17:26
• I know this may be a little late, but it is worth noting that there is now a new and improved version of LieART out by Robert Feger, Thomas Kephart, and Robert Saskowski Aug 10, 2020 at 21:02

There is an add-on package that's worth mentioning in this context, mainly to address Wouter's comment: in the Combinatorica package, you find some group-theory related commands that are not part of the System context to which the linked guide refers.

One of them is ConstructTabelau, addressing the comment by Wouter. Sometimes the built-in gems are hard to find, like WignerD for the representations of the rotation group.