Hi John!

On 24 Nov., 22:40, John Cremona <john.crem...@gmail.com> wrote:
> I never use these canonical embeddings, and cannot think of a reason
> for defining one field twice in this way...

Well, it is imaginable that some automatic constructions (say, in
pushout) create such a situation. And if it occurs, the program should
know how it is supposed to cope with it.


> Now this would be more useful:
>
> sage: K.<a> = NumberField(x^2+3)
> sage: L.<w> = NumberField(x^2+x+1)
> sage: K.has_coerce_map_from(L)
> False
> sage: L.has_coerce_map_from(K)
> False
> sage: K.is_isomorphic(L)
> True
> sage: K.embeddings(L)
> [
> Ring morphism:
>   From: Number Field in a with defining polynomial x^2 + 3
>   To:   Number Field in w with defining polynomial x^2 + x + 1
>   Defn: a |--> 2*w + 1,
> Ring morphism:
>   From: Number Field in a with defining polynomial x^2 + 3
>   To:   Number Field in w with defining polynomial x^2 + x + 1
>   Defn: a |--> -2*w - 1
> ]
>
> to turn into a coercion!

Since there are two different embeddings, I doubt that one can turn it
into a coercion:
A coercion must be unique for the given pair of parents; hence, you
need an algorithm to pick one of the above embeddings. Moreover, the
choices must be consistent, i.e., the concatenation of two coercion
maps must be a coercion map.

Can you propose a canonical and consistent choice of isomorphism?

Cheers,
Simon

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to