Quotients Functorial Construction#

AUTHORS:

  • Nicolas M. Thiery (2010): initial revision

class sage.categories.quotients.QuotientsCategory(category, *args)[source]#

Bases: RegressiveCovariantConstructionCategory

classmethod default_super_categories(category)[source]#

Returns the default super categories of category.Quotients()

Mathematical meaning: if \(A\) is a quotient of \(B\) in the category \(C\), then \(A\) is also a subquotient of \(B\) in the category \(C\).

INPUT:

  • cls – the class QuotientsCategory

  • category – a category \(Cat\)

OUTPUT: a (join) category

In practice, this returns category.Subquotients(), joined together with the result of the method RegressiveCovariantConstructionCategory.default_super_categories() (that is the join of category and cat.Quotients() for each cat in the super categories of category).

EXAMPLES:

Consider category=Groups(), which has cat=Monoids() as super category. Then, a subgroup of a group \(G\) is simultaneously a subquotient of \(G\), a group by itself, and a quotient monoid of G:

sage: Groups().Quotients().super_categories()
[Category of groups, Category of subquotients of monoids, Category of quotients of semigroups]
>>> from sage.all import *
>>> Groups().Quotients().super_categories()
[Category of groups, Category of subquotients of monoids, Category of quotients of semigroups]

Mind the last item above: there is indeed currently nothing implemented about quotient monoids.

This resulted from the following call:

sage: sage.categories.quotients.QuotientsCategory.default_super_categories(Groups())
Join of Category of groups and Category of subquotients of monoids and Category of quotients of semigroups
>>> from sage.all import *
>>> sage.categories.quotients.QuotientsCategory.default_super_categories(Groups())
Join of Category of groups and Category of subquotients of monoids and Category of quotients of semigroups