IsFixpointFree( G, D )
IsFixpointFree( G, D, operation )
IsFixpointFree
returns true
if the group G operates without a
fixpoint (see IsFixpoint) on the domain D, which must be a list of
points of arbitrary type.
We say that G operates fixpoint free on the domain D if each point of D is moved by at least one element of G. This is equivalent to saying that each point of D is moved by at least one generator 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.
As a special case it is allowed that the first argument is a single group element.
IsFixpointFree
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> IsFixpointFree( g, [1..8] ); true gap> sets := Combinations( [1..8], 3 );; Length( sets ); 56 # a list of all three element subsets of '[1..8]' gap> IsFixpointFree( g, sets, OnSets ); false
IsFixpointFree
calls
G.operations.IsFixpointFree( 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.IsFixpointFree
, which
simply loops over the elements of D and applies to each all generators
of G, and tests whether each is moved by at least one generator. This
function is seldom overlaid, because it is very difficult to improve it.
GAP 3.4.4