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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
#############################################################################
##
#W irredsol.gd GAP group library Mark Short
#W Burkhard Hofling
##
#H @(#)$Id: irredsol.gd,v 1.6 2002/02/01 16:21:10 gap Exp $
##
#Y Copyright (C) 1993, Murdoch University, Perth, Australia
##
## This file contains the functions and data for the irreducible solvable
## matrix group library. It contains exactly one member for each of the
## 372 conjugacy classes of irreducible solvable subgroups of $GL(n,p)$
## where $1 < n$, $p$ is a prime, and $p^n < 256$.
##
## By well-known theory, this data also doubles as a library of primitive
## solvable permutation groups of non-prime degree $<256$.
##
## This file contains the data from Mark Short's thesis, plus two groups
## missing from that list, subsequently discovered by Alexander Hulpke.
##
Revision.irredsol_gd :=
"@(#)$Id: irredsol.gd,v 1.6 2002/02/01 16:21:10 gap Exp $";
#############################################################################
##
#V IrredSolJSGens[] . . . . . . . . . . . . . . . generators for the groups
##
## 'IrredSolJSGens[<n>][<p>][<k>]' is a generating set for the <k>-th
## JS-maximal of GL(<n>,<p>).
## This generating set is polycyclic, i.e. forms an AG-system for the group.
## A JS-maximal is a maximal irreducible solvable subgroup of GL(<n>,<p>)
## (for a few exceptional small values of n and p this group isn't maximal).
## Every group in the library is generated with reference to the generating
## set of one of these JS-maximals, called its guardian (a group may be a
## subgroup of several JS-maximals but it only has one guardian).
##
DeclareGlobalVariable("IrredSolJSGens");
#############################################################################
##
#V IrredSolGroupList[] . . . . . . . . . . . . . . description of the groups
##
## 'IrredSolGroupList[<n>][<p>][<i>] is a list containing the information
## about the <i>-th group from GL(<n>,<p>).
## The groups are ordered with respect to the following criteria:
## 1. Increasing size
## 2. Increasing guardian number
## If two groups have the same size and guardian, they are in no particular
## order.
##
## The list 'IrredSolGroupList[<n>][<p>][<i>] contains the following info:
## Position: [1]: the size of the group
## [2]: 0 if group is linearly primitive,
## otherwise its minimal block size
## [3]: the absolute value is the number of the group's guardian,
## i.e. its position in 'IrredSolJSGens[<n>][<p>]',
## it's negative iff it equals its guardian
## [4..]: the group's generators in normal form
## (with respect to its guardian's AG-system)
##
DeclareGlobalVariable ("IrredSolGroupList");
#############################################################################
##
#F IrreducibleSolvableGroup( <n>, <p>, <i> )
##
## This function is obsolete, because for $<n> = 2$, $<p> = 13$,
## two groups were missing from the
## underlying database. It has been replaced by the function
## `IrreducibleSolvableGroupMS' (see
## "IrreducibleSolvableGroupMS"). Please note that the latter
## function does not guarantee any ordering of the groups in the database.
## However, for values of <n>, <p>, and <i> admissible to
## `IrreducibleSolvableGroup',
## `IrreducibleSolvableGroupMS' returns a representative of the
## same conjugacy class of subgroups of <GL(n,p)> as
## `IrreducibleSolvableGroup' did before.
##
DeclareGlobalFunction("IrreducibleSolvableGroup");
#############################################################################
##
#F IrreducibleSolvableGroupMS( <n>, <p>, <i> )
##
## This function returns a representative of the <i>-th conjugacy class of
## irreducible solvable subgroup of <GL(n,p)>, where <n> is an
## integer $> 1$, <p> is a prime, and $<p>^{<n>} \< 256$.
##
## The numbering of the representatives should be
## considered arbitrary. However, it is guaranteed that the <i>-th
## group on this list will lie in the same conjugacy class in all future
## versions of {\GAP}, unless two (or more) groups on the list are discovered
## to be duplicates, in which case `IrreducibleSolvableMatrixGroup' will
## return `fail' for all but one of the duplicates.
##
## For values of <n>, <p>, and <i> admissible to `IrreducibleSolvableGroup',
## `IrreducibleSolvableMatrixGroup' returns a representative of the same
## conjugacy class of subgroups of <GL(n,p)> as `IrreducibleSolvableGroup'.
## Note that it currently adds two more groups (missing from the
## original list by Mark Short) for $<n> = 2$, $<p> = 13$.
##
DeclareGlobalFunction("IrreducibleSolvableGroupMS");
#############################################################################
##
#F NumberIrreducibleSolvableGroups( <n>, <p> )
##
## This function returns the number of conjugacy classes of
## irreducible solvable subgroup of
## <GL(n,p)>.
##
DeclareGlobalFunction("NumberIrreducibleSolvableGroups");
DeclareSynonym("NrIrreducibleSolvableGroups",NumberIrreducibleSolvableGroups);
#############################################################################
##
#F AllIrreducibleSolvableGroups( <func_1>, <val_1>, <func_2>, <val_2>, ...)
##
## This function returns a list of conjugacy class representatives <G> of
## matrix groups over a prime field such that $<func_i>(G) = <val_i>$ or
## $<func_i>(G) \in <val_i>$. The following possibilities for <func_i>
## are particularly efficient, because the values can be read off the
## information in the data base: `DegreeOfMatrixGroup' (or
## `Dimension' or `DimensionOfMatrixGroup') for the linear degree,
## `Characteristic' for the field characteristic, `Size',
## `IsPrimitiveMatrixGroup' (or `IsLinearlyPrimitive'), and
## `MinimalBlockDimension'.
##
DeclareGlobalFunction("AllIrreducibleSolvableGroups");
#############################################################################
##
#F OneIrreducibleSolvableGroup( <func1>, <val1>, <func2>, <val2>, ...)
##
## This function returns one solvable subgroup <G> of a
## matrix group over a prime field such that $<func_i>(G) = <val_i>$ or
## $<func_i>(G) \in <val_i>$ for all <i>. The following possibilities
## for <func_i>
## are particularly efficient, because the values can be read off the
## information in the data base: `DegreeOfMatrixGroup' (or
## `Dimension' or `DimensionOfMatrixGroup') for the linear degree,
## `Characteristic' for the field characteristic, `Size',
## `IsPrimitiveMatrixGroup' (or `IsLinearlyPrimitive'), and
## `MinimalBlockDimension'.
##
DeclareGlobalFunction("OneIrreducibleSolvableGroup");
#############################################################################
##
#V DegreeOfMatrixGroup(<G>)
##
## This function returns the dimension of the underlying vector space,
## same as `DimensionOfMatrixGroup'
##
DeclareSynonymAttr ("DegreeOfMatrixGroup", DimensionOfMatrixGroup);
#############################################################################
##
#A MinimalBlockDimension(<G>)
##
## The minimum integer <n> such that the matrix group has an imprimitivity
## system consisting of <n>-dimensional subspaces of the underlying vector
## space over `FieldOfMatrixGroup(G)'
##
DeclareAttribute("MinimalBlockDimension", IsMatrixGroup);
#############################################################################
##
#P IsPrimitiveMatrixGroup(<G>)
##
## `true' if <G> is primitive over `FieldOfMatrixGroup(G)'
##
DeclareProperty("IsPrimitiveMatrixGroup", IsMatrixGroup);
DeclareSynonymAttr ("IsLinearlyPrimitive", IsPrimitiveMatrixGroup);
#############################################################################
##
#E
##
|