2

Let $CT$ be the character table of the finite group $G$ and let $x$ and $y$ are two elements in distinct conjugacy classes. I want to add two columns in $CT$ corresponding to $x$ and $y$ together and then add some rows of the obtained table. It is possible with considering $\text{Irr}(G)$ to add some rows of $CT$ with together, but how can I do it for rows?

For example consider:

gap> G:=DihedralGroup(IsPermGroup,20):

and the conjugacy classes representative are:

gap> C:= List(ConjugacyClasses(G),Representative);
[ (), (2,10)(3,9)(4,8)(5,7), (1,2)(3,10)(4,9)(5,8)(6,7), (1,2,3,4,5,6,7,8,9,10), 
  (1,3,5,7,9)(2,4,6,8,10), (1,4,7,10,3,6,9,2,5,8), (1,5,9,3,7)(2,6,10,4,8), 
  (1,6)(2,7)(3,8)(4,9)(5,10) ]

I want to add the columns in $CT(G)$ corresponding to (1,3,5,7,9)(2,4,6,8,10) and (1,4,7,10,3,6,9,2,5,8). Then add the rows corresponding to these conjugacy classes.

Olexandr Konovalov
  • 7,002
  • 2
  • 34
  • 72
  • 1
    The obvious way to do this is to make a matrix out of the character table entries. Then you can use standard matrix operations to do any of these things. (But I am not an expert on character theory in GAP.) – Derek Holt Sep 11 '13 at 13:46
  • 1
    See also ?CharacterTableWithStoredGroup(G,tbl) which tries to identify the classes of G with the columns of tbl. – Olexandr Konovalov Sep 11 '13 at 19:28
  • Reading this question again, I can't see what do you mean by "Then add the rows corresponding to these conjugacy classes" since rows correspond to characters and not to conjugacy classes. Could you explain this, please? – Olexandr Konovalov Sep 14 '13 at 09:38

1 Answers1

3

To make a matrix containing character table entries, one can use ValuesOfClassFunction which returns the list of values of the class function $\psi$, the $i$-th entry being the value on the $i$-th conjugacy class of the underlying character table (see ?UnderlyingCharacterTable).

For example, let's take the group from the question and compute its character table "on fly" (one could also use CharacterTable("D20") to fetch the precomputed table from The GAP Character Table Library which is a GAP package redistributed together with the system). So, we have

gap> G:=DihedralGroup(IsPermGroup,20);
Group([ (1,2,3,4,5,6,7,8,9,10), (2,10)(3,9)(4,8)(5,7) ])
gap> t:=CharacterTable(G);;
gap> Display(t);
CT2

     2  2  2  2   1   1   1   1  2
     5  1  .  .   1   1   1   1  1

       1a 2a 2b 10a  5a 10b  5b 2c
    2P 1a 1a 1a  5a  5b  5b  5a 1a
    3P 1a 2a 2b 10b  5b 10a  5a 2c
    5P 1a 2a 2b  2c  1a  2c  1a 2c
    7P 1a 2a 2b 10b  5b 10a  5a 2c

X.1     1  1  1   1   1   1   1  1
X.2     1 -1 -1   1   1   1   1  1
X.3     1 -1  1  -1   1  -1   1 -1
X.4     1  1 -1  -1   1  -1   1 -1
X.5     2  .  .   A -*A  *A  -A -2
X.6     2  .  .  *A  -A   A -*A -2
X.7     2  .  . -*A  -A  -A -*A  2
X.8     2  .  .  -A -*A -*A  -A  2

A = -E(5)-E(5)^4
  = (1-Sqrt(5))/2 = -b5

Now the matrix may be "extracted" in the following way:

gap> m:=List(Irr(t),ValuesOfClassFunction);;
gap> Display(m);
[ [               1,               1,               1,               1,               1,               1,               1,               1 ],
  [               1,              -1,              -1,               1,               1,               1,               1,               1 ],
  [               1,              -1,               1,              -1,               1,              -1,               1,              -1 ],
  [               1,               1,              -1,              -1,               1,              -1,               1,              -1 ],
  [               2,               0,               0,    -E(5)-E(5)^4,   E(5)^2+E(5)^3,  -E(5)^2-E(5)^3,     E(5)+E(5)^4,              -2 ],
  [               2,               0,               0,  -E(5)^2-E(5)^3,     E(5)+E(5)^4,    -E(5)-E(5)^4,   E(5)^2+E(5)^3,              -2 ],
  [               2,               0,               0,   E(5)^2+E(5)^3,     E(5)+E(5)^4,     E(5)+E(5)^4,   E(5)^2+E(5)^3,               2 ],
  [               2,               0,               0,     E(5)+E(5)^4,   E(5)^2+E(5)^3,   E(5)^2+E(5)^3,     E(5)+E(5)^4,               2 ] ]

For a character table with known underlying group $G$ (like in this case), the ConjugacyClasses attribute stores a list of conjugacy classes of $G$:

gap> ConjugacyClasses(t);
[ ()^G, (2,10)(3,9)(4,8)(5,7)^G, (1,2)(3,10)(4,9)(5,8)(6,7)^G, 
  (1,2,3,4,5,6,7,8,9,10)^G, (1,3,5,7,9)(2,4,6,8,10)^G, 
  (1,4,7,10,3,6,9,2,5,8)^G, (1,5,9,3,7)(2,6,10,4,8)^G, 
  (1,6)(2,7)(3,8)(4,9)(5,10)^G ]

Therefore, it's easy to figure out that e.g. the column corresponding to the conjugacy class of $(1,9,7,5,3)(2,10,8,6,4)$ is the 5th column:

gap> PositionProperty( ConjugacyClasses(t), x -> (1,9,7,5,3)(2,10,8,6,4)  in x );
5

The rest is straightforward. Please note that rows correspond to irreducible characters and not to conjugacy classes.

Olexandr Konovalov
  • 7,002
  • 2
  • 34
  • 72