Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The computation of Groebner basis not correct?

I was trying to compute a Groebner basis for the ideal I=<xz-y, y^2+z,x+1/2yz>, using lex order.

I used the following code:

P.<x,y,z>=PolynomialRing(QQ,'lex')
I=ideal(x*z-y,y^2+z,x+(1/2)*y*z)
G=I.groebner_basis();G

The result is

[z^3 + 2*z, x^2 - 1/2*z, x*y - 1/2*z^2, y^2 + z, x*z - y, y*z + 2*x]

Since the computation is easy, I checked by hands but got different result. So I checked by Singular and got the same result as mine, which is

> groebner(I);
_[1]=z3+2z
_[2]=yz2+2y
_[3]=y2+z
_[4]=2x+yz

So the result from Sage is wrong, since yz^2+2y is in the ideal I, but is not in the Groebner basis from the first computation using I.groebner_basis(). Did I miss something in my command? Or is there a bug that needs to be fixed?

The computation of Groebner basis not correct?

I was trying to compute a Groebner basis for the ideal I=<xz-y, y^2+z,x+1/2yz>, using lex order.

I used the following code:

P.<x,y,z>=PolynomialRing(QQ,'lex')
I=ideal(x*z-y,y^2+z,x+(1/2)*y*z)
G=I.groebner_basis();G

The result is

[z^3 + 2*z, x^2 - 1/2*z, x*y - 1/2*z^2, y^2 + z, x*z - y, y*z + 2*x]

Since the computation is easy, I checked by hands but got different result. So I checked by Singular and got the same result as mine, which is

> groebner(I);
_[1]=z3+2z
_[2]=yz2+2y
_[3]=y2+z
_[4]=2x+yz

So the result from Sage is wrong, since yz^2+2y is in the ideal I, but is not in the Groebner basis from the first computation using I.groebner_basis(). Did I miss something in my command? Or is there a bug that needs to be fixed?

The computation of Groebner basis not correct?

I was trying to compute a Groebner basis for the ideal I=<xz-y, y^2+z,x+1/2yz>, using lex order.

I used the following code:

P.<x,y,z>=PolynomialRing(QQ,'lex')
I=ideal(x*z-y,y^2+z,x+(1/2)*y*z)
G=I.groebner_basis();G

The result is

[z^3 + 2*z, x^2 - 1/2*z, x*y - 1/2*z^2, y^2 + z, x*z - y, y*z + 2*x]

Since the computation is easy, I checked by hands but got different result. So I checked by Singular and got the same result as mine, which is

> groebner(I);
_[1]=z3+2z
_[2]=yz2+2y
_[3]=y2+z
_[4]=2x+yz

So the result from Sage is wrong, since yz^2+2y is in the ideal I, but is not in the Groebner basis from the first computation using I.groebner_basis(). Did I miss something in my command? Or is there a bug that needs to be fixed?