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

User manual for Singular version 4.4.1, 2025, generated by texi2html.