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