Multigraded polynomial modules

DefinitionExponent vectors as integer vectors#✓fully proved

For an exponent vector \(a = (a_1, \dots, a_n) \in \mathbb{N}^n\) of a monomial, this is the vector \((a_1, \dots, a_n) \in \mathbb{Z}^n\) obtained by viewing each entry \(a_i\) as an integer.

public noncomputable def natDegreeToInt {n : ℕ} (a : Fin n →₀ ℕ) : Fin n →₀ ℤ :=
  Finsupp.mapRange (fun x : ℕ => (x : ℤ)) (by simp) a
Used by 3

StructureMultigraded modules over a polynomial ring#✓fully proved

Let \(K\) be a field, \(n \in \mathbb{N}\) and \(R = K[x_1, \dots, x_n]\), and let \(M\) be an \(R\)-module that is also a \(K\)-vector space. A \(\mathbb{Z}^n\)-grading of \(M\) compatible with monomial multiplication consists of \(K\)-subspaces \(M_\alpha \subseteq M\), one for each \(\alpha \in \mathbb{Z}^n\), such that \(M\) is the direct sum of the \(M_\alpha\), the action of each \(k \in K\) on \(M\) agrees with multiplication by the constant polynomial \(k \in R\), and for every \(a \in \mathbb{N}^n\), every \(c \in K\) and every \(\alpha \in \mathbb{Z}^n\), multiplication by the monomial \(c x^a = c x_1^{a_1} \cdots x_n^{a_n}\) maps \(M_\alpha\) into \(M_{\alpha + a}\), where \(a\) is viewed as an element of \(\mathbb{Z}^n\).

public structure MultigradedPolynomialModule (M : Type*) [AddCommGroup M]
    [Module (MvPolynomial (Fin n) K) M] [Module K M] where
  /-- The homogeneous `K`-submodule in degree `α`. -/
  component : (Fin n →₀ ℤ) → Submodule K M
  /-- The homogeneous pieces decompose `M` as a direct sum. -/
  decomposition : DirectSum.Decomposition component
  /-- Scalar multiplication by `k : K` agrees with the `MvPolynomial.C k` action. -/
  smul_via_C : ∀ (k : K) (m : M), k • m = ((MvPolynomial.C k : MvPolynomial (Fin n) K)) • m
  /-- Monomials shift homogeneous degrees by the embedded exponent. -/
  monomial_mem : ∀ (a : Fin n →₀ ℕ) (c : K) (α : Fin n →₀ ℤ) (m : M),
    m ∈ component α →
      ((MvPolynomial.monomial a c : MvPolynomial (Fin n) K)) • m ∈
        component (α + natDegreeToInt a)
Uses 1 · Used by 26
2 fully proved

The dependency explorer needs JavaScript and its graph data.

Download the complete graph data.