| ##### 7.5.13.0. ncHilbertMultiplicity Procedure from library `nchilbert.lib` (see nchilbert_lib). Usage: ncHilbertMultiplicity(M); M is a module Return: bigint Purpose: compute the (Hilbert) multiplicity of the module coker(M) Assume: - M is given via a Groebner basis - the weights of all the ring variables are positive Note: the multiplicity depends on the selected weights of variables Example:
    LIB "nchilbert.lib";
    def A = makeUsl2(); setring A;
    ideal I = e,h-1; I = std(I);
    ncHilbertMultiplicity(I); // multiplicity of A/I
    ==> Warning: the input generators are not a Groebner basis
    ==> The result might have no meaning
    ==> 1
    ideal J = I, f^2; J = std(J);
    ncHilbertMultiplicity(J);
    ==> Warning: the input generators are not a Groebner basis
    ==> The result might have no meaning
    ==> 2
    // now the same algebra with 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);
    ncHilbertMultiplicity(I);
    ==> Warning: the input generators are not a Groebner basis
    ==> The result might have no meaning
    ==> 3
    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
    ncHilbertMultiplicity(G);
    ==> 3

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