|
|||
---|---|---|---|
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 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. |
|||
|