Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/irredsol/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 1.6.2021 mit Größe 15 kB image not shown  

Quelle  primitive.tex   Sprache: Latech

 
%!TEX root = manual.in.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  primitive.tex         IRREDSOL documentation            Burkhard Höfling
%%
%%  Copyright © 2003–2016 Burkhard Höfling 
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Primitive soluble groups}

\index{primitive soluble groups}
\index{soluble primitive groups}
\index{group!primitive soluble}
\index{permutation group!primitive soluble}

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.

\beginlist%unordered 
\item{--} `Degree', `NrMovedPoints', `LargestMovedPoint'
\item{--} `Order', `Size'
\endlist

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".

Using 

`IteratorPrimitivePcGroups'(, , , , \dots))

is functionally equivalent to 

`Iterator'(`AllPrimitivePcGroups'(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots))

(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. 

\beginlist%unordered 

\item{--} `Degree', `NrMovedPoints', `LargestMovedPoint'
\item{--} `Order', `Size'
\endlist

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.

\beginexample
gap> AllPrimitiveSolublePermGroups(Degree, [1..100], Order, [72]);
[ Group([ (1,4,7)(2,5,8)(3,6,9), (1,2,3)(4,5,6)(7,8,9), (2,4)(3,7)(6,8), 
      (2,3)(5,6)(8,9), (4,7)(5,8)(6,9) ]), 
  Group([ (1,4,7)(2,5,8)(3,6,9), (1,2,3)(4,5,6)(7,8,9), (2,5,3,9)(4,8,7,6), 
      (2,7,3,4)(5,8,9,6), (2,3)(4,7)(5,9)(6,8) ]), 
  Group([ (1,4,7)(2,5,8)(3,6,9), (1,2,3)(4,5,6)(7,8,9), (2,5,6,7,3,9,8,4) ]) ]
gap> List(last, IdGroup);
[ [ 72, 40 ], [ 72, 41 ], [ 72, 39 ] ]
\endexample


\>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".

\beginexample
gap> OnePrimitiveSolublePermGroup(Degree, [1..100], Size, [123321]);
fail
\endexample

\>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".

Using 

`IteratorPrimitiveSolublePermGroups'(, , , , \dots))

is functionally equivalent to 

`Iterator'(`AllPrimitiveSolublePermGroups'(<func_1>, <arg_1>, <func_2>, <arg_2>, \dots))

(see "ref:Iterators" for details) but does not 
compute all relevant permutation groups at the same time. 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Recognising primitive soluble groups}\null

\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.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Obsolete functions}\null

\index{obsolete functions!for primitive soluble permutation groups}

\>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.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E
%%

100%


¤ Dauer der Verarbeitung: 0.27 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.