# Representation of symmetric group

Posted 2 years ago
5425 Views
|
13 Replies
|
4 Total Likes
|
 I can't seem to find any information/algorithms on generating matrix representations of the symmetric group. Can someone point me in the right direction?
13 Replies
Sort By:
Posted 2 years ago
 Did you perhaps mean this? aa = {a, b, c}; pp = Permutations[aa] res = Table[ Normal[SparseArray[# -> 1 & /@ Table[{j, Position[pp[[k]], aa[[j]]][[1, 1]]}, {j, 1, Length[aa]}]]], {k, 1, Length[pp]}]; MatrixForm /@ res 
Posted 2 years ago
 Hmmm, once I used to program a lot concerning group theory. One of the problems was enumerating substitutional isomers of a given molecule. See J.Chem.Inf.Comput.Sci. 2000, 40, 956-966. In fact I cannot say "where to find this stuff", I just remembered what I was doing then.Kind regards, HD
Posted 2 years ago
 Hi, sorry for joining this discussion late; I found your thread by accident just recently. If you want to look at the irreducible representation matrices of the symmetric group you can find them in the attached package. Maybe that helps! Attachments:
Posted 2 years ago
 Thanks for the useful lead. I was hoping for a canned Mathematica code that would, for example, generate the matrices of the regular representation of say S3. I guess I am getting lazy in my old age. I did the job myself by brute force, but I suspect that a variation of your code would do the trick more elegantly..
Posted 2 years ago
 Like this perhaps? aa = {a, b, c}; pp = Permutations[aa] res = Table[ Normal[SparseArray[# -> 1 & /@ Table[{j, Position[pp[[k]], aa[[j]]][[1, 1]]}, {j, 1, Length[aa]}]]], {k, 1, Length[pp]}]; (* find matrix-elements for g[ i ]* g[k] *) rr[k_] := Module[{}, tt = Table[ Position[res, res[[k]].res[[j]]][[1, 1]], {j, 1, Length[res]}]; mm = Normal[SparseArray[# -> 1 & /@ Transpose[{Range[Length[res]], tt}]]] ] rr /@ Range[Length[res]]; MatrixForm /@ % 
Posted 2 years ago
 Or more compact n = 3; ge = Permutations[Range[n]] (* the elements of S3 *) (* Multiplication of group-elements *) gp[a_, b_] := Module[{}, gL = Length[a]; Table[a[[b[[j]]]], {j, 1, gL}]] (* Make Matrix for regular representation *) gm[a_] := Module[{}, gLg = Length[ge]; mm = Table[0, {i, gLg}, {j, gLg}]; j = 1; While[ j <= gLg, gxg = gp[a, ge[[j]]]; mm[[j, Position[ge, gxg][[1, 1]]]] = 1; j = j + 1 ]; mm ] And finally MatrixForm /@ (gm /@ ge) 
Posted 2 years ago
 THanks again. This looks very useful. Where are you finding all this good stuff?
Posted 2 years ago
 And if you are interested: S3 is isomorphic to C3v, and its regular representation R is reduced according toR = A1 + A2 + 2 E
Posted 2 years ago
 My question "where do you find..." was using the "ask first think later" protocol. " which is always dumb. I am using S3 as an example in a pedagogical paper on identical particles in quantum mechanics. After looking at your codes I finally realized that the Permutations function does all I need for my example. Thanks again for your help
Posted 2 years ago
 example in a pedagogical paper on identical particles in quantum mechanics That sounds interesting. Would you mind to send me a copy of your paper?h.dolhaine@gmx.de
Posted 2 years ago
 I will certainly send you a copy when I have it ready. However, on each iteration I have been cutting back on the group theoretical details in order to make the paper more useful to those teaching lower-level courses in quantum mechanics.