Home Online Manual
Top
Back: lpMonomialBasis
Forward: teach_lpSickleDim
FastBack:
FastForward:
Up: fpadim_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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.