Hi Martin, That is coming from this: sage: type(m) <class 'sage.structure.coerce_maps.DefaultConvertMap_unique'>
Although I don't think we have a specific "all morphisms should inherit from this ABC (or generic base class)" specification. It might be easy to get something to work for it. Are you thinking of the difficulty of determining a consistent way of setting coercions between polynomial rings? That's the only thing I know that is problematic. Best, Travis On Sunday, February 11, 2024 at 1:08:43 AM UTC+9 Martin R wrote: > I was a bit surprised about the following: > > sage: k = ZZ["q"].hom(QQ["q"]) > sage: isinstance(k, Morphism) > True > sage: m = ZZ["q,t"].hom(QQ["q,t"]) > sage: isinstance(m, Morphism) > False > > However, I vaguely recall a discussion about morphisms between > multivariate polynomial rings being problematic. Does my memory trick me? > > Martin > > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/9e2d9d6c-042c-40cf-9871-ff2f7e7647a7n%40googlegroups.com.