Previous
About HAP: Groups acting on polytopes
next

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 n-space Rn to obtain information about the cohomology of G. We do this by choosing a vector v in Rn which is fixed by no non-trivial element in G. (It is an exercise to see that such a vector 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 S4 acting on R4 by permuting basis vectors. For any  vector v in Rwith distinct coordinates the polytope P(S4,v) is the Permutahedron. It 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 k-faces of P(G,v) in each dimension k. The action of G on the vertices (0-faces) can be recorded by labelling edges with elements of G. The set of edge labels corresponds to a generating set for the group G. For G=S4 the labelling is as follows.

(Pictures for other 3-dimensional euclidean isometry groups are given here.)

The following commands show that the edge labels for P(S4,v) are the permutations x=(1,2), y=(2,3), z=(3,4).
gap> G:=SymmetricGroup(4);;v:=[1,2,3,4];;
gap> P:=PolytopalGenerators(G,v);;
gap> P.generators;
[ (3,4), (2,3), (1,2) ]
The following commands show that there are precisely three orbits of 1-faces (edges) and also three orbits of 2-faces in the polytope P(S4,v).
gap> G:=SymmetricGroup(4);;v:=[1,2,3,4];;
gap> P:=PolytopalComplex(G,v);;
gap> P!.dimension(1);
3
gap> P!.dimension(2);
3
The following additional commands for P(S4,v) show that the stabilizer subgroups for the 2-cells in each of the three orbits are the three groups C2×C2=<x,z>, S3=<x,y> and S3=<y,z>.
gap> P!.stabilizer(2,1);
Group([ (1,2), (1,2)(3,4) ])
gap> P!.stabilizer(2,2);
Group([ (1,3,2), (1,3) ])
gap> P!.stabilizer(2,3);
Group([ (2,4,3), (2,4) ])
The cellular chain complex C*(P(G,v)) is a complex of ZG-modules 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 ZG-resolution P* of Z.

In general P* is not a free ZG-resolution. 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 2-dimensional complex representation of the group Q of quaternions can be regarded as a 4-dimensional real representation. The group Q has order eight, and the 1-skeleton of the 4-dimensional 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 ZQ-resolution 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 H3(Q,Z)=Z8
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 ] )
This method of obtaining a presentation for the group G from the combinatorial structure of the polytope P(G,v) will work  whenever the vertices and edges of the polytope have trivial stabilizer in G. 

For example, the  following commands produce a nice presentation for the permutation group G of order 6561 arising as the Sylow 3-subgroup of the alternating group A18 .
gap> G:=SylowSubgroup(AlternatingGroup(18),3);;
gap> P:=PolytopalComplex(G,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],2);
gap> PresentationOfResolution(P);
rec( freeGroup := <free group on the generators
    [ f1, f2, f3, f4, f5, f6, f7, f8 ]>,
  relators := [ f1^3, f2*f1*f2^-1*f1^-1, f3*f1*f3^-1*f1^-1,
      f4*f3*f4^-1*f1^-1, f1*f4^-1*f2^-1*f4, f5*f1*f5^-1*f1^-1,
      f6*f1*f6^-1*f1^-1, f7*f1*f7^-1*f1^-1, f8*f1*f8^-1*f1^-1, f2^3,
      f3*f2*f3^-1*f2^-1, f2*f4^-1*f3^-1*f4, f5*f2*f5^-1*f2^-1,
      f6*f2*f6^-1*f2^-1, f7*f2*f7^-1*f2^-1, f8*f2*f8^-1*f2^-1, f3^3,
      f5*f3*f5^-1*f3^-1, f6*f3*f6^-1*f3^-1, f7*f3*f7^-1*f3^-1,
      f8*f3*f8^-1*f3^-1, f4^3, f5*f4*f5^-1*f4^-1, f6*f4*f6^-1*f4^-1,
      f7*f4*f7^-1*f4^-1, f8*f4*f8^-1*f4^-1, f5^3, f6*f5*f6^-1*f5^-1,
      f7*f5*f7^-1*f5^-1, f8*f7*f8^-1*f5^-1, f5*f8^-1*f6^-1*f8, f6^3,
      f7*f6*f7^-1*f6^-1, f6*f8^-1*f7^-1*f8, f7^3, f8^3 ] )
Suppose that the vertices of the polytope P(G,v) have trivial stabilizer group, but that an edge with generator label x has non-trivial stabilizer group. Then the relation x2=1 would have to be added to a presentation for G obtained by the above method.

The function PresentationOfResolution(P) does not work if the resolution P is not free in dimension 1. However, the following commands show for example that the alternating group A8 admits a presentation with six generators and 21 relators. The relators are of lengths 2,3,4,5,6,8 and their total length is 89.
gap> P:=PolytopalComplex(AlternatingGroup(8),[1,2,3,4,5,6,7,7],2);;
gap> NumberOfGens:=P!.dimension(1);
6

gap> OrdersOfGens:=List([1..NumberOfGens],x->Order(P!.stabilizer(1,x)));
[ 1, 2, 2, 2, 2, 2 ]

gap> NumberOfRels:=5+P!.dimension(2);
21

gap> SizesOfRels:=Concatenation([2,2,2,2,2],
                                                              List([1..NumberOfRels-5],x->Length(P!.boundary(2,x))));
[ 2, 2, 2, 2, 2, 3, 8, 5, 5, 5, 5, 6, 4, 4, 4, 6, 4, 4, 6, 4, 6 ]

gap> Sum(SizesOfRels);
89
When the k-faces e in P(G,v) have non-trivial stabilizer groups Ge then the non-free ZG-resolution C*(P(G,v)) can be combined with free ZGe-resolutions to produce a smallish (i.e. polynomial growth) free ZG-resolution. The details are explained in [G. Ellis, J. Harris & E. Sköldberg, "Polytopal resolutions for finite groups", J. Reine Angewandte Math., to appear] but have not yet been implemented in HAP. A slightly weaker result states that there is a spectral sequence

E1pq  =  Hq(Ge[1],Z) +  ...  +  Hq(Ge[t],Z)          =>         Hp+q(G,Z)

in which the E1 term involves the q-th homology of the stabilizer groups Ge[i] where the e[i] are p-cells representing the orbits of p-cells under the action of G.
Previous Page
Contents
Next page