# Singular          ##### 7.7.7.0. lpDHilbertSickle
Procedure from library `fpadim.lib` (see fpadim_lib).

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

Return:
list

Purpose:
Computing K-dimension, Hilbert series and mistletoes at once

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

Note:
- If L is the list returned, then L is an integer, the K-dimension,
L is an intvec, the Hilbert series and L is an ideal,
the mistletoes
- 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 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 lpDHilbertSickle(G,5,2); //invokes procedure with degree bound 5 and 2 variables ==> : ==> 6 ==> : ==> 1,2,2,1 ==> : ==> _=x(1)*y(2) ==> _=y(1)*x(2)*y(3) // note that the optional parameters are not necessary, due to the finiteness // of the K-dimension of the factor algebra lpDHilbertSickle(G); // procedure with ring parameters ==> : ==> 6 ==> : ==> 1,2,2,1 ==> : ==> _=x(1)*y(2) ==> _=y(1)*x(2)*y(3) lpDHilbertSickle(G,0); // procedure without degreebound ==> : ==> 6 ==> : ==> 1,2,2,1 ==> : ==> _=x(1)*y(2) ==> _=y(1)*x(2)*y(3) ```

### Misc 