Graded modules

class sage.categories.graded_modules.GradedModules(base_category)

Bases: sage.categories.graded_modules.GradedModulesCategory

The category of graded modules.


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

The category of graded modules defines the graded structure which shall be preserved by morphisms:

sage: Modules(ZZ).Graded().additional_structure()
Category of graded modules over Integer Ring


sage: TestSuite(GradedModules(ZZ)).run()
class Connected(base_category)

Bases: sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring


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()
class GradedModules.ElementMethods
class GradedModules.ParentMethods
class GradedModules.SubcategoryMethods

Return the full subcategory of the connected objects of self.


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


sage: TestSuite(Modules(ZZ).Graded().Connected()).run()
sage: Coalgebras(QQ).Graded().Connected.__module__

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


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

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())
<class 'sage.categories.graded_modules.GradedModules_with_category'>


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.

class sage.categories.graded_modules.GradedModulesCategory(base_category)

Bases: sage.categories.covariant_functorial_construction.RegressiveCovariantConstructionCategory, sage.categories.category_types.Category_over_base_ring


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]

sage: AlgebrasWithBasis(QQ).Graded().base_ring()
Rational Field
sage: GradedHopfAlgebrasWithBasis(QQ).base_ring()
Rational Field

Previous topic

Graded Hopf algebras with basis

Next topic

Graded modules with basis

This Page