This group library contains all primitive permutation groups of degree at most 50. There are a total of 406 such groups. Actually to be a little bit more precise, there are 406 inequivalent primitive operations on at most 50 points. Quite a few of the 406 groups are isomorphic.
AllPrimitiveGroups( fun1, val1, fun2, val2, ... )
AllPrimitiveGroups returns a list containing all primitive groups that
have the properties given as arguments. Each property is specified by
passing a pair of arguments, the first being a function, which will be
applied to all groups in the library, and the second being a value or a
list of values, that this function must return in order to have this
group included in the list returned by AllPrimitiveGroups.
The first argument must be DegreeOperation and the second argument
either a degree or a list of degrees, otherwise AllPrimitiveGroups will
print a warning to the effect that the library contains only groups with
degrees between 1 and 50.
gap> l := AllPrimitiveGroups( Size, 120, IsSimple, false );
#W AllPrimitiveGroups: degree automatically restricted to [1..50]
[ S(5), PGL(2,5), S(5) ]
gap> List( l, g -> g.generators );
[ [ (1,2,3,4,5), (1,2) ], [ (1,2,3,4,5), (2,3,5,4), (1,6)(3,4) ],
[ ( 1, 8)( 2, 5, 6, 3)( 4, 9, 7,10), ( 1, 5, 7)( 2, 9, 4)( 3, 8,10)
] ]
OnePrimitiveGroup( fun1, val1, fun2, val2, ... )
OnePrimitiveGroup returns one primitive group that has the properties
given as argument. Each property is specified by passing a pair of
arguments, the first being a function, which will be applied to all
groups in the library, and the second being a value or a list of values,
that this function must return in order to have this group returned by
OnePrimitiveGroup. If no such group exists, false is returned.
The first argument must be DegreeOperation and the second argument
either a degree or a list of degrees, otherwise OnePrimitiveGroup will
print a warning to the effect that the library contains only groups with
degrees between 1 and 50.
gap> g := OnePrimitiveGroup( DegreeOperation,5, IsSolvable,false );
A(5)
gap> Size( g );
60
AllPrimitiveGroups and OnePrimitiveGroup recognize the following
functions and handle them usually quite efficient. DegreeOperation,
Size, Transitivity, and IsSimple. You should pass those functions
first, e.g., it is more efficient to say AllPrimitiveGroups( Size,120 ,
IsAbelian,false ) than to say AllPrimitiveGroups( IsAbelian,false,
Size,120 ) (see About Group Libraries).
PrimitiveGroup( deg, nr )
PrimitiveGroup returns the nr-th primitive group of degree deg.
Both deg and nr must be positive integers. The primitive groups of
equal degree are sorted with respect to their size, so for example
PrimitiveGroup( deg, 1 ) is the smallest primitive group of degree
deg, e.g, the cyclic group of size deg, if deg is a prime.
Primitive groups of equal degree and size are in no particular order.
gap> g := PrimitiveGroup( 8, 1 );
AGL(1,8)
gap> g.generators;
[ (1,2,3,4,5,6,7), (1,8)(2,4)(3,7)(5,6) ]
Apart from the usual components described in Group Records, the group records returned by the above functions have the following components.
transitivity:
isSharpTransitive:true if G is sharply G.transitivity-fold transitive and
false otherwise.
isKPrimitive:true if G is k-fold primitive, and false otherwise.
isOdd:false if G is a subgroup of the alternating group of degree
G.degree and true otherwise.
isFrobeniusGroup:true if G is a Frobenius group indexFrobenius group and
false otherwise.
This library was computed by Charles Sims. The list of primitive permutation groups of degree at most 20 was published in Sim70. The library was brought into GAP format by Martin Schaccent127onert. He assumes the responsibility for all mistakes.
GAP 3.4.4