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