Calculate the unitary irreducible representation of a matrix group.

I created a matrix group as follows:

In[33]:= gensSG141ITA1={
 {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0,0,0,1}},
 {{-1, 0, 0, 1/2}, {0, -1, 0, 1/2}, {0, 0, 1, 1/2}, {0,0,0, 1}},
 {{0, -1, 0, 0}, {1, 0, 0, 1/2}, {0, 0, 1, 1/4}, {0,0,0, 1}},
 {{-1, 0, 0, 1/2}, {0,  1, 0,  0}, {0,  0,  -1, 3/4}, {0,0,0, 1}},
 {{-1, 0, 0, 0}, {0, -1, 0, 1/2}, {0, 0, -1, 1/4}, {0,0,0, 1}},
 {{1, 0, 0, 1/2}, {0, 1, 0, 1/2}, {0, 0, 1, 1/2}, {0,0,0, 1}}
}; 

newmat = DeleteDuplicates[#[[1 ;; 3, 1 ;; 3]] & /@ gensSG141ITA1];

(*
Apply the following procedure to construct a group from generating elements (matrices)
*)
gengroupn[ge1_] := Module[{},
  ge = ge1;
  ne = Length[ge];
  l1 = 1;
  ne = Length[ge];
  While[l1 <= ne,
   l2 = 1;
   While[l2 <= ne,
    res = FullSimplify[Together[ge[[l1]] . ge[[l2]]]];
    If[! MemberQ[ge, res],
     ne++; AppendTo[ge, res]];
    l2++];
   l1++];
  ge
  ]

gg = gengroupn[newmat];
ne = Length[gg]
gg

Out[37]= 16

Out[38]= {{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, {{-1, 0, 0}, {0, -1, 
   0}, {0, 0, 1}}, {{0, -1, 0}, {1, 0, 0}, {0, 0, 1}}, {{-1, 0, 
   0}, {0, 1, 0}, {0, 0, -1}}, {{-1, 0, 0}, {0, -1, 0}, {0, 
   0, -1}}, {{0, 1, 0}, {-1, 0, 0}, {0, 0, 1}}, {{1, 0, 0}, {0, -1, 
   0}, {0, 0, -1}}, {{1, 0, 0}, {0, 1, 0}, {0, 0, -1}}, {{0, -1, 
   0}, {-1, 0, 0}, {0, 0, -1}}, {{0, 1, 0}, {-1, 0, 0}, {0, 
   0, -1}}, {{0, 1, 0}, {1, 0, 0}, {0, 0, -1}}, {{0, -1, 0}, {1, 0, 
   0}, {0, 0, -1}}, {{1, 0, 0}, {0, -1, 0}, {0, 0, 1}}, {{-1, 0, 
   0}, {0, 1, 0}, {0, 0, 1}}, {{0, -1, 0}, {-1, 0, 0}, {0, 0, 
   1}}, {{0, 1, 0}, {1, 0, 0}, {0, 0, 1}}}

Now, I want to calculate the irreducible unitary representation of it. Any hints for this question?

Regards,
Zhao

Hello Zhao,

gg is already unitary, means as there are no complex numbers it is hermitian.

Map[MatrixForm, Transpose[#].# & /@ gg, 1]

You can create another subgroup of gg from the matrices with gg[[3,3]] == 1 (I did not (yet) test whether the other matrices with IdentiyMatrix[3] form a group as well)

g31 = Select[gg, #[[3, 3]] == 1 &]
Map[MatrixForm, g31, 1]
Map[MatrixForm, g31, 1]
gg31 = gengroupn[g31]
gg31 - g31

This again can be decomposed in a one- and a two-dimensional representation of gg

g312dim = Flatten[{#[[1 ;; 2, 1 ;; 2]]}, 1] & /@ g31;
Map[MatrixForm, g312dim, 1]

I think this cannot be further “reduced”, but I am by no means sure.