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

Usage:
ncHilbertMultiplicity(M); M is a module

Return:
int

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