Ask Your Question
1

About Grobner basis

asked 2024-07-04 02:51:18 +0200

hamouda gravatar image

updated 2024-07-04 16:44:48 +0200

vdelecroix gravatar image

Suppose we have a liste of polynomials L in Z[x,y,z,w] ; I need to transform the following code in Maple to Sage

g1:=Basis(L,plex(x,y,z,w)):
isolve(g1[1]);

g2:=Basis(L,plex(z,w,x,y)):
isolve(g2[1]);

g3:=Basis(L,plex(w,y,z,x)):
isolve(g3[1]);

i.e. How to compute the grobner basis for the ideal generated by the list of polynomials L with respect to the order x >y > z > w and then with respect to the order z > w > x > y and finally with respect to the order w > y > z > x .

For example suppose,

L=[1406420415531174980327303290571117064276422184073371260430004727814077316258636748578133791670129*x^2 - 585580311734997207006635656684084836378829142925094427420106*x*w + 60953378112431066706921*w^2,
-1688076693759028688508053956627434893445056753313490532106912447426325421979583194817700061681593440864404472*x^2 + 242035925986271489335186642003579544694017559808139175285991673034916861*x*w + 22772877973564833308423102217214551*w^2,
1406420415531174980327303290571117064276422184073371260430004727814077316258636748578133791670129*x^2*y - 585580311734997207006635656684084836378829142925094427420106*x*y*w + 60953378112431066706921*y*w^2,
-1688076693759028688508053956627434893445056753313490532106912447426325421979583194817700061681593440864404472*x^2*y + 242035925986271489335186642003579544694017559808139175285991673034916861*x*y*w + 22772877973564833308423102217214551*y*w^2,
546492971093875818200311226757760151716020675484639718374766505281329940973795540404028891234781638071786218379709560581*x*y*z - 113769510467918507941520256906804857756761200776076799074471649913620059848042913417*y*z*w]
edit retag flag offensive close merge delete

Comments

What are g1[1], g2[1] and g3[1] in your example?

vdelecroix gravatar imagevdelecroix ( 2024-07-04 07:25:16 +0200 )edit

When the number of solutions is finite, you can get them by calling .variety() method of the ideal. Unfortunately, this method is defined only over the fields, but not just rings. You can try to get solutions over QQ and then extract those that are in ZZ.

Max Alekseyev gravatar imageMax Alekseyev ( 2024-07-05 14:51:20 +0200 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2024-07-04 22:36:47 +0200

vdelecroix gravatar image

The following pages in the sagemath documentation contain most of the information

In SageMath you need to create a polynomial ring for each term ordering

R1 = PolynomialRing(QQ, 'x,y,z,w', order='lex')
R2 = PolynomialRing(QQ, 'z,w,x,y', order='lex')
R3 = PolynomialRing(QQ, 'w,y,z,x', order='lex')

Then the groebner basis can be computed via

g1 = R1.ideal(L).groebner_basis()
g2 = R2.ideal(L).groebner_basis()
g3 = R3.ideal(L).groebner_basis()

But as far as I know, there is no such thing as isolve in SageMath, see also question 8360 and question 9479.

edit flag offensive delete link more

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: 2024-07-04 02:51:18 +0200

Seen: 150 times

Last updated: Jul 04