Dear all,

currently I work on the doctest coverage of sage.categories.map and
sage.categories.morphism.

It seems to me that the class sage.categories.morphism.Morphism is
completely redundant.

In fact, the definition of a map (sage.categories.map.Map) requires
that the map belongs to a homset (to the very least,
Sets().hom_category()). So, any map in Sage is, mathematically, a
morphism.

The methods introduced in sage.categories.morphism.Morphism don't
convince me that that class should exist:
- category: this could be moved to Map, since a Map belongs to a
homset category anyway.
- is_endomorphism: dito.
- __invert__: dito
- pushforward: This *must* actually be a method of Map, since it is
used in Map.__call__, and an attribute error for "pushforward" isn't
caught in __call__.
- register_as_coercion: Note that the classes in
sage.structure.coerce_maps derive from Map and not from Morphism.
Wouldn't it then be more logical to move register_as_coercion to Map?

So, would you agree that sage.categories.morphism.Morphism should be
removed (resp. should become an alias for sage.categories.map.Map),
its methods should be moved to sage.categories.map.Map, classes
deriving from Morphism should derive from Map instead, and
sage.categories.morphism should then only comprise some special types
of morphisms, such as SetMorphism?

Best regards,
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