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.
2 Answers
I presume you mean the representation of the generators of su(2) (i.e. of the algebra) rather than a presentation of the group.
Representations of the SU(2) group in any dimension can be obtained from
WignerD
. Something likeSU2repj = 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$.
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.
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
-
$\begingroup$ 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. $\endgroup$– user14281Commented May 10, 2014 at 23:27
-
$\begingroup$ @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. $\endgroup$– user14281Commented Dec 25, 2016 at 17:26
-
$\begingroup$ 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 $\endgroup$– arow257Commented 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.
Cmobinatorica
package - so I now added that as an answer. $\endgroup$