GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#############################################################################
##
#W imf.grp GAP group library Volkmar Felsch
##
##
#Y Copyright (C) 1995, Lehrstuhl D für Mathematik, RWTH Aachen, Germany
#Y Copyright (C) 2000, Lehrstuhl D für Mathematik, RWTH Aachen, Germany
##
## This is the main secondary file of the GAP library of irreducible maximal
## finite (imf) integral matrix groups. It contains a list IMFList of length
## 31 and a record IMFRec.
##
## Each entry IMFList[dim] of IMFList is a record which contains information
## about the Z-class representative groups (in case dim < 12 or dim in
## {13,17,19,23}, or about the Q-class representative groups (in case dim in
## {12,14,15,16,18,20,21,22,24,25,26,27,28,29,30,31}) of diminsion dim. More
## precisely, each of these records contains the following components:
##
## IMFList[dim].size the group size,
## IMFList[dim].isomorphismType the isomorphism type,
## IMFList[dim].isSolvable true, if the group is solvable, or false,
## else,
## IMFList[dim].elementaryDivisors the elementary divisors of the quadratic
## form,
## IMFList[dim].minimalNorm the norm of the "short vectors",
## IMFList[dim].orbitReps representatives of the orbits of short
## vectors,
## IMFList[dim].degrees sizes of the orbits of short vectors,
## i. e., the degrees of permutation
## representations on the orbits of the
## short vectors.
##
## Additional lists with the associated Gram matrices and matrix generators
## are provided in the files imf1to9.grp to imf31.grp of this library and
## will be loaded only if necessary.
##
## The record IMFRec contains the following components:
##
## IMFRec.maximalDimension the maximal dimension covered by the library,
## i.e., 31,
## IMFRec.numberQQClasses a list containing for each dimension dim the
## number of Q-classes of imf subgroups of
## GL(dim,Q),
## IMFRec.numberQClasses a list containing for each dimension dim the
## number of Q-classes of imf subgroups of dimension
## dim available in the library, i. e., the number
## of Q-classes of imf subgroups of GL(dim,Z), if
## dim is at most 11 or a prime at most 23, or the
## number of Q-classes of imf subgroups of
## GL(dim,Q), else,
## IMFRec.repsAreZReps a list containing for each dimension dim a flag
## which is true, if dim is at most 11 or a prime at
## most 23, or false, else,
## IMFRec.bNumbers a list containing for each dimension dim a list
## of lists which, for each available Q-class, give
## the list of the position numbers of its
## representatives with respect to the lists in
## IMFList,
## IMFRec.maximalQClasses a list containing for each dimension dim a list
## of lists which, for each available Q-class, give
## the Q-class number of the corresponding rational
## imf class.
##
#############################################################################
##
##
BindGlobal( "IMFRec", rec( ) );
IMFRec.maximalDimension := 31;
IMFRec.numberQQClasses :=
[1,2,1,3,2,6,2,9,2,8,2,19,4,12,6,31,3,17,2,31,8,12,4,65,5,16,5,37,2,33,4];
IMFRec.numberQClasses :=
[1,2,1,5,2,9,3,16,8,21,2,19,4,12,6,31,6,17,2,31,8,12,7,65,5,16,5,37,2,33,4];
IMFRec.repsAreZReps :=
[true,true,true,true,true,true,true,true,true,true,true,false,true,false,
false,false,true,false,true,false,false,false,true,false,false,false,
false,false,false,false,false];
IMFRec.bNumbers := [
[[1]],
[[1],[2]],
[[1..3]],
[[2],[3],[5,6],[1],[4]],
[[1..3],[4..7]],
[[1..3],[7],[8,9],[12,13],[14],[15..17],[4,5],[6],[10,11]],
[[1..3],[6,7],[4,5]],
[[1..3],[4],[5],[6],[7],[14,15],[16],[18,19],[23..26],[11,12],[20,21],[22],
[8,9],[10],[13],[17]],
[[1..3],[15..18],[4..7],[8,9],[10,11],[12,13],[14],[19,20]],
[[1..3],[14..19],[25],[32,33],[38..41],[42,43],[44,45],[46],[4],[5],[6,7],
[8,9],[10,11],[12,13],[20..22],[23,24],[26,27],[28],[29,30],[31],[34..37]],
[[1..3],[4..9]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17],[18],[19]],
[[1..3],[4..7],[8..13],[14..17]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]],
[[1],[2],[3],[4],[5],[6]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],
[31]],
[[1..3],[4..9],[17..24],[10,11],[12,13],[14..16]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17]],
[[1..3],[4..9]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],
[31]],
[[1],[2],[3],[4],[5],[6],[7],[8]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]],
[[1..8],[9..11],[22..24],[25..28],[16..21],[12,13],[14,15]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],
[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],
[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],
[62],[63],[64],[65]],
[[1],[2],[3],[4],[5]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16]],
[[1],[2],[3],[4],[5]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],
[32],[33],[34],[35],[36],[37]],
[[1],[2]],
[[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],
[32],[33]],
[[1],[2],[3],[4]]];
IMFRec.maximalQClasses := [
[1],
[1,2],
[1],
[1,2,3,1,2],
[1,2],
[1,2,3,4,5,6,1,1,2],
[1,2,2],
[1,2,3,4,5,6,7,8,9,3,4,4,5,5,5,6],
[1,2,1,1,1,1,1,2],
[1,2,3,4,5,6,7,8,1,1,1,1,1,1,2,2,3,3,3,4,4],
[1,2],
[1..19],
[1..4],
[1..12],
[1..6],
[1..31],
[1,2,3,1,1,2],
[1..17],
[1,2],
[1..31],
[1..8],
[1..12],
[1,2,3,4,1,2,2],
[1..65],
[1..5],
[1..16],
[1..5],
[1..37],
[1,2],
[1..33],
[1..4]];
if IsBound( i ) then
IMFRec.i := i;
fi;
BindGlobal( "IMFList", [ ] );
for i in [ 1 .. 31 ] do
IMFList[i] := rec( );
od;
#############################################################################
##
## Sizes of the class representatives of the irreducible maximal finite
## integral matrix groups.
##
IMFList[1].size := [ # Z-classes of dimension 1
2];
IMFList[2].size := [ # Z-classes of dimension 2
8,
12];
IMFList[3].size := [ # Z-classes of dimension 3
48,
48,
48];
IMFList[4].size := [ # Z-classes of dimension 4
384,
1152,
288,
144,
240,
240];
IMFList[5].size := [ # Z-classes of dimension 5
3840,
3840,
3840,
1440,
1440,
1440,
1440];
IMFList[6].size := [ # Z-classes of dimension 6
46080,
46080,
46080,
4608,
4608,
23040,
10368,
103680,
103680,
288,
288,
10080,
10080,
672,
240,
240,
240];
IMFList[7].size := [ # Z-classes of dimension 7
645120,
645120,
645120,
80640,
80640,
2903040,
2903040];
IMFList[8].size := [ # Z-classes of dimension 8
10321920,
10321920,
10321920,
2654208,
696729600,
6912,
497664,
62208,
62208,
41472,
725760,
725760,
2592,
115200,
115200,
28800,
57600,
1440,
1440,
1152,
1152,
3456,
672,
672,
672,
672];
IMFList[9].size := [ # Z-classes of dimension 9
185794560,
185794560,
185794560,
663552,
663552,
663552,
663552,
36864,
36864,
2304,
2304,
165888,
165888,
1152,
7257600,
7257600,
7257600,
7257600,
1440,
1440];
IMFList[10].size := [ # Z-classes of dimension 10
3715891200,
3715891200,
3715891200,
1857945600,
737280,
29491200,
29491200,
122880,
122880,
7680,
7680,
23040,
23040,
4147200,
4147200,
4147200,
4147200,
4147200,
4147200,
2073600,
2073600,
2073600,
480,
480,
29859840,
1866240,
1866240,
38880,
23040,
23040,
103680,
311040,
311040,
8640,
8640,
8640,
8640,
1440,
1440,
1440,
1440,
79833600,
79833600,
2640,
2640,
2640];
IMFList[11].size := [ # Z-classes of dimension 11
81749606400,
81749606400,
81749606400,
958003200,
958003200,
958003200,
958003200,
958003200,
958003200];
IMFList[12].size := [ # Q-classes of dimension 12
1961990553600,
9172942848,
21499084800,
2149908480,
78382080,
31104,
115200,
82944000,
2400,
2880,
1440,
8640,
203212800,
903168,
2688,
2688,
60480,
4032,
12454041600];
IMFList[13].size := [ # Z-classes of dimension 13
51011754393600,
51011754393600,
51011754393600,
174356582400,
174356582400,
174356582400,
174356582400,
22464,
22464,
22464,
22464,
22464,
22464,
31200,
31200,
31200,
31200];
IMFList[14].size := [ # Q-classes of dimension 14
1428329123020800,
16855282483200,
180592312320,
8491392,
48384,
17418240,
2615348736000,
10080,
80640,
4368,
2184,
4368];
IMFList[15].size := [ # Q-classes of dimension 15
42849873690624000,
41845579776000,
103680,
2903040,
17915904000,
10080];
IMFList[16].size := [ # Q-classes of dimension 16
1371195958099968000,
970864271032320000,
42268920643584,
89181388800,
17336861982720,
1036800,
4180377600,
95551488,
3732480,
79626240000,
288000,
57600,
1658880000,
3628800,
138240,
230400,
4147200,
172800,
86400,
2880,
17280,
960,
4032,
4032,
60480,
4032,
903168,
240,
240,
711374856192000,
9792];
IMFList[17].size := [ # Z-classes of dimension 17
46620662575398912000,
46620662575398912000,
46620662575398912000,
12804747411456000,
12804747411456000,
12804747411456000,
12804747411456000,
12804747411456000,
12804747411456000,
17825792,
17825792,
69632,
69632,
4896,
4896,
4896,
32640,
32640,
32640,
32640,
32640,
32640,
32640,
32640];
IMFList[18].size := [ # Q-classes of dimension 18
1678343852714360832000,
3916800,
6687075336192000,
50388480,
1872381094133760,
82944000,
105345515520000,
28800,
8640,
43545600,
6145155072000,
1820786688,
225792,
9792,
4896,
243290200817664000,
13680];
IMFList[19].size := [ # Z-classes of dimension 19
63777066403145711616000,
63777066403145711616000,
63777066403145711616000,
4865804016353280000,
4865804016353280000,
4865804016353280000,
4865804016353280000,
4865804016353280000,
4865804016353280000];
IMFList[20].size := [ # Q-classes of dimension 20
2551082656125828464640000,
243468982907043840,
656916480,
380160,
11520,
224685731296051200,
193491763200,
103195607040000,
829440,
103680,
4147200,
311040,
95551488000000,
120000,
172800,
161280,
1774080,
10080,
102181884343418880000,
483840,
80640,
12746807377920000,
15840,
13939200,
13939200,
15840,
31680,
479001600,
15840,
15840,
13680];
IMFList[21].size := [ # Q-classes of dimension 21
107145471557284795514880000,
146794677780086784000,
2903040,
52254720,
2903040,
1512000,
10080,
2248001455555215360000];
IMFList[22].size := [ # Q-classes of dimension 22
4714400748520531002654720000,
110361968640,
29658516531078758400,
1835540262420480000,
5748019200,
177408000,
3592512000,
51704033477769953280000,
12144,
12144,
24288,
24288];
IMFList[23].size := [ # Z-classes of dimension 23
1240896803466478878720000,
1240896803466478878720000,
1240896803466478878720000,
1240896803466478878720000,
1240896803466478878720000,
1240896803466478878720000,
1240896803466478878720000,
1240896803466478878720000,
216862434431944426122117120000,
216862434431944426122117120000,
216862434431944426122117120000,
85571854663680,
85571854663680,
41783132160,
41783132160,
489646080,
489646080,
489646080,
489646080,
489646080,
489646080,
84610842624000,
84610842624000,
84610842624000,
991533312000,
991533312000,
991533312000,
991533312000];
IMFList[24].size := [ # Q-classes of dimension 24
10409396852733332453861621760000,
2029289625631919702016000000,
8315553613086720000,
1728000,
1682857609853487022080,
940584960,
2773263883425546240000,
103680,
67184640,
4270826380475341209600,
12287500930252800,
59719680,
1934917632,
34560,
1981355655168,
1935360,
1161216,
31022420086661971968000000,
137594142720000000,
79626240000,
143327232000000,
145152000,
11520000,
16588800,
230400,
1728000,
138240,
311040,
4147200,
149299200,
17280,
247772652503040000,
387072,
4894274617344,
387072,
14450688,
5806080,
14450688,
387072,
52416,
112896,
30240,
103680,
5760,
34560,
7315660800,
32514048,
16128,
16128,
310206304349061120000,
134784,
74724249600,
1872,
12441600,
17915904000,
86400,
14400,
103680,
8064,
5376,
1820786688,
1209600,
80640,
31680,
2640];
IMFList[25].size := [ # Q-classes of dimension 25
520469842636666622693081088000000,
743008370688000000,
2073600,
235200,
806582922253211271168000000];
IMFList[26].size := [ # Q-classes of dimension 26
27064431817106664380040216576000000,
666248915354153228697600,
1009262592,
1946880000,
60800435652415979520000,
18720000,
1268047872,
24261120,
55024220160,
18720000,
62400,
31200,
31200,
187200,
1046139494400,
21777738900836704321536000000];
IMFList[27].size := [ # Q-classes of dimension 27
1461479318123759876522171695104000000,
2293666840313856000000,
725760,
22464,
609776689223427721003008000000];
IMFList[28].size := [ # Q-classes of dimension 28
81842841814930553085241614925824000000,
111929817779497742421196800,
13570563765858519346053120,
231158159769600000000,
1704603285530812549693440000,
606790169395200,
144207476195328,
203212800,
13005619200,
4682022912,
38158848,
9539712,
38158848,
13680098021793595392000000,
55024220160,
29030400,
2090188800,
349440,
1672151040,
2419200,
101896704,
1161216,
290304,
504000,
348364800,
80640,
2419200,
60480,
15692092416000,
483840,
52416,
26208,
26208,
26208,
26208,
48720,
17683523987479403909087232000000];
IMFList[29].size := [ # Q-classes of dimension 29
4746884825265972078944013665697792000000,
530505719624382117272616960000000];
IMFList[30].size := [ # Q-classes of dimension 30
284813089515958324736640819941867520000000,
20147367200309593635815424000,
6419592322744320000000,
1437659997167803170816000000,
12487741686153216000000,
16444762714275840,
95551488000000,
180551034077184000,
17915904000,
3052870564457742336000000,
110398464000,
110398464000,
16855282483200,
21499084800,
203212800,
3502105093579160420352000000,
103680,
78382080,
251073478656000,
67184640,
8640,
74649600,
483840,
17418240,
172800,
60480,
30240,
7257600,
483840,
48720,
29760,
59520,
16445677308355845635451125760000000];
IMFList[31].size := [ # Q-classes of dimension 31
17658411549989416133671730836395786240000000,
327360,
1488000,
526261673867387060334436024320000000];
#############################################################################
##
## Elementary divisors of the quadratic forms associated to the class
## representatives of the irreducible maximal finite integral matrix groups,
## given in form of lists [ d1, exp1, d2, exp2, ... ].
##
IMFList[1].elementaryDivisors := [ # Z-classes of dimension 1
[1,1]];
IMFList[2].elementaryDivisors := [ # Z-classes of dimension 2
[1,2],
[1,1,3,1]];
IMFList[3].elementaryDivisors := [ # Z-classes of dimension 3
[1,3],
[1,1,4,2],
[1,2,4,1]];
IMFList[4].elementaryDivisors := [ # Z-classes of dimension 4
[1,4],
[1,2,2,2],
[1,2,3,2],
[1,1,3,2,9,1],
[1,3,5,1],
[1,1,5,3]];
IMFList[5].elementaryDivisors := [ # Z-classes of dimension 5
[1,5],
[1,4,4,1],
[1,1,4,4],
[1,1,6,4],
[1,4,6,1],
[1,1,3,3,6,1],
[1,1,2,3,6,1]];
IMFList[6].elementaryDivisors := [ # Z-classes of dimension 6
[1,6],
[1,4,2,2],
[1,2,2,4],
[1,4,4,2],
[1,2,4,4],
[1,1,2,4,4,1],
[1,3,3,3],
[1,5,3,1],
[1,1,3,5],
[1,3,3,1,12,2],
[1,2,4,1,12,3],
[1,1,7,5],
[1,5,7,1],
[1,3,7,3],
[1,3,5,3],
[1,3,5,1,10,2],
[1,2,2,1,10,3]];
IMFList[7].elementaryDivisors := [ # Z-classes of dimension 7
[1,7],
[1,6,4,1],
[1,1,4,6],
[1,1,8,6],
[1,6,8,1],
[1,6,2,1],
[1,1,2,6]];
IMFList[8].elementaryDivisors := [ # Z-classes of dimension 8
[1,8],
[1,6,2,2],
[1,2,2,6],
[1,4,2,4],
[1,8],
[1,4,6,4],
[1,4,3,4],
[1,3,3,4,9,1],
[1,1,3,4,9,3],
[1,2,3,4,9,2],
[1,7,9,1],
[1,1,9,7],
[1,1,3,3,9,3,27,1],
[1,6,5,2],
[1,2,5,6],
[1,4,5,4],
[1,1,5,6,25,1],
[1,2,5,2,15,4],
[1,4,3,2,15,2],
[1,2,2,2,6,4],
[1,4,3,2,6,2],
[1,2,2,2,6,2,12,2],
[1,1,3,4,21,3],
[1,3,7,4,21,1],
[1,5,7,2,21,1],
[1,1,3,2,21,5]];
IMFList[9].elementaryDivisors := [ # Z-classes of dimension 9
[1,9],
[1,8,4,1],
[1,1,4,8],
[1,6,4,3],
[1,3,4,6],
[1,7,4,2],
[1,2,4,7],
[1,5,4,4],
[1,4,4,5],
[1,4,4,4,16,1],
[1,1,4,4,16,4],
[1,2,4,6,16,1],
[1,1,4,6,16,2],
[1,2,4,5,16,2],
[1,1,10,8],
[1,8,10,1],
[1,1,5,7,10,1],
[1,1,2,7,10,1],
[1,1,5,3,10,1,20,4],
[1,4,2,1,4,3,20,1]];
IMFList[10].elementaryDivisors := [ # Z-classes of dimension 10
[1,10],
[1,8,2,2],
[1,2,2,8],
[1,1,2,8,4,1],
[1,4,2,2,4,4],
[1,8,4,2],
[1,2,4,8],
[1,6,4,4],
[1,4,4,6],
[1,4,4,4,8,2],
[1,2,2,4,8,4],
[1,4,2,1,4,4,8,1],
[1,1,2,4,4,1,8,4],
[1,8,3,2],
[1,2,3,8],
[1,8,6,2],
[1,2,6,8],
[1,2,2,6,6,2],
[1,2,3,6,6,2],
[1,1,3,8,9,1],
[1,1,3,7,6,1,18,1],
[1,1,3,1,6,7,18,1],
[1,4,2,2,4,2,12,2],
[1,2,3,2,6,2,12,4],
[1,5,3,5],
[1,4,3,5,9,1],
[1,1,3,5,9,4],
[1,1,3,4,9,4,27,1],
[1,5,3,3,12,2],
[1,2,4,3,12,5],
[1,5,3,5],
[1,5,3,3,6,2],
[1,2,2,3,6,5],
[1,4,3,4,6,1,18,1],
[1,1,3,1,6,4,18,4],
[1,2,2,2,6,5,18,1],
[1,1,3,5,9,2,18,2],
[1,6,6,4],
[1,4,6,6],
[1,4,2,2,6,4],
[1,4,3,2,6,4],
[1,9,11,1],
[1,1,11,9],
[1,7,11,3],
[1,3,11,7],
[1,5,11,5]];
IMFList[11].elementaryDivisors := [ # Z-classes of dimension 11
[1,11],
[1,10,4,1],
[1,1,4,10],
[1,1,12,10],
[1,1,3,10],
[1,1,4,9,12,1],
[1,1,3,9,12,1],
[1,10,3,1],
[1,10,12,1]];
IMFList[12].elementaryDivisors := [ # Q-classes of dimension 12
[1,12],
[1,6,2,6],
[1,10,3,2],
[1,6,3,6],
[1,6,3,6],
[1,6,2,2,6,4],
[1,6,5,6],
[1,9,5,3],
[1,8,2,1,10,3],
[1,8,5,2,10,2],
[1,6,15,6],
[1,6,15,6],
[1,10,7,2],
[1,6,7,6],
[1,6,2,4,14,2],
[1,6,14,6],
[1,6,3,4,21,2],
[1,6,21,6],
[1,11,13,1]];
IMFList[13].elementaryDivisors := [ # Z-classes of dimension 13
[1,13],
[1,12,4,1],
[1,1,4,12],
[1,1,14,12],
[1,12,14,1],
[1,1,7,11,14,1],
[1,1,2,11,14,1],
[1,6,3,7],
[1,7,3,6],
[1,7,3,5,12,1],
[1,6,3,6,12,1],
[1,1,4,5,12,7],
[1,1,4,6,12,6],
[1,1,2,8,10,4],
[1,9,5,3,10,1],
[1,1,2,3,10,9],
[1,4,5,8,10,1]];
IMFList[14].elementaryDivisors := [ # Q-classes of dimension 14
[1,14],
[1,12,2,2],
[1,7,3,7],
[1,7,3,7],
[1,8,2,4,6,2],
[1,7,3,5,6,2],
[1,13,15,1],
[1,8,5,5,15,1],
[1,8,2,5,30,1],
[1,7,13,7],
[1,7,3,4,39,3],
[1,9,13,4,39,1]];
IMFList[15].elementaryDivisors := [ # Q-classes of dimension 15
[1,15],
[1,14,16,1],
[1,10,3,5],
[1,9,2,5,6,1],
[1,12,6,3],
[1,10,7,5]];
IMFList[16].elementaryDivisors := [ # Q-classes of dimension 16
[1,16],
[1,16],
[1,8,2,8],
[1,8,2,8],
[1,8,3,8],
[1,8,3,8],
[1,8,3,8],
[1,8,6,8],
[1,8,6,8],
[1,12,5,4],
[1,4,5,12],
[1,10,5,6],
[1,8,5,8],
[1,8,5,8],
[1,8,2,4,10,4],
[1,8,10,8],
[1,8,3,4,15,4],
[1,8,15,8],
[1,8,15,8],
[1,8,15,8],
[1,8,30,8],
[1,8,6,4,30,4],
[1,8,3,4,21,4],
[1,8,3,2,21,6],
[1,8,21,8],
[1,8,21,8],
[1,10,7,4,21,2],
[1,12,11,4],
[1,12,55,4],
[1,15,17,1],
[1,11,17,5]];
IMFList[17].elementaryDivisors := [ # Z-classes of dimension 17
[1,17],
[1,16,4,1],
[1,1,4,16],
[1,1,18,16],
[1,16,18,1],
[1,1,9,15,18,1],
[1,1,2,15,18,1],
[1,16,2,1],
[1,1,2,16],
[1,9,4,8],
[1,8,4,9],
[1,1,4,8,16,8],
[1,8,4,8,16,1],
[1,1,9,7,18,1,36,8],
[1,8,2,1,4,8],
[1,8,2,1,4,7,36,1],
[1,1,3,8,6,8],
[1,9,2,7,6,1],
[1,8,2,8,12,1],
[1,8,2,8,6,1],
[1,1,2,8,4,7,12,1],
[1,1,3,7,6,9],
[1,1,6,8,12,8],
[1,1,3,7,6,8,12,1]];
IMFList[18].elementaryDivisors := [ # Q-classes of dimension 18
[1,18],
[1,10,2,8],
[1,15,3,3],
[1,13,3,5],
[1,9,3,9],
[1,9,5,9],
[1,16,10,2],
[1,9,5,1,10,8],
[1,9,3,3,15,6],
[1,9,3,7,30,2],
[1,15,7,3],
[1,9,7,9],
[1,9,7,9],
[1,9,17,9],
[1,8,2,5,34,5],
[1,17,19,1],
[1,9,19,9]];
IMFList[19].elementaryDivisors := [ # Z-classes of dimension 19
[1,19],
[1,1,4,18],
[1,18,4,1],
[1,1,20,18],
[1,18,20,1],
[1,18,5,1],
[1,1,5,17,20,1],
[1,1,4,17,20,1],
[1,1,5,18]];
IMFList[20].elementaryDivisors := [ # Q-classes of dimension 20
[1,20],
[1,10,2,10],
[1,10,2,10],
[1,10,2,10],
[1,12,3,8],
[1,10,3,10],
[1,10,3,6,6,4],
[1,16,6,4],
[1,8,2,8,6,2,12,2],
[1,14,6,5,54,1],
[1,12,6,8],
[1,10,3,2,6,8],
[1,15,5,5],
[1,17,5,3],
[1,15,5,1,30,4],
[1,10,7,10],
[1,10,7,10],
[1,10,7,10],
[1,19,21,1],
[1,18,2,1,42,1],
[1,13,3,1,6,5,42,1],
[1,18,11,2],
[1,18,11,2],
[1,14,11,6],
[1,10,11,10],
[1,10,11,10],
[1,10,2,6,22,4],
[1,10,3,8,33,2],
[1,10,3,4,33,6],
[1,10,33,10],
[1,13,19,6,57,1]];
IMFList[21].elementaryDivisors := [ # Q-classes of dimension 21
[1,21],
[1,18,2,3],
[1,15,2,6],
[1,19,3,2],
[1,14,6,6,12,1],
[1,1,2,1,10,19],
[1,13,5,2,15,5,30,1],
[1,20,22,1]];
IMFList[22].elementaryDivisors := [ # Q-classes of dimension 22
[1,22],
[1,1,3,19,6,2],
[1,11,3,11],
[1,20,12,2],
[1,10,3,10,12,1,36,1],
[1,21,5,1],
[1,1,5,20,15,1],
[1,21,23,1],
[1,19,23,3],
[1,17,23,5],
[1,15,23,7],
[1,11,23,11]];
IMFList[23].elementaryDivisors := [ # Z-classes of dimension 23
[1,1,24,22],
[1,22,24,1],
[1,22,6,1],
[1,1,3,21,24,1],
[1,1,2,21,6,1],
[1,1,3,21,6,1],
[1,1,8,21,24,1],
[1,1,6,22],
[1,23],
[1,22,4,1],
[1,1,4,22],
[1,1,2,22],
[1,22,2,1],
[1,1,8,22],
[1,22,8,1],
[1,1,12,22],
[1,22,12,1],
[1,1,3,21,12,1],
[1,22,3,1],
[1,1,3,22],
[1,1,4,21,12,1],
[1,23],
[1,22,4,1],
[1,1,4,22],
[1,1,2,21,6,1],
[1,22,6,1],
[1,1,3,21,6,1],
[1,1,6,22]];
IMFList[24].elementaryDivisors := [ # Q-classes of dimension 24
[1,24],
[1,24],
[1,24],
[1,16,2,8],
[1,12,2,12],
[1,12,2,12],
[1,20,3,4],
[1,20,3,4],
[1,16,3,8],
[1,12,3,12],
[1,12,3,12],
[1,12,2,8,6,4],
[1,12,2,4,6,8],
[1,12,2,4,6,8],
[1,12,6,12],
[1,12,6,12],
[1,12,6,12],
[1,23,25,1],
[1,18,5,6],
[1,12,5,12],
[1,12,5,12],
[1,12,5,12],
[1,16,2,2,10,6],
[1,16,5,4,10,4],
[1,16,10,8],
[1,12,5,4,10,8],
[1,12,10,12],
[1,12,5,4,15,8],
[1,12,15,12],
[1,12,15,12],
[1,12,3,4,15,4,30,4],
[1,20,7,4],
[1,20,7,4],
[1,12,7,12],
[1,12,7,12],
[1,12,2,8,14,4],
[1,12,2,8,14,4],
[1,12,14,12],
[1,12,14,12],
[1,12,13,12],
[1,18,2,6],
[1,12,2,12],
[1,12,10,12],
[1,12,15,4,30,8],
[1,12,30,12],
[1,12,3,8,21,4],
[1,12,21,12],
[1,12,6,8,42,4],
[1,12,42,12],
[1,22,13,2],
[1,22,13,2],
[1,12,3,10,39,2],
[1,12,3,10,39,2],
[1,18,5,2,15,4],
[1,12,3,6,15,6],
[1,12,3,6,15,6],
[1,12,3,4,6,2,30,6],
[1,14,3,2,6,7,30,1],
[1,20,7,4],
[1,18,2,2,14,4],
[1,15,7,6,21,3],
[1,18,5,2,35,4],
[1,12,7,6,35,6],
[1,12,22,12],
[1,16,11,7,55,1]];
IMFList[25].elementaryDivisors := [ # Q-classes of dimension 25
[1,25],
[1,20,6,5],
[1,16,6,8,36,1],
[1,16,7,8,14,1],
[1,24,26,1]];
IMFList[26].elementaryDivisors := [ # Q-classes of dimension 26
[1,26],
[1,13,3,13],
[1,12,3,14],
[1,2,2,16,10,8],
[1,24,14,2],
[1,26],
[1,1,3,25],
[1,19,3,7],
[1,13,3,13],
[1,13,5,13],
[1,16,5,9,15,1],
[1,12,2,8,10,6],
[1,13,3,3,15,10],
[1,13,3,5,15,6,30,2],
[1,13,3,11,42,2],
[1,25,27,1]];
IMFList[27].elementaryDivisors := [ # Q-classes of dimension 27
[1,27],
[1,24,10,3],
[1,19,7,7,28,1],
[1,16,13,10,52,1],
[1,26,28,1]];
IMFList[28].elementaryDivisors := [ # Q-classes of dimension 28
[1,28],
[1,14,3,14],
[1,14,2,14],
[1,21,5,7],
[1,24,2,4],
[1,14,3,10,6,4],
[1,14,3,14],
[1,16,5,10,15,2],
[1,16,2,10,30,2],
[1,16,2,8,6,4],
[1,14,13,14],
[1,14,3,8,39,6],
[1,18,13,8,39,2],
[1,26,15,2],
[1,2,2,26],
[1,2,2,26],
[1,2,2,26],
[1,2,2,26],
[1,12,2,14,4,2],
[1,2,3,26],
[1,14,3,14],
[1,4,3,22,6,2],
[1,12,3,4,6,10,18,2],
[1,19,5,9],
[1,21,5,3,10,4],
[1,21,5,1,10,6],
[1,1,3,13,15,13,45,1],
[1,13,3,3,15,11,45,1],
[1,13,3,13,15,1,45,1],
[1,2,5,10,10,1,30,14,90,1],
[1,20,13,6,26,2],
[1,14,3,8,39,6],
[1,13,3,5,39,9,117,1],
[1,14,39,14],
[1,4,2,10,78,14],
[1,9,29,19],
[1,27,29,1]];
IMFList[29].elementaryDivisors := [ # Q-classes of dimension 29
[1,29],
[1,28,30,1]];
IMFList[30].elementaryDivisors := [ # Q-classes of dimension 30
[1,30],
[1,15,3,15],
[1,6,6,24],
[1,25,3,5],
[1,5,7,25],
[1,15,7,15],
[1,15,5,15],
[1,15,3,9,6,6],
[1,18,6,12],
[1,27,11,3],
[1,21,11,9],
[1,15,11,15],
[1,18,2,10,6,2],
[1,20,3,10],
[1,20,7,10],
[1,28,16,2],
[1,24,4,1,12,5],
[1,15,3,15],
[1,15,3,13,48,2],
[1,24,2,1,6,5],
[1,12,2,11,6,7],
[1,20,3,4,6,5,18,1],
[1,12,2,3,6,15],
[1,14,3,4,6,11,18,1],
[1,15,5,9,30,6],
[1,15,3,5,21,10],
[1,15,3,3,21,12],
[1,24,6,1,42,5],
[1,15,7,9,42,6],
[1,15,29,15],
[1,23,31,7],
[1,15,31,15],
[1,29,31,1]];
IMFList[31].elementaryDivisors := [ # Q-classes of dimension 31
[1,31],
[1,20,2,10,4,1],
[1,19,5,12],
[1,30,32,1]];
#############################################################################
##
## Solvability of the class representatives of the irreducible maximal
## finite integral matrix groups.
##
IMFList[1].isSolvable := [ # Z-classes of dimension 1
true];
IMFList[2].isSolvable := [ # Z-classes of dimension 2
true,
true];
IMFList[3].isSolvable := [ # Z-classes of dimension 3
true,
true,
true];
IMFList[4].isSolvable := [ # Z-classes of dimension 4
true,
true,
true,
true,
false,
false];
IMFList[5].isSolvable := # Z-classes of dimension 5
ListWithIdenticalEntries( 7, false );
IMFList[6].isSolvable := [ # Z-classes of dimension 6
false,
false,
false,
true,
true,
false,
true,
false,
false,
true,
true,
false,
false,
false,
false,
false,
false];
IMFList[7].isSolvable := # Z-classes of dimension 7
ListWithIdenticalEntries( 7, false );
IMFList[8].isSolvable := [ # Z-classes of dimension 8
false,
false,
false,
true,
false,
true,
true,
true,
true,
true,
false,
false,
true,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
false];
IMFList[9].isSolvable := [ # Z-classes of dimension 9
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
false,
false,
false];
IMFList[10].isSolvable := # Z-classes of dimension 10
ListWithIdenticalEntries( 46, false );
IMFList[11].isSolvable := # Z-classes of dimension 11
ListWithIdenticalEntries( 9, false );
IMFList[12].isSolvable := [ # Q-classes of dimension 12
false,
true,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false];
IMFList[13].isSolvable := # Z-classes of dimension 13
ListWithIdenticalEntries( 17, false );
IMFList[14].isSolvable := # Q-classes of dimension 14
ListWithIdenticalEntries( 12, false );
IMFList[15].isSolvable := # Q-classes of dimension 15
ListWithIdenticalEntries( 6, false );
IMFList[16].isSolvable := [ # Q-classes of dimension 16
false,
false,
true,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
true,
true,
false,
false];
IMFList[17].isSolvable := [ # Z-classes of dimension 17
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
true,
true,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false];
IMFList[18].isSolvable := # Q-classes of dimension 18
ListWithIdenticalEntries( 17, false );
IMFList[19].isSolvable := # Z-classes of dimension 19
ListWithIdenticalEntries( 9, false );
IMFList[20].isSolvable := # Q-classes of dimension 20
ListWithIdenticalEntries( 31, false );
IMFList[21].isSolvable := # Q-classes of dimension 21
ListWithIdenticalEntries( 8, false );
IMFList[22].isSolvable := # Q-classes of dimension 22
ListWithIdenticalEntries( 12, false );
IMFList[23].isSolvable := # Z-classes of dimension 23
ListWithIdenticalEntries( 28, false );
IMFList[24].isSolvable := [ # Q-classes of dimension 24
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false];
IMFList[25].isSolvable := # Q-classes of dimension 25
ListWithIdenticalEntries( 5, false );
IMFList[26].isSolvable := # Q-classes of dimension 26
ListWithIdenticalEntries( 16, false );
IMFList[27].isSolvable := # Q-classes of dimension 27
ListWithIdenticalEntries( 5, false );
IMFList[28].isSolvable := # Q-classes of dimension 28
ListWithIdenticalEntries( 37, false );
IMFList[29].isSolvable := # Q-classes of dimension 29
ListWithIdenticalEntries( 2, false );
IMFList[30].isSolvable := # Q-classes of dimension 30
ListWithIdenticalEntries( 33, false );
IMFList[31].isSolvable := # Q-classes of dimension 31
ListWithIdenticalEntries( 4, false );
#############################################################################
##
## Descriptions of the isomorphism types of the class representatives of the
## irreducible maximal finite integral matrix groups.
##
IMFList[1].isomorphismType := [ # Z-classes of dimension 1
"C2"];
IMFList[2].isomorphismType := [ # Z-classes of dimension 2
"C2 wr C2 = D8",
"C2 x S3 = C2 x W(A2) = D12"];
IMFList[3].isomorphismType := [ # Z-classes of dimension 3
"C2 wr S3 = C2 x S4 = W(B3)",
"C2 wr S3 = C2 x S4 = C2 x W(A3)",
"C2 wr S3 = C2 x S4 = C2 x W(A3)"];
IMFList[4].isomorphismType := [ # Z-classes of dimension 4
"C2 wr S4 = W(B4)",
"W(F4)",
"D12 wr C2 = (C2 x W(A2)) wr C2",
"(D12 Y D12):C2",
"C2 x S5 = C2 x W(A4)",
"C2 x S5 = C2 x W(A4)"];
IMFList[5].isomorphismType := [ # Z-classes of dimension 5
"C2 wr S5 = W(B5)",
"C2 wr S5 = C2 x W(D5)",
"C2 wr S5 = C2 x W(D5)",
"C2 x S6",
"C2 x S6",
"C2 x S6",
"C2 x S6"];
IMFList[6].isomorphismType := [ # Z-classes of dimension 6
"C2 wr S6 = W(B6)",
"C2 wr S6 = C2 x W(D6)",
"C2 wr S6 = C2 x W(D6)",
"(C2 x S4) wr C2 = (C2 x W(A3)) wr C2",
"(C2 x S4) wr C2 = (C2 x W(A3)) wr C2",
"subgroup of index 2 of C2 wr S6",
"(C2 x S3) wr S3 = (C2 x W(A2)) wr S3 = D12 wr S3",
"C2 x W(E6)",
"C2 x W(E6)",
"C2 x S3 x S4 = D12 x S4 = C2 x W(A2) x W(A3)",
"C2 x S3 x S4 = D12 x S4 = C2 x W(A2) x W(A3)",
"C2 x S7 = C2 x W(A6)",
"C2 x S7 = C2 x W(A6)",
"C2 x PGL(2,7)",
"C2 x S5",
"C2 x S5",
"C2 x S5"];
IMFList[7].isomorphismType := [ # Z-classes of dimension 7
"C2 wr S7 = W(B7)",
"C2 wr S7 = C2 x W(D7)",
"C2 wr S7 = C2 x W(D7)",
"C2 x S8 = C2 x W(A7)",
"C2 x S8 = C2 x W(A7)",
"W(E7)",
"W(E7)"];
IMFList[8].isomorphismType := [ # Z-classes of dimension 8
"C2 wr S8 = W(B8)",
"C2 wr S8 = C2 x W(D8)",
"C2 wr S8 = C2 x W(D8)",
"W(F4) wr C2",
"W(E8)",
"S3 x W(F4) = W(A2) x W(F4)",
"D12 wr S4 = (W(A2) x C2) wr S4",
"C2 x (S3 wr S4)",
"C2 x (S3 wr S4)",
"(C2 x (S3 wr C2)) wr C2",
"C2 x S9 = C2 x W(A8)",
"C2 x S9 = C2 x W(A8)",
"C2 x (S3 wr S3)",
"(C2 x S5) wr C2",
"(C2 x S5) wr C2",
"(SL(2,5) Y SL(2,5)):(C2 x C2)",
"C2 x (S5 wr C2)",
"C2 x S5 x S3",
"C2 x S5 x S3",
"W(F4)",
"W(F4)",
"S3 subd W(F4) = (C3 x (SL(2,3) Y SL(2,3)):C2).C2",
"C2 x PGL(2,7)",
"C2 x PGL(2,7)",
"C2 x PGL(2,7)",
"C2 x PGL(2,7)"];
IMFList[9].isomorphismType := [ # Z-classes of dimension 9
"C2 wr S9",
"C2 wr S9",
"C2 wr S9",
"(C2 wr S3) wr S3",
"(C2 wr S3) wr S3",
"(C2 wr S3) wr S3",
"(C2 wr S3) wr S3",
"C2^9:(S3 wr C2)",
"C2^9:(S3 wr C2)",
"C2 x (S4 wr C2)",
"C2 x (S4 wr C2)",
"C2 x (S4 wr S3)",
"C2 x (S4 wr S3)",
"C2 x S4 x S4",
"C2 x S10",
"C2 x S10",
"C2 x S10",
"C2 x S10",
"C2 x S6",
"C2 x S6"];
IMFList[10].isomorphismType := [ # Z-classes of dimension 10
"C2 wr S10",
"C2 wr S10",
"C2 wr S10",
"C2^9:S10",
"C2^10:S6",
"C2^10:(S5 wr C2)",
"C2^10:(S5 wr C2)",
"C2^10:S5",
"C2^10:S5",
"C2^6:S5",
"C2^6:S5",
"C2^5:S6",
"C2^5:S6",
"(C2 x S6) wr C2",
"(C2 x S6) wr C2",
"(C2 x S6) wr C2",
"(C2 x S6) wr C2",
"(C2 x S6) wr C2",
"(C2 x S6) wr C2",
"C2 x (S6 wr C2)",
"C2 x (S6 wr C2)",
"C2 x (S6 wr C2)",
"(C2^2 x A5):C2",
"(C2^2 x A5):C2",
"(C2 x S3) wr S5",
"C2 x (S3 wr S5)",
"C2 x (S3 wr S5)",
"C2 x (C3^4:C2):S5",
"S3 x (C2 wr S5)",
"S3 x (C2 wr S5)",
"C2 x SU(4,2):C2",
"(C6 x SU(4,2)):C2",
"(C6 x SU(4,2)):C2",
"D12 x S6",
"D12 x S6",
"D12 x S6",
"D12 x S6",
"C2 x S6",
"C2 x S6",
"C2 x S6",
"C2 x S6",
"C2 x S11",
"C2 x S11",
"C2 x PGL(2,11)",
"C2 x PGL(2,11)",
"C2 x PGL(2,11)"];
IMFList[11].isomorphismType := [ # Z-classes of dimension 11
"C2 wr S11 = W(B11)",
"C2 wr S11 = C2 x W(D11)",
"C2 wr S11 = C2 x W(D11)",
"C2 x S12 = C2 x W(A11)",
"C2 x S12 = C2 x W(A11)",
"C2 x S12 = C2 x W(A11)",
"C2 x S12 = C2 x W(A11)",
"C2 x S12 = C2 x W(A11)",
"C2 x S12 = C2 x W(A11)"];
IMFList[12].isomorphismType := [ # Q-classes of dimension 12
"C2 wr S12 = W(B12)",
"W(F4) wr S3",
"(C2 x W(E6)) wr C2",
"D12 wr S6 = (C2 x S3) wr S6 = (C2 x W(A2)) wr S6",
"C6.PSU(4,3).(C2 x C2)",
"((3+^(1+2):SL(2,3)) x SL(2,3)).C2",
"(C2 x S5) wr C2",
"(C2 x S5) wr S3 = (C2 x W(A4)) wr S3",
"(C2 x D10 x A5):C2",
"(SL(2,5) Y SL(2,3)).C2",
"C2 x S3 x S5",
"(C2 x C3.A6).(C2 x C2)",
"(C2 x S7) wr C2 = (C2 x W(A6)) wr C2",
"(C2 x PGL(2,7)) wr C2",
"(PSL(2,7) x D8):C2",
"(PSL(2,7) x D8):C2",
"C2 x S3 x S7 = C2 x W(A2) x W(A6)",
"C2 x S3 x PGL(2,7)",
"C2 x S13 = C2 x W(A12)"];
IMFList[13].isomorphismType := [ # Z-classes of dimension 13
"C2 wr S13 = W(B13)",
"C2 wr S13 = C2 x W(D13)",
"C2 wr S13 = C2 x W(D13)",
"C2 x S14 = C2 x W(A13)",
"C2 x S14 = C2 x W(A13)",
"C2 x S14 = C2 x W(A13)",
"C2 x S14 = C2 x W(A13)",
"C2 x SL(3,3):C2",
"C2 x SL(3,3):C2",
"C2 x SL(3,3):C2",
"C2 x SL(3,3):C2",
"C2 x SL(3,3):C2",
"C2 x SL(3,3):C2",
"C2 x PSL(2,25):C2",
"C2 x PSL(2,25):C2",
"C2 x PSL(2,25):C2",
"C2 x PSL(2,25):C2"];
IMFList[14].isomorphismType := [ # Q-classes of dimension 14
"C2 wr S14 = W(B14)",
"W(E7) wr C2",
"(C2 x S3) wr S7 = D12 wr S7 = (C2 x W(A2)) wr S7",
"C2 x G2(3)",
"(SU(3,3) x C4).C2",
"S3 x W(E7) = W(A2) x W(E7)",
"C2 x S15 = C2 x W(A14)",
"C2 x S7",
"C2 x S8",
"C2 x PGL(2,13)",
"C2 x PSL(2,13)",
"C2 x PGL(2,13)"];
IMFList[15].isomorphismType := [ # Q-classes of dimension 15
"C2 wr S15 = W(B15)",
"C2 x S16 = C2 x W(A15)",
"C2 x W(E6)",
"C2 x Sp(6,2)",
"(C2 x S6) wr S3 = (C2 x W(A5)) wr S3",
"C2 x S7"];
IMFList[16].isomorphismType := [ # Q-classes of dimension 16
"C2 wr S16 = W(B16)",
"W(E8) wr C2",
"W(F4) wr S4",
"2+^(1+8).O+(8,2)",
"(C2 x S3) wr S8 = (C2 x W(A2)) wr S8",
"(SL(2,9) Y SL(2,9)).(C2 x C2)",
"W(E8) x W(A2)",
"(S3 x W(F4)) wr C2 = (W(A2) x W(F4)) wr C2",
"((Sp(4,3) x C3) Y SL(2,3)).C2",
"(C2 x S5) wr S4 = (C2 x W(A4)) wr S4",
"(((SL(2,5) Y SL(2,5)):C2) x D10):C2",
"C2 x (S5 x S5):C2",
"((SL(2,5) Y SL(2,5)):(C2 x C2)) wr C2",
"C2.A10",
"S5 x W(F4)",
"(SL(2,5) Y (D8 Y Q8).A5).C2",
"(C2 x S3 x S5) wr C2",
"S3 x (SL(2,5) Y SL(2,5)):(C2 x C2)",
"(SL(2,5) Y SL(2,9)):C2",
"(C2 x A6).(C2 x C2)",
"(SL(2,5) Y ((SL(2,3) x C3).C2)).C2",
"D120.(C4 x C2)",
"(SL(2,7) Y C2.S3).C2",
"C2 x S3 x PGL(2,7)",
"(C2.A7 Y C2.S3).C2",
"(SL(2,7) Y C2.S3).C2",
"(C2 x PGL(2,7)) wr C2",
"D120.C2",
"D120.C2",
"C2 x S17 = C2 x W(A16)",
"C2 x PGL(2,17)"];
IMFList[17].isomorphismType := [ # Z-classes of dimension 17
"C2 wr S17",
"C2 wr S17",
"C2 wr S17",
"C2 x S18",
"C2 x S18",
"C2 x S18",
"C2 x S18",
"C2 x S18",
"C2 x S18",
"C2^17:(C17:C8)",
"C2^17:(C17:C8)",
"C2^9:(C17:C8)",
"C2^9:(C17:C8)",
"C2 x PSL(2,17)",
"C2 x PSL(2,17)",
"C2 x PSL(2,17)",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4",
"C2 x SL(2,16):C4"];
IMFList[18].isomorphismType := [ # Q-classes of dimension 18
"C2 wr S18 = W(B18)",
"(C2 x Sp(4,4)).C2",
"(C2 x W(E6)) wr S3",
"(C2 x 3+^(1+4):Sp(4,3)).C2",
"(C2 x S3) wr S9 = (C2 x W(A2)) wr S9",
"(C2 x S5) wr S3",
"(C2 x S10) wr C2 = (C2 x W(A9)) wr C2",
"(C2 x A5 x A5).(C2 x C2)",
"(C2 x C3.A6).(C2 x C2)",
"C2 x S3 x S10 = C2 x W(A2) x W(A9)",
"(C2 x S7) wr S3 = (C2 x W(A6)) wr S3",
"(C2 x PGL(2,7)) wr S3",
"(C2 x PSL(2,7) x PSL(2,7)).(C2 x C2)",
"C2 x PGL(2,17)",
"C2 x PSL(2,17)",
"C2 x S19 = C2 x W(A18)",
"C2 x PGL(2,19)"];
IMFList[19].isomorphismType := [ # Z-classes of dimension 19
"C2 wr S19",
"C2 wr S19",
"C2 wr S19",
"C2 x S20",
"C2 x S20",
"C2 x S20",
"C2 x S20",
"C2 x S20",
"C2 x S20"];
IMFList[20].isomorphismType := [ # Q-classes of dimension 20
"C2 wr S20",
"W(F4) wr S5",
"(SU(5,2) x SL(2,3)).C2",
"C2.M12.C2",
"(D8 x S6).C2",
"(C2 x S3) wr S10 = (C2 x W(A2)) wr S10",
"((SU(4,2) x C6):C2) wr C2",
"(C2 x S6) wr S4 = (C2 x W(A5)) wr S4",
"W(F4) x S6 = W(F4) x W(A5)",
"(C2 x SU(4,2)).C2",
"(C2 x S6) wr C2",
"(SU(4,2) x C6).C2",
"(C2 x S5) wr S5 = (C2 x W(A4)) wr S5",
"C2 x 5+^(1+2):GL(2,5)",
"C2 x S5 x S6 = C2 x W(A4) x W(A5)",
"(C2.PSL(3,4)).(C2 x C2)",
"C2.M22.C2",
"C2 x S7",
"C2 x S21 = C2 x W(A20)",
"(C2 x PSL(3,4)).(C2 x S3)",
"C2 x S8",
"(C2 x S11) wr C2 = (C2 x W(A10)) wr C2",
"(PSL(2,11) x D12).C2",
"(C2 x PGL(2,11)) wr C2",
"(C2 x PGL(2,11)) wr C2",
"(PSL(2,11) x D12).C2",
"(SL(2,11) Y SL(2,3)).C2",
"C2 x S3 x S11 = C2 x W(A2) x W(A10)",
"C2 x S3 x PGL(2,11)",
"C2 x S3 x PGL(2,11)",
"C2 x PGL(2,19)"];
IMFList[21].isomorphismType := [ # Q-classes of dimension 21
"C2 wr S21",
"W(E7) wr S3",
"W(E7)",
"(C2 x PSU(4,3)).D8",
"C2 x Sp(6,2)",
"(C2 x PSU(3,5)).S3",
"C2 x S7",
"C2 x S22 = C2 x W(A21)"];
IMFList[22].isomorphismType := [ # Q-classes of dimension 22
"C2 wr S22 = W(B22)",
"(C2 x PSU(6,2)).S3",
"(C2 x S3) wr S11 = (C2 x W(A2)) wr S11",
"(C2 x S12) wr C2 = (C2 x W(A11)) wr C2",
"C2 x S3 x S12 = C2 x W(A2) x W(A11)",
"(C2 x HS).C2",
"(C2 x Mc).C2",
"C2 x S23 = C2 x W(A22)",
"C2 x PSL(2,23)",
"C2 x PSL(2,23)",
"C2 x PGL(2,23)",
"C2 x PGL(2,23)"];
IMFList[23].isomorphismType := [ # Z-classes of dimension 23
"C2 x S24",
"C2 x S24",
"C2 x S24",
"C2 x S24",
"C2 x S24",
"C2 x S24",
"C2 x S24",
"C2 x S24",
"C2 wr S23",
"C2 wr S23",
"C2 wr S23",
"C2 wr M23",
"C2 wr M23",
"C2^12:M23",
"C2^12:M23",
"C2 x M24",
"C2 x M24",
"C2 x M24",
"C2 x M24",
"C2 x M24",
"C2 x M24",
"C2 x Co2",
"C2 x Co2",
"C2 x Co2",
"C2 x Co3",
"C2 x Co3",
"C2 x Co3",
"C2 x Co3"];
IMFList[24].isomorphismType := [ # Q-classes of dimension 24
"C2 wr S24 = W(B24)",
"W(E8) wr S3",
"C2.Co1",
"(((SL(2,5) Y SL(2,5)):C2) x A5).C2",
"W(F4) wr S6",
"(C6 x PSU(4,3).C2 Y SL(2,3)).C2",
"(C2 x W(E6)) wr S4",
"((C2 x C3.A6).C2 Y SL(2,3)).C2",
"(Sp(4,3) x 3+^(1+2):SL(2,3)).C2",
"(C2 x S3) wr S12 = (C2 x W(A2)) wr S12",
"(C6.PSU(4,3).(C2 x C2)) wr C2",
"W(F4) x W(E6)",
"((3+^(1+2):SL(2,3) x SL(2,3)).C2) wr C2",
"(C3.S6 x D8).C2",
"(S3 x W(F4)) wr S3",
"(C6.PSL(3,4).C2 Y D8).C2",
"((SL(2,3) Y C4).C2 x PSU(3,3)).C2",
"C2 x S25 = C2 x W(A24)",
"(C2 x S5) wr S6 = (C2 x W(A4)) wr S6",
"(C2 x S5) wr S4",
"((SL(2,5) Y SL(2,5)):(C2 x C2)) wr S3",
"(C2.J2 Y SL(2,5)):C2",
"((C2 x D10 x A5).C2) wr C2",
"((SL(2,5) Y SL(2,3)).C2) wr C2",
"(SL(2,5) Y (D8 Y Q8).A5).C2",
"(((SL(2,5) Y SL(2,5)):C2) x A5):C2",
"W(F4) x S5",
"(SL(2,5) Y (C2 x 3+^(1+2)).GL(2,3)).C2",
"(C2 x S3 x S5) wr C2",
"((C2 x C3.A6).(C2 x C2)) wr C2",
"S3 x (SL(2,5) Y SL(2,3)).C2",
"(C2 x S7) wr S4 = (C2 x W(A6)) wr S4",
"(PSL(2,7) x W(F4)).C2",
"(C2 x PGL(2,7)) wr S4",
"(PSL(2,7) x W(F4)).C2",
"((PSL(2,7) x D8).C2) wr C2",
"W(F4) x S7 = W(F4) x W(A6)",
"((PSL(2,7) x D8).C2) wr C2",
"W(F4) x PGL(2,7)",
"(SL(2,13) Y SL(2,3)).C2",
"(SL(2,7) x PSL(2,7)).C2",
"C6.A7:C2",
"(C3.M10 x SL(2,3)).C2",
"(A5 x ((C3 x D8).C2)).C2",
"(C3.M10 x D8).C2",
"(C2 x S3 x S7) wr C2 = (C2 x W(A2) x W(A6)) wr C2",
"(C2 x S3 x PGL(2,7)) wr C2",
"S3 x ((PSL(2,7) x D8).C2)",
"S3 x ((PSL(2,7) x D8).C2)",
"(C2 x S13) wr C2 = (C2 x W(A12)) wr C2",
"((C2 x PSL(3,3)).C2 x C3).C2",
"C2 x S3 x S13 = C2 x W(A2) x W(A12)",
"(C2 x D78).C12",
"C2 x S5 x W(E6) = C2 x W(A4) x W(E6)",
"(C2 x S3 x S5) wr S3 = ((C2 x W(A2)) x W(A4)) wr S3",
"(C2 x C3.PGL(2,9) x D10).C2",
"S3 x (C2 x D10 x A5).C2",
"(C2 x PSU(4,2)).C2",
"SL(2,7) Y (C2.S4)",
"(SL(2,7) Y Q16).C2",
"(C2 x PGL(2,7)) wr S3",
"C2 x S5 x S7 = C2 x W(A4) x W(A6)",
"C2 x S5 x PGL(2,7)",
"(SL(2,11) Y SL(2,3)).C2",
"C2 x PSL(2,11):C2"];
IMFList[25].isomorphismType := [ # Q-classes of dimension 25
"C2 wr S25 = W(B25)",
"(C2 x W(A5)) wr S5 = (C2 x S6) wr S5",
"C2 x (S6 x S6):C2",
"C2 x PGL(2,49)",
"C2 x S26 = C2 x W(A25)"];
IMFList[26].isomorphismType := [ # Q-classes of dimension 26
"C2 wr S26 = W(B26)",
"(C2 x S3) wr S13 = (C2 x W(A2)) wr S13",
"(C2 x PGL(3,3):C2) wr C2",
"(C2 x PSL(2,25):C2) wr C2",
"(C2 x S14) wr C2 = (C2 x W(A13)) wr C2",
"(C2 x PSp(4,5)).C2",
"C2 x 3D4(2):C3",
"C2 x PGL(4,3)",
"(C2 x PSp(6,3) x C3).C2",
"C2 x PSp(4,5):C2",
"C2 x PGL(2,25):C2",
"C2 x PSL(2,25):C2",
"C2 x PSL(2,25):C2",
"C2 x S3 x PSL(2,25):C2",
"C2 x S3 x S14 = C2 x W(A2) x W(A13)",
"C2 x S27 = C2 x W(A26)"];
IMFList[27].isomorphismType := [ # Q-classes of dimension 27
"C2 wr S27 = W(B27)",
"(C2 x S10) wr S3 = (C2 x W(A9)) wr S3",
"C2 x S9",
"C2 x PGL(3,3):C2",
"C2 x S28 = C2 x W(A27)"];
IMFList[28].isomorphismType := [ # Q-classes of dimension 28
"C2 wr S28 = W(B28)",
"(C2 x S3) wr S14 = (C2 x W(A2)) wr S14",
"W(F4) wr S7",
"(C2 x S5) wr S7 = (C2 x W(A4)) wr S7",
"W(E7) wr S4",
"(W(A2) x W(E7)) wr C2",
"(C2 x G2(3)) wr C2",
"(C2 x S7) wr C2",
"(C2 x S8) wr C2",
"((SU(3,3) x C4).C2) wr C2",
"(C2 x PGL(2,13)) wr C2",
"(C2 x PSL(2,13)) wr C2",
"(C2 x PGL(2,13)) wr C2",
"(C2 x S15) wr C2 = (C2 x W(A14)) wr C2",
"(Sp(6,3) x C3).C2",
"(C2.J2 Y SL(2,3)).C2",
"(C2 x PO+(8,2)):S3",
"Sz(8):C3 x C4",
"W(F4) Y W(E7)",
"(C2 x J2).C2",
"(C2 x S3 x G2(3)).C2",
"(PSU(3,3) x (Q8 Y C4).S3).C2",
"S3 x (PSU(3,3) x C4).C2",
"C2 x PSU(3,5):C2",
"W(A4) x W(E7)",
"C2 x S8",
"C2 x J2:C2",
"C2 x W(A2) x S7",
"C2 x W(A2) x W(A14)",
"C2 x W(A2) x S8",
"(SL(2,13) Y SL(2,3)).C2",
"(C2 x W(A2) x PSL(2,13)).C2",
"C2 x W(A2) x PGL(2,13)",
"C2 x W(A2) x PGL(2,13)",
"(C2 x PSL(2,13) x S3).C2",
"C2 x PGL(2,29)",
"C2 x S29 = C2 x W(A28)"];
IMFList[29].isomorphismType := [ # Q-classes of dimension 29
"C2 wr S29 = W(B29)",
"C2 x S30 = C2 x W(A29)"];
IMFList[30].isomorphismType := [ # Q-classes of dimension 30
"C2 wr S30 = W(B30)",
"(C2 x W(A2)) wr S15",
"(C2 x W(A5)) wr S6",
"(C2 x W(E6)) wr S5",
"(C2 x W(A6)) wr S5",
"(C2 x PGL(2,7)) wr S5",
"(C2 x S5) wr S5",
"((C6 x PSU(4,2)).C2) wr S3",
"(C2 x S6) wr S3",
"(C2 x W(A10)) wr S3",
"(C2 x PGL(2,11)) wr S3",
"(C2 x PGL(2,11)) wr S3",
"(C2 x Sp(6,2)) wr C2",
"(C2 x W(E6)) wr C2",
"(C2 x W(A6)) wr C2",
"(C2 x W(A15)) wr C2",
"(C2 x PSU(4,2)):C2",
"(C2 x C3.PSU(4,3)).(C2 x C2)",
"C2 x W(A2) x W(A15)",
"(C2 x PSU(4,2) x 3+^(1+2):SL(2,3)).C2",
"(C2 x C3.S6).C2",
"C2 x W(A5) x W(E6)",
"(C2 x C3.PSL(3,4)).(C2 x C2)",
"C2 x W(A2) x Sp(6,2)",
"C2 x W(A5) x S5",
"C2 x W(A2) x W(A6)",
"C2 x C3.S7",
"C2 x W(A5) x W(A6)",
"C2 x W(A5) x PGL(2,7)",
"C2 x PGL(2,29)",
"C2 x PSL(2,31)",
"C2 x PGL(2,31)",
"C2 x S31 = C2 x W(A30)"];
IMFList[31].isomorphismType := [ # Q-classes of dimension 31
"C2 wr S31 = W(B31)",
"C2 x PSL(2,32):C5",
"C2 x PSL(3,5):C2",
"C2 x S32 = C2 x W(A31)"];
#############################################################################
##
## Norms of the short vectors for the class representatives of the
## irreducible maximal finite integral matrix groups.
##
IMFList[1].minimalNorm := [ # Z-classes of dimension 1
1];
IMFList[2].minimalNorm := [ # Z-classes of dimension 2
1,2];
IMFList[3].minimalNorm := [ # Z-classes of dimension 3
1,3,2];
IMFList[4].minimalNorm := [ # Z-classes of dimension 4
1,2,2,4,2,4];
IMFList[5].minimalNorm := [ # Z-classes of dimension 5
1,2,4,5,2,4,3];
IMFList[6].minimalNorm := [ # Z-classes of dimension 6
1,2,2,2,3,3,2,2,4,4,6,6,2,4,3,4,5];
IMFList[7].minimalNorm := [ # Z-classes of dimension 7
1,2,4,7,2,2,3];
IMFList[8].minimalNorm := [ # Z-classes of dimension 8
1,2,2,2,2,4,2,4,6,4,2,8,8,2,4,4,8,8,4,4,3,6,8,6,4,14];
IMFList[9].minimalNorm := [ # Z-classes of dimension 9
1,2,4,2,3,2,4,3,4,4,9,6,8,6,9,2,8,4,12,4];
IMFList[10].minimalNorm := [ # Z-classes of dimension 10
1,2,2,4,4,2,4,3,4,4,5,4,5,2,4,2,5,3,4,5,6,9,4,8,2,4,6,10,4,8,3,4,6,4,10,6,8,
3,4,4,4,2,10,4,10,6];
IMFList[11].minimalNorm := [ # Z-classes of dimension 11
1,2,4,11,5,8,6,2,2];
IMFList[12].minimalNorm := [ # Q-classes of dimension 12
1,2,2,2,4,4,3,2,4,4,6,8,2,4,4,8,4,8,2];
IMFList[13].minimalNorm := [ # Z-classes of dimension 13
1,2,4,13,2,12,4,3,3,4,4,12,12,5,4,12,6];
IMFList[14].minimalNorm := [ # Q-classes of dimension 14
1,2,2,4,3,4,2,4,4,7,6,6];
IMFList[15].minimalNorm := [ # Q-classes of dimension 15
1,2,3,3,2,3];
IMFList[16].minimalNorm := [ # Q-classes of dimension 16
1,2,2,4,2,4,4,4,6,2,8,4,4,6,4,8,4,8,10,8,12,8,6,8,12,10,4,4,6,2,6];
IMFList[17].minimalNorm := [ # Z-classes of dimension 17
1,2,4,17,2,16,4,2,4,4,4,16,6,34,4,6,8,3,4,4,7,10,17,8];
IMFList[18].minimalNorm := [ # Q-classes of dimension 18
1,3,2,4,2,3,2,5,6,4,2,4,6,9,6,2,10];
IMFList[19].minimalNorm := [ # Z-classes of dimension 19
1,4,2,19,2,2,10,8,9];
IMFList[20].minimalNorm := [ # Q-classes of dimension 20
1,2,4,4,3,2,4,2,4,4,3,6,2,4,4,5,8,4,2,4,4,2,4,4,6,8,6,4,8,12,8];
IMFList[21].minimalNorm := [ # Q-classes of dimension 21
1,2,3,3,4,21,6,2];
IMFList[22].minimalNorm := [ # Q-classes of dimension 22
1,8,2,2,4,3,12,2,4,6,8,12];
IMFList[23].minimalNorm := [ # Z-classes of dimension 23
23,2,2,6,4,6,16,11,1,2,4,4,2,16,4,23,4,8,3,8,12,3,4,12,5,4,10,15];
IMFList[24].minimalNorm := [ # Q-classes of dimension 24
1,2,4,4,2,4,2,4,4,2,4,4,4,4,4,8,8,2,2,3,4,8,4,4,6,8,6,8,6,8,8,2,4,4,8,4,4,8,
8,12,4,4,8,10,16,4,8,8,16,2,4,4,6,4,4,8,8,6,4,4,4,4,8,12,6];
IMFList[25].minimalNorm := [ # Q-classes of dimension 25
1,2,4,6,2];
IMFList[26].minimalNorm := [ # Q-classes of dimension 26
1,2,3,5,2,3,8,4,6,5,6,4,6,8,4,2];
IMFList[27].minimalNorm := [ # Q-classes of dimension 27
1,2,4,6,2];
IMFList[28].minimalNorm := [ # Q-classes of dimension 28
1,2,2,2,2,4,4,4,4,3,7,6,6,2,6,6,6,6,4,8,6,8,6,4,4,4,16,8,4,24,6,8,12,14,26,
28,2];
IMFList[29].minimalNorm := [ # Q-classes of dimension 29
1,2];
IMFList[30].minimalNorm := [ # Q-classes of dimension 30
1,2,5,2,6,4,3,4,3,2,4,6,3,3,3,2,3,6,4,4,4,4,8,6,6,6,10,4,8,15,8,16,2];
IMFList[31].minimalNorm := [ # Q-classes of dimension 31
1,4,5,2];
#############################################################################
##
## Degrees, i.e. orbit sizes of short vectors, for the class representatives
## of the irreducible maximal finite integral matrix groups.
##
IMFList[1].degrees := [ # Z-classes of dimension 1
2];
IMFList[2].degrees := [ # Z-classes of dimension 2
4,
6];
IMFList[3].degrees := [ # Z-classes of dimension 3
6,
8,
12];
IMFList[4].degrees := [ # Z-classes of dimension 4
8,
24,
12,
18,
20,
10];
IMFList[5].degrees := [ # Z-classes of dimension 5
10,
40,
10,
12,
30,
30,
20];
IMFList[6].degrees := [ # Z-classes of dimension 6
12,
60,
12,
24,
16,
32,
18,
72,
54,
36,
24,
14,
42,
42,
20,
30,
24];
IMFList[7].degrees := [ # Z-classes of dimension 7
14,
84,
14,
16,
56,
126,
56];
IMFList[8].degrees := [ # Z-classes of dimension 8
16,
112,
16,
48,
240,
72,
24,
108,
24,
36,
72,
18,
54,
40,
20,
120,
50,
30,
60,
24,
32,
96,
42,
56,
84,
48];
IMFList[9].degrees := [ # Z-classes of dimension 9
18,
144,
18,
36,
24,
36,
18,
48,
[18,144],
72,
32,
96,
36,
48,
20,
90,
90,
90,
30,
90];
IMFList[10].degrees := [ # Z-classes of dimension 10
20,
180,
20,
180,
[20,240],
80,
20,
80,
[20,80],
40,
64,
120,
32,
60,
60,
60,
24,
40,
60,
72,
60,
40,
60,
60,
30,
180,
30,
162,
120,
30,
80,
270,
240,
90,
36,
60,
90,
40,
30,
90,
30,
110,
22,
[110,110],
132,
110];
IMFList[11].degrees := [ # Z-classes of dimension 11
22,
220,
22,
24,
132,
132,
132,
132,
132];
IMFList[12].degrees := [ # Q-classes of dimension 12
24,
72,
144,
36,
756,
216,
40,
60,
[120,300],
360,
60,
270,
84,
84,
[168,168],
[168,168],
126,
126,
156];
IMFList[13].degrees := [ # Z-classes of dimension 13
26,
312,
26,
28,
182,
182,
182,
52,
104,
468,
234,
52,
104,
52,
[130,650],
130,
130];
IMFList[14].degrees := [ # Q-classes of dimension 14
28,
252,
42,
756,
112,
378,
210,
210,
[420,840],
156,
182,
[182,364]];
IMFList[15].degrees := [ # Q-classes of dimension 15
30,
240,
240,
240,
90,
70];
IMFList[16].degrees := [ # Q-classes of dimension 16
32,
480,
96,
4320,
48,
720,
720,
144,
960,
80,
600,
[200,240],
240,
2400,
240,
1200,
120,
360,
1440,
180,
480,
[120,240],
336,
[168,252],
1680,
336,
168,
[120,120,120,120],
[120,120,120],
272,
[272,816]];
IMFList[17].degrees := [ # Z-classes of dimension 17
34,
544,
34,
36,
306,
306,
306,
306,
306,
34,
34,
34,
2176,
36,
204,
[816,1224],
102,
136,
[510,816],
2040,
816,
1020,
240,
102];
IMFList[18].degrees := [ # Q-classes of dimension 18
36,
240,
216,
6480,
54,
60,
180,
72,
180,
270,
126,
126,
336,
272,
204,
342,
342];
IMFList[19].degrees := [ # Z-classes of dimension 19
38,
38,
684,
40,
380,
380,
380,
380,
380];
IMFList[20].degrees := [ # Q-classes of dimension 20
40,
120,
3960,
3960,
80,
60,
540,
120,
360,
540,
80,
1440,
100,
[300,6000,6000],
300,
112,
[1540,4620],
70,
420,
[840,6720,7560],
420,
220,
[660,660,660,1980,1980,2640,3960],
[220,220],
220,
660,
1320,
330,
[330,330],
330,
[570,1710]];
IMFList[21].degrees := [ # Q-classes of dimension 21
42,
378,
672,
1680,
630,
300,
[210,210],
462];
IMFList[22].degrees := [ # Q-classes of dimension 22
44,
1782,
66,
264,
396,
2200,
550,
506,
[506,506,506],
[506,506,1012,2024],
[506,1518,2024],
506];
IMFList[23].degrees := [ # Z-classes of dimension 23
48,
552,
552,
552,
552,
552,
552,
552,
46,
1012,
46,
46,
46,
46,
[1012,64768],
48,
[552,53130],
1518,
2576,
1518,
2576,
4600,
93150,
4600,
552,
75900,
22356,
552];
IMFList[24].degrees := [ # Q-classes of dimension 24
48,
720,
196560,
[3600,8640],
144,
3024,
288,
[2160,6480,12960],
2160,
72,
1512,
864,
432,
144,
216,
[3024,7560],
[4536,6048],
600,
120,
80,
360,
37800,
[240,600],
720,
2400,
1800,
240,
1080,
120,
540,
1080,
168,
[1008,3024],
168,
[1008,3024],
[336,336],
504,
[336,336],
504,
[2184,2184,8736],
[2352,8064,14112],
3024,
1080,
144,
[1080,1080],
252,
252,
[504,504],
[504,504],
312,
[936,5616,8424],
468,
[624,936],
720,
180,
[1080,2160,2700],
[360,900],
[240,1440],
[1008,1008,2016],
336,
252,
420,
420,
1320,
[220,220,660]];
IMFList[25].degrees := [ # Q-classes of dimension 25
50,
150,
450,
[350,2450],
650];
IMFList[26].degrees := [ # Q-classes of dimension 26
52,
78,
104,
104,
364,
3120,
1638,
4212,
21840,
312,
[2600,3900],
130,
130,
[390,1950],
546,
702];
IMFList[27].degrees := [ # Q-classes of dimension 27
54,
270,
756,
468,
756];
IMFList[28].degrees := [ # Q-classes of dimension 28
56,
84,
168,
140,
504,
756,
1512,
420,
[840,1680],
224,
312,
364,
[364,728],
420,
6720,
6720,
6720,
6720,
1512,
1260,
17472,
1512,
336,
350,
1260,
1260,
630,
630,
630,
210,
2184,
1092,
[546,1092],
468,
168,
870,
812];
IMFList[29].degrees := [ # Q-classes of dimension 29
58,
870];
IMFList[30].degrees := [ # Q-classes of dimension 30
60,
90,
72,
360,
70,
210,
100,
810,
120,
330,
[330,330],
330,
480,
480,
140,
480,
240,
[3240,10080],
720,
3240,
180,
1080,
3780,
720,
300,
210,
630,
630,
630,
812,
[930,1860,3720,3720,7440],
930,
930];
IMFList[31].degrees := [ # Q-classes of dimension 31
62,
2046,
372,
992];
#############################################################################
##
## Orbit representatives of short vectors for the class representatives of
## the irreducible maximal finite integral matrix groups.
##
i := IdentityMat( 1 );
IMFList[1].orbitReps := [ # Z-classes of dimension 1
i[1]];
i := IdentityMat( 2 );
IMFList[2].orbitReps := [ # Z-classes of dimension 2
i[1],
i[1]];
i := IdentityMat( 3 );
IMFList[3].orbitReps := [ # Z-classes of dimension 3
i[1],
i[1],
i[1]];
i := IdentityMat( 4 );
IMFList[4].orbitReps := [ # Z-classes of dimension 4
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 5 );
IMFList[5].orbitReps := [ # Z-classes of dimension 5
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 6 );
IMFList[6].orbitReps := [ # Z-classes of dimension 6
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 7 );
IMFList[7].orbitReps := [ # Z-classes of dimension 7
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 8 );
IMFList[8].orbitReps := [ # Z-classes of dimension 8
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 9 );
IMFList[9].orbitReps := [ # Z-classes of dimension 9
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[7]-i[8]+i[9],i[1]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 10 );
IMFList[10].orbitReps := [ # Z-classes of dimension 10
i[1],
i[1],
i[1],
i[1],
[i[1],i[2]],
i[1],
i[1],
i[1],
[i[1],i[2]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[2]],
i[1],
i[1]];
i := IdentityMat( 11 );
IMFList[11].orbitReps := [ # Z-classes of dimension 11
i[1],
i[1],
i[1]+i[2],
i[1],
i[1],
i[1]-i[2],
i[1]-i[2],
i[1]-i[2],
i[1]];
i := IdentityMat( 12 );
IMFList[12].orbitReps := [ # Q-classes of dimension 12
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[4],i[1]],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[7]],
[i[1],i[6]],
i[1],
i[1],
i[1]];
i := IdentityMat( 13 );
IMFList[13].orbitReps := [ # Z-classes of dimension 13
i[1],
i[1],
i[1]+i[2],
i[1],
i[1],
i[1],
i[1]-i[2],
i[1]-i[3]+i[6],
i[1],
i[1],
i[1],
i[1]+i[2]+i[3]-i[6],
i[1]+i[3],
i[1],
[i[1]+i[2],i[1]],
i[1]+i[2],
i[1]];
i := IdentityMat( 14 );
IMFList[14].orbitReps := [ # Q-classes of dimension 14
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[6]],
i[1],
i[1],
[i[2],i[1]]];
i := IdentityMat( 15 );
IMFList[15].orbitReps := [ # Q-classes of dimension 15
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 16 );
IMFList[16].orbitReps := [ # Q-classes of dimension 16
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[7]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[4],i[1]],
i[1],
[i[9],i[1]],
i[1],
i[1],
i[1],
[i[1],i[2],i[4],i[5]],
[i[1],i[3],i[7]],
i[1],
[i[3],i[1]]];
i := IdentityMat( 17 );
IMFList[17].orbitReps := [ # Z-classes of dimension 17
i[1],
i[1],
i[1]+i[2],
i[1],
i[1],
i[1],
i[1]-i[2],
i[1]-i[2],
i[1]-i[2],
i[1]-i[2]-i[3]+i[4]+i[7]+i[15],
i[1]-i[2]-i[5]+i[6]-i[12],
i[1]+i[3]-i[4]+i[5]+i[7]-i[8]+i[9]+i[11],
i[1]-i[3],
i[1]-i[3]+i[6]-i[9]+i[11],
i[1],
[i[1]-i[9],i[1]],
i[1]+i[6],
i[1],
[i[1],i[1]-i[5]],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 18 );
IMFList[18].orbitReps := [ # Q-classes of dimension 18
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 19 );
IMFList[19].orbitReps := [ # Z-classes of dimension 19
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 20 );
IMFList[20].orbitReps := [ # Q-classes of dimension 20
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[6]-i[7],i[1],i[2]],
i[1],
i[1],
[i[1],i[2]],
i[1],
i[1],
[i[20],i[5],i[1]],
i[1],
i[1],
[i[1],i[8],i[10],i[12],i[13],i[3],i[2]],
[i[1],i[2]],
i[1],
i[1],
i[1],
i[1],
[i[1],i[3]],
i[1],
[i[5],i[1]]];
i := IdentityMat( 21 );
IMFList[21].orbitReps := [ # Q-classes of dimension 21
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[1]+i[15]+i[20]],
i[1]];
i := IdentityMat( 22 );
IMFList[22].orbitReps := [ # Q-classes of dimension 22
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[2],i[3]],
[i[1],i[16],i[3],i[4]],
[i[4],i[1],i[2]],
i[1]];
i := IdentityMat( 23 );
IMFList[23].orbitReps := [ # Z-classes of dimension 23
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[2],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[12],
[i[12],i[1]],
i[1],
[i[10],i[1]],
i[14],
i[11],
i[6],
i[12],
i[1],
i[2],
i[2],
i[7],
i[1],
i[6],
i[18]];
i := IdentityMat( 24 );
IMFList[24].orbitReps := [ # Q-classes of dimension 24
i[1],
i[1],
i[1],
[i[2],i[1]],
i[1],
i[1],
i[1],
[i[1],i[18],i[13]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[2]],
[i[2],i[1]],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[4],i[1]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[10],i[1]],
i[1],
[i[7],i[1]],
[i[1],i[7]],
i[1],
[i[1],i[6]],
i[1],
[i[5],i[9],i[1]],
[i[1],i[11],i[6]],
i[1],
i[1],
i[1],
[i[1],i[4]],
i[1],
i[1],
[i[1],i[7]],
[i[1],i[6]],
i[1],
[i[3],i[10],i[1]],
i[1],
[i[11],i[1]],
i[1],
i[1],
[i[4]-i[23]-i[24],i[1],i[2]],
[i[4],i[1]],
[i[10],i[1]],
[i[1],i[14],i[2]],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[2],i[3],i[1]]];
i := IdentityMat( 25 );
IMFList[25].orbitReps := [ # Q-classes of dimension 25
i[1],
i[1],
i[1],
[i[23],i[1]],
i[1]];
i := IdentityMat( 26 );
IMFList[26].orbitReps := [ # Q-classes of dimension 26
i[1],
i[1],
i[1]-i[3]+i[6],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[2]],
i[1],
i[1],
[i[22]+i[23]+i[26],i[1]],
i[1],
i[1]];
i := IdentityMat( 27 );
IMFList[27].orbitReps := [ # Q-classes of dimension 27
i[1],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 28 );
IMFList[28].orbitReps := [ # Q-classes of dimension 28
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[28]],
i[1],
i[1],
i[1],
[i[2],i[1]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[28]],
i[1],
i[1],
i[1],
i[1]];
i := IdentityMat( 29 );
IMFList[29].orbitReps := [ # Q-classes of dimension 29
i[1],
i[1]];
i := IdentityMat( 30 );
IMFList[30].orbitReps := [ # Q-classes of dimension 30
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[1],i[2]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[28],i[1]],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
i[1],
[i[5],i[1],i[2],i[7],i[3]],
i[1],
i[1]];
i := IdentityMat( 31 );
IMFList[31].orbitReps := [ # Q-classes of dimension 31
i[1],
i[1],
i[1],
i[1]];
for i in [ 1 .. 31 ] do
MakeImmutable( IMFList[i].size );
MakeImmutable( IMFList[i].elementaryDivisors );
MakeImmutable( IMFList[i].isSolvable );
MakeImmutable( IMFList[i].isomorphismType );
MakeImmutable( IMFList[i].minimalNorm);
MakeImmutable( IMFList[i].degrees );
MakeImmutable( IMFList[i].orbitReps );
od;
if IsBound( IMFRec.i ) then
i := IMFRec.i;
Unbind( IMFRec.i );
else
Unbind( i );
fi;
#############################################################################
##
#E