If I set up two NumberFields that differ only in the variable used in their defining polynomials, they don't report equal:
sage: a=QQ['a'].0 sage: aRing = NumberField(a^2 + 1, 'a') sage: sage: b=QQ['b'].0 sage: bRing = NumberField(b^2 + 1, 'a') sage: sage: aRing is bRing False
This I can live with. But shouldn't I be able to convert elements between them?
sage: aa=aRing.0 sage: bb=bRing.0 sage: bRing(aa) TypeError: No compatible natural embeddings found for Number Field in a with defining polynomial b^2 + 1 and Number Field in a with defining polynomial a^2 + 1
I can convert like this:
sage: bbb = aa.polynomial()(bb) sage: bbb.parent() == bRing True
...but this seems awkward, and requires defining an auxilary function if you want to pass it to map or map_coefficients.
Is this a bug? Should I report it on Sage's Trac, or is there a good reason for this?