up previous next
HilbertPoly

the Hilbert polynomial

Syntax
HilbertPoly(R: RING or TAGGED("Quotient")): RINGELEM in the ring QQt.

Description
This function returns the Hilbert polynomial for R as a polynomial in the standard CoCoA ring QQt (= QQ[t]).

The weights of the indeterminates of R must all be 1, and the coefficient ring must be a field.

If the input is not homogeneous, the Hilbert polynomial of the corresponding leading term (initial) ideal or module is calculated. For the Hilbert *function*, see HilbertFn .

Example
/**/  Use R ::= QQ[w,x,y,z];
/**/  I := ideal(z^2-x*y, x*z^2+w^3);
/**/  HilbertFn(R/I);
H(0) = 1
H(1) = 4
H(t) = 6*t-3   for t >= 2

/**/  F := HilbertPoly(R/I);
/**/  F;  -- a polynomial in the ring Qt
6*t-3

/**/ T := indet(RingOf(F), 1);
/**/ subst(F, T, 3);
15

See Also