8.21 IsPrimitive

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.

Previous Up Top Next
Index

GAP 3.4.4
April 1997