Opened 17 months ago

Closed 17 months ago

Last modified 17 months ago

# Elimination ideal bug

Reported by: Owned by: anonymous somebody dontKnow 4-2-1 and higher dontKnow 4-2-0

### Description

The following code seems to calculate correctly the elimination ideal of I

```ring R = integer,(x,y,z),ls;
poly F = x3 + x2y + xy2 + y3 + xyz + y2 + x + 1;
ideal I = F, diff(F,x), diff(F,y);
ideal J = eliminate(I,xy);
print(J);
```

However, swapping x and y gives a massively different answer after hanging for some time

```ring R = integer,(y,x,z),ls;
poly F = x3 + x2y + xy2 + y3 + xyz + y2 + x + 1;
ideal I = F, diff(F,x), diff(F,y);
ideal J = eliminate(I,xy);
print(J);
```

This was tested on 4.2.1.p2.

### comment:1 Changed 17 months ago by ren

Resolution: → not a bug new → closed

Note that "ls" is not a global ordering, i.e. "1" is not the smallest monomial. These orderings should generally be avoided unless explicitly necessary. I suggest using global orderings such as "dp" and "lp" instead.

When Singular works with a non-global ordering, it works in the polynomial ring localized at said ordering (in which all polynomials with leading monomial 1 become invertible). This is why you can get two different results when using two different non-global orderings.

In unrelated note: avoid computations over the ring of integers unless explicitly necessary and use the field rational numbers instead. Groebner bases over the ring integers tend to be very huge because Singular is not allowed to divide. This can lead to your system running out of RAM. The "lp" Groebner basis in your example fills half a book when printed out (~190 000 characters over ZZ vs 280 characters over QQ).

And please feel free to Email the mailing list if you think this ticket was closed in error or if you have further questions.

Last edited 17 months ago by ren (previous) (diff)
Note: See TracTickets for help on using tickets.