# Calculating Milnor Numbers of Polynomials Using Singular via Sage

I'm using Singular via Sage Math to calculate the Milnor numbers of a large number of polynomials. For most polynomials, doing polynomial.milnor() works fine, however I am getting a -1 when I have a variable raised to a power times another variable. I have manually calculated the first Milnor number, and it should be 8. For instance:

Works fine:

sage: ring = singular.ring(0,'(x,y,z)','ds')
sage: polynomial = singular('-x2+x3-y3+xy3-z5+xz5')
sage: _=singular.lib('sing.lib')
sage: polynomial.milnor()
8


Returns error:

sage: polynomial2 = singular('y2-x3-z2x2')
sage: polynomial2.milnor()
-1


I am following these documentation pages:

• Interface to Singular (Sage Interpreter Interfaces)
• D.6.15.10 milnor (Singular Documentation)

I can't publish links due to low karma, sorry!

By the second page, the -1 would imply that the function is an isolated complete intersection singularity. This function does not have an ICIS to my knowledge, and I have tested several other functions which I can provide. I think that singular is interpreting the polynomial as y2-x3-z^(2x2), instead of the wanted y2-x3-(z2)(x2), but I am new to Sage and unsure of how to fix this (I attempted parentheses and it threw back an error).

edit retag close merge delete

Sort by » oldest newest most voted Sage is simply giving you what Singular computes. Indeed, repeating the calculation in Singular gives the same answer. Note that the Singular documentation D.6.15.10 milnor states that milnor returns -1 if it is not an ICIS in generic form (and otherwise it returns the Milnor number).

Unfortunately I cannot judge if something is wrong, because I'm unfamiliar with these localized rings (defined using ds). (Maybe you can explain the calculation.)

If you think something is wrong, you can submit a ticket in Singular's trac.

more

You're right, I was wrongly interpreting the error. Thanks!