8.9 DegreeOperation

DegreeOperation( G, D )
DegreeOperation( G, D, operation )

DegreeOperation returns the degree of the operation of the group G on the domain D, which must be a list of points of arbitrary type.

The degree of the operation of G on D is defined as the number of points of D that are properly moved by at least one element of G. This definition also applies in the case that D is a proper subset of a domain, i.e., that D is not invariant under the operation of G.

DegreeOperation 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> DegreeOperation( g, [1..10] );
    8
    gap> sets := Combinations( [1..8], 3 );;  Length( sets );
    56   # a list of all three element subsets of '[1..8]'
    gap> DegreeOperation( g, sets, OnSets );
    55 

DegreeOperation calls
G.operations.DegreeOperation( 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.DegreeOperation, which simply loops over the elements of D and applies to each all generators of G, and counts those that are moved by at least one generator. This function is seldom overlaid, because it is very difficult to improve it.

Previous Up Top Next
Index

GAP 3.4.4
April 1997