IsRegular( G, D )
IsRegular( G, D, operation )
IsRegular
returns true
if the group G operates regularly on the
domain D, which must be a list of points of arbitrary type, and false
otherwise.
A group G operates regularly on a domain D if it operates transitively and no element of G other than the idenity leaves a point of D fixed. An equal characterisation is that G operates transitively on D and the stabilizer of any point of D is trivial. Yet another characterisation is that the operation of G on D is equivalent to 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.
IsRegular
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> IsRegular( g, [1..5] ); false gap> IsRegular( g, Elements(g), OnRight ); true gap> g := Group( (1,2,3), (3,4,5) );; gap> IsRegular( g, Orbit( g, [1,2,3], OnTuples ), OnTuples ); true
IsRegular
calls
G.operations.IsRegular( 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.IsRegular
, which tests
if G operates transitively and semiregularly on D (see IsTransitive
and IsSemiRegular).
GAP 3.4.4