  
  [1X5 [33X[0;0YBasic methods and functions for pcp-groups[133X[101X
  
  [33X[0;0YPcp-groups are groups in the [5XGAP[105X sense and hence all generic [5XGAP[105X methods for
  groups  can  be  applied  for  pcp-groups.  However,  for  a number of group
  theoretic questions [5XGAP[105X does not provide generic methods that can be applied
  to  pcp-groups.  For some of these questions there are functions provided in
  [5XPolycyclic[105X.[133X
  
  
  [1X5.1 [33X[0;0YElementary methods for pcp-groups[133X[101X
  
  [33X[0;0YIn  this  chapter  we  describe  some  important  basic  functions which are
  available for pcp-groups. A number of higher level functions are outlined in
  later sections and chapters.[133X
  
  [33X[0;0YLet [22XU, V[122X and [22XN[122X be subgroups of a pcp-group.[133X
  
  [1X5.1-1 \=[101X
  
  [33X[1;0Y[29X[2X\=[102X( [3XU[103X, [3XV[103X ) [32X method[133X
  
  [33X[0;0Ydecides if [3XU[103X and [3XV[103X are equal as sets.[133X
  
  [1X5.1-2 Size[101X
  
  [33X[1;0Y[29X[2XSize[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Yreturns the size of [3XU[103X.[133X
  
  [1X5.1-3 Random[101X
  
  [33X[1;0Y[29X[2XRandom[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Yreturns a random element of [3XU[103X.[133X
  
  [1X5.1-4 Index[101X
  
  [33X[1;0Y[29X[2XIndex[102X( [3XU[103X, [3XV[103X ) [32X method[133X
  
  [33X[0;0Yreturns  the  index of [3XV[103X in [3XU[103X if [3XV[103X is a subgroup of [3XU[103X. The function does not
  check  if  [3XV[103X  is  a  subgroup  of  [3XU[103X  and  if  it  is not, the result is not
  meaningful.[133X
  
  [1X5.1-5 \in[101X
  
  [33X[1;0Y[29X[2X\in[102X( [3Xg[103X, [3XU[103X ) [32X method[133X
  
  [33X[0;0Ychecks if [3Xg[103X is an element of [3XU[103X.[133X
  
  [1X5.1-6 Elements[101X
  
  [33X[1;0Y[29X[2XElements[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Yreturns  a  list  containing all elements of [3XU[103X if [3XU[103X is finite and it returns
  the list [fail] otherwise.[133X
  
  [1X5.1-7 ClosureGroup[101X
  
  [33X[1;0Y[29X[2XClosureGroup[102X( [3XU[103X, [3XV[103X ) [32X method[133X
  
  [33X[0;0Yreturns the group generated by [3XU[103X and [3XV[103X.[133X
  
  [1X5.1-8 NormalClosure[101X
  
  [33X[1;0Y[29X[2XNormalClosure[102X( [3XU[103X, [3XV[103X ) [32X method[133X
  
  [33X[0;0Yreturns the normal closure of [3XV[103X under action of [3XU[103X.[133X
  
  [1X5.1-9 HirschLength[101X
  
  [33X[1;0Y[29X[2XHirschLength[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Yreturns the Hirsch length of [3XU[103X.[133X
  
  [1X5.1-10 CommutatorSubgroup[101X
  
  [33X[1;0Y[29X[2XCommutatorSubgroup[102X( [3XU[103X, [3XV[103X ) [32X method[133X
  
  [33X[0;0Yreturns the group generated by all commutators [22X[u,v][122X with [22Xu[122X in [3XU[103X and [22Xv[122X in [3XV[103X.[133X
  
  [1X5.1-11 PRump[101X
  
  [33X[1;0Y[29X[2XPRump[102X( [3XU[103X, [3Xp[103X ) [32X method[133X
  
  [33X[0;0Yreturns the subgroup [22XU'U^p[122X of [3XU[103X where [3Xp[103X is a prime number.[133X
  
  [1X5.1-12 SmallGeneratingSet[101X
  
  [33X[1;0Y[29X[2XSmallGeneratingSet[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Yreturns a small generating set for [3XU[103X.[133X
  
  
  [1X5.2 [33X[0;0YElementary properties of pcp-groups[133X[101X
  
  [1X5.2-1 IsSubgroup[101X
  
  [33X[1;0Y[29X[2XIsSubgroup[102X( [3XU[103X, [3XV[103X ) [32X function[133X
  
  [33X[0;0Ytests if [3XV[103X is a subgroup of [3XU[103X.[133X
  
  [1X5.2-2 IsNormal[101X
  
  [33X[1;0Y[29X[2XIsNormal[102X( [3XU[103X, [3XV[103X ) [32X function[133X
  
  [33X[0;0Ytests if [3XV[103X is normal in [3XU[103X.[133X
  
  [1X5.2-3 IsNilpotentGroup[101X
  
  [33X[1;0Y[29X[2XIsNilpotentGroup[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Ychecks whether [3XU[103X is nilpotent.[133X
  
  [1X5.2-4 IsAbelian[101X
  
  [33X[1;0Y[29X[2XIsAbelian[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Ychecks whether [3XU[103X is abelian.[133X
  
  [1X5.2-5 IsElementaryAbelian[101X
  
  [33X[1;0Y[29X[2XIsElementaryAbelian[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Ychecks whether [3XU[103X is elementary abelian.[133X
  
  [1X5.2-6 IsFreeAbelian[101X
  
  [33X[1;0Y[29X[2XIsFreeAbelian[102X( [3XU[103X ) [32X property[133X
  
  [33X[0;0Ychecks whether [3XU[103X is free abelian.[133X
  
  
  [1X5.3 [33X[0;0YSubgroups of pcp-groups[133X[101X
  
  [33X[0;0YA  subgroup  of  a  pcp-group  [22XG[122X  can  be  defined by a set of generators as
  described  in Section [14X4.3[114X. However, many computations with a subgroup [22XU[122X need
  an  [13Xinduced  generating  sequence[113X  or  [13Xigs[113X  of  [22XU[122X.  An  igs is a sequence of
  generators  of  [22XU[122X  whose  list  of  exponent  vectors form a matrix in upper
  triangular  form.  Note  that  there  may exist many igs of [22XU[122X. The first one
  calculated for [22XU[122X is stored as an attribute.[133X
  
  [33X[0;0YAn  induced  generating sequence of a subgroup of a pcp-group [22XG[122X is a list of
  elements  of  [22XG[122X.  An  igs  is  called [13Xnormed[113X, if each element in the list is
  normed.  Moreover,  it  is  [13Xcanonical[113X,  if  the exponent vector matrix is in
  Hermite  Normal Form. The following functions can be used to compute induced
  generating sequence for a given subgroup [3XU[103X of [3XG[103X.[133X
  
  [1X5.3-1 Igs[101X
  
  [33X[1;0Y[29X[2XIgs[102X( [3XU[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XIgs[102X( [3Xgens[103X ) [32X function[133X
  [33X[1;0Y[29X[2XIgsParallel[102X( [3Xgens[103X, [3Xgens2[103X ) [32X function[133X
  
  [33X[0;0Yreturns  an induced generating sequence of the subgroup [3XU[103X of a pcp-group. In
  the  second  form the subgroup is given via a generating set [3Xgens[103X. The third
  form  computes  an  igs  for  the  subgroup generated by [3Xgens[103X carrying [3Xgens2[103X
  through  as  shadows.  This means that each operation that is applied to the
  first list is also applied to the second list.[133X
  
  [1X5.3-2 Ngs[101X
  
  [33X[1;0Y[29X[2XNgs[102X( [3XU[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XNgs[102X( [3Xigs[103X ) [32X function[133X
  
  [33X[0;0Yreturns  a  normed  induced  generating  sequence  of  the  subgroup  [3XU[103X of a
  pcp-group. The second form takes an igs as input and norms it.[133X
  
  [1X5.3-3 Cgs[101X
  
  [33X[1;0Y[29X[2XCgs[102X( [3XU[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XCgs[102X( [3Xigs[103X ) [32X function[133X
  [33X[1;0Y[29X[2XCgsParallel[102X( [3Xgens[103X, [3Xgens2[103X ) [32X function[133X
  
  [33X[0;0Yreturns a canonical generating sequence of the subgroup [3XU[103X of a pcp-group. In
  the  second  form the function takes an igs as input and returns a canonical
  generating sequence. The third version takes a generating set and computes a
  canonical  generating sequence carrying [3Xgens2[103X through as shadows. This means
  that each operation that is applied to the first list is also applied to the
  second list.[133X
  
  [33X[0;0YFor  a  large  number  of  methods  for  pcp-groups  [3XU[103X  we will first of all
  determine an [3Xigs[103X for [3XU[103X. Hence it might speed up computations, if a known [3Xigs[103X
  for  a group [3XU[103X is set [13Xa priori[113X. The following functions can be used for this
  purpose.[133X
  
  [1X5.3-4 SubgroupByIgs[101X
  
  [33X[1;0Y[29X[2XSubgroupByIgs[102X( [3XG[103X, [3Xigs[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSubgroupByIgs[102X( [3XG[103X, [3Xigs[103X, [3Xgens[103X ) [32X function[133X
  
  [33X[0;0Yreturns  the  subgroup  of  the pcp-group [3XG[103X generated by the elements of the
  induced generating sequence [3Xigs[103X. Note that [3Xigs[103X must be an induced generating
  sequence of the subgroup generated by the elements of the [3Xigs[103X. In the second
  form  [3Xigs[103X is a igs for a subgroup and [3Xgens[103X are some generators. The function
  returns the subgroup generated by [3Xigs[103X and [3Xgens[103X.[133X
  
  [1X5.3-5 AddToIgs[101X
  
  [33X[1;0Y[29X[2XAddToIgs[102X( [3Xigs[103X, [3Xgens[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAddToIgsParallel[102X( [3Xigs[103X, [3Xgens[103X, [3Xigs2[103X, [3Xgens2[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAddIgsToIgs[102X( [3Xigs[103X, [3Xigs2[103X ) [32X function[133X
  
  [33X[0;0Ysifts  the  elements  in  the list [22Xgens[122X into [22Xigs[122X. The second version has the
  same  functionality and carries shadows. This means that each operation that
  is  applied  to  the  first list and the element [3Xgens[103X is also applied to the
  second  list  and  the  element  [3Xgens2[103X.  The  third version is available for
  efficiency  reasons  and  assumes  that  the  second list [3Xigs2[103X is not only a
  generating set, but an igs.[133X
  
  
  [1X5.4 [33X[0;0YPolycyclic presentation sequences for subfactors[133X[101X
  
  [33X[0;0YA  subfactor  of  a  pcp-group  [22XG[122X  is  again  a polycyclic group for which a
  polycyclic  presentation  can  be computed. However, to compute a polycyclic
  presentation for a given subfactor can be time-consuming. Hence we introduce
  [13Xpolycyclic  presentation  sequences[113X  or [13XPcp[113X to compute more efficiently with
  subfactors.  (Note  that  a  subgroup  is  also  a subfactor and thus can be
  handled by a pcp)[133X
  
  [33X[0;0YA  pcp for a pcp-group [22XU[122X or a subfactor [22XU / N[122X can be created with one of the
  following functions.[133X
  
  [1X5.4-1 Pcp[101X
  
  [33X[1;0Y[29X[2XPcp[102X( [3XU[103X[, [3Xflag[103X] ) [32X function[133X
  [33X[1;0Y[29X[2XPcp[102X( [3XU[103X, [3XN[103X[, [3Xflag[103X] ) [32X function[133X
  
  [33X[0;0Yreturns  a  polycyclic  presentation  sequence  for  the  subgroup  [3XU[103X or the
  quotient  group  [3XU[103X modulo [3XN[103X. If the parameter [3Xflag[103X is present and equals the
  string  [21Xsnf[121X,  the  function  can only be applied to an abelian subgroup [3XU[103X or
  abelian  subfactor  [3XU[103X/[3XN[103X. The pcp returned will correspond to a decomposition
  of the abelian group into a direct product of cyclic groups.[133X
  
  [33X[0;0YA  pcp is a component object which behaves similar to a list representing an
  igs  of  the subfactor in question. The basic functions to obtain the stored
  values  of  this  component  object  are  as follows. Let [22Xpcp[122X be a pcp for a
  subfactor [22XU/N[122X of the defining pcp-group [22XG[122X.[133X
  
  [1X5.4-2 GeneratorsOfPcp[101X
  
  [33X[1;0Y[29X[2XGeneratorsOfPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Ythis returns a list of elements of [22XU[122X corresponding to an igs of [22XU/N[122X.[133X
  
  [1X5.4-3 \[\][101X
  
  [33X[1;0Y[29X[2X\[\][102X( [3Xpcp[103X, [3Xi[103X ) [32X method[133X
  
  [33X[0;0Yreturns the [3Xi[103X-th element of [3Xpcp[103X.[133X
  
  [1X5.4-4 Length[101X
  
  [33X[1;0Y[29X[2XLength[102X( [3Xpcp[103X ) [32X method[133X
  
  [33X[0;0Yreturns the number of generators in [3Xpcp[103X.[133X
  
  [1X5.4-5 RelativeOrdersOfPcp[101X
  
  [33X[1;0Y[29X[2XRelativeOrdersOfPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Ythe relative orders of the igs in [3XU/N[103X.[133X
  
  [1X5.4-6 DenominatorOfPcp[101X
  
  [33X[1;0Y[29X[2XDenominatorOfPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Yreturns an igs of [3XN[103X.[133X
  
  [1X5.4-7 NumeratorOfPcp[101X
  
  [33X[1;0Y[29X[2XNumeratorOfPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Yreturns an igs of [3XU[103X.[133X
  
  [1X5.4-8 GroupOfPcp[101X
  
  [33X[1;0Y[29X[2XGroupOfPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Yreturns [3XU[103X.[133X
  
  [1X5.4-9 OneOfPcp[101X
  
  [33X[1;0Y[29X[2XOneOfPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Yreturns the identity element of [3XG[103X.[133X
  
  [33X[0;0YThe  main  feature  of a pcp are the possibility to compute exponent vectors
  without  having  to  determine  an  explicit  pcp-group corresponding to the
  subfactor  that  is  represented  by the pcp. Nonetheless, it is possible to
  determine this subfactor.[133X
  
  [1X5.4-10 ExponentsByPcp[101X
  
  [33X[1;0Y[29X[2XExponentsByPcp[102X( [3Xpcp[103X, [3Xg[103X ) [32X function[133X
  
  [33X[0;0Yreturns the exponent vector of [3Xg[103X with respect to the generators of [3Xpcp[103X. This
  is the exponent vector of [3Xg[103X[22XN[122X with respect to the igs of [3XU/N[103X.[133X
  
  [1X5.4-11 PcpGroupByPcp[101X
  
  [33X[1;0Y[29X[2XPcpGroupByPcp[102X( [3Xpcp[103X ) [32X function[133X
  
  [33X[0;0Ylet  [3Xpcp[103X  be  a  Pcp  of  a  subgroup or a factor group of a pcp-group. This
  function  computes  a  new pcp-group whose defining generators correspond to
  the generators in [3Xpcp[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X G := DihedralPcpGroup(0);[127X[104X
    [4X[28XPcp-group with orders [ 2, 0 ][128X[104X
    [4X[25Xgap>[125X [27X pcp := Pcp(G);[127X[104X
    [4X[28XPcp [ g1, g2 ] with orders [ 2, 0 ][128X[104X
    [4X[25Xgap>[125X [27X pcp[1];[127X[104X
    [4X[28Xg1[128X[104X
    [4X[25Xgap>[125X [27X Length(pcp);[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27X RelativeOrdersOfPcp(pcp);[127X[104X
    [4X[28X[ 2, 0 ][128X[104X
    [4X[25Xgap>[125X [27X DenominatorOfPcp(pcp);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27X NumeratorOfPcp(pcp);[127X[104X
    [4X[28X[ g1, g2 ][128X[104X
    [4X[25Xgap>[125X [27X GroupOfPcp(pcp);[127X[104X
    [4X[28XPcp-group with orders [ 2, 0 ][128X[104X
    [4X[25Xgap>[125X [27XOneOfPcp(pcp);[127X[104X
    [4X[28Xidentity[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := ExamplesOfSomePcpGroups(5);[127X[104X
    [4X[28XPcp-group with orders [ 2, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27XD := DerivedSubgroup( G );[127X[104X
    [4X[28XPcp-group with orders [ 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27X GeneratorsOfGroup( G );[127X[104X
    [4X[28X[ g1, g2, g3, g4 ][128X[104X
    [4X[25Xgap>[125X [27X GeneratorsOfGroup( D );[127X[104X
    [4X[28X[ g2^-2, g3^-2, g4^2 ][128X[104X
    [4X[28X[128X[104X
    [4X[28X# an ordinary pcp for G / D[128X[104X
    [4X[25Xgap>[125X [27Xpcp1 := Pcp( G, D );[127X[104X
    [4X[28XPcp [ g1, g2, g3, g4 ] with orders [ 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
    [4X[28X# a pcp for G/D in independent generators[128X[104X
    [4X[25Xgap>[125X [27X pcp2 := Pcp( G, D, "snf" );[127X[104X
    [4X[28XPcp [ g2, g3, g1 ] with orders [ 2, 2, 4 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27X g := Random( G );[127X[104X
    [4X[28Xg1*g2^-4*g3*g4^2[128X[104X
    [4X[28X[128X[104X
    [4X[28X# compute the exponent vector of g in G/D with respect to pcp1[128X[104X
    [4X[25Xgap>[125X [27XExponentsByPcp( pcp1, g );[127X[104X
    [4X[28X[ 1, 0, 1, 0 ][128X[104X
    [4X[28X[128X[104X
    [4X[28X# compute the exponent vector of g in G/D with respect to pcp2[128X[104X
    [4X[25Xgap>[125X [27X ExponentsByPcp( pcp2, g );[127X[104X
    [4X[28X[ 0, 1, 1 ][128X[104X
  [4X[32X[104X
  
  
  [1X5.5 [33X[0;0YFactor groups of pcp-groups[133X[101X
  
  [33X[0;0YPcp's  for subfactors of pcp-groups have already been described above. These
  are  usually  used within algorithms to compute with pcp-groups. However, it
  is   also   possible   to  explicitly  construct  factor  groups  and  their
  corresponding natural homomorphisms.[133X
  
  [1X5.5-1 NaturalHomomorphismByNormalSubgroup[101X
  
  [33X[1;0Y[29X[2XNaturalHomomorphismByNormalSubgroup[102X( [3XG[103X, [3XN[103X ) [32X method[133X
  
  [33X[0;0Yreturns  the  natural  homomorphism  [22XG -> G/N[122X. Its image is the factor group
  [22XG/N[122X.[133X
  
  [1X5.5-2 \/[101X
  
  [33X[1;0Y[29X[2X\/[102X( [3XG[103X, [3XN[103X ) [32X method[133X
  [33X[1;0Y[29X[2XFactorGroup[102X( [3XG[103X, [3XN[103X ) [32X method[133X
  
  [33X[0;0Yreturns  the  desired  factor  as  pcp-group  without  giving  the  explicit
  homomorphism. This function is just a wrapper for [10XPcpGroupByPcp( Pcp( G, N )
  )[110X.[133X
  
  
  [1X5.6 [33X[0;0YHomomorphisms for pcp-groups[133X[101X
  
  [33X[0;0Y[5XPolycyclic[105X  provides code for defining group homomorphisms by generators and
  images  where  either  the  source  or the range or both are pcp groups. All
  methods  provided  by  GAP  for  such  group homomorphisms are supported, in
  particular the following:[133X
  
  [1X5.6-1 GroupHomomorphismByImages[101X
  
  [33X[1;0Y[29X[2XGroupHomomorphismByImages[102X( [3XG[103X, [3XH[103X, [3Xgens[103X, [3Ximgs[103X ) [32X function[133X
  
  [33X[0;0Yreturns  the homomorphism from the (pcp-) group [3XG[103X to the pcp-group [3XH[103X mapping
  the generators of [3XG[103X in the list [3Xgens[103X to the corresponding images in the list
  [3Ximgs[103X of elements of [3XH[103X.[133X
  
  [1X5.6-2 Kernel[101X
  
  [33X[1;0Y[29X[2XKernel[102X( [3Xhom[103X ) [32X function[133X
  
  [33X[0;0Yreturns the kernel of the homomorphism [3Xhom[103X from a pcp-group to a pcp-group.[133X
  
  [1X5.6-3 Image[101X
  
  [33X[1;0Y[29X[2XImage[102X( [3Xhom[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XImage[102X( [3Xhom[103X, [3XU[103X ) [32X function[133X
  [33X[1;0Y[29X[2XImage[102X( [3Xhom[103X, [3Xg[103X ) [32X function[133X
  
  [33X[0;0Yreturns the image of the whole group, of [3XU[103X and of [3Xg[103X, respectively, under the
  homomorphism [3Xhom[103X.[133X
  
  [1X5.6-4 PreImage[101X
  
  [33X[1;0Y[29X[2XPreImage[102X( [3Xhom[103X, [3XU[103X ) [32X function[133X
  
  [33X[0;0Yreturns  the complete preimage of the subgroup [3XU[103X under the homomorphism [3Xhom[103X.
  If  the  domain  of  [3Xhom[103X  is  not a pcp-group, then this function only works
  properly if [3Xhom[103X is injective.[133X
  
  [1X5.6-5 PreImagesRepresentative[101X
  
  [33X[1;0Y[29X[2XPreImagesRepresentative[102X( [3Xhom[103X, [3Xg[103X ) [32X method[133X
  
  [33X[0;0Yreturns a preimage of the element [3Xg[103X under the homomorphism [3Xhom[103X.[133X
  
  [1X5.6-6 IsInjective[101X
  
  [33X[1;0Y[29X[2XIsInjective[102X( [3Xhom[103X ) [32X method[133X
  
  [33X[0;0Ychecks if the homomorphism [3Xhom[103X is injective.[133X
  
  
  [1X5.7 [33X[0;0YChanging the defining pc-presentation[133X[101X
  
  [1X5.7-1 RefinedPcpGroup[101X
  
  [33X[1;0Y[29X[2XRefinedPcpGroup[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Yreturns   a   new  pcp-group  isomorphic  to  [3XG[103X  whose  defining  polycyclic
  presentation  is  refined;  that is, the corresponding polycyclic series has
  prime  or infinite factors only. If [22XH[122X is the new group, then [22XH!.bijection[122X is
  the isomorphism [22XG -> H[122X.[133X
  
  [1X5.7-2 PcpGroupBySeries[101X
  
  [33X[1;0Y[29X[2XPcpGroupBySeries[102X( [3Xser[103X[, [3Xflag[103X] ) [32X function[133X
  
  [33X[0;0Yreturns  a  new  pcp-group  isomorphic  to the first subgroup [22XG[122X of the given
  series  [3Xser[103X  such that its defining pcp refines the given series. The series
  must  be  subnormal  and  [22XH!.bijection[122X  is  the  isomorphism  [22XG -> H[122X. If the
  parameter  [3Xflag[103X  is  present and equals the string [21Xsnf[121X, the series must have
  abelian   factors.   The   pcp  of  the  group  returned  corresponds  to  a
  decomposition of each abelian factor into a direct product of cyclic groups.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := DihedralPcpGroup(0);[127X[104X
    [4X[28XPcp-group with orders [ 2, 0 ][128X[104X
    [4X[25Xgap>[125X [27X U := Subgroup( G, [Pcp(G)[2]^1440]);[127X[104X
    [4X[28XPcp-group with orders [ 0 ][128X[104X
    [4X[25Xgap>[125X [27X F := G/U;[127X[104X
    [4X[28XPcp-group with orders [ 2, 1440 ][128X[104X
    [4X[25Xgap>[125X [27XRefinedPcpGroup(F);[127X[104X
    [4X[28XPcp-group with orders [ 2, 2, 2, 2, 2, 2, 3, 3, 5 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xser := [G, U, TrivialSubgroup(G)];[127X[104X
    [4X[28X[ Pcp-group with orders [ 2, 0 ],[128X[104X
    [4X[28X  Pcp-group with orders [ 0 ],[128X[104X
    [4X[28X  Pcp-group with orders [  ] ][128X[104X
    [4X[25Xgap>[125X [27X PcpGroupBySeries(ser);[127X[104X
    [4X[28XPcp-group with orders [ 2, 1440, 0 ][128X[104X
  [4X[32X[104X
  
  
  [1X5.8 [33X[0;0YPrinting a pc-presentation[133X[101X
  
  [33X[0;0YBy  default,  a  pcp-group  is  printed  using its relative orders only. The
  following methods can be used to view the pcp presentation of the group.[133X
  
  [1X5.8-1 PrintPcpPresentation[101X
  
  [33X[1;0Y[29X[2XPrintPcpPresentation[102X( [3XG[103X[, [3Xflag[103X] ) [32X function[133X
  [33X[1;0Y[29X[2XPrintPcpPresentation[102X( [3Xpcp[103X[, [3Xflag[103X] ) [32X function[133X
  
  [33X[0;0Yprints  the  pcp  presentation  defined  by  the igs of [3XG[103X or the pcp [3Xpcp[103X. By
  default, the trivial conjugator relations are omitted from this presentation
  to  shorten  notation.  Also,  the  relations obtained from conjugating with
  inverse  generators  are  included  only  if  the  conjugating generator has
  infinite  order.  If  this  generator has finite order, then the conjugation
  relation  is a consequence of the remaining relations. If the parameter [3Xflag[103X
  is  present  and equals the string [21Xall[121X, all conjugate relations are printed,
  including  the  trivial  conjugate  relations  as  well  as  those involving
  conjugation with inverses.[133X
  
  
  [1X5.9 [33X[0;0YConverting to and from a presentation[133X[101X
  
  [1X5.9-1 IsomorphismPcpGroup[101X
  
  [33X[1;0Y[29X[2XIsomorphismPcpGroup[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0Yreturns  an isomorphism from [3XG[103X onto a pcp-group [3XH[103X. There are various methods
  installed  for  this  operation  and  some  of these methods are part of the
  [5XPolycyclic[105X package, while others may be part of other packages.[133X
  
  [33X[0;0YFor  example, [5XPolycyclic[105X contains methods for this function in the case that
  [3XG[103X is a finite pc-group or a finite solvable permutation group.[133X
  
  [33X[0;0YOther  examples  for methods for IsomorphismPcpGroup are the methods for the
  case that [3XG[103X is a crystallographic group (see [5XCryst[105X) or the case that [3XG[103X is an
  almost crystallographic group (see [5XAClib[105X). A method for the case that [3XG[103X is a
  rational polycyclic matrix group is included in the [5XPolenta[105X package.[133X
  
  [1X5.9-2 IsomorphismPcpGroupFromFpGroupWithPcPres[101X
  
  [33X[1;0Y[29X[2XIsomorphismPcpGroupFromFpGroupWithPcPres[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YThis  function  can  convert  a  finitely  presented group with a polycyclic
  presentation into a pcp group.[133X
  
  [1X5.9-3 IsomorphismPcGroup[101X
  
  [33X[1;0Y[29X[2XIsomorphismPcGroup[102X( [3XG[103X ) [32X method[133X
  
  [33X[0;0Ypc-groups  are  a representation for finite polycyclic groups. This function
  can convert finite pcp-groups to pc-groups.[133X
  
  [1X5.9-4 IsomorphismFpGroup[101X
  
  [33X[1;0Y[29X[2XIsomorphismFpGroup[102X( [3XG[103X ) [32X method[133X
  
  [33X[0;0YThis function can convert pcp-groups to a finitely presented group.[133X
  
