Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#878 closed bug (not a bug)

Elimination ideal bug

Reported by: anonymous Owned by: somebody
Priority: dontKnow Milestone: 4-2-1 and higher
Component: dontKnow Version: 4-2-0
Keywords: Cc:

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.

Change History (1)

comment:1 Changed 2 years ago by ren

Resolution: not a bug
Status: newclosed

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 (~190k characters).

Version 0, edited 2 years ago by ren (next)
Note: See TracTickets for help on using tickets.