- Converting between irreducible soluble matrix groups and primitive soluble groups
- Finding primitive pc groups with given properties
- Finding primitive soluble permutation groups with given properties
- Recognising primitive soluble groups
- Obsolete functions

An abstract finite group `G` is called *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 *degree*of `G`.
Moreover, ` M`
complements the socle

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.

`PrimitivePcGroup(`

`,`

`,`

`,`

`) F`

`PrimitiveSolublePermGroup(`

`,`

`,`

`,`

`) F`

`PrimitiveSolvablePermGroup(`

`,`

`,`

`,`

`) 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`

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

`) F`

`PrimitivePcGroupIrreducibleMatrixGroupNC(`

`) 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 `G` is over a prime field,
or whether `G` is irreducible. The group `H` has an attribute `Socle`

(see Socle
in the GAP reference manual, corresponding to `V`. 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`.

gap> PrimitivePcGroupIrreducibleMatrixGroup( > IrreducibleSolubleMatrixGroup(4,2,2,3)); <pc group of size 160 with 6 generators>

`PrimitivePermGroupIrreducibleMatrixGroup(`

`) F`

`PrimitivePermGroupIrreducibleMatrixGroupNC(`

`) 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 `G` is over a prime field,
or whether `G` is irreducible. The group `H` has an attribute `Socle`

(see Socle
in the GAP reference manual, corresponding to `V`. 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`.

gap> PrimitivePermGroupIrreducibleMatrixGroup( > IrreducibleSolubleMatrixGroup(4,2,2,3)); <permutation group of size 160 with 6 generators>

`IrreducibleMatrixGroupPrimitiveSolubleGroup(`

`) F`

`IrreducibleMatrixGroupPrimitiveSolvableGroupNC(`

`) 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

gap> IrreducibleMatrixGroupPrimitiveSolubleGroup(SymmetricGroup(4)); Group([ <an immutable 2x2 matrix over GF2>, <an immutable 2x2 matrix over GF2> ])

`AllPrimitivePcGroups(`

`, `

`, `

`, `

`, ...) 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

[`]`

. One of the functions must be `Degree`

or one of its
equivalents, see below.
The following functions `func_i` are handled particularly efficiently.

- --
`Degree`

,`NrMovedPoints`

,`LargestMovedPoint`

- --
`Order`

,`Size`

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.

gap> AllPrimitivePcGroups(Degree, [1..255], Order, [168]); [ <pc group of size 168 with 5 generators> ]

`OnePrimitivePcGroup(`

`, `

`, `

`, `

`, ...) 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

`fail`

if no such group exists. The arguments `[`

`]`

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

gap> OnePrimitivePcGroup(Degree, [256], Order, [256*255]); <pc group of size 65280 with 11 generators>

`IteratorPrimitivePcGroups(`

`, `

`, `

`, `

`, ...) 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

`[`

`]`

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

(`func_1`, `arg_1`, `func_2`, `arg_2`, ...))

is functionally equivalent to

`Iterator`

(`AllPrimitivePcGroups`

(`func_1`, `arg_1`, `func_2`, `arg_2`, ...))

(see Iterators in the GAP reference manual for details) but does not compute all relevant pc groups at the same time. This may save some memory.

`AllPrimitiveSolublePermGroups(`

`, `

`, `

`, `

`, ...) F`

`AllPrimitiveSolvablePermGroups(`

`, `

`, `

`, `

`, ...) 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

`[`

`]`

. One of the functions must be `Degree`

or one of its
equivalents, see below.
The following functions `func_i` are handled particularly efficiently.

- --
`Degree`

,`NrMovedPoints`

,`LargestMovedPoint`

- --
`Order`

,`Size`

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.

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 ] ]

`OnePrimitiveSolublePermGroup(`

`, `

`, `

`, `

`, ...) F`

`OnePrimitiveSolvablePermGroup(`

`, `

`, `

`, `

`, ...) 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

`fail`

if no such group exists. The arguments `[`

`]`

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

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

`IteratorPrimitivePermGroups(`

`, `

`, `

`, `

`, ...) 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

`[`

`]`

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

(`func_1`, `arg_1`, `func_2`, `arg_2`, ...))

is functionally equivalent to

`Iterator`

(`AllPrimitiveSolublePermGroups`

(`func_1`, `arg_1`, `func_2`, `arg_2`, ...))

(see Iterators in the GAP reference manual for details) but does not compute all relevant permutation groups at the same time.

`IdPrimitiveSolubleGroup(`

`) F`

`IdPrimitiveSolubleGroupNC(`

`) F`

`IdPrimitiveSolvableGroup(`

`) F`

`IdPrimitiveSolvableGroupNC(`

`) F`

returns the id of the primitive soluble group `G`. This is the same as
the id of `IrreducibleMatrixGroupPrimitiveSolubleGroup`

(`G`), 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.

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 ]

`RecognitionPrimitiveSolubleGroup(`

`,`

`) F`

`RecognitionPrimitiveSolvableGroup(`

`,`

`) 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 `G`. if `wantiso` is `true`

, then
the component `iso`

is bound to an isomorphism from `G` into a primitive pc group.

`PrimitiveSolublePermutationGroup(`

`,`

`,`

`,`

`) F`

`PrimitiveSolvablePermutationGroup(`

`,`

`,`

`,`

`) F`

`PrimitivePermutationGroupIrreducibleMatrixGroup(`

`) F`

`PrimitivePermutationGroupIrreducibleMatrixGroupNC(`

`) F`

`AllPrimitiveSolublePermutationGroups(`

`, `

`, `

`, `

`, ...) F`

`AllPrimitiveSolvablePermutationGroups(`

`, `

`, `

`, `

`, ...) F`

`IteratorPrimitivePermutationGroups(`

`, `

`, `

`, `

`, ...) F`

`OnePrimitiveSolublePermutationGroup(`

`, `

`, `

`, `

`, ...) F`

`OnePrimitiveSolvablePermutationGroup(`

`, `

`, `

`, `

`, ...) F`

These functions have been renamed from ...`PermutationGroup`

...to ...`PermGroup`

....
The above function names are deprecated.

[Up] [Previous] [Next] [Index]

IRREDSOL manual

February 2017