IsPrimitive( G, D )
IsPrimitive( G, D, operation )
IsPrimitive
returns true
if the group G operates primitively on the
domain D, which may be a list of points of arbitrary type, and false
otherwise.
A group G operates primitively on a domain D if and only if D operates transitively (see IsTransitive) and has only the trivial block systems (see Blocks).
IsPrimitive
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> IsPrimitive( g, [1..5] ); true gap> IsPrimitive( g, Orbit( g, [1,2], OnPairs ), OnPairs ); false
IsPrimitive
calls
G.operations.IsPrimitive( 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.IsPrimitive
, which
simply calls Blocks( G, D, operation )
and tests whether the
returned block system is [ D ]
. This function is seldom overlaid,
because all the important work is done in Blocks
.
GAP 3.4.4