Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346############################################################################# ## #W irredsol.gd GAP group library Mark Short #W Burkhard Höfling ## ## #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. ## ############################################################################# ## #V IrredSolJSGens[] . . . . . . . . . . . . . . . generators for the groups ## ## <ManSection> ## <Var Name="IrredSolJSGens"/> ## ## <Description> ## <C>IrredSolJSGens[<A>n</A>][<A>p</A>][<A>k</A>]</C> is a generating set ## for the <A>k</A>-th JS-maximal of GL(<A>n</A>,<A>p</A>). ## 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(<A>n</A>,<A>p</A>) ## (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). ## </Description> ## </ManSection> ## DeclareGlobalVariable("IrredSolJSGens"); ############################################################################# ## #V IrredSolGroupList[] . . . . . . . . . . . . . . description of the groups ## ## <ManSection> ## <Var Name="IrredSolGroupList"/> ## ## <Description> ## <C>IrredSolGroupList[<A>n</A>][<A>p</A>][<A>i</A>]</C> is a list containing the information ## about the <A>i</A>-th group from GL(<A>n</A>,<A>p</A>). ## 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. ## <P/> ## The list <C>IrredSolGroupList[<A>n</A>][<A>p</A>][<A>i</A>]</C> 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[<A>n</A>][<A>p</A>]', ## it's negative iff it equals its guardian ## [4..]: the group's generators in normal form ## (with respect to its guardian's AG-system) ## </Description> ## </ManSection> ## DeclareGlobalVariable ("IrredSolGroupList"); ############################################################################# ## #F IrreducibleSolvableGroup( <n>, <p>, <i> ) ## ## <#GAPDoc Label="IrreducibleSolvableGroup"> ## <ManSection> ## <Func Name="IrreducibleSolvableGroup" Arg='n, p, i'/> ## ## <Description> ## This function is obsolete, because for <A>n</A> <M>= 2</M>, ## <A>p</A> <M>= 13</M>, two groups were missing from the ## underlying database. It has been replaced by the function ## <Ref Func="IrreducibleSolvableGroupMS"/>. Please note that the latter ## function does not guarantee any ordering of the groups in the database. ## However, for values of <A>n</A>, <A>p</A>, and <A>i</A> admissible to ## <Ref Func="IrreducibleSolvableGroup"/>, ## <Ref Func="IrreducibleSolvableGroupMS"/> returns a representative of the ## same conjugacy class of subgroups of GL(<A>n</A>, <A>p</A>) as ## <Ref Func="IrreducibleSolvableGroup"/> did before. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareGlobalFunction("IrreducibleSolvableGroup"); ############################################################################# ## #F IrreducibleSolvableGroupMS( <n>, <p>, <i> ) ## ## <#GAPDoc Label="IrreducibleSolvableGroupMS"> ## <ManSection> ## <Func Name="IrreducibleSolvableGroupMS" Arg='n, p, i'/> ## ## <Description> ## This function returns a representative of the <A>i</A>-th conjugacy class ## of irreducible solvable subgroup of GL(<A>n</A>, <A>p</A>), ## where <A>n</A> is an integer <M>> 1</M>, <A>p</A> is a prime, ## and <M><A>p</A>^{<A>n</A>} < 256</M>. ## <P/> ## The numbering of the representatives should be ## considered arbitrary. However, it is guaranteed that the <A>i</A>-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 <Ref Func="IrreducibleSolvableGroupMS"/> will return ## <K>fail</K> for all but one of the duplicates. ## <P/> ## For values of <A>n</A>, <A>p</A>, and <A>i</A> admissible to ## <Ref Func="IrreducibleSolvableGroup"/>, ## <Ref Func="IrreducibleSolvableGroupMS"/> returns a representative of ## the same conjugacy class of subgroups of GL(<A>n</A>, <A>p</A>) as ## <Ref Func="IrreducibleSolvableGroup"/>. ## Note that it currently adds two more groups (missing from the ## original list by Mark Short) for <A>n</A> <M>= 2</M>, ## <A>p</A> <M>= 13</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareGlobalFunction("IrreducibleSolvableGroupMS"); ############################################################################# ## #F NumberIrreducibleSolvableGroups( <n>, <p> ) ## ## <#GAPDoc Label="NumberIrreducibleSolvableGroups"> ## <ManSection> ## <Func Name="NumberIrreducibleSolvableGroups" Arg='n, p'/> ## ## <Description> ## This function returns the number of conjugacy classes of ## irreducible solvable subgroup of ## GL(<A>n</A>, <A>p</A>). ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareGlobalFunction("NumberIrreducibleSolvableGroups"); DeclareSynonym("NrIrreducibleSolvableGroups",NumberIrreducibleSolvableGroups); ############################################################################# ## #F AllIrreducibleSolvableGroups( <func1>, <val1>, <func2>, <val2>, ... ) ## ## <#GAPDoc Label="AllIrreducibleSolvableGroups"> ## <ManSection> ## <Func Name="AllIrreducibleSolvableGroups" ## Arg='func1, val1, func2, val2, ...'/> ## ## <Description> ## This function returns a list of conjugacy class representatives <M>G</M> ## of matrix groups over a prime field such that ## <M>f(G) = v</M> or <M>f(G) \in v</M>, for all pairs <M>(f,v)</M> in ## (<A>func1</A>, <A>val1</A>), (<A>func2</A>, <A>val2</A>), <M>\ldots</M>. ## The following possibilities for the functions <M>f</M> ## are particularly efficient, because the values can be read off the ## information in the data base: ## <C>DegreeOfMatrixGroup</C> (or ## <Ref Func="Dimension"/> or <Ref Func="DimensionOfMatrixGroup"/>) for the ## linear degree, ## <Ref Func="Characteristic"/> for the field characteristic, ## <Ref Func="Size"/>, <C>IsPrimitiveMatrixGroup</C> ## (or <C>IsLinearlyPrimitive</C>), and ## <C>MinimalBlockDimension</C>>. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareGlobalFunction("AllIrreducibleSolvableGroups"); ############################################################################# ## #F OneIrreducibleSolvableGroup( <func1>, <val1>, <func2>, <val2>, ...) ## ## <#GAPDoc Label="OneIrreducibleSolvableGroup"> ## <ManSection> ## <Func Name="OneIrreducibleSolvableGroup" ## Arg='func1, val1, func2, val2, ...'/> ## ## <Description> ## This function returns one solvable subgroup <M>G</M> of a ## matrix group over a prime field such that ## <M>f(G) = v</M> or <M>f(G) \in v</M>, for all pairs <M>(f,v)</M> in ## (<A>func1</A>, <A>val1</A>), (<A>func2</A>, <A>val2</A>), <M>\ldots</M>. ## The following possibilities for the functions <M>f</M> ## are particularly efficient, because the values can be read off the ## information in the data base: ## <C>DegreeOfMatrixGroup</C> (or ## <Ref Func="Dimension"/> or <Ref Func="DimensionOfMatrixGroup"/>) for the ## linear degree, ## <Ref Func="Characteristic"/> for the field characteristic, ## <Ref Func="Size"/>, <C>IsPrimitiveMatrixGroup</C> ## (or <C>IsLinearlyPrimitive</C>), and ## <C>MinimalBlockDimension</C>>. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareGlobalFunction("OneIrreducibleSolvableGroup"); ############################################################################# ## #A DegreeOfMatrixGroup(<G>) ## ## <ManSection> ## <Attr Name="DegreeOfMatrixGroup" Arg='G'/> ## ## <Description> ## This function returns the dimension of the underlying vector space, ## same as <C>DimensionOfMatrixGroup</C> ## </Description> ## </ManSection> ## DeclareSynonymAttr ("DegreeOfMatrixGroup", DimensionOfMatrixGroup); ############################################################################# ## #A MinimalBlockDimension(<G>) ## ## <ManSection> ## <Attr Name="MinimalBlockDimension" Arg='G'/> ## ## <Description> ## The minimum integer <A>n</A> such that the matrix group has an imprimitivity ## system consisting of <A>n</A>-dimensional subspaces of the underlying vector ## space over <C>FieldOfMatrixGroup(G)</C> ## </Description> ## </ManSection> ## DeclareAttribute("MinimalBlockDimension", IsMatrixGroup); ############################################################################# ## #P IsPrimitiveMatrixGroup(<G>) ## ## <ManSection> ## <Prop Name="IsPrimitiveMatrixGroup" Arg='G'/> ## ## <Description> ## <K>true</K> if <A>G</A> is primitive over <C>FieldOfMatrixGroup(G)</C> ## </Description> ## </ManSection> ## DeclareProperty("IsPrimitiveMatrixGroup", IsMatrixGroup); DeclareSynonymAttr ("IsLinearlyPrimitive", IsPrimitiveMatrixGroup); ############################################################################# ## #E