Home Online Manual
Top
Back: ncHilb
Forward: ncHilbertPolynomial
FastBack:
FastForward:
Up: nchilbert_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.13.0. ncHilbertSeries
Procedure from library nchilbert.lib (see nchilbert_lib).

Usage:
ncHilbertSeries(M,j); M is a module, j is an int

Return:
ring

Purpose:
computes the first (if j=1) and second (j=2) Hilbert Series of A^m/M

Assume:
- M is given via a Groebner basis; j is 1 or 2;
- the weights of all the ring variables are positive

Note:
- the procedure returns an univariate ring and a polynomial called ncHS in it.

Example:
 
LIB "nchilbert.lib";
def A = makeUsl2(); setring A;
ideal I = e,h-1; I = std(I);
def r = ncHilbertSeries(I,1); setring r;
==> Warning: the input generators are not a Groebner basis
==> The result might have no meaning
ncHS;
==> t2-2t+1
setring A; kill r;
def s= ncHilbertSeries(I,2); setring s;
==> Warning: the input generators are not a Groebner basis
==> The result might have no meaning
ncHS;
==> 1
// now consider admissible weights 1,2,3
ring r = 0,(e,f,h),wp(1,2,3);
matrix D[3][3]; D[1,2]=-h; D[1,3]=2*e;D[2,3]=-2*f;
def R = nc_algebra(1,D); setring R;
matrix M[2][5] =
e,h-1,f^2, 0,0,
0,0,0, e,h+1;
module G = std(M);
print(G);
==> e,0,h-1,0,  f2,
==> 0,e,0,  h+1,0  
def r= ncHilbertSeries(G,1);  setring r;
==> // ** redefining r (def r= ncHilbertSeries(G,1);  setring r;) ./examples/\
   ncHilbertSeries.sing:18
ncHS; // first weighted Hilbert series of R^2/G
==> -t8+t7+t5+t4-2t3-2t+2
setring R; kill r;
def s=ncHilbertSeries(G,2); setring s;
==> // ** redefining s (def s=ncHilbertSeries(G,2); setring s;) ./examples/nc\
   HilbertSeries.sing:21
ncHS;// second weighted Hilbert series of R^2/G
==> -t6-t5-t4+2t2+2t+2