


Polytopes, Resolutions and Group
Presentations
Suppose that G is a permutation group of degree n or a finite group of n×n orthogonal real matrices. In both cases we can try to use the action of G on Euclidean nspace R^{n }to obtain homological information about G. We do this by choosing a vector v in R^{n} which is fixed by no nontrivial element in G. Such a v is said to be in general position and always exists. We then form the convex hull of the vectors in the orbit of v under the action of G. This hull is a convex polytope which we denote by P(G,v). Its combinatorial structure can be accessed using the Polymake computational geometry software package. Consider for example the symmetric group S_{4} acting on R^{4} by permuting basis vectors. In this case a vector v is in general position if its coordinates are distinct, and the polytope P(S_{4},v) lies in the 3dimensional hyperplane consisting of all points whose coordinate sum equals the sum of the coordinates in v. Using the fact that S_{4} is a finite reflection group we can show that the polytope P(S_{4},v) has the same combinatorial structure for each general position vector v in R^{4 }. The polytope can be vizualized using the following commands (which call Polymake functions). 

gap>
OrbitPolytope(SymmetricGroup(4),[1,2,3,4],["visual"]); 

The
linearity
of the action implies that G permutes the kfaces of P(G,v)
in each dimension k. The cellular chain complex C_{*}(P(G,v))
of the polytope is thus a ZGequivariant chain complex. It is in fact a
ZGresolution of the trivial module Z since the polytope is
contractible. In general this will not be a free resolution. The following commands first compute the chain complex C_{*}(P(G,v)) for G=S_{4} and v=[1,2,3,4], then show that there are 3 orbits of edges and three orbits of facets. 

gap>
G:=SymmetricGroup(4);;v:=[1,2,3,4];; gap> P:=PolytopalComplex(G,v); Nonfree resolution in characteristic 0 for <matrix group of size 24 with 2 generators> . No contracting homotopy available. gap> P!.dimension(0); 1 gap> P!.dimension(1); 3 gap> P!.dimension(2); 3 gap> P!.dimension(3); 1 

The
following additional commands use the nonfree resolution P to
construct three terms of a free ZGresolution of Z for G=S_{4},
and then use this resolution to comute the second homology of G. 

gap>
R:=FreeGResolution(P,3); Resolution of length 3 in characteristic 0 for <matrix group of size 24 with 2 generators> . No contracting homotopy available. gap> Homology(TensorWithIntegers(R),2); [ 2 ] 

For
groups G that are not reflection groups the combinatorial structure of
the polytope P(G,v) will depend on the choice of general position
vector v. The following commands illustrate this for the alternating
group G=A_{4} and three choices of general position vectors
u=[1,2,2,4], v=[1,2,3,4], w=[1,1,3,4]. 

gap>
OrbitPolytope(AlternatingGroup(4),[1,2,3,4],["visual"]); gap> OrbitPolytope(AlternatingGroup(4),[1,1,3,4],["visual"]); gap> OrbitPolytope(AlternatingGroup(4),[1,2,2,4],["visual"]); 

The
resolutions obtained from P(G,v) will also vary with the choice of
general position v. For instance, continuoing with the last example we
obtain three different free resolutions for G=A_{4} and then
use these resolutions to obtain three different presentations of A_{4}.


gap>
P:=PolytopalComplex(AlternatingGroup(4),[1,2,3,4]);; gap> R:=FreeGResolution(P,3);; gap> Y:=PresentationOfResolution(R);; gap> Y.freeGroup; <free group on the generators [ f1, f2, f3 ]> gap> Y.relators; [ f2^2, f1*f3*f2^1, f1^3, f3^3 ] gap> P:=PolytopalComplex(AlternatingGroup(4),[1,1,3,4]);; gap> R:=FreeGResolution(P,3);; gap> Y:=PresentationOfResolution(R);; gap> Y.freeGroup; <free group on the generators [ f1, f2 ]> gap> Y.relators; [ f1^2, f2^3, f1^3*f2^3 ] gap> P:=PolytopalComplex(AlternatingGroup(4),[1,2,2,4]);; gap> R:=FreeGResolution(P,3);; gap> Y:=PresentationOfResolution(R);; gap> Y.freeGroup; <free group on the generators [ f1, f2 ]> gap> Y.relators; [ (f1*f2^1)^2, f1^3, f2^3 ] 

Orbit
polytopes
and
associated finite presentations for other 3dimensional
isometry groups are available here. 

Periodic
Resolutions
The cellular chain complex C_{*}(P(G,v)) is a complex of ZGmodules which, thanks to the contractibility of the polytope, has trivial homology in all but its top and bottom dimensions; its homology groups are infinite cyclic in both the top and bottom dimensions. Thus infinitely many copies of C_{*}(P(G,v)) can be spliced together to form an infinite periodic ZGresolution P_{*} of Z. In general P_{*} is not a free ZGresolution. But sometimes it is free, and the homology of G is then periodic with period equal to the dimension of P(G,v). The resolution P_{*} is free if all faces of the polytope (except the single top dimensional face) have trivial stabilizer group. For example, the usual 2dimensional complex representation of the group Q of quaternions can be regarded as a 4dimensional real representation. The group Q has order eight, and the 1skeleton of the 4dimensional polytope P(Q,v) can be pictured using the following commands. 

gap>
A:=[[0,1,0,0,],[1,0,0,0,],[0,0,0,1],[0,0,1,0]];; gap> B:=[[0,0,1,0],[0,0,0,1],[1,0,0,0],[0,1,0,0]];; gap> Q:=Group([A,B]);; gap> OrbitPolytope(Q,[1,0,0,0],["visual_graph"]); 

The following additional commands show that the polytope P(Q,v) yields a free ZQresolution of period 4.  
gap>
P:=PolytopalComplex(Q,[1,0,0,0]);; gap> for k in [1..3] do > for n in [1..P!.dimension(k)] do > Print(Order(P!.stabilizer(k,n)),"\n"); > od;od; 1 1 1 1 1 1 1 1 1 

The
following additional commands show that the quaternion group has third
integral homology H_{3}(Q,Z)=Z_{8} 

gap>
TP:=TensorWithIntegers(P);; gap> Homology(TP,3); [ 8 ] 

The
following
additional
command
yields
the
satisfying
group presentation Q = < i, j, k : ij=k, jk=i,
ki=j, ikj=1>
for the quaternion group Q.


gap>
PresentationOfResolution(P); rec( freeGroup := <free group on the generators [ f1, f2, f3 ]>, relators := [ f2*f3^1*f1^1, f3*f2*f1^1, f1*f2*f3, f1*f3^1*f2 ] ) 

Resolutions
for
Finite
Reflection
Groups
For a finite reflection group G the structure of the polytope P(G,v) is wellunderstood and can be constructed via theoretical methods and without recourse to expensive convex hull computations. The following commands construct a free resolution, via theoretical methods, for the finite reflection group of type B_{6} and order 46080. The resolution is then used to compute the integral homology of G in degree 4. 

gap>
D:=[[1,[2,3]],[2,[3,3]],[3,[4,3]],[4,[5,3]],[5,[6,4]]];; gap> CoxeterDiagramDisplay(D); gap>
R:=ResolutionCoxeterGroup(D,5);;
gap>
Homology(TensorWithIntegers(R),4);
[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ] 

