IsSemiRegular( G, D )
IsSemiRegular( G, D, operation )
true if the group G operates semiregularly on
the domain D, which must be a list of points of arbitrary type, and
A group G operates semiregularly on a domain D if no element of G other than the idenity leaves a point of D fixed. An equal characterisation is that the stabilizer of any point of D is trivial. Yet another characterisation is that the operation of G on D is equivalent to multiple copies of the operation of G on its elements by multiplication from the right.
It is not allowed that D is a proper subset of a domain, i.e., D must be invariant under the operation of G.
IsSemiRegular 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,4)(5,7)(6,8), (1,3)(2,4)(5,6)(7,8) );; gap> IsSemiRegular( g, [1..8] ); true gap> g := Group( (1,2)(3,4)(5,7)(6,8), (1,3)(2,4)(5,6,7,8) );; gap> IsSemiRegular( g, [1..8] ); false gap> IsSemiRegular( g, Orbit( g, [1,5], OnSets ), OnSets ); true
G.operations.IsSemiRegular( 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
computes a permutation group P that operates on
the same way that G operates on D (see Operation) and then checks
if this permutation group operations semiregularly. This of course only
works because this default function is overlaid for permutation groups
(see Operations of Permutation Groups).
Previous Up Top Next