Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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

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() polynomial.milnor() works fine, however I am getting a -1 -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. 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

8

Returns error:

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

-1

I am following these documentation pages:

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

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

By the second page, the -1 -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), y2-x3-z^(2x2), instead of the wanted y2-x3-(z2)(x2), 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).