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

Usage:
ncHilbertPolynomial(M); M is a module

Return:
ring

Purpose:
computes the Hilbert polynomial of A^m/M

Assume:
- M is given via a Groebner basis
- the weights of all the ring variables are positive

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

Example:
 
LIB "nchilbert.lib";
def A = makeUsl2(); setring A;
ideal I = h^4,e*f*h^3,e^2*f^2*h^2+2*e*f*h^2; I = std(I);
dim(I); // 2
==> 2
def r = ncHilbertPolynomial(I); setring r;
ncHP; // 2t+7
==> 2t+7
kill r;
// 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;
ideal I = imap(A,I);
I = std(I);
dim(I); // 2
==> 2
def r = ncHilbertPolynomial(I); setring r;
==> // ** redefining r (def r = ncHilbertPolynomial(I); setring r;) ./example\
   s/ncHilbertPolynomial.sing:15
ncHP; // 6t+18
==> 6t+18
See also: hilbPoly.