


The
Poincare series for the
cohomology ring H^{*}(G,Z_{p}) is the infinite series a_{0} + a_{1}x +
a_{2}x^{2} + a_{3}x^{3} + ...
where a_{k }is by definition the dimension of the vector space H^{k}(G,Z_{p}) . 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^32*x^2x+1) Small Group [ 32, 3 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 4 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 5 ] has Poincare series (1)/(x^4+2*x^32*x+1) Small Group [ 32, 6 ] has Poincare series (1)/(x^4+2*x^32*x+1) Small Group [ 32, 7 ] has Poincare series (x^2x+1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 8 ] has Poincare series (x^5+x^2+1)/(x^82*x^7+2*x^62*x^5+2*x^42*x^3+2*x^22*x+1) Small Group [ 32, 9 ] has Poincare series (1)/(x^4+2*x^32*x+1) Small Group [ 32, 10 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 11 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 12 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 13 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 14 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 15 ] has Poincare series (1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 16 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 17 ] has Poincare series (1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 18 ] has Poincare series (1)/(x^22*x+1) Small Group [ 32, 19 ] has Poincare series (1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 20 ] has Poincare series (x^2+x+1)/(x^3+x^2x+1) Small Group [ 32, 21 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 22 ] has Poincare series (1)/(x^53*x^4+2*x^3+2*x^23*x+1) Small Group [ 32, 23 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 24 ] has Poincare series (1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 25 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 26 ] has Poincare series (x^2+x+1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 27 ] has Poincare series (1)/(x^53*x^4+2*x^3+2*x^23*x+1) Small Group [ 32, 28 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 29 ] has Poincare series (1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 30 ] has Poincare series (x^3+x+1)/(x^6+2*x^5x^4+x^22*x+1) Small Group [ 32, 31 ] has Poincare series (1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 32 ] has Poincare series (x^4+x^3+x^2+x+1)/(x^62*x^5+3*x^44*x^3+3*x^22*x+1) Small Group [ 32, 33 ] has Poincare series (x^4+x^3+1)/(x^7+3*x^65*x^5+7*x^47*x^3+5*x^23*x+1) Small Group [ 32, 34 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 35 ] has Poincare series (x^2+x+1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 36 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 37 ] has Poincare series (1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 38 ] has Poincare series (x^2+x+1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 39 ] has Poincare series (1)/(x^3+3*x^23*x+1) Small Group [ 32, 40 ] has Poincare series (1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 41 ] has Poincare series (x^2+x+1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 42 ] has Poincare series (x^2+x+1)/(x^42*x^3+2*x^22*x+1) Small Group [ 32, 43 ] has Poincare series (1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 44 ] has Poincare series (x^6+x^5+x^2+x+1)/(x^82*x^7+2*x^62*x^5+2*x^42*x^3+2*x^22*x+1) Small Group [ 32, 45 ] has Poincare series (1)/(x^44*x^3+6*x^24*x+1) Small Group [ 32, 46 ] has Poincare series (1)/(x^44*x^3+6*x^24*x+1) Small Group [ 32, 47 ] has Poincare series (x^2+x+1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 48 ] has Poincare series (x^2+x+1)/(x^5+3*x^44*x^3+4*x^23*x+1) Small Group [ 32, 49 ] has Poincare series (x^2+x+1)/(x^5+3*x^44*x^3+4*x^23*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^82*x^7+2*x^62*x^5+ 2*x^42*x^3+2*x^22*x+1) Small Group [ 32, 51 ] has Poincare series (1)/(x^5+5*x^410*x^3+10*x^25*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 pgroup G. We write p(H)<=p(G) if the ith coefficient of p(H) is less than or equal to the ithe coefficient of p(G) for all i.
This follows immediately from the twised tensor product construction of CTC Wall.
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/(1x)^{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/(1x)^{2} we consider the two maximal elementary abelian subgroups A, B in G and the induced homomorpisms H^{*}(G,Z_{p}) → H^{*}(A,Z_{p}) , H^{*}(G,Z_{p}) → H^{*}(B,Z_{p}). (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
we have H^{*}(A,Z_{p}) = Z_{p}[x,y] and H^{*}(B,Z_{p}) = Z_{p}[u,v] . From the above HAP computations we can deduce that the image of the induced ring homomorphism f+g: H^{*}(G,Z_{p})
→ H^{*}(A,Z_{p}) + H^{*}(B,Z_{p})
= Z_{p}[x,y] + Z_{p}[u,v] =Z_{p}[x,y,u,v]/<xu=0,xv=0,yu=0,yv=0]
contains the polynomials x, u, xy+uv and their products such as: ^{ }


