Basic Module Constructions
The following functions give some fundamental basic constructions with modules.
- M + N: ModMPol, ModMPol -> ModMPol
Given compatible modules \(M\) and \(N\) (ie, embedded in the same ambient module), return the sum of \(M\) and \(N\); that is, the submodule of the ambient generated by \(M\) and \(N\).
- M meet N: ModMPol, ModMPol -> ModMPol
Given compatible modules \(M\) and \(N\) (ie, embedded in the same ambient module), return the intersection of \(M\) and \(N\) in the ambient. This uses the standard algorithm for intersecting two modules of a free module (see Section 2.8.3 of [GP02]). If the ambient is the quotient of a free module \(F\) by non-trivial relations, the intersection performed is effectively that of the inverse images of \(M\) and \(N\) in \(F\).
- f * M: ModMPol, RngElt -> ModMPol
- M * f: ModMPol, RngElt -> ModMPol
Given an \(R\)-module \(M\) and an element \(f\in R\), return the submodule of \(M\) generated by \(\{ f\cdot v: v \in M \}\) or \(\{ v\cdot f: v \in M \}\), respectively.
- I * M: RngMPol, ModMPol -> ModMPol
- M * I: ModMPol, RngMPol -> ModMPol
Given an \(R\)-module \(M\) and an ideal \(I\) of \(R\), return the submodule of \(M\) generated by \(\{ f\cdot v: f \in I, v \in M \}\) or \(\{ v\cdot f: f \in I, v \in M \}\), respectively.
- M / N: ModMPol, ModMPol -> ModMPol
Given compatible modules \(M\) and \(N\) (ie, embedded in the same ambient module), return the quotient module \(M/(M \cap N)\). This has the same effect as using the
quoconstructor.
- DirectSum(M, N): ModMPol, ModMPol -> ModMPol, [ModMPolHom], [ModMPolHom]
Given \(R\)-modules \(M\) and \(N\), return the direct sum \(D = M\oplus N\) and two sequences of corresponding homomorphisms giving the injections into and projections from \(D\), respectively.
- DirectSum(S): [ModMPol] -> ModMPol, [ModMPolHom], [ModMPolHom]
- DirectSum(S): [* ModMPol *] -> ModMPol, [ModMPolHom], [ModMPolHom]
A sequence or list \(L\) of \(R\)-modules, return their direct sum \(D\) and two sequences of corresponding homomorphisms giving the injections into and projections from \(D\), respectively.
- Twist(M, d): ModMPol, RngIntElt -> [ ModMPolElt ], ModMPolHom
Given a graded module \(M\), and an integer \(d\), return the Serre twist \(M(d)\) and an isomorphism \(f:M \rightarrow M(d)\). The twisted module is simply an isomorphic copy of \(M\), but with the grading twisted by \(d\) (so \(d\) is subtracted from each weight of \(M\)). \(f\) has degree \(-d\).