Ask Your Question

Multivariate rational function field of rank 3 over Rational Field

asked 2017-05-13 15:39:03 +0200

anonymous user


updated 2017-08-01 19:12:25 +0200

FrédéricC gravatar image

I'm want to rewrite a small Magma code in Sage, and I want to define a multivariate rational function field of rank 3 over rational field. Simply, I have the following Magma code:

aInv<a2,a4,a6> := FunctionField(Rationals(), 3);
_<X> := PolynomialRing(aInv);
f := X^3 + a2*X^2 + a4*X + a6;
fprim := Derivative(f);

I started doing something like this:

aInv<a2,a4,a6> = FunctionField(QQ['a2,a4,a6'])

But, I get a TypeError, more specifically, I get:

TypeError: constant_field must be a

Any idea how to achieve what I want?


edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-05-13 18:07:39 +0200

tmonteil gravatar image

For some reason (which i do not know), FunctionField only works in one variable (see the doc with FunctionField?). So you have to create it as a fraction field of a polynomial ring:

sage: aInv_poly = PolynomialRing(QQ,'a2,a4,a6')
sage: aInv_poly
Multivariate Polynomial Ring in a2, a4, a6 over Rational Field
sage: aInv = aInv_poly.fraction_field()
sage: aInv.inject_variables()
Defining a2, a4, a6

sage: R.<X> = PolynomialRing(aInv); R
Univariate Polynomial Ring in X over Fraction Field of Multivariate Polynomial Ring in a2, a4, a6 over Rational Field

sage: f = X^3 + a2*X^2 + a4*X + a6 ; f
X^3 + a2*X^2 + a4*X + a6

sage: fprim = f.derivative()
sage: fprim
3*X^2 + 2*a2*X + a4
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: 2017-05-13 15:38:07 +0200

Seen: 366 times

Last updated: May 13 '17