Read-only forum archive

Using the iMult command with more than 2 variables

Using the iMult command with more than 2 variables

Guest · Tue Jan 25, 2022 8:27 pm

Hello,

I am new to singular and am trying to become familiar with the iMult command in normal.lib. I am wondering if this command always produces negative output when the base ring has more than two variables, or if I am using it incorrectly.

For example
Code:
ring s  = 0,(x,y),dp;
list L = (x2),(y3);
iMult(L);

returns 6.

Adding the variable z to the base ring and the ideal (z) to L returns -1
Code:
ring s  = 0,(x,y,z),dp;
list L = (x2),(y3), (z);
iMult(L);


Moreover, the following code also produces an output of -1 although I would expect the output to be 6.
Code:
ring s  = 0,(x,y,z),dp;
list L = (x2, y3, z);
iMult(L);


I am wondering if iMult(L) will always return -1 when L contains ideals generated by polynomials which may have more than 2 variables. The documentation makes no mention of restricting to ideals in a base ring having at most two variables so I believe I am making a mistake in my usage of iMult.

Best,
Ryan

Re: Using the iMult command with more than 2 variables

hannes · Fri Jan 28, 2022 4:55 pm

In the example in the question the intersection multiplicity of for
example y3 and z in k[x,y,z] is infinite, hence the output is -1.
But if you try for example,
ring r = 0, (x,y,z), dp;
ideal I = x,y;
ideal J = y,z;
ideal H = z,x;
list l = I, J, H;
iMult(l);
you get output 2. So this
"I am wondering if iMult(L) will always return -1 when L contains ideals
generated by polynomials which may have more than 2 variables. "
is not true.

Re: Using the iMult command with more than 2 variables

Guest · Mon Jan 31, 2022 6:14 pm

Thank you hannes, that was very helpful and cleared this up for me.

Best,
Ryan