Jean-Pierre Flori wrote:
 

> Currently one can obtain surprising results in Sage when converting 
> polynomial over finite fields (or elements of quotient rings of univariate 
> polynomial ring even though tht's not the primary concern of the ticket).
> See http://trac.sagemath.org/ticket/11239
> Basically the generators of the finite fields are just exchanged, even 
> when the characteristics are different.
> The changes suggested in this ticket would more or less only let a 
> coercion be used if there is one, and rant if the characteristics are 
> different or the base finite fields are not part of a common lattice when 
> there is no canonical embedding.
>
> Note though that the original disturbing conversion fits with the current 
> behavior described in the doc:
> * 
> http://www.sagemath.org/doc/reference/coercion/index.html#maps-between-parents
> where it's stated that
>
> "Conversions need not be canonical (they may for example involve a choice 
> of lift) or even make sense mathematically (e.g. constructions of some 
> kind)."
>
> Anyone has a strong opinion about what we should let Sage do in such a 
> situation?
>
I posted a comment at #11239, so let me just say here that I think this 
principle (that conversions need not be canonical) shouldn't be pushed 
further than reasonable.  For example, if K is a field and f, g in K[x] are 
polynomials, then applying a conversion K[x]/(f) -> K[x]/(g) is a sensible 
thing to do if g divides f (the canonical map) or if f divides g (the 
lifting map).  However, I don't see why it is important to insist that the 
composition of two such maps (e.g. K[x]/(f) -> K[x] -> K[x]/(g) when f, g 
have nothing to do with each other) should again be a valid conversion that 
can be invoked with the same ease.  Hence I think that R(h), for R = 
K[x]/(g) and h in L[x]/(f), should only be allowed when K has a canonical 
map to L and either f divides g (in L[x]) or vice versa.  This should cover 
almost all practical uses, and in the rare remaining cases it seems better 
to require being a bit more explicit and doing the conversion in two steps.

Should we leave the old conversion when there is no coercion even though 
> that might easily to wrong mathematical results for a careless user? Or 
> never look for a coercion unless the user explicitly asks for it (i.e. what 
> the situation is currently in Sage without the patches of the ticket)?
>
I thought that conversion should always give the same result as a coercion 
map whenever one exists; is there any (intended) situation where this is 
not the case?

Peter

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to