Hi! I always thought that categories and functors are about objects *and* morphisms. But is this implemented in the categories of Sage?
Example: sage: R.<x> = ZZ[] sage: f = R.hom([2*x],R) sage: C = Fields() sage: R in C # R is no field, so its fine: False sage: f in C.hom_category() # ?? True sage: C.hom_category() Category of hom sets in Category of rings So, the fields do not have their own hom category, and instead use ring homomorphisms. Now about functors. The fraction field construction is functorial, and indeed one has sage: F = C(R) sage: F Fraction Field of Univariate Polynomial Ring in x over Integer Ring But if it is a functor, I would expect that in some way one is able to transform f into the corresponding automorphism of F. Is this implemented in Sage? I expected that C(f) would return a morphism, but it only yields an error. And while sage: f2 = C.hom_category()(f) does not raise an error, one has sage: f2 is f True so, this is not what I was looking for. f.extend_codomain(F).extend_domain(F) or F.hom(f,F) doesn't work either. Another failing attempt was to work with a proper functor, namely sage: Frac = F.construction()[0] sage: Frac FractionField sage: Frac(R) is F True sage: Frac(f) *BOOM* So, what can one do? Is there the framework to implement the missing bits? When I look at the code in sage/categories/functor.pyx, it seems that morphisms are not taken care of. Best regards, Simon -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org