up previous next
HilbertSeriesShifts    --    the Hilbert-Poincare series


Syntax
HilbertSeriesShifts(M: MODULE, ShiftsList: LIST): TAGGED("$hp.PSeries")

Description
This function computes the Hilbert-Poincare series (single-graded) module M with shifts sh.

This function is only a handy shortcut to avoid creating the proper free module with shifts sh.

NOTE: tagged objects cannot be usefully compared for equality with untagged values.

For more information, see the article: A.M. Bigatti, "Computations of Hilbert-Poincare Series" J. Pure Appl. Algebra, 119/3 (1997), 237--253.

Example
/**/  use P ::= QQ[x,y,z];
/**/  F := NewFreeModule(P, ColMat([2,0]));  -- P(-2) (+) P(0)
/**/  M := SubmoduleRows(F, mat([[x,y^3], [x-z,0]]));
/**/  HilbertSeries(M);
(2*t^3) / (1-t)^3
/**/  HilbertSeriesShifts(M, [3,1]);
(2*t^4) / (1-t)^3

See Also