[GAP Forum] Print the irreducible characters of the normal ordinary character table format.

Hongyi Zhao hongyi.zhao at gmail.com
Sat Apr 30 15:49:49 BST 2022


On Sat, Apr 30, 2022 at 10:18 PM Hongyi Zhao <hongyi.zhao at gmail.com> wrote:
>
> On Sat, Apr 30, 2022 at 7:15 PM Dima Pasechnik <dima at sagemath.org> wrote:
> >
> > On Sat, Apr 30, 2022 at 05:36:59PM +0800, Hongyi Zhao wrote:
> > > On Sat, Apr 30, 2022 at 4:44 PM Bill Allombert
> > > <Bill.Allombert at math.u-bordeaux.fr> wrote:
> > > >
> > > > On Sat, Apr 30, 2022 at 03:21:10PM +0800, Hongyi Zhao wrote:
> > > > > Hi GAP team,
> > > > >
> > > > > I use the following code snippet to compute the irreducible characters
> > > > > of a finitely presented group:
> > > > >
> > > > > So, I want to get a pretty printed result with the rows correspond to
> > > > > irreducible representations, and the columns correspond to conjugacy
> > > > > classes of group elements.
> > > > >
> > > > > Are there any clues to achieve this goal?
> > > >
> > > > Use Display(CharacterTable(g));
> > > >
> > > > gap> G:=CyclicGroup(8);
> > > > <pc group of size 8 with 3 generators>
> > > > gap> Display(CharacterTable(G));
> > > > CT1
> > > >
> > > >      2  3   3  3  3   3   3  3   3
> > > >
> > > >        1a  8a 4a 2a  8b  8c 4b  8d
> > > >
> > > > X.1     1   1  1  1   1   1  1   1
> > > > X.2     1  -1  1  1  -1  -1  1  -1
> > > > X.3     1   A -1  1  -A   A -1  -A
> > > > X.4     1  -A -1  1   A  -A -1   A
> > > > X.5     1   B  A -1 -/B  -B -A  /B
> > > > X.6     1  -B  A -1  /B   B -A -/B
> > > > X.7     1 -/B -A -1   B  /B  A  -B
> > > > X.8     1  /B -A -1  -B -/B  A   B
> > > >
> > > > A = E(4)
> > > >   = Sqrt(-1) = i
> > > > B = E(8)
> > >
> > > See the following results in my example
> > >
> > > gap> f := FreeGroup( "p", "q");;
> > > gap> g42:= f/[ [ f.1 , f.1^-1 ], [ f.2 , f.2^-1 ], [ f.2 *f.1, f.1 *f.2 ] ];
> > > <fp group on the generators [ p, q ]>
> > >
> > >
> > > gap> Display(CharacterTable(g42));
> > > CT1
> > >
> > >      2  2  2  2  2
> > >
> > >        1a 2a 2b 2c
> > >     2P 1a 1a 1a 1a
> > >
> > > X.1     1  1  1  1
> > > X.2     1 -1 -1  1
> > > X.3     1 -1  1 -1
> > > X.4     1  1 -1 -1
>
> Very strange. Now, I run the same commands sequences as above, but
> obtained the following different output:
>
> gap> f := FreeGroup( "p", "q");;
> gap> g42:= f/[ [ f.1 , f.1^-1 ], [ f.2 , f.2^-1 ], [ f.2 *f.1, f.1 *f.2 ] ];
> <fp group on the generators [ p, q ]>
> gap> Display(CharacterTable(g42));
> CT1
>
>      2  2  2  2  2
>
>        1a 2a 2b 2c
>
> X.1     1  1  1  1
> X.2     1 -1 -1  1
> X.3     1  1 -1 -1
> X.4     1 -1  1 -1
>
> As you can see, this time, the following line doesn't appear in the output:
>
> 2P 1a 1a 1a 1a
>
>
> > >
> > > Now, I'm confused on the following lines shown above:
> > >
> > >      2  2  2  2  2
> > >
> > >        1a 2a 2b 2c
> > >     2P 1a 1a 1a 1a
> > >
> > >
> > > 1. What's the meaning of all 2's in this line?
> > >
> > >      2  2  2  2  2
> >
> > the 1st 2 means "for prime divisor 2", and the other 2s indicate that
> > these elements (conjugacy classes, more precisely) all have centralisers of order 2^2.
>
> Sorry, my knowledge of group theory is still very rudimentary. So, I
> try to describe my understanding as follows:
>
> In this case, I can list the conjugacy classes as follows:
>
> gap> ConjugacyClasses(g42);
> [ <identity ...>^G, p^G, q^G, p*q^G ]
>
> As for the statement given by you "... all have centralisers of order
> 2^2", how can I check it with GAP commands to validate and confirm, so
> that I can have intuitive cognition and understanding?
>
> > >
> > > 2. What's the meaning of 1a, 2a, 2b, 2c, and 2P, respectively?
> >
> > 2P means "2nd Power". 1a, 2a, etc are names of conjugacy classes.
>
> So, how do I know which group elements are included in the
> corresponding conjugate class?
>
> >
> > Let's look at more generic character table, of the alternating group G=A_6 of order 360.
>
> I confirmed as follows:
>
> gap> Order(AlternatingGroup(6));
> 360
>
> >
> > gap> Display(CharacterTable("A6"));
> >
> >      2  3  3  .  .  2  .  .
> >      3  2  .  2  2  .  .  .
> >      5  1  .  .  .  .  1  1
> >
> >        1a 2a 3a 3b 4a 5a 5b
> >     2P 1a 1a 3a 3b 2a 5b 5a
> >     3P 1a 2a 1a 1a 4a 5b 5a
> >     5P 1a 2a 3a 3b 4a 1a 1a
> >
> > X.1     1  1  1  1  1  1  1
> > X.2     5  1  2 -1 -1  .  .
> > [...]
> >
> > in the top portiion of the table you see the 1st column [2 3 5] - these are prime
> > divisors of |G|. The 2nd column is [3 2 1], this means that the centraliser C_G(1a)
> > of the element 1a (i.e. the whole group G) is of order 2^3*3^2*5=360.
> > Similraly, the 3rd column is [3 . .] (ie [3 0 0]), meaning that the order of the centraliser C_G(2a)
> > of an element in the conjugacy class 2a is 2^3*3^0*5^0=8. So we can also compute the size of
> > the conjugacy class 2a, as |G|/|C_G(2a)|=45.
>
> Wonderful and clear explanation I have never seen before. If I
> understand correctly, the size of the conjugacy class is the order of
> this class, i.e., the number of elements belong to this class. So, in
> this case, there are 45 elements in the conjugacy class 2a.
>
> 2a    360/ 2^3*3^0*5^0 =360/8=45
> 3a    360/ 2^0*3^2*5^0 = 360/9=40
> 3b    360/ 2^0*3^2*5^0 = 360/9=40
> 4a    360/ 2^2*3^0*5^0 = 360/4=90
> 5a    360/ 2^0*3^0*5^1 = 360/5=72
> 5b    360/ 2^0*3^0*5^1 = 360/5=72

