Ask Your Question
2

Elimination of variables in polynomial equation

asked 9 years ago

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

Preview: (hide)

Comments

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

FrédéricC gravatar imageFrédéricC ( 9 years ago )

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 ( 9 years ago )

2 Answers

Sort by » oldest newest most voted
2

answered 9 years ago

tmonteil gravatar image

updated 8 years ago

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 http://doc.sagemath.org/html/en/thema... 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')
Preview: (hide)
link

Comments

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 ( 9 years ago )

@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 ( 8 years ago )
1

answered 9 years ago

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.

Preview: (hide)
link

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: 9 years ago

Seen: 1,572 times

Last updated: May 11 '16