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