Documentation

Mathlib.RingTheory.MvPolynomial.Basic

Multivariate polynomials over commutative rings #

This file contains basic facts about multivariate polynomials over commutative rings, for example that the monomials form a basis.

Main definitions #

Main statements #

TODO #

Generalise to noncommutative (semi)rings

instance MvPolynomial.instCharP (σ : Type u) (R : Type v) [CommSemiring R] (p : ℕ) [CharP R p] :
instance MvPolynomial.instExpChar (σ : Type u) (R : Type v) [CommSemiring R] (p : ℕ) [ExpChar R p] :
theorem MvPolynomial.map_eq_map (σ : Type u) {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (p : MvPolynomial σ R) (f : R →+* S) :
AddMonoidAlgebra.map (↑f) p = (map f) p
@[deprecated MvPolynomial.map_eq_map (since := "2026-06-18")]
theorem MvPolynomial.mapRange_eq_map (σ : Type u) {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (p : MvPolynomial σ R) (f : R →+* S) :
AddMonoidAlgebra.map (↑f) p = (map f) p

Alias of MvPolynomial.map_eq_map.

noncomputable def MvPolynomial.restrictSupport {σ : Type u} (R : Type v) [CommSemiring R] (s : Set (σ →₀ ℕ)) :

The submodule of polynomials that are sum of monomials in the set s.

Equations
Instances For
    noncomputable def MvPolynomial.basisRestrictSupport {σ : Type u} (R : Type v) [CommSemiring R] (s : Set (σ →₀ ℕ)) :
    Module.Basis (↑s) R ↥(restrictSupport R s)

    restrictSupport R s has a canonical R-basis indexed by s.

    Equations
    Instances For
      theorem MvPolynomial.restrictSupport_mono {σ : Type u} (R : Type v) [CommSemiring R] {s t : Set (σ →₀ ℕ)} (h : s ⊆ t) :
      theorem MvPolynomial.restrictSupport_eq_span {σ : Type u} (R : Type v) [CommSemiring R] (s : Set (σ →₀ ℕ)) :
      restrictSupport R s = Submodule.span R ((fun (x : σ →₀ ℕ) => (monomial x) 1) '' s)
      theorem MvPolynomial.mem_restrictSupport_iff {σ : Type u} (R : Type v) [CommSemiring R] {s : Set (σ →₀ ℕ)} {r : MvPolynomial σ R} :
      r ∈ restrictSupport R s ↔ ↑r.support ⊆ s
      @[simp]
      theorem MvPolynomial.monomial_mem_restrictSupport {σ : Type u} (R : Type v) [CommSemiring R] {s : Set (σ →₀ ℕ)} {m : σ →₀ ℕ} {r : R} :
      (monomial m) r ∈ restrictSupport R s ↔ m ∈ s ∨ r = 0
      noncomputable def MvPolynomial.restrictSupportIdeal {σ : Type u} (R : Type v) [CommSemiring R] (s : Set (σ →₀ ℕ)) (hs : IsUpperSet s) :

      The ideal defined by restrictSupport R s when s is an upper set.

      Equations
      Instances For
        noncomputable def MvPolynomial.restrictTotalDegree (σ : Type u) (R : Type v) [CommSemiring R] (m : ℕ) :

        The submodule of polynomials of total degree less than or equal to m.

        Equations
        Instances For
          noncomputable def MvPolynomial.restrictDegree (σ : Type u) (R : Type v) [CommSemiring R] (m : ℕ) :

          The submodule of polynomials such that the degree with respect to each individual variable is less than or equal to m.

          Equations
          Instances For
            theorem MvPolynomial.mem_restrictDegree (σ : Type u) {R : Type v} [CommSemiring R] (p : MvPolynomial σ R) (n : ℕ) :
            p ∈ restrictDegree σ R n ↔ ∀ s ∈ p.support, ∀ (i : σ), s i ≤ n
            theorem MvPolynomial.mem_restrictDegree_iff_sup (σ : Type u) {R : Type v} [CommSemiring R] [DecidableEq σ] (p : MvPolynomial σ R) (n : ℕ) :
            p ∈ restrictDegree σ R n ↔ ∀ (i : σ), Multiset.count i p.degrees ≤ n
            noncomputable def MvPolynomial.basisMonomials (σ : Type u) (R : Type v) [CommSemiring R] :

            The monomials form a basis on MvPolynomial σ R.

            Equations
            Instances For
              @[simp]
              theorem MvPolynomial.coe_basisMonomials (σ : Type u) (R : Type v) [CommSemiring R] :
              ⇑(basisMonomials σ R) = fun (s : σ →₀ ℕ) => (monomial s) 1
              instance MvPolynomial.instFree (σ : Type u) (R : Type v) [CommSemiring R] :

              The R-module MvPolynomial σ R is free.