[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