Ask Your Question

Elimination of variables in polynomial equation

asked 2016-03-09 10:48:02 +0200

laurentbartholdi gravatar image

Hi, I'm trying to eliminate 5 variables from a system of 6 equations in 7 unknowns, to obtain a planar curve. Am I asking for too much?

This is what I tried:

R.<x,v,c1,c2,c3,c4,c5> = PolynomialRing(QQ)
p0 = -16*c1*c2*c3*c4*c5+16*v
p1 = 16*c1*c2*c3*c4-16*(-c1*c2*c3-(c1*c2-(-c1-c2)*c3)*c4)*c5+40*v
p2 = -16*c1*c2*c3-16*(c1*c2-(-c1-c2)*c3)*c4-16*(c1*c2-(-c1-c2)*c3-(-c1-c2-c3)*c4)*c5+25*v
p3 = 16*c1*c2-16*(-c1-c2)*c3-16*(-c1-c2-c3)*c4-16*(-c1-c2-c3-c4)*c5-25;
p4 = -16*c1-16*c2-16*c3-16*c4-16*c5-40
I = ideal((c1-c3)*(c2-c4)-x*(c1-c4)*(c2-c3),p0,p1,p2,p3,p4)
J = I.elimination_ideal([c1,c2,c3,c4,c5])

Note that the system is symmetric in permutations of c1...c5, except for one equation that says that x is the cross-ratio of c1...c4.

I'm all the more embarrassed because I already computed the solution some time ago, but forgot how: it should be a polynomial J of degree 30 in v and 16 in x.

Many thanks in advance! Laurent

edit retag flag offensive close merge delete


This should work. What happens ? Just takes too long ?

FrédéricC gravatar imageFrédéricC ( 2016-03-09 17:52:03 +0200 )edit

It's been running for a day without success. I remember that I had gotten something similar to work in less than an hour, in 2013; but too many of my brain cells died since then. Note that I.elimination_ideal([c1,c2]) already fails. I suspect that it should be possible to use the symmetry of the polynomials in some way or other.

laurentbartholdi gravatar imagelaurentbartholdi ( 2016-03-09 22:06:52 +0200 )edit

2 Answers

Sort by » oldest newest most voted

answered 2016-03-10 14:53:08 +0200

tmonteil gravatar image

updated 2016-05-11 17:37:07 +0200

Ideally, FGb should be included in Singular or Sage but it is closed source... However it is still possible to interface it with Sage ! There seems to be a C library, so it should not be too hard with cython. If you feel able to do that by yourself, that would be an awesome contribution, you can have a first look at We can help you in the process of letting your work enter Sage source code.

EDIT Regarding the computation of the Groebner basis of this ideal, actually there is a way to let Sage compute it, using the interface with giac:

First install giacpy from your terminal:

sage -i giacpy

Then, you can get the Groebner Basis (in about one minute) from within Sage as follows:

sage: G = I.groebner_basis(algorithm='giac:gbasis')
edit flag offensive delete link more


What is the policy (if there is one) about including some compiled non-free C library into Sage? I guess that to distribute FGb with Sage, it would be necessary to get the permission from J.-C. Faugère at least.

B r u n o gravatar imageB r u n o ( 2016-03-11 09:03:14 +0200 )edit

@Bruno : since FGb is closed-source, it is not possible to include it in Sage or Singular. However, an interface could be part of Sage (if GPL), and the binary could be downloaded directly by the user.

tmonteil gravatar imagetmonteil ( 2016-05-11 17:35:52 +0200 )edit

answered 2016-03-10 13:06:33 +0200

laurentbartholdi gravatar image

I was informed by Pierre-Jean Spaenlehauer that the Gröbner basis code in FGb solves the problem in about a minute.

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


Asked: 2016-03-09 10:48:02 +0200

Seen: 1,398 times

Last updated: May 11 '16