Singular has a command which computes the numerator Q(t) for the Hilbert-Poincare series (the denominator is (1-t)^n,
n the number of variables):
Code:
ring A=0,(t,x,y,z),ds;
ideal I=x5y2,x3,y3,xy4,xy7;
intvec v = hilb(std(I),1);
v;
//-> 1,0,0,-2,0,0,1,0
The latter output has to be interpreted as follows:
if v= (v
0, ... , v
d, 0) then Q(t) = sum_{i=0}^{d} v
i t^i.
More details can be found in the book
G.-M. Greuel / G. Pfister
http://www.mathematik.uni-kl.de/%7Epfister/Artikel/buchGMG.ps.gz: A Singular Introduction to Commutative Algebra, Springer 2002 second edition 2007 (pages 315 ff).