Skip to content

Are "non-prime orders pcgs" supported at all? #6452

Description

@ThomasBreuer

On the one hand, the chapter "Polycyclic Groups" in the GAP Reference Manual defines a pc series as a subnormal series with cyclic factors (not necessarily a composition series) of a finite polycyclic group, and consequently a pcgs need not have prime relative orders -- the property IsPrimeOrdersPcgs is intended to express this additional property.

On the other hand, one runs into problems when one tries to create a pcgs that actually has non-prime relative orders.

gap> fam:= FamilyObj( (1, 2) );; # the family of permutations
gap> pcgs:= PcgsByPcSequence( fam, [ (1, 2, 3, 4) ] );
Pcgs([ (1,2,3,4) ])
gap> HasRelativeOrders( pcgs );
true
gap> RelativeOrders( pcgs );
[ 2 ]
gap> PcSeries( pcgs );
[ Group([ (1,2,3,4) ]), Group(()) ]
gap> gg:= GroupOfPcgs( pcgs );
Group([ (1,2,3,4) ])
gap> Size( gg );
4

The same example with pc group elements:

gap> g:= CyclicGroup( 4 );
<pc group of size 4 with 2 generators>
gap> fam:= ElementsFamily( FamilyObj( g ) );;
gap> pcgs:= PcgsByPcSequence( fam, [ g.1 ] );
Pcgs([ f1 ])
gap> HasRelativeOrders( pcgs );
true
gap> RelativeOrders( pcgs );
[ 2 ]
gap> PcSeries( pcgs );
[ <pc group with 1 generator>, Group([  ]) ]
gap> gg:= GroupOfPcgs( pcgs );
<pc group with 1 generator>
gap> Size( gg );
2
gap> Order( gg.1 );
4

Note that there is a method for RelativeOrders that would compute the correct value, but the wrong attribute value gets set already in the PcgsByPcSequenceNC methods in question.

It looks as if nobody has ever tried to use pcgs in the general (non-prime) setup.
Should we perhaps just make the definition more restrictive, and add checks to the functions that create pcgs?
Where would the currently promised more general setup be useful?
IsPrimeOrdersPcgs is actually used in quite a few places in the GAP library, in particular as a condition in the method selection.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions