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