Filtered Modules¶
A filtered module over a ring \(R\) with a totally ordered indexing set \(I\) (typically \(I = \NN\)) is an \(R\)-module \(M\) equipped with a family \((F_i)_{i \in I}\) of \(R\)-submodules satisfying \(F_i \subseteq F_j\) for all \(i,j \in I\) having \(i \leq j\), and \(M = \bigcup_{i \in I} F_i\). This family is called a filtration of the given module \(M\).
Todo
Implement a notion for decreasing filtrations: where \(F_j \subseteq F_i\) when \(i \leq j\).
Todo
Implement filtrations for all concrete categories.
Todo
Implement \(\operatorname{gr}\) as a functor.
- class sage.categories.filtered_modules.FilteredModules(base_category)[source]¶
- Bases: - FilteredModulesCategory- The category of filtered modules over a given ring \(R\). - A filtered module over a ring \(R\) with a totally ordered indexing set \(I\) (typically \(I = \NN\)) is an \(R\)-module \(M\) equipped with a family \((F_i)_{i \in I}\) of \(R\)-submodules satisfying \(F_i \subseteq F_j\) for all \(i,j \in I\) having \(i \leq j\), and \(M = \bigcup_{i \in I} F_i\). This family is called a filtration of the given module \(M\). - EXAMPLES: - sage: Modules(ZZ).Filtered() Category of filtered modules over Integer Ring sage: Modules(ZZ).Filtered().super_categories() [Category of modules over Integer Ring] - >>> from sage.all import * >>> Modules(ZZ).Filtered() Category of filtered modules over Integer Ring >>> Modules(ZZ).Filtered().super_categories() [Category of modules over Integer Ring] - REFERENCES: - class SubcategoryMethods[source]¶
- Bases: - object- Connected()[source]¶
- Return the full subcategory of the connected objects of - self.- A filtered \(R\)-module \(M\) with filtration \((F_0, F_1, F_2, \ldots)\) (indexed by \(\NN\)) is said to be connected if \(F_0\) is isomorphic to \(R\). - EXAMPLES: - sage: Modules(ZZ).Filtered().Connected() Category of filtered connected modules over Integer Ring sage: Coalgebras(QQ).Filtered().Connected() Category of filtered connected coalgebras over Rational Field sage: AlgebrasWithBasis(QQ).Filtered().Connected() Category of filtered connected algebras with basis over Rational Field - >>> from sage.all import * >>> Modules(ZZ).Filtered().Connected() Category of filtered connected modules over Integer Ring >>> Coalgebras(QQ).Filtered().Connected() Category of filtered connected coalgebras over Rational Field >>> AlgebrasWithBasis(QQ).Filtered().Connected() Category of filtered connected algebras with basis over Rational Field 
 
 - extra_super_categories()[source]¶
- Add - VectorSpacesto the super categories of- selfif the base ring is a field.- EXAMPLES: - sage: Modules(QQ).Filtered().is_subcategory(VectorSpaces(QQ)) True sage: Modules(ZZ).Filtered().extra_super_categories() [] - >>> from sage.all import * >>> Modules(QQ).Filtered().is_subcategory(VectorSpaces(QQ)) True >>> Modules(ZZ).Filtered().extra_super_categories() [] - This makes sure that - Modules(QQ).Filtered()returns an instance of- FilteredModulesand not a join category of an instance of this class and of- VectorSpaces(QQ):- sage: type(Modules(QQ).Filtered()) <class 'sage.categories.vector_spaces.VectorSpaces.Filtered_with_category'> - >>> from sage.all import * >>> type(Modules(QQ).Filtered()) <class 'sage.categories.vector_spaces.VectorSpaces.Filtered_with_category'> - Todo - Get rid of this workaround once there is a more systematic approach for the alias - Modules(QQ)->- VectorSpaces(QQ). Probably the latter should be a category with axiom, and covariant constructions should play well with axioms.
 
- class sage.categories.filtered_modules.FilteredModulesCategory(base_category)[source]¶
- Bases: - RegressiveCovariantConstructionCategory,- Category_over_base_ring- EXAMPLES: - sage: C = Algebras(QQ).Filtered() sage: C Category of filtered 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 filtered vector spaces over Rational Field] sage: AlgebrasWithBasis(QQ).Filtered().base_ring() Rational Field sage: HopfAlgebrasWithBasis(QQ).Filtered().base_ring() Rational Field - >>> from sage.all import * >>> C = Algebras(QQ).Filtered() >>> C Category of filtered algebras over Rational Field >>> C.base_category() Category of algebras over Rational Field >>> sorted(C.super_categories(), key=str) [Category of algebras over Rational Field, Category of filtered vector spaces over Rational Field] >>> AlgebrasWithBasis(QQ).Filtered().base_ring() Rational Field >>> HopfAlgebrasWithBasis(QQ).Filtered().base_ring() Rational Field