# 37.6 The Transitive Groups Library

The transitive groups library contains representatives for all transitive permutation groups of degree at most 22. Two permutations groups of the same degree are considered to be equivalent, if there is a renumbering of points, which maps one group into the other one. In other words, if they lie in the save conjugacy class under operation of the full symmetric group by conjugation.

There are a total of 4945 such groups up to degree 22.

AllTransitiveGroups( fun1, val1, fun2, val2, ... )

AllTransitiveGroups returns a list containing all transitive groups that have the properties given as arguments. Each property is specified by passing a pair of arguments, the first being a function, and the second being a value or a list of values. AllTransitiveGroups will return all groups from the transitive groups library, for which all specified functions have the specified values.

If the degree is not restricted to 22 at most, AllTransitiveGroups will print a warning.

OneTransitiveGroup( fun1, val1, fun2, val2, ... )

OneTransitiveGroup returns one transitive group that has the properties given as argument. Each property is specified by passing a pair of arguments, the first being a function, and the second being a value or a list of values. OneTransitiveGroup will return one groups from the transitive groups library, for which all specified functions have the specified values. If no such group exists, false is returned.

If the degree is not restricted to 22 at most, OneTransitiveGroup will print a warning.

AllTransitiveGroups and OneTransitiveGroup recognize the following functions and get the corresponding properties from a precomputed list to speed up processing:
DegreeOperation, Size, Transitivity, and IsPrimitive. You do not need to pass those functions first, as the selection function picks the these properties first.

TransitiveGroup( deg, nr )

TransitiveGroup returns the nr-th transitive group of degree deg. Both deg and nr must be positive integers. The transitive groups of equal degree are sorted with respect to their size, so for example TransitiveGroup( deg, 1 ) is the smallest transitive group of degree deg, e.g, the cyclic group of size deg, if deg is a prime. The ordering of the groups corresponds to the list in Butler/McKay BM83.

This library was computed by Gregory Butler, John McKay, Gordon Royle and Alexander Hulpke. The list of transitive groups up to degree 11 was published in BM83, the list of degree 12 was published in Roy87, degree 14 and 15 were published in But93.

The library was brought into GAP format by Alexander Hulpke, who is responsible for all mistakes.

gap> TransitiveGroup(10,22);
S(5)[x]2
gap> l:=AllTransitiveGroups(DegreeOperation,12,Size,1440,
> IsSolvable,false);
[ S(6)[x]2, M_10.2(12) = A_6.E_4(12) = [S_6[1/720]{M_10}S_6]2 ]
gap> List(l,IsSolvable);
[ false, false ]

TransitiveIdentification( G )

Let G be a permutation group, acting transitively on a set of up to 22 points. Then TransitiveIdentification will return the position of this group in the transitive groups library. This means, if G operates on m points and TransitiveIdentification returns n, then G is permutation isomorphic to the group TransitiveGroup(m,n).

gap> TransitiveIdentification(Group((1,2),(1,2,3)));
2

GAP 3.4.4
April 1997