| #### D.4.17.8 iMult Procedure from library `normal.lib` (see normal_lib). Usage: iMult(L); L a list of ideals Return: int, the intersection multiplicity of the ideals of L; if iMult(L) is infinite, -1 is returned. Theory: If r=size(L)=2 then iMult(L) = vdim(std(L[1]+L[2])) and in general iMult(L) = sum{ iMult(L[j],Lj) | j=1..r-1 } with Lj the intersection of L[j+1],...,L[r]. If I is the intersection of all ideals in L then we have delta(I) = delta(L[1])+...+delta(L[r]) + iMult(L) where delta(I) = vdim (normalisation(R/I)/(R/I)), R the basering. Example:
    LIB "normal.lib";
    ring s  = 23,(x,y),dp;
    list L = (x-y),(x3+y2);
    iMult(L);
    ==> 3
    L = (x-y),(x3+y2),(x3-y4);
    iMult(L);
    ==> 19

User manual for Singular version 4-0-2, 2015, generated by texi2html.