Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Convert element from fraction field of polynomial ring to number field

Consider the following

F.<u> = NumberField(x^2-3)
R.<y> = PolynomialRing(F)
Q = R.fraction_field()

Then, F(Q(2*u)) yields an error since

TypeError: unable to convert 2*u to Number Field in u with defining polynomial x^2 - 3

Of course one could expect that this conversion should be not a problem. Doing the same over the base field QQ instead of a number field works as expected.

This problem can be fixed (in this case) by converting first to the polynomial ring and then to the number field, i.e., F(R(Q(2*u))) works fine. However, in practice, if we want to convert some a (where we know it "should" be in F but it might technically not) to F, it is very unpractical to check first whether a belongs in some certain ring and then convert it by going via the polynomial ring.

Is there a good built in way to do this? So we are given some a (which might be already in F or in some construction built upon F) and want to have a in F.