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. Such a vector always exists. 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 (see [S.Kelly, "Orbit polytopes for finite groups", NUI Galway PhD thesis, in preparation]). Consider for example the symmetric group S4 acting on R4 by permuting basis vectors. For any vector v in R4 with 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