Previous About HAP: Resolutions for Arithmetic Groups next

Suppose that a group G acts on a contractible cellular space X by permuting cells. Suppose additionally that  we have a method for constructing a free ZHe-resolution Re of each cell stabilizer group He . Using a method explained in [G. Ellis, J. Harris & E. Sköldberg, "Polytopal resolutions for finite groups", J. Reine Angewandte Math.] we can combine the resolutions Re with the cellular chain complex C*(X) to form a free ZG-resolution.
For a number of arithmetic groups, such as G=SL3(Z) and  G=PSL4(Z), the data for an appropriate exact G-equivariant chain complex C*(X) has been computed by Mathieu Dutour and Alexander Rahm and stored as part of HAP. These chain complexes can be accessed by the following HAP commands.
gap> C:=ContractibleGcomplex("SL(3,Z)");
Non-free resolution in characteristic 0 for <matrix group with
65 generators> .
No contracting homotopy available.
The list of the available complexes can be found as follows. (It is actually two lists, data for the first being due to Mathieu Dutour and data for the second being due to Alexander Rahm.)
gap>  C:=ContractibleGcomplex("help");
G-complexes are implemented for the following groups only:

SL(2,Z) , SL(3,Z) , PGL(3,Z[i]) , PGL(3,Eisenstein_Integers) ,
PSL(4,Z) , PSL(4,Z)_b , PSL(4,Z)_c , PSL(4,Z)_d ,
Sp(4,Z)

(where subscripts _b etc denote alternative complexes for a given group) and

SL(2,O-d) , d=2, 7, 11, 19, 43, 67, 163

where O-d denotes the ring of integers of the number field Q(sqrt(-d)).

fail

The first 5 terms of a free ZG-resolution for say G=SL3(Z), together with the 4th integral homology, can be contructed using the following commands. (We remark that all degrees of the integral homology of SL3(Z) were calculated in a classic paper by Christophe Soule [The cohomology of SL3(Z), Topology 17 (1978) 1–22].
gap> C:=ContractibleGcomplex("SL(3,Z)");;
gap> R:=FreeGResolution(C,5);
Resolution of length 5 in characteristic 0 for <matrix group with
65 generators> .
No contracting homotopy available.

gap> Homology(TensorWithIntegers(R),4);
[ 2 ]
The cohomology of an arbitrary finite index subgroups of G=SL3(Z) can be investigated by first converting the resolution for the matrix group G into a resolution for an isomorphic finitely presented group. This convertion can be done using the command ResolutionToResolutionOfFpGroup. One can then use GAP's implementation of the algorithm for enumerating subgroups up to a given index.
ResolutionToResolutionOfFpGroup(R);
gap> G:=R!.group;
<fp group on the generators [ f1, f2, f3, f4 ]>

gap>index:=15;;
gap> L:=LowIndexSubgroupsFpGroup(G,index);;
gap> Length(L);
8
gap> H:=L[8];;
gap> Index(G,H);
8

gap> #So H is a subgroup of index 8 in G=SL(3,Z). A presentation for H can be found as follows.

gap> RelatorsOfFpGroup(Image(IsomorphismFpGroup(H)));
[ F1^3, F1*F2*F1*F2*F1*F2,  F1*F2^-2*F1^-1*F2*F1*F2^-2*F1^-1*F2,  F2^-1*F1*F2^-1*F1*F2^-1*F1*F2^-1*F1*F2^-1*F1*F2^-1*F1 ]
A resolution for H and its 4th integral homology can be found as follows.
gap> S:=ResolutionSubgroup(R,H);
Resolution of length 5 in characteristic 0 for Group(<fp, no generators known>) .
No contracting homotopy available.

gap> S:=ResolutionSubgroup(R,H);
Resolution of length 5 in characteristic 0 for Group(<fp, no generators known>) .
No contracting homotopy available.

gap> Homology(TensorWithIntegers(S),4);
[ 2, 2 ]
The homology of a congruence subgroup H in SL(2,Z) can be computed as follows. In the example the congruence subgroup H is the subgroup H=Gamma0(197) of integer matrices of the form

[ [ p      , q ]
[ 197r , s ] ]

with ps-197rq = 1, and is constructed using the prototype "Congruence" package being developed by  Ann Dooms, Eric Jespers, Alexander Konovalov and Helena Verrill.
gap> C:=ContractibleGcomplex("SL(2,Z)");;
gap> R:=FreeGResolution(C,5);;
gap> H:=CongruenceSubgroupGamma0(197);;
gap> S:=ResolutionFiniteSubgroup(R,H);;
gap> D:=TensorWithIntegers(S);;
gap> Homology(D,4);
[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2 ]
The homology of SL(2,Z[1/p]) can be computed using the following resolution (which is joint work with Bui Anh Tuan). This resolution can be used to recover, for any specific prime p, the periodic cohomology of SL(2,Z[1/p]) determined by Alejandro Adem and Nadim Naffah ["On the cohomology of SL2(Z[1/p])", arXiv:math9503230v1].
gap> R:=ResolutionSL2Z(7,6);
Resolution of length 6 in characteristic 0 for SL(2,Z[1/7]) .
No contracting homotopy available.

gap> Homology(TensorWithIntegers(R),5);
[ 4, 12 ]
In order to compute a free resolution R for PSL(2,O-2) we first construct a contractible complex C with (non-free) action of SL(2,O-2). We then factor out the action of the group D of order two generated by the negative of the identity matrix to obtain a contractibe complex PC with (non-free) action of PSL(2,O-2). We use PC to compute the resolution R. The relevant commands follow.
gap> C:=ContractibleGcomplex("SL(2,O-2)");;
gap> D:=Group( -Identity(C!.group) );;
gap> PC:=QuotientOfContractibleGcomplex(C,D);;
gap> R:=FreeGResolution(PC,21);;
The Poincare series for the mod 2 cohomology H*(PSL(2,O-2),Z2) was calculated by Ethan Berkove in ["The mod-2 cohomology of the Bianchi groups", Transactions American Math Soc, vol 355, number 10 (2000), 4585-4602]. The following commands recompute this using our resolution for PSL(2,O-2) .

(Strictly speaking, the commands compute a rational function p(x) whose expansion has coefficient of xn guaranteed to be equal to the dimension of Hn(PSL(2,O-2),Z2) for at least all n<21.)
gap> K:=TensorWithIntegersModP(R,2);;
gap> L:=List([0..20],n->Homology(K,n));;

gap> p:=PoincareSeries(L,20);
(x_1^6+x_1^5-x_1^4+x_1^2+x_1+1)/(x_1^4-x_1^3-x_1+1)
 Previous Page Contents Next page