An abstract finite group <G> is called {\it primitive} if it has a maximal
subgroup <M> with trivial core. Note that the permutation action of <G> on the
cosets of <M> is faithful and primitive. Conversely, if <G> is a primitive
permutation group, then a point stabilizer <M> of <G> is a maximal
subgroup with trivial core. However, a permutation group which is primitive
as an abstract group need not be primitive as a permutation group.
Now assume that <G> is primitive and soluble. Then there exists a unique conjugacy class of
such maximal subgroups~<M>; the index of <M> in <G> is called the {\it degree} of <G>.
Moreover, $<M>$
complements the socle <N> of $<G>$. THe socle <N> coincides with the Fitting
subgroup of <G>; it is the unique minimal normal subgroup <N> of~<G>. Therefore,
the index of <M> in <G> is a prime power, $p^n$, say.
Regarding <N> as a $\F_p$-vector space, <M> acts as an irreducible subgroup of $GL(n,p)$ on <N>.
Conversely, if <M> is an irreducible soluble subgroup of $GL(n,p)$, and $V = \F_p^n$, then the
split extension of $V$ by <M> is a primitive soluble group.
This establishes a well known
bijection between the isomorphism types (or, equivalently, the
$Sym(p^n)$-conjugacy classes) of primitive soluble permutation groups of degree
$<p>^<n>$ and the conjugacy classes of irreducible soluble subgroups of $GL(n, p)$.
The {\IRREDSOL} package provides functions for translating between primitive soluble
groups and irreducible soluble matrix groups, which are
described in Section~"Converting between irreducible soluble matrix groups
and primitive soluble groups". Moreover, there are functions for finding
primitive soluble groups with given properties, see Sections~"Finding primitive
pc groups
with given properties" and "Finding primitive soluble permutation groups
with given properties".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Converting between irreducible soluble matrix groups and primitive
soluble groups}\null
\>PrimitivePcGroup(<n>,<p>,<d>,<k>) F \>PrimitiveSolublePermGroup(<n>,<p>,<d>,<k>) F \>PrimitiveSolvablePermGroup(<n>,<p>,<d>,<k>) F
These functions return the primitive soluble pc group resp. primitive soluble
permutation group obtainewd as the natural split extension of $V = \F_p^n$ by
`IrreducibleSolubleMatrixGroup'(,
,,). Here, is a positive
integer, <p> is a prime, <d> divides <n> and <k> occurs in the list
`IndicesIrreducibleSolubleMatrixGroups'(,
,)
(see "IndicesIrreducibleSolubleMatrixGroups").
As long as the relevant group data is not unloaded manually
(see "UnloadAbsolutelyIrreducibleSolubleGroupData"), the functions `PrimitivePcGroup'
and `PrimitiveSolublePermGroup' will return the same group when called multiple times
with the same arguments.
\>PrimitivePcGroupIrreducibleMatrixGroup(<G>) F \>PrimitivePcGroupIrreducibleMatrixGroupNC(<G>) F
For a given irreducible soluble matrix group <G> over a prime field, this function
returns a primitive pc group <H> which is the split extension of <G> with its natural
underlying vector space~<V>. The `NC' version does not check whether is over a prime field,
or whether <G> is irreducible. The group <H> has an attribute `Socle' (see "ref:Socle"), corresponding to~. If the package {\CRISP} is loaded,
then the attribute `SocleComplement' (see {\CRISP} reference manual "crisp:SocleComplement") is set to a subgroup of
<H> isomorphic with <G>.
\beginexample
gap> PrimitivePcGroupIrreducibleMatrixGroup(
> IrreducibleSolubleMatrixGroup(4,2,2,3));
<pc group of size 160 with 6 generators> \endexample
\>`PrimitivePermGroupIrreducibleMatrixGroup(<G>)'%
{PrimitivePermGroupIrreducibleMatrixGroup}%
@{`PrimitivePermGroup\\Irreducible\\MatrixGroup'} F \>`PrimitivePermGroupIrreducibleMatrixGroupNC(<G>)'%
{PrimitivePermGroupIrreducibleMatrixGroupNC}%
@{`PrimitivePermGroup\\Irreducible\\MatrixGroupNC'} F
For a given irreducible soluble matrix group <G> over a prime field, this function
returns a primitive permutation group~<H>, representing the affine action of <G> on its natural
vector space~<V>. The `NC' version does not check whether is over a prime field,
or whether <G> is irreducible. The group <H> has an attribute `Socle' (see "ref:Socle"), corresponding to~. If the package {\CRISP} is loaded,
then the attribute `SocleComplement' (see "crisp:SocleComplement" in the {\CRISP} manual) is set to a subgroup of
<H> isomorphic with <G>.
\beginexample
gap> PrimitivePermGroupIrreducibleMatrixGroup(
> IrreducibleSolubleMatrixGroup(4,2,2,3));
<permutation group of size 160 with 6 generators> \endexample
\>`IrreducibleMatrixGroupPrimitiveSolubleGroup(<G>)'%
{IrreducibleMatrixGroupPrimitiveSolubleGroup}%
@{`IrreducibleMatrixGroup\\Primitive\\SolubleGroup'} F \>`IrreducibleMatrixGroupPrimitiveSolvableGroupNC(<G>)'%
{IrreducibleMatrixGroupPrimitiveSolvableGroupNC}%
@{`IrreducibleMatrixGroup\\Primitive\\SolvableGroupNC'} F
For a given primitive soluble group <G>, this function returns a matrix group
obtained from the conjugation
action of <G> on its unique minimal normal subgroup <N>, regarded as a vector
space over $\F_p$, where $p$ is the exponent of <N>.
The $\F_p$-basis of <N> is chosen arbitrarily, so that the matrix group returned
is unique only up to conjugacy in the relevant $GL(n, p)$. The NC version does
not check whether <G> is primitive and soluble.
\beginexample
gap> IrreducibleMatrixGroupPrimitiveSolubleGroup(SymmetricGroup(4));
Group([ <an immutable 2x2 matrix over GF2>,
<an immutable 2x2 matrix over GF2> ]) \endexample
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Finding primitive pc groups with given properties}\null
\index{find!primitive pc group} \index{primitive pc group!with given properties}
\>AllPrimitivePcGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
This function returns a list of all primitive soluble pc
groups <G> in the {\IRREDSOL} library for which the return value of $<func_i>(G)$ lies
in <arg_i>. The arguments <func_1>, <func_2>, \dots,
must be {\GAP} functions which take a pc group as their only argument and return a
value, and <arg_1>, <arg_2>, \dots, must be lists. If <arg_i> is not a list, <arg_i> is replaced by the list
`'[`]'. One of the functions must be `Degree' or one of its
equivalents, see below.
The following functions <func_i> are handled particularly efficiently.
Note that there is also a function `IteratorPrimitivePcGroups' (see "IteratorPrimitivePcGroups") which allows one to run through the list produced by
`AllPrimitivePcGroups' without having to store all the groups in the list
simultaneously.
\beginexample
gap> AllPrimitivePcGroups(Degree, [1..255], Order, [168]);
[ <pc group of size 168 with 5 generators> ] \endexample
\>OnePrimitivePcGroup(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
This function returns one primitive soluble pc
group <G> in the {\IRREDSOL} library for which the return value of $<func_i>(G)$ lies in
<arg_i>, or `fail' if no such group exists. The arguments , , \dots,
must be {\GAP} functions which take a pc group as their only argument and return a
value, and <arg_1>, <arg_2>, \dots, must be lists. If <arg_i> is not a list, <arg_i> is replaced by the list
`['`]'. One of the functions must be `Degree' or one of its, equivalents, `NrMovedPoints' or `LargestMovedPoint'.
For a list of functions which are handled particularly efficiently, see "AllPrimitivePcGroups".
\beginexample
gap> OnePrimitivePcGroup(Degree, [256], Order, [256*255]);
<pc group of size 65280 with 11 generators> \endexample
\>IteratorPrimitivePcGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
This function returns an iterator which runs through the list of all primitive soluble
pc groups <G> in the {\IRREDSOL} library such that
$<func_i>(G)$ lies in <arg_i>. The arguments <func_1>, <func_2>, \dots,
must be {\GAP} functions taking a pc group as their only argument and returning
a value, and <arg_1>, <arg_2>, \dots,
must be lists. If <arg_i> is not a list, <arg_i> is replaced by the list `['`]'.
One of the functions must be `Degree' or one of its, equivalents, `NrMovedPoints'
or `LargestMovedPoint'.
For a list of functions which are handled particularly efficiently, see "AllPrimitivePcGroups".
(see "ref:Iterators" for details) but does not
compute all relevant pc groups at the same time.
This may save some memory.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Finding primitive soluble permutation groups with given
properties}\null
\index{find!primitive permutation group} \index{primitive permutation group!with given properties}
\>AllPrimitiveSolublePermGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F \>AllPrimitiveSolvablePermGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
This function returns a list of all primitive soluble permutation
groups <G> corresponding to irreducible matrix groups in the {\IRREDSOL} library
for which the return value of $<func_i>(G)$ lies
in <arg_i>. The arguments <func_1>, <func_2>, \dots,
must be {\GAP} functions which take a permutation group as their only argument and return a
value, and <arg_1>, <arg_2>, \dots, must be lists. If <arg_i> is not a list, <arg_i> is replaced by the list
`['`]'. One of the functions must be `Degree' or one of its
equivalents, see below.
The following functions <func_i> are handled particularly efficiently.
Note that there is also a function `IteratorPrimitivePermGroups' (see "IteratorPrimitivePermGroups") which allows one to run through the list produced by
`AllPrimitivePcGroups' without having to store all of the groups
simultaneously.
\>OnePrimitiveSolublePermGroup(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F \>OnePrimitiveSolvablePermGroup(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
This function returns one primitive soluble permutation
group <G> corresponding to irreducible matrix groups in the {\IRREDSOL} library
for which the return value of $<func_i>(G)$ lies in
<arg_i>, or `fail' if no such group exists. The arguments , , \dots,
must be {\GAP} functions which take a permutation group as their only argument and return a
value, and <arg_1>, <arg_2>, \dots, must be lists. If <arg_i> is not a list, <arg_i> is replaced by the list
`['`]'. One of the functions must be `Degree' or one of its, equivalents, `NrMovedPoints' or `LargestMovedPoint'.
For a list of functions which are handled particularly efficiently, see "AllPrimitiveSolublePermGroups".
\>IteratorPrimitivePermGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
This function returns an iterator which runs through the list of all primitive soluble
groups <G> in the {\IRREDSOL} library such that
$<func_i>(G)$ lies in <arg_i>. The arguments <func_1>, <func_2>, \dots,
must be {\GAP} functions taking a pc group as their only argument and returning
a value, and <arg_1>, <arg_2>, \dots,
must be lists. If <arg_i> is not a list, <arg_i> is replaced by the list `['`]'.
One of the functions must be `Degree' or one of its, equivalents, `NrMovedPoints'
or `LargestMovedPoint'.
For a list of functions which are handled particularly efficiently, see "AllPrimitiveSolublePermGroups".
\index{identification!of primitive pc group} \index{identification!of primitive permutation group} \index{recognition!of primitive pc group} \index{recognition!of primitive permutation group} \index{primitive pc group!identification} \index{primitive permutation group!identification} \index{primitive pc group!recognition} \index{primitive permutation group!recognition}
\>IdPrimitiveSolubleGroup(<G>) F \>IdPrimitiveSolubleGroupNC(<G>) F \>IdPrimitiveSolvableGroup(<G>) F \>IdPrimitiveSolvableGroupNC(<G>) F
returns the id of the primitive soluble group <G>. This is the same as
the id of `IrreducibleMatrixGroupPrimitiveSolubleGroup'(), see "IrreducibleMatrixGroupPrimitiveSolubleGroup" and "IdIrreducibleSolubleMatrixGroup".
Note that two primitive soluble groups are isomorphic if, and only if, their
ids returned by `IdPrimitivePcGroup' are the same. The NC version does not
check whether <G> is primitive and soluble.
\beginexample
gap> G := SmallGroup(432, 734);
<pc group of size 432 with 7 generators>
gap> IdPrimitiveSolubleGroup(G);
[ 2, 3, 1, 2 ]
gap> G := AlternatingGroup(4);
Alt( [ 1 .. 4 ] )
gap> IdPrimitiveSolubleGroup(G);
[ 2, 2, 2, 1 ] \endexample
\>RecognitionPrimitiveSolubleGroup(<G>,<wantiso>) F \>RecognitionPrimitiveSolvableGroup(<G>,<wantiso>) F
This function returns a record <r> which identifies the primitive soluble group <G>.
The component `id' is always present and contains the id of . if is `true', then
the component `iso' is bound to an isomorphism from into a primitive pc group.
\>PrimitiveSolublePermutationGroup(<n>,<q>,<d>,<k>) F \>PrimitiveSolvablePermutationGroup(<n>,<q>,<d>,<k>) F \>`PrimitivePermutationGroupIrreducibleMatrixGroup(<G>)'%
{PrimitivePermutationGroupIrreducibleMatrixGroup}%
@{`PrimitivePermutationGroup\\Irreducible\\MatrixGroup'} F \>`PrimitivePermutationGroupIrreducibleMatrixGroupNC(<G>)'%
{PrimitivePermutationGroupIrreducibleMatrixGroupNC}%
@{`PrimitivePermutationGroup\\Irreducible\\MatrixGroupNC'} F \>AllPrimitiveSolublePermutationGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F \>AllPrimitiveSolvablePermutationGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F \>IteratorPrimitivePermutationGroups(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F \>OnePrimitiveSolublePermutationGroup(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F \>OnePrimitiveSolvablePermutationGroup(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots) F
These functions have been renamed from \dots `PermutationGroup'\dots to \dots `PermGroup'\dots.
The above function names are deprecated.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.