Home Online Manual
Top
Back: closureFrac
Forward: deltaLoc
FastBack:
FastForward:
Up: normal_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.25.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