Multivariate Polynomials over Rational Function Fields

i like this post (click again to cancel)
2
i dont like this post (click again to cancel)

Is it possible to define multivariate polynomials where the coefficients lie in a rational function field and do Groebner basis computations on them? Maple, Reduce and Axiom support this. For example I would like to be able to compute the Groebner basis of the polynomials

{v * x^2 + y, u* x * y + y^2}

where the polynomials belong to the ring Q(u,v)[x,y].

I tried the following

B.<u,v> = PolynomialRing(QQ, 'u', 'v')
R.<x,y> = PolynomialRing(B, 'x', 'y')
I = R.ideal(v * x^2 + y, u* x * y + y^2) 
g = I.groebner_basis()

This fails with the error

TypeError: Can only reduce polynomials over fields.

asked Aug 26 '10

Sameer Agarwal gravatar image Sameer Agarwal
21 2 3

updated Apr 28 '11

Kelvin Li gravatar image Kelvin Li
453 1 10 17

2 Answers:

i like this answer (click again to cancel)
4
i dont like this answer (click again to cancel)

Make u and v be in the Fraction field:

sage: B.<u,v> = Frac(QQ['u,v'])
sage: R.<x,y> = PolynomialRing(B, 'x', 'y')
sage: I = R.ideal(v * x^2 + y, u* x * y + y^2) 
sage: g = I.groebner_basis()
sage: g
[y^3 + u^2/v*y^2, x^2 + 1/v*y, x*y + 1/u*y^2]
link

posted Aug 26 '10

William Stein gravatar image William Stein
1414 5 20 46
http://wstein.org/
Thanks, that works perfectly. Now my quest for the Elimination ideal I2 = I.elimination_ideal([x]) fails with TypeError: Cannot call Singular function 'eliminate' with ring parameter of type '' Sameer Agarwal (Aug 26 '10)
i like this answer (click again to cancel)
1
i dont like this answer (click again to cancel)

When I try this, the error I get is a little more informative:

sage: I2 = I.elimination_ideal([x])
...
TypeError: Cannot call Singular function 'eliminate' with ring parameter of type 
'<class 'sage.rings.polynomial.multi_polynomial_ring.MPolynomialRing_polydict_domain'>'

The function eliminte comes from

sage: eliminate = sage.libs.singular.ff.eliminate

which is a wrapper for the Singular function and is supposed to convert Sage's rings to rings that Singular understands . . . however it seems that this wrapper does not understand the _polydict_domain rings. Perhaps one could convert R to a ring that the wrapper does understand (or file this as a bug in the wrapper and fix it). Checking, I see that there is a ring type MPolynomialRing_libsingular, but it only allows base rings from a very small list (like ZZ and finite fields).

Maybe someone who knows more about the Singular interface can help here?

link

posted Aug 26 '10

niles gravatar image niles
3725 7 45 104
http://nilesjohnson.net/

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
Login/Signup to Post

Question tools

1 follower

Tags:

Stats:

Asked: Aug 26 '10

Seen: 429 times

Last updated: Aug 26 '10

powered by ASKBOT version 0.7.22
Copyright Sage, 2010. Some rights reserved under creative commons license.