Sum of some columns of Character Table in GAP

496 Views Asked by At

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.

1

There are 1 best solutions below

1
On

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.