# 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`

.

Good question. You may want to open a trac ticket for this. It should be a matter of adding an extra case to the _convert_non_number_field_element method of NumberField.

Instead of going via

`_convert_non_number_field_element`

I would rather stick in a converter on the fraction field element following https://trac.sagemath.org/ticket/10147. See the fix I propose in https://trac.sagemath.org/ticket/31716.