|
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
|
|