Home Online Manual
Top
Back: lpHilbert
Forward: lpDHilbertSickle
FastBack:
FastForward:
Up: fpadim_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.7.0. lpDHilbert
Procedure from library fpadim.lib (see fpadim_lib).

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.
- if you specify a different degree bound degbound,
degbound <= attrib(basering,uptodeg) holds.

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