Specific category classes#

This is placed in a separate file from categories.py to avoid circular imports (as morphisms must be very low in the hierarchy with the new coercion model).

class sage.categories.category_types.AbelianCategory#

Bases: Category

is_abelian()#

Return True as self is an abelian category.

EXAMPLES:

sage: CommutativeAdditiveGroups().is_abelian()
True
class sage.categories.category_types.Category_ideal(ambient, name=None)#

Bases: Category_in_ambient

classmethod an_instance()#

Return an instance of this class.

EXAMPLES:

sage: AlgebraIdeals.an_instance()
Category of algebra ideals in Univariate Polynomial Ring in x over Rational Field
ring()#

Return the ambient ring used to describe objects self.

EXAMPLES:

sage: C = Ideals(IntegerRing())
sage: C.ring()
Integer Ring
class sage.categories.category_types.Category_in_ambient(ambient, name=None)#

Bases: Category

Initialize self.

The parameter name is ignored.

EXAMPLES:

sage: C = Ideals(IntegerRing())
sage: TestSuite(C).run()
ambient()#

Return the ambient object in which objects of this category are embedded.

EXAMPLES:

sage: C = Ideals(IntegerRing())
sage: C.ambient()
Integer Ring
class sage.categories.category_types.Category_module(base, name=None)#

Bases: AbelianCategory, Category_over_base_ring

class sage.categories.category_types.Category_over_base(base, name=None)#

Bases: CategoryWithParameters

A base class for categories over some base object

INPUT:

  • base – a category \(C\) or an object of such a category

Assumption: the classes for the parents, elements, morphisms, of self should only depend on \(C\). See github issue #11935 for details.

EXAMPLES:

sage: Algebras(GF(2)).element_class is Algebras(GF(3)).element_class
True

sage: C = GF(2).category()
sage: Algebras(GF(2)).parent_class is Algebras(C).parent_class
True

sage: C = ZZ.category()
sage: Algebras(ZZ).element_class is Algebras(C).element_class
True
classmethod an_instance()#

Returns an instance of this class

EXAMPLES:

sage: Algebras.an_instance()
Category of algebras over Rational Field
base()#

Return the base over which elements of this category are defined.

EXAMPLES:

sage: C = Algebras(QQ)
sage: C.base()
Rational Field
class sage.categories.category_types.Category_over_base_ring(base, name=None)#

Bases: Category_over_base

Initialize self.

EXAMPLES:

sage: C = Algebras(GF(2)); C
Category of algebras over Finite Field of size 2
sage: TestSuite(C).run()
base_ring()#

Return the base ring over which elements of this category are defined.

EXAMPLES:

sage: C = Algebras(GF(2))
sage: C.base_ring()
Finite Field of size 2
class sage.categories.category_types.Elements(object)#

Bases: Category

The category of all elements of a given parent.

EXAMPLES:

sage: a = IntegerRing()(5)
sage: C = a.category(); C
Category of elements of Integer Ring
sage: a in C
True
sage: 2/3 in C
False
sage: loads(C.dumps()) == C
True
classmethod an_instance()#

Returns an instance of this class

EXAMPLES:

sage: Elements.an_instance()
Category of elements of Rational Field
object()#

EXAMPLES:

sage: Elements(ZZ).object()
Integer Ring
super_categories()#

EXAMPLES:

sage: Elements(ZZ).super_categories()
[Category of objects]

Todo

Check that this is what we want.