Poincaré series
The Poincaré series for the mod-&p; cohomology ring H^*(G, \mathbb{F}) is the infinite series a_0 + a_1x + a_2x^2 + a_3x^3 + ... where a_k is the dimension of the vector space H^k(G, \mathbb{F}). The Poincaré function is a rational function P(x)/Q(x) which is equal to the Poincaré series.

Computing the Poincaré series using spectral sequences

&HAPprime; can calculate a provably-correct Poincaré series for the mod-&p; cohomology ring of a small &p;-group using spectral sequences, without having to compute the actual cohomology ring. The limiting sheet of a Lyndon-Hochschild-Serre spectral sequence for a group &G; will be a ring with the same additive structure as the cohomology ring for &G;, and thus the same Poincaré series. This is implemented in the &HAPprime; function . See the documentation for that function in the user guide for more details.
Computing the Poincaré series using a minimal resolution
Given a resolution R of length n for a group &G;, the &HAP; function calculates a quotient of polynomials such that the coefficient of x^k equals the dimension of H^k(G, \mathbb{F}) for k = 1 to k = n. Given a sufficiently long resolution R, this quotient should equal the true Poincaré series. The function can also automatically find a suitable value for n by trying resolutions of increasing length until a consistent estimate is found for the Poincaré series. This is likely to be correct, but we have no proof that this will always be the case.

The function allows &HAPprime; to provide a simplified implementation for calculating Poincaré series in the case where n is not specified (since extending existing resolutions is difficult in &HAP;). The &HAPprime; function is a replacement for &HAP;'s in the case where &G; is a &p;-group and the optimal n is not known.

By using the &HAPprime; resolution-calculation functions, saves memory when storing resolution, and switches to the GF algorithm when memory is low. As a result, it can calculate the Poincaré series for groups that would be impossible using &HAP; without having about five times the memory available to the machine.

Example Poincaré series computations

This example compares the time taken by and , and shows that the times are roughly comparable: gap> G := SmallGroup(64, 210);; gap> # Compute the Poincare series using HAP gap> P1 := PoincareSeries(G);time; (x_1^4+x_1^2+x_1+1)/(-x_1^7+3*x_1^6-5*x_1^5+7*x_1^4-7*x_1^3+5*x_1^2-3*x_1+1) 51355 gap> # Compute the Poincare series using HAPprime gap> P2 := PoincareSeriesAutoMem(G);time; (x_1^4+x_1^2+x_1+1)/(-x_1^7+3*x_1^6-5*x_1^5+7*x_1^4-7*x_1^3+5*x_1^2-3*x_1+1) 39774 gap> P1 = P2; true

The &HAPprime; function uses an alternative approach to compute Poincaré series which are guaranteed to be correct. In many cases it is also faster, as we see if we compute the Poincaré series for the same group using this function: gap> G := SmallGroup(64, 210);; gap> P3 := PoincareSeriesLHS(G);time; (x_1^4+x_1^2+x_1+1)/(-x_1^7+3*x_1^6-5*x_1^5+7*x_1^4-7*x_1^3+5*x_1^2-3*x_1+1) 3564

The Poincaré series of groups of order 64 and 128

Using &HAPprime;, on a dual-processor AMD Opteron 250 machine, we have calculated the Poincaré series for all of the groups of order 64 using the resolution-based technique. Most computed within a few seconds using only a few Mb of memory. With a maximum of 1Gb of memory available to &GAP;, four groups (numbers 4, 60, 242 and 266 from the &GAP; SmallGroup library) needed to switch to using . Calculating the Poincaré series of the most difficult group, SmallGroup(64, 60), took 24 days, computing a resolution whose last term was M_{16} = (\mathbb{F}G)^{2445}. The complete list of the Poincaré series for all groups of order 64 is available on the &HAPprime; website http://www.maths.nuigalway.ie/~pas/CHA/HAPprime/HAPprimeindex.html

There is an on-going programme of calculating the Poincaré series for the groups of order 128. To date, using the same constraints as for the groups of order 64 above, we have computed the Poincaré series for about half of them. For latest details, again please see the &HAPprime; website.