Previous | About HAP: Poincare series for groups of order 32 | next

The Poincare series for the cohomology ring H*(G,Zp) is the infinite series
a0 + a1x + a2x2 + a3x3 + ...
where ak is by definition the dimension of the vector space Hk(G,Zp) . The Poincare series can be expressed as a rational function P(x)/Q(x) where P(x) and Q(x) are polynomials of finite degree.
The following commands compute Poincare series for all the groups of order 32. They rely on an algorithm which seems highly unlikely to produce a wrong answer. However, there is no general proof that the algorithm produces a series which is correct in arbitrarily high degree. Proofs have to be provided case by case.

gap> for G in AllSmallGroups(32) do
> Print("\n Small Group ",IdSmallGroup(G)," has Poincare series \n",
> PoincareSeries(G),"\n");
> od;
Small Group [ 32, 1 ] has Poincare series
(1)/(-x+1)
Small Group [ 32, 2 ] has Poincare series
(x^2+x+1)/(-x^5+x^4+2*x^3-2*x^2-x+1)
Small Group [ 32, 3 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 4 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 5 ] has Poincare series
(1)/(-x^4+2*x^3-2*x+1)
Small Group [ 32, 6 ] has Poincare series
(1)/(-x^4+2*x^3-2*x+1)
Small Group [ 32, 7 ] has Poincare series
(x^2-x+1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 8 ] has Poincare series
(x^5+x^2+1)/(x^8-2*x^7+2*x^6-2*x^5+2*x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 9 ] has Poincare series
(1)/(-x^4+2*x^3-2*x+1)
Small Group [ 32, 10 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 11 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 12 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 13 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 14 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 15 ] has Poincare series
(1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 16 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 17 ] has Poincare series
(1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 18 ] has Poincare series
(1)/(x^2-2*x+1)
Small Group [ 32, 19 ] has Poincare series
(1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 20 ] has Poincare series
(x^2+x+1)/(-x^3+x^2-x+1)
Small Group [ 32, 21 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 22 ] has Poincare series
(1)/(x^5-3*x^4+2*x^3+2*x^2-3*x+1)
Small Group [ 32, 23 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 24 ] has Poincare series
(1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 25 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 26 ] has Poincare series
(x^2+x+1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 27 ] has Poincare series
(1)/(x^5-3*x^4+2*x^3+2*x^2-3*x+1)
Small Group [ 32, 28 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 29 ] has Poincare series
(1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 30 ] has Poincare series
(x^3+x+1)/(-x^6+2*x^5-x^4+x^2-2*x+1)
Small Group [ 32, 31 ] has Poincare series
(1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 32 ] has Poincare series
(x^4+x^3+x^2+x+1)/(x^6-2*x^5+3*x^4-4*x^3+3*x^2-2*x+1)
Small Group [ 32, 33 ] has Poincare series
(-x^4+x^3+1)/(-x^7+3*x^6-5*x^5+7*x^4-7*x^3+5*x^2-3*x+1)
Small Group [ 32, 34 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 35 ] has Poincare series
(x^2+x+1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 36 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 37 ] has Poincare series
(1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 38 ] has Poincare series
(x^2+x+1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 39 ] has Poincare series
(1)/(-x^3+3*x^2-3*x+1)
Small Group [ 32, 40 ] has Poincare series
(1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 41 ] has Poincare series
(x^2+x+1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 42 ] has Poincare series
(x^2+x+1)/(x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 43 ] has Poincare series
(1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 44 ] has Poincare series
(x^6+x^5+x^2+x+1)/(x^8-2*x^7+2*x^6-2*x^5+2*x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 45 ] has Poincare series
(1)/(x^4-4*x^3+6*x^2-4*x+1)
Small Group [ 32, 46 ] has Poincare series
(1)/(x^4-4*x^3+6*x^2-4*x+1)
Small Group [ 32, 47 ] has Poincare series
(x^2+x+1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 48 ] has Poincare series
(x^2+x+1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 49 ] has Poincare series
(x^2+x+1)/(-x^5+3*x^4-4*x^3+4*x^2-3*x+1)
Small Group [ 32, 50 ] has Poincare series
(x^6+2*x^5+3*x^4+3*x^3+3*x^2+2*x+1)/(x^8-2*x^7+2*x^6-2*x^5+
2*x^4-2*x^3+2*x^2-2*x+1)
Small Group [ 32, 51 ] has Poincare series
(1)/(-x^5+5*x^4-10*x^3+10*x^2-5*x+1)
gap> TimeToString(time);
"80.006 sec."

