- class sage.categories.objects.Objects(s=None)#
The category of all objects the basic category
sage: Objects() Category of objects sage: Objects().super_categories() 
- class ParentMethods#
Methods for all category objects
- class SubcategoryMethods#
Return the category of endsets between objects of this category.
sage: Sets().Endsets() Category of endsets of sets sage: Rings().Endsets() Category of endsets of unital magmas and additive unital additive magmas
Return the category of homsets between objects of this category.
sage: Sets().Homsets() Category of homsets of sets sage: Rings().Homsets() Category of homsets of unital magmas and additive unital additive magmas
Information, code, documentation, and tests about the category of homsets of a category
Csshould go in the nested class
Cs.Homsets. They will then be made available to homsets of any subcategory of
Assume, for example, that homsets of
Csthemselves. This information can be implemented in the method
Cs.Homsets()a subcategory of
Methods about the homsets themselves should go in the nested class
Methods about the morphisms can go in the nested class
Cs.Homsets.ElementMethods. However it’s generally preferable to put them in the nested class
Cs.MorphimMethods; indeed they will then apply to morphisms of all subcategories of
Cs, and not only full subcategories.
Design a mechanism to specify that an axiom is compatible with taking subsets. Examples:
Commutative(when meaningful), but not
Design a mechanism to specify that, when \(B\) is a subcategory of \(A\), a \(B\)-homset is a subset of the corresponding \(A\) homset. And use it to recover all the relevant axioms from homsets in super categories.
For instances of redundant code due to this missing feature, see:
HomsetsCategory.extra_super_categories()(slightly different nature)
plus plenty of spots where this is not implemented.
Indeed, by convention, the category of objects defines no additional structure.
sage: Objects().super_categories()