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.mapRange_eq_map (σ : Type u) {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (p : MvPolynomial σ R) (f : R →+* S) :
Finsupp.mapRange f p = (map f) p
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.

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.

    Instances For
      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)
      @[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
      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.

      Instances For

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

        Instances For

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

          Instances For
            theorem MvPolynomial.mem_restrictDegree (σ : Type u) {R : Type v} [CommSemiring R] (p : MvPolynomial σ R) (n : ) :
            p restrictDegree σ R n sp.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.

            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.