  
  [1X2 [33X[0;0YAlgorithms for almost crystallographic groups[133X[101X
  
  [33X[0;0YThis  chapter  presents  a variety of algorithms for almost crystallographic
  groups.  In  most  cases,  they  assume  a polycyclically presented group as
  input;  in particular, the input groups must be polycyclic in this case. The
  methods  described here supplement the methods of the [5XPolycyclic[105X package for
  polycyclically  presented  groups. Many of the functions in this chapter are
  based  on  methods  of  the [5XPolycyclic[105X package and thus this package must be
  installed  to  use the functions introduced here. We refer to the [5XPolycyclic[105X
  package for further information on polycyclic presentations.[133X
  
  
  [1X2.1 [33X[0;0YProperties of almost crystallographic groups[133X[101X
  
  [1X2.1-1 IsAlmostCrystallographic[101X
  
  [33X[1;0Y[29X[2XIsAlmostCrystallographic[102X( [3XG[103X ) [32X property[133X
  
  [33X[0;0YThis  function  checks  if  a  polycyclically  presented  group  [3XG[103X is almost
  crystallographic;  that is, it checks if [3XG[103X is nilpotent-by-finite and has no
  non-trivial finite normal subgroup.[133X
  
  [1X2.1-2 IsAlmostBieberbachGroup[101X
  
  [33X[1;0Y[29X[2XIsAlmostBieberbachGroup[102X( [3XG[103X ) [32X property[133X
  
  [33X[0;0YThis  function  checks  if  a  polycyclically  presented  group  [3XG[103X is almost
  Bieberbach; that is, it checks if [3XG[103X is nilpotent-by-finite and torsion free.[133X
  
  
  [1X2.2 [33X[0;0YBetti numbers[133X[101X
  
  [33X[0;0YLet  [22XG[122X be a polycyclically presented and torsion free group of Hirsch length
  [22Xn[122X.  Then we can compute the Betti numbers [22Xβ_i(G)[122X for [22Xi ∈ {0, 1, 2, n-2, n-1,
  n}[122X.  If [22Xn ≤ 6[122X, then we can compute all Betti numbers [22Xβ_i(G)[122X for [22X0 ≤ i ≤ 6[122X of
  [22XG[122X.  We  introduce  the  following functions for this purpose and we refer to
  [Bro82] for the details on the orientation module and the Betti numbers.[133X
  
  [1X2.2-1 OrientationModule[101X
  
  [33X[1;0Y[29X[2XOrientationModule[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0YThis  function  determines  the  orientation  module  of  the polycyclically
  presented  group  [3XG[103X;  that is, it returns a list of matrices [22Xm_1, ..., m_n ∈
  GL(  1,  ℤ  )[122X  which  are  the  images  of the [10XIgs(G)[110X in their action on the
  orientation module.[133X
  
  [1X2.2-2 BettiNumber[101X
  
  [33X[1;0Y[29X[2XBettiNumber[102X( [3XG[103X, [3Xm[103X ) [32X operation[133X
  
  [33X[0;0YThis  function  returns the [3Xm[103Xth Betti number of the polycyclically presented
  torsion  free  group  [3XG[103X if [22Xm ∈ {0, 1, 2, n-2, n-1, n}[122X, where [22Xn[122X is the Hirsch
  length of [3XG[103X.[133X
  
  [1X2.2-3 BettiNumbers[101X
  
  [33X[1;0Y[29X[2XBettiNumbers[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0YThis  function  returns  the  Betti  numbers of the polycyclically presented
  torsion free group [3XG[103X if the Hirsch length of [3XG[103X is smaller than 7.[133X
  
  
  [1X2.3 [33X[0;0YDetermination of certain extensions[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be a polycyclically presented almost crystallographic group. We want
  to check the existence of certain extensions of [22XG[122X.[133X
  
  [33X[0;0YFirst,  it  is  well-known  that  the equivalence classes of extensions of [22XG[122X
  correspond to the second cohomology group of [22XG[122X. This cohomology group can be
  computed  using  the  methods  of  the [5XPolycyclic[105X package for any explicitly
  given  module  of [22XG[122X. Further, we can construct a polycyclic presentation for
  each  cocycle  of the second cohomology group. We give an example for such a
  computation below.[133X
  
  [33X[0;0YHowever,  we  may be interested in certain extensions only; for example, the
  torsion  free  extensions  are  often  of particular interest. If the second
  cohomology  group  is  finite, then we can compute a polycyclic presentation
  for  each  element  of  this group and check the resulting group for torsion
  freeness. But if the second cohomology group is infinite, then this approach
  is  not  available. Hence we introduce the following special method to cover
  this and related applications.[133X
  
  [1X2.3-1 HasExtensionOfType[101X
  
  [33X[1;0Y[29X[2XHasExtensionOfType[102X( [3XG[103X, [3Xtorsionfree[103X, [3Xminimalcentre[103X ) [32X function[133X
  
  [33X[0;0YSuppose  that  [3XG[103X is a polycyclically presented almost crystallographic group
  with  Fitting  subgroup [22XN[122X. This function checks if there is a [22XG[122X-module [22XM ≅ ℤ[122X
  which is centralized by [22XN[122X such that there exists a torsion free extension of
  [22XM[122X by [3XG[103X (if the flag [3Xtorsionfree[103X is true) or an extension [22XE[122X with [22XZ(Fitt(E)) =
  M[122X  (if  the flag [3Xminimalcentre[103X is true) or an extension which satisfies both
  conditions (if both flags are true).[133X
  
  [33X[0;0YWe  note  that  the  existence  of  such  extensions  is  of interest in the
  determination  of extensions which are almost Bieberbach groups. We refer to
  [DE03]  for  a  more  detailed  account  of this application and for further
  results of a similar nature.[133X
  
