\Chapter{Example computations with almost crystallographic groups} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Example computations I} Using the functions available for pcp groups in the share package {\sf polycyclic} it is now easy to redo some of the calculations of \cite{KD}. As a first example we check whether the groups indicated as torsion free in \cite{KD} are also determined as torsion free ones by \GAP. In \cite{KD} these almost Bieberbach groups are listed as ``AB-groups''. So for type ``013'' these are the groups with parameters $(k,0,1,0,1,0)$ where $k$ is an even integer. Let's look at some examples in \GAP: \beginexample gap> G:=AlmostCrystallographicPcpDim4("013",[8,0,1,0,1,0]); Pcp-group with orders [ 2, 2, 0, 0, 0, 0 ] gap> IsTorsionFree(G); true gap> G:=AlmostCrystallographicPcpDim4("013",[9,0,1,0,1,0]); Pcp-group with orders [ 2, 2, 0, 0, 0, 0 ] gap> IsTorsionFree(G); false \endexample Further, there is also some cohomology information in the tables of \cite{KD}. In fact, the groups in this library were obtained as extensions $E$ of the form $$ 1 \rightarrow \Z \rightarrow E \rightarrow Q \rightarrow 1 $$ where, in the 4-dimensional case $Q = E/\langle d \rangle$. The cohomology information for the particular example above shows that the groups determined by a parameter set $(k_1,k_2,k_3,k_4,k_4,k_6)$ are equivalent as extensions to the groups determined by the parameters $(k_1, k_2 \bmod 2, k_3 \bmod 2, k_4 \bmod 2, k_5 \bmod 2, 0)$. This is also visible in finding torsion: \beginexample gap> G:=AlmostCrystallographicPcpDim4("013",[10,0,2,0,1,0]); Pcp-group with orders [ 2, 2, 0, 0, 0, 0 ] gap> IsTorsionFree(G); false gap> G:=AlmostCrystallographicPcpDim4("013",[10,0,3,0,1,9]); Pcp-group with orders [ 2, 2, 0, 0, 0, 0 ] gap> IsTorsionFree(G); true \endexample %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Example computations II} The computation of cohomology groups played an important role in the classification of the almost Bieberbach groups in \cite{KD}. Using \GAP, it is now possible to check these computations. As an example we consider the 4-dimensional almost crystallographic groups of type 85 on page 202 of \cite{KD}. This group $E$ has 6 generators. In the table, one also finds the information $$ H^2(Q,\Z) = \Z \oplus (\Z_2)^2 \oplus \Z_4 $$ for $Q=E/\langle d \rangle$ as above. Moreover, the $Q$--module $\Z$ is in fact the group $\langle d \rangle$, where the $Q$-action comes from conjugation inside $E$. In the case of groups of type 85, $\Z$ is a trivial $Q$-module. The following example demonstrates how to (re)compute this two-cohomology group $H^2(Q,\Z)$. \beginexample gap> G:=AlmostCrystallographicPcpGroup(4, "085", false); Pcp group with orders [ 2, 4, 0, 0, 0, 0 ] gap> GroupGeneratedByd:=Subgroup(G, [G.6] ); Pcp group with orders [ 0 ] gap> Q:=G/GroupGeneratedByd; Pcp group with orders [ 2, 4, 0, 0, 0 ] gap> action:=List( Pcp(Q), x -> [[1]] ); [ [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ] gap> C:=CRRecordByMats( Q, action);; gap> TwoCohomologyCR( C ).factor.rels; [ 2, 2, 4, 0 ] \endexample This last line gives us the abelian invariants of the second cohomology group $H^2(Q,\Z)$. So we should read this line as $$ H^2(Q,\Z) = \Z_2 \oplus \Z_2 \oplus \Z_4 \oplus \Z $$ which indeed coincides with the information in \cite{KD}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Example computations III} As another application of the capabilities of the combination of `aclib' and {\sf polycyclic} we check some computations of \cite{DM}. Section 5 of the paper \cite{DM} is completely devoted to an example of the computation of the $P$-localization of a virtually nilpotent group, where $P$ is a set of primes. Although it is not our intention to develop the theory of $P$-localization of groups at this place, let us summarize some of the main results concerning this topic here. For a set of primes $P$, we say that $n \in P$ if and only if $n$ is a product of primes in $P$. A group $G$ is said to be $P$-local if and only if the map $\mu_n:G\rightarrow G: g \mapsto g^n$ is bijective for all $n \in P'$, where $P'$ is the set of all primes not in $P$. The $P$-localization of a group $G$, is a $P$-local group $G_P$ together with a morphism $\alpha :G \rightarrow G_P$ which satisfy the following universal property: For each $P$-local group $L$ and any morphism $\varphi: G \rightarrow L$, there exists a unique morphism $\psi:G_P \rightarrow L$, such that $\psi \circ \alpha = \varphi$. This concept of localization is well developed for finite groups and for nilpotent groups. For a finite group $G$, the $P$-localization is the largest quotient of $G$, having no elements with an order belonging to $P'$ (the morphism $\alpha$, mentioned above is the natural projection). In \cite{DM} a contribution is made towards the localization of virtually nilpotent groups. The theory developed in the paper is then illustrated in the last section of the paper by means of the computation of the $P$-localization of an almost crystallographic group. For their example the authors have chosen an almost crystallographic group $G$ of dimension 3 and type 17. For the set of parameters $(k_1,k_2,k_3,k_4)$ they have considered all cases of the form $(k_1,k_2,k_3,k_4)=(2,0,0,k_4)$. Here we will check their computations in two cases $k_4=0$ and $k_4=1$ using the set of primes $P=\{2\}$. The holonomy group of these almost crystallographic groups $G$ is the dihedral group ${\cal D}_6$ of order 12. Thus there is a short exact sequence of the form $$ 1 \rightarrow {\rm Fitt}(G) \rightarrow G \rightarrow {\cal D}_6 \rightarrow 1. $$ As a first step in their computation, Descheemaeker and Malfait determine the group $I_{P'}{\cal D}_6$, which is the unique subgroup of order 3 in ${\cal D}_6$. One of the main objects in \cite{DM} is the group $K=p^{-1} (I_{P'}{\cal D}_6)$, where $p$ is the natural projection of $G$ onto its holonomy group. It is known that the $P$-localization of $G$ coincides with the $P$-localization of $G/\gamma_3(K)$, where $\gamma_3(K)$ is the third term in the lower central series of $K$. As $G/\gamma_3(K)$ is finite in this example, we exactly know what this $P$-localization is. Let us now show, how GAP can be used to compute this $P$-localization in two cases: \medskip First case: The parameters are $(k_1,k_2,k_3,k_4)=(2,0,0,0)$ \beginexample gap> G := AlmostCrystallographicPcpGroup(3, 17, [2,0,0,0] ); Pcp group with orders [ 2, 6, 0, 0, 0 ] gap> projection := NaturalHomomorphismOnHolonomyGroup( G ); [ g1, g2, g3, g4, g5 ] -> [ g1, g2, identity, identity, identity ] gap> F := HolonomyGroup( G ); Pcp group with orders [ 2, 6 ] gap> IPprimeD6 := Subgroup( F , [F.2^2] ); Pcp group with orders [ 3 ] gap> K := PreImage( projection, IPprimeD6 ); Pcp group with orders [ 3, 0, 0, 0 ] gap> PrintPcpPresentation( K ); pcp presentation on generators [ g2^2, g3, g4, g5 ] g2^2 ^ 3 = identity g3 ^ g2^2 = g3^-1*g4^-1 g3 ^ g2^2^-1 = g4*g5^-2 g4 ^ g2^2 = g3*g5^2 g4 ^ g2^2^-1 = g3^-1*g4^-1*g5^2 g4 ^ g3 = g4*g5^2 g4 ^ g3^-1 = g4*g5^-2 gap> Gamma3K := CommutatorSubgroup( K, CommutatorSubgroup( K, K )); Pcp group with orders [ 0, 0, 0 ] gap> quotient := G/Gamma3K; Pcp group with orders [ 2, 6, 3, 3, 2 ] gap> S := SylowSubgroup( quotient, 3); Pcp group with orders [ 3, 3, 3 ] gap> N := NormalClosure( quotient, S); Pcp group with orders [ 3, 3, 3 ] gap> localization := quotient/N; Pcp group with orders [ 2, 2, 2 ] gap> PrintPcpPresentation( localization ); pcp presentation on generators [ g1, g2, g3 ] g1 ^ 2 = identity g2 ^ 2 = identity g3 ^ 2 = identity \endexample This shows that $G_P\cong \Z_2^3$. \medskip Second case: The parameters are $(k_1,k_2,k_3,k_4)=(2,0,0,1)$ \beginexample gap> G := AlmostCrystallographicPcpGroup(3, 17, [2,0,0,1]);; gap> projection := NaturalHomomorphismOnHolonomyGroup( G );; gap> F := HolonomyGroup( G );; gap> IPprimeD6 := Subgroup( F , [F.2^2] );; gap> K := PreImage( projection, IPprimeD6 );; gap> Gamma3K := CommutatorSubgroup( K, CommutatorSubgroup( K, K ));; gap> quotient := G/Gamma3K;; gap> S := SylowSubgroup( quotient, 3);; gap> N := NormalClosure( quotient, S);; gap> localization := quotient/N; Pcp group with orders [ 2, 2, 2 ] gap> PrintPcpPresentation( localization ); pcp presentation on generators [ g1, g2, g3 ] g1 ^ 2 = identity g2 ^ 2 = g3 g3 ^ 2 = identity g2 ^ g1 = g2*g3 g2 ^ g1^-1 = g2*g3 \endexample In this case, we see that $G_P={\cal D}_4$. \medskip The reader can check that these results coincide with those obtained in \cite{DM}. Note also that we used a somewhat different scheme to compute this localization than the one used in \cite{DM}. We invite the reader to check the same computations, tracing exactly the steps made in \cite{DM}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %E Emacs . . . . . . . . . . . . . . . . . . . . . local emacs variables %% %% Local Variables: %% fill-column: 73 %% End: %%