Filtered Modules With Basis

A filtered module with basis over a ring \(R\) means (for the purpose of this code) a filtered \(R\)-module \(M\) with filtration \((F_i)_{i \in I}\) (typically \(I = \NN\)) endowed with a basis \((b_j)_{j \in J}\) of \(M\) and a partition \(J = \bigsqcup_{i \in I} J_i\) of the set \(J\) (it is allowed that some \(J_i\) are empty) such that for every \(n \in I\), the subfamily \((b_j)_{j \in U_n}\), where \(U_n = \bigcup_{i \leq n} J_i\), is a basis of the \(R\)-submodule \(F_n\).

For every \(i \in I\), the \(R\)-submodule of \(M\) spanned by \((b_j)_{j \in J_i}\) is called the \(i\)-th graded component (aka the \(i\)-th homogeneous component) of the filtered module with basis \(M\); the elements of this submodule are referred to as homogeneous elements of degree \(i\).

See the class documentation FilteredModulesWithBasis for further details.

sage.categories.filtered_modules_with_basis.FilteredModulesWithBasis

The category of filtered modules with a distinguished basis.

A filtered module with basis over a ring \(R\) means (for the purpose of this code) a filtered \(R\)-module \(M\) with filtration \((F_i)_{i \in I}\) (typically \(I = \NN\)) endowed with a basis \((b_j)_{j \in J}\) of \(M\) and a partition \(J = \bigsqcup_{i \in I} J_i\) of the set \(J\) (it is allowed that some \(J_i\) are empty) such that for every \(n \in I\), the subfamily \((b_j)_{j \in U_n}\), where \(U_n = \bigcup_{i \leq n} J_i\), is a basis of the \(R\)-submodule \(F_n\).

For every \(i \in I\), the \(R\)-submodule of \(M\) spanned by \((b_j)_{j \in J_i}\) is called the \(i\)-th graded component (aka the \(i\)-th homogeneous component) of the filtered module with basis \(M\); the elements of this submodule are referred to as homogeneous elements of degree \(i\). The \(R\)-module \(M\) is the direct sum of its \(i\)-th graded components over all \(i \in I\), and thus becomes a graded \(R\)-module with basis. Conversely, any graded \(R\)-module with basis canonically becomes a filtered \(R\)-module with basis (by defining \(F_n = \bigoplus_{i \leq n} G_i\) where \(G_i\) is the \(i\)-th graded component, and defining \(J_i\) as the indexing set of the basis of the \(i\)-th graded component). Hence, the notion of a filtered \(R\)-module with basis is equivalent to the notion of a graded \(R\)-module with basis.

However, the category of filtered \(R\)-modules with basis is not the category of graded \(R\)-modules with basis. Indeed, the morphisms of filtered \(R\)-modules with basis are defined to be morphisms of \(R\)-modules which send each \(F_n\) of the domain to the corresponding \(F_n\) of the target; in contrast, the morphisms of graded \(R\)-modules with basis must preserve each homogeneous component. Also, the notion of a filtered algebra with basis differs from that of a graded algebra with basis.

Note

Currently, to make use of the functionality of this class, an instance of FilteredModulesWithBasis should fulfill the contract of a CombinatorialFreeModule (most likely by inheriting from it). It should also have the indexing set \(J\) encoded as its _indices attribute, and _indices.subset(size=i) should yield the subset \(J_i\) (as an iterable). If the latter conditions are not satisfied, then basis() must be overridden.

Note

One should implement a degree_on_basis method in the parent class in order to fully utilize the methods of this category. This might become a required abstract method in the future.

EXAMPLES:

sage: C = ModulesWithBasis(ZZ).Filtered(); C
Category of filtered modules with basis over Integer Ring
sage: sorted(C.super_categories(), key=str)
[Category of filtered modules over Integer Ring,
 Category of modules with basis over Integer Ring]
sage: C is ModulesWithBasis(ZZ).Filtered()
True