[GAP Forum] list simple groups, again

R. Keith Dennis dennis at rkd.math.cornell.edu
Fri Jan 3 17:45:54 GMT 2020


Dear Stefan,

yes, that is exactly what I'm looking for!

Do you already have it, or must it be written?

Keith



Stefan Kohl <sk239 at st-andrews.ac.uk> wrote:

> Just in case -- if anyone is interested in an iterator which runs through the orders of nonabelian finite simple groups without actually constructing the groups and which is not limited to |G| < 10^18, then please let me know!  --
>
>     Stefan
>
> P.S.: Sample use cases are e.g.:
>
> gap> iter := SimpleGroupsSizesIterator(1,10^20:names);
> <iterator of orders of simple groups>
> gap> L := [];;
> gap> for G in iter do Add(L,G); od; time;
> 45524
> gap> Length(L);
> 403874
> gap> L{[1..20]};
> [ [ 60, 1, [ 5 ], "A5" ], [ 168, 2, [ 2, 2 ], "PSL(3,2)" ],
>   [ 360, 1, [ 6 ], "A6" ], [ 504, 2, [ 1, 8 ], "PSL(2,8)" ],
>   [ 660, 2, [ 1, 11 ], "PSL(2,11)" ], [ 1092, 2, [ 1, 13 ], "PSL(2,13)" ],
>   [ 2448, 2, [ 1, 17 ], "PSL(2,17)" ], [ 2520, 1, [ 7 ], "A7" ],
>   [ 3420, 2, [ 1, 19 ], "PSL(2,19)" ], [ 4080, 2, [ 1, 16 ], "PSL(2,16)" ],
>   [ 5616, 2, [ 2, 3 ], "PSL(3,3)" ], [ 6048, 3, [ 2, 3 ], "PSU(3,3)" ],
>   [ 6072, 2, [ 1, 23 ], "PSL(2,23)" ], [ 7800, 2, [ 1, 25 ], "PSL(2,25)" ],
>   [ 7920, 18, [ 1 ], "M11" ], [ 9828, 2, [ 1, 27 ], "PSL(2,27)" ],
>   [ 12180, 2, [ 1, 29 ], "PSL(2,29)" ], [ 14880, 2, [ 1, 31 ], "PSL(2,31)" ],
>   [ 20160, 1, [ 8 ], "A8" ], [ 20160, 2, [ 2, 4 ], "PSL(3,4)" ] ]
> gap> Filtered(L,l->l[2]=18); # sporadics
> [ [ 7920, 18, [ 1 ], "M11" ], [ 95040, 18, [ 2 ], "M12" ],
>   [ 175560, 18, [ 3 ], "J_1" ], [ 443520, 18, [ 4 ], "M22" ],
>   [ 604800, 18, [ 5 ], "J_2" ], [ 10200960, 18, [ 6 ], "M23" ],
>   [ 17971200, 18, [ 7 ], "2F(4,2)'" ], [ 44352000, 18, [ 8 ], "HS" ],
>   [ 50232960, 18, [ 9 ], "J_3" ], [ 244823040, 18, [ 10 ], "M24" ],
>   [ 898128000, 18, [ 11 ], "McL" ], [ 4030387200, 18, [ 12 ], "He" ],
>   [ 145926144000, 18, [ 13 ], "Ru" ], [ 448345497600, 18, [ 14 ], "Suz" ],
>   [ 460815505920, 18, [ 15 ], "ON" ], [ 495766656000, 18, [ 16 ], "Co_3" ],
>   [ 42305421312000, 18, [ 17 ], "Co_2" ],
>   [ 64561751654400, 18, [ 18 ], "Fi22" ],
>   [ 273030912000000, 18, [ 19 ], "HN" ],
>   [ 51765179004000000, 18, [ 20 ], "Ly" ],
>   [ 90745943887872000, 18, [ 21 ], "Th" ],
>   [ 4089470473293004800, 18, [ 22 ], "Fi23" ],
>   [ 4157776806543360000, 18, [ 23 ], "Co_1" ],
>   [ 86775571046077562880, 18, [ 24 ], "J_4" ] ]
> gap> Filtered([1..Length(L)],i->L[i][2]=18); # positions of sporadics in the list
> [ 15, 31, 36, 46, 50, 98, 111, 138, 143, 203, 269, 388, 976, 1325, 1334,
>   1364, 4771, 5396, 8240, 39569, 46944, 150537, 151306, 386553 ]
>
> gap> iter := SimpleGroupsSizesIterator(1,Size(CharacterTable("M")):names,nopsl2);
> <iterator of orders of simple groups>
> gap> L := [];;
> gap> for G in iter do Add(L,G); od; time;
> 144912
> gap> Length(L);
> 837104
> gap> L{[1..20]};
> [ [ 60, 1, [ 5 ], "A5" ], [ 168, 2, [ 2, 2 ], "PSL(3,2)" ],
>   [ 360, 1, [ 6 ], "A6" ], [ 2520, 1, [ 7 ], "A7" ],
>   [ 5616, 2, [ 2, 3 ], "PSL(3,3)" ], [ 6048, 3, [ 2, 3 ], "PSU(3,3)" ],
>   [ 7920, 18, [ 1 ], "M11" ], [ 20160, 1, [ 8 ], "A8" ],
>   [ 20160, 2, [ 2, 4 ], "PSL(3,4)" ], [ 25920, 3, [ 3, 2 ], "PSU(4,2)" ],
>   [ 29120, 5, [ 8 ], "Sz(8)" ], [ 62400, 3, [ 2, 4 ], "PSU(3,4)" ],
>   [ 95040, 18, [ 2 ], "M12" ], [ 126000, 3, [ 2, 5 ], "PSU(3,5)" ],
>   [ 175560, 18, [ 3 ], "J_1" ], [ 181440, 1, [ 9 ], "A9" ],
>   [ 372000, 2, [ 2, 5 ], "PSL(3,5)" ], [ 443520, 18, [ 4 ], "M22" ],
>   [ 604800, 18, [ 5 ], "J_2" ], [ 979200, 4, [ 2, 4 ], "O(5,4)" ] ]
> gap> L[Length(L)];
> [ 808017424794512875886459904961710757005754368000000000, 18, [ 27 ], "M" ]
>
>
> ________________________________
> From: Hulpke,Alexander <Alexander.Hulpke at colostate.edu>
> Sent: Thursday, December 19, 2019 12:21 AM
> To: GAP <gap at rkd.math.cornell.edu>
> Cc: GAP Forum <forum at gap-system.org>
> Subject: Re: [GAP Forum] list simple groups, again
>
> Dear Forum, Dear Keith,
>
> > Is there something wrong with my installation?
> No. Both issues are in the released code.
>
> You encounter two different issues where particular cases have not yet been implemented. As they occur only for comparatively large groups I felt the functionality for simple groups was valuable as-is without having to wait for these cases to be sorted out. Both have to do with triality automorphisms, and would be somewhat fiddly to get right.
> (If anyone has code or ready descriptions for these cases, I would be happy to include it for future releases.)
>
> > GRP[208]:=[208,65784756654489600,"O",[9,3]]
> > Error, mixed triality not yet done at
> > /home/dennis/GAP4.10.1/gap-4.10.1/grp/simple.gi:859 called from
> > EFactors( Gcd( 2, (par[2] - 1) ) ^ 2, expo, 6 ) at
> > /home/dennis/GAP4.10.1/gap-4.10.1/grp/simple.gi:1047 called from
> > DataAboutSimpleGroup( id ) at
>
> DataAboutSimpleGroups calculates (beyond what IsomorphismTypeInfoFiniteSimpleGroup does) — among other things — the structure of the outer automorphism group.
> For type D4 this involves also the triality automorphism, and the current code does not yet consider its interaction with field automorphisms — thus the error message.
>
> > GRP[211]:=[211,67671071404425216,"U",[3,127]]
> > Error, Can't do yet at
> > /home/dennis/GAP4.10.1/gap-4.10.1/grp/simple.gi:577 called from
> > CallFuncList( SimpleGroup, b ) at
>
> This would be the Chevalley group of type 3D4(4). The simple groups code does not construct groups as Chevalley groups, but as classical groups of from existing libraries. I am not aware of an existing library that contains a representation of 3D4(4).
> (The same holds for any larger fields and certain other large exceptional groups).
>
> Regards,
>
>   Alexander Hulpke
>
>
> > /home/dennis/GAP4.10.1/gap-4.10.1/grp/simple.gi:696 called from
> > 0 = cnt mod len at SimpleGroupList.gap:83 called from
> > <function "ListSimpleShortNoL2">( <arguments> )
> > called from read-eval loop at *stdin*:5
> > you can 'quit;' to quit to outer loop, or
> > you can 'return;' to continue
> > brk> return;
> > Error, Variable: 'g' must have an assigned value in
> >  if s <> fail and not HasName( g ) then
> >    SetName( g, s );
> > fi; at /home/dennis/GAP4.10.1/gap-4.10.1/grp/simple.gi:629 called from
> > CallFuncList( SimpleGroup, b ) at
> > /home/dennis/GAP4.10.1/gap-4.10.1/grp/simple.gi:696 called from
> > 0 = cnt mod len at SimpleGroupList.gap:83 called from
> > <function "ListSimpleShortNoL2">( <arguments> )
> > called from read-eval loop at *stdin*:5
> > you can 'return;' after assigning a value
> > brk>
> >
> >
> >
> >
> >
> > Ok, I tried the NOSL2 option, and ran into another problem.
> >
> >
> > Keith
> >
> >
> >
> > _______________________________________________
> > Forum mailing list
> > Forum at gap-system.org
> > https://mail.gap-system.org/mailman/listinfo/forum
>
> _______________________________________________
> Forum mailing list
> Forum at gap-system.org
> https://mail.gap-system.org/mailman/listinfo/forum



More information about the Forum mailing list