|  |  7.10.1.4 lpHilbert Procedure from libraryfpadim.lib(see  fpadim_lib).
 
Example:Usage:
lpHilbert(G[,degbound,n]); G an ideal, degbound, n optional integers
Return:
intvec, containing the coefficients of the Hilbert series
Purpose:
Compute the truncated Hilbert series of K<X>/<G> up to a degree bound
Assume:
- basering is a Letterplace ring.
- if you specify a different degree bound degbound,
 degbound <= attrib(basering,uptodeg) holds.
 
Theory:
Hilbert series of an algebra K<X>/<G> is sum_(i>=0) h_i t^i,
where h_i is the K-dimension of the space of monomials of degree i,
not contained in <G>. For finitely presented algebras Hilbert series NEED
NOT be a rational function, though it happens often. Therefore in general
there is no notion of a Hilbert polynomial.
Note:
- If degbound is set, there will be a degree bound added. 0 means no
degree bound. Default: attrib(basering,uptodeg).
 - n is the number of variables, which can be set to a different number.
 Default: attrib(basering, lV).
 - In the output intvec I, I[k] is the (k-1)-th coefficient of the Hilbert
 series, i.e. h_(k-1) as above.
 
 See also:
 ncHilb_lib.|  | LIB "fpadim.lib";
ring r = 0,(x,y),dp;
def R = freeAlgebra(r, 5); // constructs a Letterplace ring
setring R; // sets basering to Letterplace ring
ideal G = y*y,x*y*x; // G is a Groebner basis
lpHilbert(G); // procedure with default parameters
==> 1,2,3,4,4,4
lpHilbert(G,3,2); // invokes procedure with degree bound 3 and (same) 2 variables
==> 1,2,3,4
 | 
 
 |