determine whether a permutation group is primitive
return a non-trivial block system for a transitive group if one exists
return a minimal non-trivial block system for a transitive group if one exists
return a permutation group equivalent to the action of a transitive group on a block system
IsPrimitive( G, domain )
BlockSystem( G, domain )
BlockSystem( G, domain, containing = S )
MinimalBlockSystem( G, domain )
BlocksImage( G, B )
: PermutationGroup : a permutation group
: set(posint) : a subset of the support of G
: set(set(posint)) : a block system for G
: set(posint) : (optional) a G-invariant subset of the support of G
A block for a permutation group G, acting on a set Ω , is a subset B of Ω such that, for all g in G, either Bg=B or Bg and B are disjoint. A block B is trivial if it consists of a single point or if B=Ω . A transitive permutation group G is primitive if it possesses no non-trivial block. Note that an intransitive group is not primitive.
A block system for G is a collection of blocks that are the images of one of its members; that is, the orbit of a block under the induced action of G on the subsets of Ω.
The IsPrimitive( G ) command returns true if the permutation group G is primitive, and returns false otherwise. The group G must be an instance of a permutation group.
You can pass an optional second domain argument to check whether G acts primitively on the subset domain of its support. By default, domain is the entire support of G.
The BlockSystem( G ) command returns a non-trivial block system for G if one exists or, in case G is primitive, the block system consisting only of Ω.
If the optional 'containing' = S option is passed, then the BlockSystem command returns a non-trivial block system, provided that one exists, in which the subset S of the domain of G is contained entirely within one block. The resulting block system is such that the blocks are minimal with respect to including the set S within a single block.
The BlocksImage( G, B ) command returns a permutation group permutation equivalent to the action of G on the block system B.
The MinimalBlockSystem( G ) command returns a minimal block system for G provided one exists. The members of the block system are maximal blocks with respect to inclusion. If G is primitive, then the trivial block system consisting of the entire support of G is returned.
G ≔ PermutationGroup⁡Perm⁡1,2,Perm⁡1,2,3,4,5
Use the optional domain argument to restrict the action.
G ≔ Group⁡Perm⁡1,3,5,Perm⁡3,5,Perm⁡2,4,7,8
This group is not primitive on its support.
It does not even act transitively.
Restricting to the G-stable subset 1,3,5, we obtain a primitive action.
However, the action on the G-stable subset 2,4,7,8 is not primitive.
A block system demonstrating that G is not primitive can be obtained as follows.
However, there is no block system in which 2,4 is contained in a non-trivial block.
Consider the group of the Rubik's cube.
G ≔ RubiksCubeGroup⁡
G≔ < a permutation group on 48 letters with 6 generators >
This group is not primitive
That is because it does not even act transitively.
However, restricting to one of its (two) orbits, upon which it of course acts transitively, it is still not primitive.
B ≔ MinimalBlockSystem⁡G,Elements⁡Orbit⁡1,G
Because B is a minimal block system (consisting of maximal blocks), the blocks image of G on B is primitive.
S ≔ BlocksImage⁡G,B
G ≔ MathieuGroup⁡24
The GroupTheory[IsPrimitive] command was introduced in Maple 17.
For more information on Maple 17 changes, see Updates in Maple 17.
Download Help Document