  
  [1X3 [33X[0;0YThe catalog of almost crystallographic groups[133X[101X
  
  [33X[0;0YThis  chapter  introduces  the  access  functions  to  the catalog of 3- and
  4-dimensional  almost crystallographic groups. This catalog is an electronic
  version of the classification obtained in [Dek96].[133X
  
  
  [1X3.1 [33X[0;0YRational matrix groups[133X[101X
  
  [33X[0;0YThe  following  three  main functions are available to access the library of
  almost crystallographic groups as rational matrix groups.[133X
  
  [1X3.1-1 AlmostCrystallographicGroup[101X
  
  [33X[1;0Y[29X[2XAlmostCrystallographicGroup[102X( [3Xdim[103X, [3Xtype[103X, [3Xparameters[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAlmostCrystallographicDim3[102X( [3Xtype[103X, [3Xparameters[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAlmostCrystallographicDim4[102X( [3Xtype[103X, [3Xparameters[103X ) [32X function[133X
  
  [33X[0;0Y[3Xdim[103X  is the dimension of the required group. Thus [3Xdim[103X must be either 3 or 4.
  The  inputs  [3Xtype[103X  and  [3Xparameters[103X  are  used to define the desired group as
  described  in  [Dek96].  We  outline  the  possible  choices  for  [3Xtype[103X  and
  [3Xparameters[103X  here  briefly.  A  more  extended  description is given later in
  Section [14X3.3[114X or can be obtained from [Dek96].[133X
  
  [33X[0;0Y[3Xtype[103X  specifies  the  type  of  the  required  group.  There are 17 types in
  dimension  3  and  95  types in dimension 4. The input [3Xtype[103X can either be an
  integer  defining the position of the desired type among all types; that is,
  in  this  case  [3Xtype[103X  is  a  number in [1..17] in dimension 3 or a number in
  [1..95]  in  dimension  4.  Alternatively, [3Xtype[103X can be a string defining the
  desired type. In dimension 3 the possible strings are [10X"01"[110X, [10X"02"[110X, [22X...[122X, [10X"17"[110X.
  In  dimension  4 the possible strings are listed in the list [10XACDim4Types[110X and
  thus can be accessed from [5XGAP[105X.[133X
  
  [33X[0;0Y[3Xparameters[103X  is  a  list  of  integers. Its length depends on the type of the
  chosen  group.  The  lists [10XACDim3Param[110X and [10XACDim4Param[110X contain at position [22Xi[122X
  the  length  of  the  parameter  list  for  the type number [22Xi[122X. Every list of
  integers  of  this length is a valid [3Xparameter[103X input. Alternatively, one can
  input  [9Xfalse[109X  instead  of  a  parameter  list. Then [5XGAP[105X will choose a random
  parameter list of suitable length.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := AlmostCrystallographicGroup( 4, 50, [ 1, -4, 1, 2 ] );[127X[104X
    [4X[28X<matrix group of size infinity with 5 generators>[128X[104X
    [4X[25Xgap>[125X [27XDimensionOfMatrixGroup( G );[127X[104X
    [4X[28X5[128X[104X
    [4X[25Xgap>[125X [27XFieldOfMatrixGroup( G );[127X[104X
    [4X[28XRationals[128X[104X
    [4X[25Xgap>[125X [27XGeneratorsOfGroup( G );[127X[104X
    [4X[28X[ [ [ 1, 0, -1/2, 0, 0 ], [ 0, 1, 0, 0, 1 ], [ 0, 0, 1, 0, 0 ], [128X[104X
    [4X[28X      [ 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 1 ] ], [128X[104X
    [4X[28X  [ [ 1, 1/2, 0, 0, 0 ], [ 0, 1, 0, 0, 0 ], [ 0, 0, 1, 0, 1 ], [128X[104X
    [4X[28X      [ 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 1 ] ], [128X[104X
    [4X[28X  [ [ 1, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0 ], [ 0, 0, 1, 0, 0 ], [128X[104X
    [4X[28X      [ 0, 0, 0, 1, 1 ], [ 0, 0, 0, 0, 1 ] ], [128X[104X
    [4X[28X  [ [ 1, 0, 0, 0, 1 ], [ 0, 1, 0, 0, 0 ], [ 0, 0, 1, 0, 0 ], [128X[104X
    [4X[28X      [ 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 1 ] ], [128X[104X
    [4X[28X  [ [ 1, -4, 1, 0, 1/2 ], [ 0, 0, -1, 0, 0 ], [ 0, 1, 0, 0, 0 ], [128X[104X
    [4X[28X      [ 0, 0, 0, 1, 1/4 ], [ 0, 0, 0, 0, 1 ] ] ][128X[104X
    [4X[25Xgap>[125X [27XG.1;[127X[104X
    [4X[28X[ [ 1, 0, -1/2, 0, 0 ], [ 0, 1, 0, 0, 1 ], [ 0, 0, 1, 0, 0 ], [128X[104X
    [4X[28X  [ 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XACDim4Types[50];[127X[104X
    [4X[28X"076"[128X[104X
    [4X[25Xgap>[125X [27XACDim4Param[50];[127X[104X
    [4X[28X4[128X[104X
  [4X[32X[104X
  
  
  [1X3.2 [33X[0;0YPolycyclically presented groups[133X[101X
  
  [33X[0;0YAll  the  almost  crystallographic  groups  considered  in  this package are
  polycyclic.  Hence  they have a polycyclic presentation and this can be used
  to  facilitate  efficient  computations  with  the  groups.  To  obtain  the
  polycyclic  presentation  of  an almost crystallographic group we supply the
  following  functions.  Note that the [5XPolycyclic[105X package must be installed to
  use these functions.[133X
  
  [1X3.2-1 AlmostCrystallographicPcpGroup[101X
  
  [33X[1;0Y[29X[2XAlmostCrystallographicPcpGroup[102X( [3Xdim[103X, [3Xtype[103X, [3Xparameters[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAlmostCrystallographicPcpDim3[102X( [3Xtype[103X, [3Xparameters[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAlmostCrystallographicPcpDim4[102X( [3Xtype[103X, [3Xparameters[103X ) [32X function[133X
  
  [33X[0;0YThe  input  is the same as for the corresponding matrix group functions. The
  output  is  a  pcp  group  isomorphic  to the corresponding matrix group. An
  explicit  isomorphism  from  an  almost crystallographic matrix group to the
  corresponding pcp group can be obtained by the following function.[133X
  
  [1X3.2-2 IsomorphismPcpGroup[101X
  
  [33X[1;0Y[29X[2XIsomorphismPcpGroup[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0YThis  returns an isomorphism from the almost crystallographic matrix group [3XG[103X
  onto the corresponding pcp group.[133X
  
  [33X[0;0YWe can use the polycyclic presentations of almost crystallographic groups to
  exhibit structure information on these groups. For example, we can determine
  their   Fitting  subgroup  and  ask  group-theoretic  questions  about  this
  nilpotent  group. The factor [22XG / Fitt(G)[122X of an almost crystallographic group
  [22XG[122X  is called [13Xholonomy group[113X. We provide access to this factor of a pcp group
  via the following functions. Let [22XG[122X be an almost crystallographic pcp group.[133X
  
  [1X3.2-3 HolonomyGroup[101X
  
  [33X[1;0Y[29X[2XHolonomyGroup[102X( [3XG[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XNaturalHomomorphismOnHolonomyGroup[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0YThe following example shows applications of these functions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := AlmostCrystallographicPcpGroup( 4, 50, [ 1, -4, 1, 2 ] );[127X[104X
    [4X[28XPcp-group with orders [ 4, 0, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27XCgs(G);[127X[104X
    [4X[28X[ g1, g2, g3, g4, g5 ][128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF := FittingSubgroup( G );[127X[104X
    [4X[28XPcp-group with orders [ 0, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27XCentre(F);[127X[104X
    [4X[28XPcp-group with orders [ 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27XLowerCentralSeries(F);[127X[104X
    [4X[28X[ Pcp-group with orders [ 0, 0, 0, 0 ], Pcp-group with orders [ 0 ], [128X[104X
    [4X[28X  Pcp-group with orders [  ] ][128X[104X
    [4X[25Xgap>[125X [27XUpperCentralSeries(F);[127X[104X
    [4X[28X[ Pcp-group with orders [ 0, 0, 0, 0 ], Pcp-group with orders [ 0, 0 ], [128X[104X
    [4X[28X  Pcp-group with orders [  ] ][128X[104X
    [4X[25Xgap>[125X [27XMinimalGeneratingSet(F);[127X[104X
    [4X[28X[ g2, g3, g4 ][128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XH := HolonomyGroup( G );[127X[104X
    [4X[28XPcp-group with orders [ 4 ][128X[104X
    [4X[25Xgap>[125X [27Xhom := NaturalHomomorphismOnHolonomyGroup( G );[127X[104X
    [4X[28X[ g1, g2, g3, g4, g5 ] -> [ g1, id, id, id, id ][128X[104X
    [4X[25Xgap>[125X [27XU := Subgroup( H, [Pcp(H)[1]^2] );[127X[104X
    [4X[28XPcp-group with orders [ 2 ][128X[104X
    [4X[25Xgap>[125X [27XPreImage( hom, U );[127X[104X
    [4X[28XPcp-group with orders [ 2, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  
  [1X3.3 [33X[0;0YMore about the type and the defining parameters[133X[101X
  
  [33X[0;0YEach  group  from this library knows that it is almost crystallographic and,
  additionally, it knows its type and defining parameters.[133X
  
  [1X3.3-1 AlmostCrystallographicInfo[101X
  
  [33X[1;0Y[29X[2XAlmostCrystallographicInfo[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0YThis  attribute  is set for groups from the library only. It is not possible
  at  present  to  determine  the  type  and  the  defining  parameters for an
  arbitrary  almost crystallographic group which is not defined by the library
  access functions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := AlmostCrystallographicGroup( 4, 70, false );   [127X[104X
    [4X[28X<matrix group of size infinity with 5 generators>[128X[104X
    [4X[25Xgap>[125X [27XIsAlmostCrystallographic(G);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XAlmostCrystallographicInfo(G);[127X[104X
    [4X[28Xrec( dim := 4, type := 70, param := [ 1, -4, 1, 2, -3 ] )[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := AlmostCrystallographicPcpGroup( 4, 70, false );[127X[104X
    [4X[28XPcp-group with orders [ 6, 0, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27XIsAlmostCrystallographic(G);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XAlmostCrystallographicInfo(G);[127X[104X
    [4X[28Xrec( dim := 4, type := 70, param := [ -3, 2, 5, 1, 0 ] )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  consider the types of almost crystallographic groups in more detail. The
  almost  crystallographic  groups  in  dimensions  3  and  4  fall into three
  families[133X
  
  [31X1[131X   [33X[0;6Y3-dimensional almost crystallographic groups.[133X
  
  [31X2[131X   [33X[0;6Y4-dimensional  almost  crystallographic groups with a Fitting subgroup
        of class 2.[133X
  
  [31X3[131X   [33X[0;6Y4-dimensional  almost  crystallographic groups with a Fitting subgroup
        of class 3.[133X
  
  [33X[0;0YThese  families are split up further into subfamilies in [Dek96] and to each
  subfamily  is  assigned  a type; that is, a string which is used to identify
  the   subfamily.   As   mentioned   above,   for  the  3-dimensional  almost
  crystallographic groups the type is a string representing the numbers from 1
  to 17, i.e. the available types are [10X"01"[110X, [10X"02"[110X, [22X...[122X, [10X"17"[110X.[133X
  
  [33X[0;0YFor the 4-dimensional almost crystallographic groups with a Fitting subgroup
  of  class  2 the type is a string of 3 or 4 characters. In general, a string
  of  3  characters  representing  the number of the table entry in [Dek96] is
  used.  So possible types are [10X"001"[110X, [10X"002"[110X, [22X...[122X. The reader is warned however
  that  not  all  possible  numbers are used, e.g. there are no groups of type
  [10X"016"[110X.  Also,  the  types  do  not appear in their natural order in [Dek96].
  Moreover, for certain numbers there is more than one family of groups listed
  in [Dek96]. For example, the 3 families of groups corresponding to number 19
  on  pages  179-180 of [Dek96] have types [10X"019"[110X, [10X"019b"[110X and [10X"019c"[110X (the order
  is the one given in [Dek96]).[133X
  
  [33X[0;0YFor  the  last category of groups, the 4-dimensional almost crystallographic
  groups  with  a  Fitting subgroup of class 3, the type is a string of 2 or 3
  characters,  where the first character is always the letter [10X"B"[110X. This [10X"B"[110X is
  followed  by  the  number  of  the table entry as found in [Dek96], possibly
  followed by a [10X"b"[110X or [10X"c"[110X as in the previous case.[133X
  
  [33X[0;0YFor  each  type  of  almost  crystallographic group contained in the library
  there  exists  a function taking a parameter list as input and returning the
  desired  matrix or pcp group. These functions can be accessed from [5XGAP[105X using
  the  lists [10XACDim3Funcs[110X, [10XACDim4Funcs[110X, [10XACPcpDim3Funcs[110X and [10XACPcpDim4Funcs[110X which
  consist of the corresponding functions.[133X
  
  [33X[0;0YAlthough  we include these direct access functions here for completeness, we
  note  that  the  user  should  in  general  use  the  higher-level functions
  introduced  above to obtain almost crystallographic groups from the library.
  In particular, these low-level access functions return matrix or pcp groups,
  but the almost crystallographic info flags will not be attached to them.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XACDim3Funcs[15];[127X[104X
    [4X[28Xfunction( k1, k2, k3, k4 ) ... end[128X[104X
    [4X[25Xgap>[125X [27XACDim3Funcs[15](1,1,1,1);[127X[104X
    [4X[28X<matrix group with 5 generators>[128X[104X
    [4X[25Xgap>[125X [27XACPcpDim3Funcs[1](1);[127X[104X
    [4X[28XPcp-group with orders [ 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  
  [1X3.4 [33X[0;0YThe electronic versus the printed library[133X[101X
  
  [33X[0;0YThe  [5XAClib[105X  package can be considered as the electronic version of Chapter 7
  of  [Dek96]. In this section we outline the relationship between the library
  presented  in  this  manual  and  the  printed  version in [Dek96]. First we
  consider an example. At page 175 of [Dek96], we find the following groups in
  the table starting with entry [21X13[121X.[133X
  
  [33X[0;0Y13. [22XQ=P2/c[122X[133X
  
  
  [24X[33X[0;6Y\matrix{ E:\langle a,b,c,d,\alpha,\beta\| & {[b,a]=1}\hskip 1.61cm {[d,a]=1}
  &  \rangle  \cr  &  \matrix{  {[c,a]=d^{2  k_1}} & {[d,b]=1} \cr {[c,b]=1} &
  {[d,c]=1}  \cr \alpha a=a^{-1}\alpha d^{k_{2}} & \alpha^2=d^{k_3} \cr \alpha
  b=b\alpha  &  \alpha  d= d \alpha \cr \alpha c=c^{-1}\alpha d^{-2 k_6} & \cr
  \beta  a=a^{-1}\beta  d^{k_1+k_2}  & \beta^2=d^{k_5} \cr \beta b=b^{-1}\beta
  d^{k_4}  &  \beta  d=  d  \beta  \cr \beta c=c^{-1}\beta d^{-2 k_6} & \alpha
  \beta=c\beta\alpha d^{k_6} } & }[133X
  
  [124X
  
  
  [24X[33X[0;6Y\lambda(\alpha)=\left(\matrix{   1&   \frac{k_1}{2}+k_2  &  0  &  -2  k_6  &
  \frac{k_3}{2}+\frac{k_6}{2} \cr 0& -1 & 0 & 0 & 0 \cr 0 & 0& 1 & 0 & 0 \cr 0
  &   0   &   0   &   -1   &   \frac12\cr  0  &  0  &  0  &  0  &  1  }\right)
  \lambda(\beta)=\left(\matrix{  1& k_1+k_2 & k_4 & -2 k_6 & \frac{k_5}{2} \cr
  0&  -1 & 0 & 0 & 0 \cr 0 & 0& -1 & 0 & 0 \cr 0 & 0 & 0 & -1 & 0\cr 0 & 0 & 0
  & 0 & 1 }\right)[133X
  
  [124X
  
  
  [24X[33X[0;6YH^2(Q,ℤ{})=ℤ{}\oplus(ℤ{}_2)^4=ℤ^{6}/A,[133X
  
  [124X
  
  
  [24X[33X[0;6YA=\{(k_1,\ldots,k_6)\| k_1=0,\;k_2,\ldots, k_5\in 2ℤ{},\;k_6\inℤ\}[133X
  
  [124X
  
  [33X[0;0YAB-groups:[133X
  
  [33X[0;0Y[22X∀ k>0,k≡ 0mod 2,⟨(k,0,1,0,1,0)⟩[122X[133X
  
  [33X[0;0YThe  number  [21X13[121X  at  the  beginning  of this entry is the type of the almost
  crystallographic  group  in this library. This family of groups with type 13
  depends on 6 parameters [22Xk_1, k_2, ..., k_6[122X and these are the [3Xparameters[103X list
  in  this  library.  The  rational  matrix  representation in [5XGAP[105X corresponds
  exactly  to  the  printed  version  in  [Dek96]  where it is named [22Xλ[122X. In the
  example     below,     we     consider    the    group    with    parameters
  [22X(k_1,k_2,k_3,k_4,k_5,k_6)=(8,0,1,0,1,0)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=AlmostCrystallographicDim4("013",[8,0,1,0,1,0]);[127X[104X
    [4X[28X<matrix group of size infinity with 6 generators>[128X[104X
    [4X[25Xgap>[125X [27XG.5;[127X[104X
    [4X[28X[ [ 1, 4, 0, 0, 1/2 ], [ 0, -1, 0, 0, 0 ], [ 0, 0, 1, 0, 0 ], [128X[104X
    [4X[28X  [ 0, 0, 0, -1, 1/2 ], [ 0, 0, 0, 0, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XG.6;[127X[104X
    [4X[28X[ [ 1, 8, 0, 0, 1/2 ], [ 0, -1, 0, 0, 0 ], [ 0, 0, -1, 0, 0 ], [128X[104X
    [4X[28X  [ 0, 0, 0, -1, 0 ], [ 0, 0, 0, 0, 1 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  a 4-dimensional almost crystallographic group the matrix group is built
  up  such  that  [22X{  a,  b,  c, d, α, β, γ }[122X as described in [Dek96] forms the
  defining  generating  set of [22XG[122X. For certain types the elements [22Xα[122X, [22Xβ[122X or [22Xγ[122X may
  not  be present. Similarly, for a 3-dimensional group we have the generating
  set [22X{ a, b, c, α, β }[122X and [22Xα[122X and [22Xβ[122X may be absent.[133X
  
  [33X[0;0YTo  obtain  a polycyclic generating sequence from the defining generators of
  the  matrix  group  we  have  to  order  the  elements in the generating set
  suitably.  For this purpose we take the subsequence of [22X(γ, β, α, a, b, c, d)[122X
  of  those generators which are present in the defining generating set of the
  matrix  group.  This new ordering of the generators is then used to define a
  polycyclic presentation of the given almost crystallographic group.[133X
  
