#### 7.10.1.5 lpHilbert

Procedure from library `fpadim.lib` (see fpadim_lib).

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.

Example:

    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

See also: ncHilb_lib.

User manual for Singular version 4.4.1, 2025, generated by texi2html.