Suppose a group G is given; for example, let G be a permutation
or matrix group. Then we can ask GAP to compute a pcgs of this group.
If G is not polycyclic, the result will be fail.
Note that these methods can only be applied if G is not given as finitely presented group. For finitely presented groups one can try to compute a pcgs via the polycyclic quotient methods, see Quotient Methods.
Note also that a pcgs behaves like a list.
Pcgs( G ) A
returns a pcgs for the group G.
If grp is not polycyclic it returns fail and this result is not
stored as attribute value, in particular in this case the filter
HasPcgs is not set for G!
IsPcgs( obj ) C
The category of pcgs.
gap> G := Group((1,2,3,4),(1,2));; gap> p := Pcgs(G); [ (3,4), (2,4,3), (1,4)(2,3), (1,2)(3,4) ] gap> IsPcgs( p ); true gap> p[1]; (3,4)
gap> G := Group((1,2,3,4,5),(1,2));; gap> Pcgs(G); fail
CanEasilyComputePcgs( grp ) F
This filter indicates whether it is possible to compute a pcgs for grp cheaply. Clearly, grp must be polycyclic in this case. However, not for every polycyclic group there is a method to compute a pcgs at low costs. This filter is used in the method selection mainly. Note that this filter may change its value from false to true.
gap> G := Group( (1,2,3,4),(1,2) ); Group([ (1,2,3,4), (1,2) ]) gap> CanEasilyComputePcgs(G); false gap> Pcgs(G); [ (3,4), (2,4,3), (1,4)(2,3), (1,2)(3,4) ] gap> CanEasilyComputePcgs(G); true
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual