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