# Singular

##### 7.7.7.0. lpDHilbert

Usage:
lpDHilbert(G[,degbound,n]); G an ideal, degbound, n optional integers

Return:
list

Purpose:
Computing K-dimension and Hilbert series, starting with a lp-ideal

Assume:
- basering is a Letterplace ring. G is a Letterplace ideal.
- if you specify a different degree bound degbound,
degbound <= attrib(basering,uptodeg) should hold.

Note:
- If L is the list returned, then L[1] is an integer corresponding to the
dimension, L[2] is an intvec which contains the coefficients of the
Hilbert series
- If degbound is set, there will be a degree bound added. 0 means no
degree bound. Default: attrib(basering,uptodeg).
- n can be set to a different number of variables.
Default: n = attrib(basering, lV).
- If I = L[2] is the intvec returned, then I[k] is the (k-1)-th
coefficient of the Hilbert series.
- If the K-dimension is known to be infinite, a degree bound is needed

Example:
 LIB "fpadim.lib"; ring r = 0,(x,y),dp; def R = makeLetterplaceRing(5); // constructs a Letterplace ring setring R; // sets basering to Letterplace ring ideal G = x(1)*x(2), y(1)*y(2),x(1)*y(2)*x(3); // ideal G contains a //Groebner basis lpDHilbert(G,5,2); // invokes procedure with degree bound 5 and 2 variables ==> [1]: ==> 6 ==> [2]: ==> 1,2,2,1 // note that the optional parameters are not necessary, due to the finiteness // of the K-dimension of the factor algebra lpDHilbert(G); // procedure with ring parameters ==> [1]: ==> 6 ==> [2]: ==> 1,2,2,1 lpDHilbert(G,0); // procedure without degreebound ==> [1]: ==> 6 ==> [2]: ==> 1,2,2,1