Click here for Poincare series for the groups of order 64.

Proving correctness of a poincare series
We list a few simply stated results which, in some cases, suffice to prove that a computed Poincare series is correct. In these, p(G) denotes the poincare series of a finite p-group G. We write p(H)<=p(G) if the i-th coefficient of p(H) is less than or equal to the i-the coefficient of p(G) for all i.

Theorem 1 If N is a normal subgroup of G then p(G)<=p(N)p(G/N). In particular, if G=N×Q is a direct product then p(G)=p(N)p(Q).

This follows immediately from the twised tensor product construction of CTC Wall.

Theorem 2 If G is a cyclic p-group then p(G)=1/(1-x)

So, for example, these two theorems in conjunction with the following GAP commands prove that the dihedral group G=SmallGroup(32,18) has poincare series p(G)<=1/(1-x)2 .

gap> G:=SmallGroup(32,18);; gap> N:=NormalSubgroups(G)[5];; gap> IsCyclic(N); true gap> IsCyclic(G/N); true
To prove the equality p(G)=1/(1-x)2 we consider the two maximal elementary abelian subgroups A, B in G and the induced homomorpisms H*(G,Zp) → H*(A,Zp) , H*(G,Zp) → H*(B,Zp). (Actually, because these homomorphisms are not yet implemented in HAP we look at the dual homology homomorphisms: in this case the nth homology is isomorphic to the nth cohomology.)

gap> S:=LatticeSubgroups(G);;
gap> S:=ConjugacyClassesSubgroups(S);;
gap> S:=List(S,x->ClassElementLattice(x,1));;
gap> S:=Filtered(S,x->IsElementaryAbelian(x));;
gap> List(S,x->Order(x));
[ 1, 2, 2, 2, 4, 4 ]
gap> A:=S[5];;
gap> B:=S[6];;
gap> RG:=ResolutionFiniteGroup(G,4);;
gap> RA:=ResolutionFiniteGroup(A,4);;
gap> A2G:=GroupHomomorphismByFunction(A,G,x->x);;
gap> RA2RG:=EquivariantChainMap(RA,RG,A2G);;
gap> CA2CG:=TensorWithIntegersModP(RA2RG,2);;
gap> f1:=Homology(CA2CG,1);
[ f1, f2 ] -> [ f1, <identity ...> ]
gap> f2:=Homology(CA2CG,2);
[ f1, f2, f3 ] -> [ f1, f1*f2*f3, f1*f2*f3 ]
gap> RB:=ResolutionFiniteGroup(B,4);;
gap> B2G:=GroupHomomorphismByFunction(B,G,x->x);;
gap> RB2RG:=EquivariantChainMap(RB,RG,B2G);;
gap> CB2CG:=TensorWithIntegersModP(RB2RG,2);;
gap> g1:=Homology(CB2CG,1);
[ f1, f2 ] -> [ f2, <identity ...> ]
gap> g2:=Homology(CB2CG,2);
[ f1, f2, f3 ] -> [ f2, f1*f2*f3, f1*f2*f3 ]

Using

Theorem 3 Let E be the elementary abelian group of order 2n. Then the graded cohomology ring H*(E,Z2) is isomorphic to the free polynomial ring Z2[x1,x2, ... ,xn] in which each xi has degree 1.

we have H*(A,Zp) = Zp[x,y] and H*(B,Zp) = Zp[u,v] . From the above HAP computations we can deduce that the image of the induced ring homomorphism
f+g: H*(G,Zp) → H*(A,Zp) + H*(B,Zp) = Zp[x,y] + Zp[u,v] =Zp[x,y,u,v]/<xu=0,xv=0,yu=0,yv=0]
contains the polynomials x, u, xy+uv and their products such as:

Degree | Number of Polynomials |  |  |  |  |
0 | 1 | 1 |  |  |  |
1 | 2 | x | u |  |  |
2 | 3 | x2 | u2 | xy+uv |  |
3 | 4 | x3 | u3 | x2y | u2v |
4 | 5 | x4 | u4 | x3y | u3v | x2y2+u2v2

Hence the poincare series for the dihedral group satisfies p(G) >= 1+2x+3x2+4x3+5x4+... = 1/(1-x)2. This completes the proof that p(G) = 1/(1-x)2 .

Previous Page | Contents | Next page