Ask Your Question
0

The computation of Groebner basis not correct?

asked 2017-03-12 20:59:54 +0100

KittyL gravatar image

updated 2017-03-12 21:01:29 +0100

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?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2017-03-12 22:31:23 +0100

tmonteil gravatar image

I tried with various engines (you can set the algoritmh parameter, see I.groebner_basis?), including singular itself, giac, naive implementation and they all agree. Are you sure about the meaning of lex order in Sage ?

edit flag offensive delete link more

Comments

Thanks for your answer! I never set parameters. So what is the default? I thought 'lex' means lexicographical order, with whichever order placed in the '< >'. I will check the instructions.

KittyL gravatar imageKittyL ( 2017-03-12 22:44:16 +0100 )edit

I realized I forgot to put order='lex'. Sage must have identified the 'lex' as a variable. Thanks.

KittyL gravatar imageKittyL ( 2017-03-13 11:19:06 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2017-03-12 20:59:54 +0100

Seen: 660 times

Last updated: Mar 12 '17