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(s=None)

Bases: sage.categories.category.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: sage.categories.category_types.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: sage.categories.category.Category

Initialize self.

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: sage.categories.category_types.AbelianCategory, sage.categories.category_types.Category_over_base_ring

sage.categories.category_types.Category_over_base

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 trac ticket #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
class sage.categories.category_types.Category_over_base_ring(base, name=None)

Bases: sage.categories.category_types.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
sage.categories.category_types.ChainComplexes

The category of all chain complexes over a base ring.

EXAMPLES:

sage: ChainComplexes(RationalField())
Category of chain complexes over Rational Field

sage: ChainComplexes(Integers(9))
Category of chain complexes over Ring of integers modulo 9
sage.categories.category_types.Elements

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