On 2018-06-12 23:07, Simon King wrote:
And now think about quotients of polynomial rings. Let A,B have the same
variable names in the same positions, but let the monomial orderings be
different. Let I be an ideal in A and J the corresponding ideal in B.
So, if we say that there is a name and position preserving COERCION
from A to B, then by applying the quotient construction (that's a
construction functor!), we have to have a name and position preserving
coercion from A/I to B/J. However, when doing computations in A/I and
B/J, we are interested in normal forms of elements of A wrt I and of
B wrt J. And if the monomial orderings are different, a name and position
preserving map would not be compatible with normal forms.

For me, a coercion does not need to preserve normal forms, so I no objection here.

As R[x][z] corresponds to an ordered sub-ring of R[x][y][z] by a name
preserving map, one could argue that there should be a coercion.

There certainly should be. There is a base ring injection map R[x] -> R[x][y] leading to a base change map (by functorial construction) R[x][z] -> R[x][y][z].

these iterated polynomial ring constructions are quite inefficient.

True, but I don't see that as an argument to have no coercion.

I thus tend to kind of proposing the following:
- All default (partial) conversions between polynomial rings are
   preserving names, as that's less surprising than position preserving

The problem is what you do with R[x] -> R[y]? We have always allowed that as a conversion.

- If P1,P2 are polynomial rings over R, then a coercion from P1 to P2 is
   a *name* preserving homomorphism of graded-rings-with-monomial-ordering.
   Hence, it is name preserving, degree preserving, and maps P1 to
   an ordered sub-ring of P2. That's of course very strict, but I think
   this would work best with categorial constructions.

What does "degree preserving" mean? And what would this rule imply for coercions R[x][y] -> R[x,y]?

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 sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to