The following code produces the weird result:
sage: R.<c>=QQ[]
sage: S.<x,y>=R[]
sage: u=FractionField(S)(x^2+y^2)
sage: v = u.numerator()/u.denominator()
sage: print u.numerator().parent()
sage: print v.numerator().parent()
Output:
Multivariate Polynomial Ring in x, y over Univariate Polynomial Ring in c over Rational Field
Multivariate Polynomial Ring in x, y over Fraction Field of Univariate Polynomial Ring in c over Rational Field
Since u.denominator()=1, I expected v to be equal to u, and certainly for their numerators to be over the same base field. I think the base field change may be an issue with the method inverse_of_unit in rings/polynomial/multi_polynomial_element.py.
Any advice would be greatly appreciated! This base field change was causing an error with the dynatomic_polynomial method.