EXAMPLES:

sage: GradedModules(ZZ)
Category of graded modules over Integer Ring
[Category of modules over Integer Ring]


TESTS:

sage: TestSuite(GradedModules(ZZ)).run()

class Connected(base_category)

TESTS:

sage: C = Modules(ZZ).FiniteDimensional(); C
Category of finite dimensional modules over Integer Ring
sage: type(C)
<class 'sage.categories.modules.Modules.FiniteDimensional_with_category'>
sage: type(C).__base__.__base__
<class 'sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring'>

sage: TestSuite(C).run()

Connected()

Return the full subcategory of the connected objects of self.

EXAMPLES:

sage: Modules(ZZ).Graded().Connected()
Category of graded connected modules over Integer Ring
Join of Category of graded connected modules over Rational Field
and Category of coalgebras over Rational Field
Category of graded connected algebras with basis over Rational Field


TESTS:

sage: TestSuite(Modules(ZZ).Graded().Connected()).run()


Adds VectorSpaces to the super categories of self if the base ring is a field.

EXAMPLES:

sage: Modules(QQ).Graded().extra_super_categories()
[Category of vector spaces over Rational Field]
[]


This makes sure that Modules(QQ).Graded() returns an instance of GradedModules and not a join category of an instance of this class and of VectorSpaces(QQ):

sage: type(Modules(QQ).Graded())


Todo

Get rid of this workaround once there is a more systematic approach for the alias Modules(QQ) -> VectorSpaces(QQ). Probably the later should be a category with axiom, and covariant constructions should play well with axioms.

EXAMPLES:

sage: C = GradedAlgebras(QQ)
sage: C
Category of graded algebras over Rational Field
sage: C.base_category()
Category of algebras over Rational Field
sage: sorted(C.super_categories(), key=str)
[Category of algebras over Rational Field,
Category of graded modules over Rational Field]

Rational Field