Another question is how to list of complete elements contained in each
conjugacy class. For the problem discussed here, I tried the following
commands, but they didn't seem to get the desired result:

gap> ConjugacyClassesSubgroups(AlternatingGroup(6));
[ Group( () )^G, Group( [ (3,4)(5,6) ] )^G, Group( [ (4,5,6) ] )^G,
  Group( [ (1,2,3)(4,5,6) ] )^G, Group( [ (3,4)(5,6), (1,2)(3,4) ] )^G,
  Group( [ (3,6)(4,5), (3,4)(5,6) ] )^G, Group( [ (1,2)(3,4,5,6) ] )^G,
  Group( [ (2,4,6,3,5) ] )^G, Group( [ (4,5,6), (2,3)(4,5) ] )^G,
  Group( [ (1,3)(4,6), (1,2,3)(4,5,6) ] )^G,
  Group( [ (3,6)(4,5), (1,2)(3,4) ] )^G,
  Group( [ (1,3,2)(4,5,6), (1,2,3)(4,5,6) ] )^G,
  Group( [ (2,6)(3,5), (2,4)(5,6) ] )^G, Group( [ (3,6,4), (3,4)(5,6) ] )^G,
  Group( [ (1,5,3)(2,6,4), (1,2)(3,4) ] )^G,
  Group( [ (1,3,2)(4,5,6), (1,3)(5,6), (1,3)(4,5) ] )^G,
  Group( [ (4,5,6), (1,2)(3,4,6,5) ] )^G,
  Group( [ (1,3,6)(2,5,4), (1,2)(3,4,5,6) ] )^G,
  Group( [ (1,3)(5,6), (1,5,2,6)(3,4) ] )^G,
  Group( [ (1,2)(3,4), (2,3,6) ] )^G,
  Group( [ (1,2)(3,4), (1,3,4)(2,5,6) ] )^G,
  Group( [ (1,2)(3,4), (1,2,4,5)(3,6) ] )^G ]
gap> ConjugacyClasses(AlternatingGroup(6));
[ ()^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,3)(4,5,6)^G, (1,2,3,4)(5,6)^G,
(1,2,3,4,5)^G,
  (1,2,3,4,6)^G ]



> Therefore, we have the following relationships:
>
> 45 + 40 + 40+ 90+72+72 = 359
>
> 359 + 1 (the <identity>) = 360
>
> > Looking at, say, the rows
> >        1a 2a 3a 3b 4a 5a 5b
> >     ........
> >     3P 1a 2a 1a 1a 4a 5b 5a
> >
> > tells you that the 3rd power of an element in 5a is in 5b.
>
> Got it. Remarkable explanation again.
>
> > HTH
> > Dima
>
> Yours,
> Hongyi



More information about the Forum mailing list