8.11 Transitivity

Transitivity( G, D )
Transitivity( G, D, operation )

Transitivity returns the degree of transitivity of the group G on the domain D, which must be a list of points of arbitrary type. If G does not operate transitively on D then Transitivity returns 0.

The degree of transitivity of the operation of G on D is the largest k such that G operates k-fold transitively on D. We say that G operates k-fold transitively on D if it operates transitively on D (see IsTransitive) and the stabilizer of one point d of D operates k-1-fold transitively on Difference(D,[d]). Because the stabilizers of the points of D are conjugate this is equivalent to saying that the stabilizer of each point d of D operates k-1-fold transitively on Difference(D,[d]).

It is not allowed that D is a proper subset of a domain, i.e., D must be invariant under the operation of G.

Transitivity accepts a function operation of two arguments d and g as optional third argument, which specifies how the elements of G operate (see Other Operations).

    gap> g := Group( (1,2,3)(6,7), (3,4,5)(7,8) );;
    gap> Transitivity( g, [1..8] );
    0
    gap> Transitivity( g, [1..5] );
    3
    gap> sets := Combinations( [1..5], 3 );;  Length( sets );
    10    # a list of all three element subsets of '[1..5]'
    gap> Transitivity( g, sets, OnSets );
    1 

Transitivity calls
G.operations.Transitivity( G, D, operation )
and returns the value. Note that the third argument is not optional for functions called this way.

The default function called this way is GroupOps.Transitivity, which first tests whether G operates transitively on D. If so, it returns
Transitivity(Stabilizer(G,Difference(D,[D[1]]),operation)+1;
if not, it simply returns 0. Special categories of groups overlay this default function with more efficient functions.

Previous Up Top Next
Index

GAP 3.4.4
April 1997