Procedure from library goettsche.lib (see goettsche_lib).
Usage:
PPolyH(z, n, b); z polynomial, n integer, b list of non-negative integers
Return:
polynomial in z
Purpose:
computes the Poincare polynomial of the Hilbert scheme
of n points on a surface with Betti numbers b
Note:
zero is returned if n<0 or b is not a list of non-negative integers
or if there are not enough Betti numbers
Example:
LIB "goettsche.lib";
ring r=0, (z), ls;
// consider the projective plane P_2 with Betti numbers 1,0,1,0,1
list b=1,0,1,0,1;
// get the Poincare polynomial of the Hilbert scheme of 3 points on P_2
print( PPolyH(z, 3, b) );
==> 1+2z2+5z4+6z6+5z8+2z10+z12