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] :
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) :
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

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

    Equations
    Instances For

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

      Equations
      Instances For

        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_restrictTotalDegree (σ : Type u) {R : Type v} [CommSemiring R] (m : ) (p : MvPolynomial σ R) :
          p MvPolynomial.restrictTotalDegree σ R m p.totalDegree m
          theorem MvPolynomial.mem_restrictDegree (σ : Type u) {R : Type v} [CommSemiring R] (p : MvPolynomial σ R) (n : ) :
          p MvPolynomial.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 MvPolynomial.restrictDegree σ R n ∀ (i : σ), Multiset.count i p.degrees n

          The monomials form a basis on MvPolynomial σ R.

          Equations
          Instances For
            @[simp]
            instance MvPolynomial.instFree (σ : Type u) (R : Type v) [CommSemiring R] :

            The R-module MvPolynomial σ R is free.

            theorem MvPolynomial.linearIndependent_X (σ : Type u) (R : Type v) [CommSemiring R] :
            LinearIndependent R MvPolynomial.X
            noncomputable def MvPolynomial.algebraMvPolynomial {R : Type u_1} {S : Type u_2} {σ : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] :

            If S is an R-algebra, then MvPolynomial σ S is a MvPolynomial σ R algebra.

            Warning: This produces a diamond for Algebra (MvPolynomial σ R) (MvPolynomial σ (MvPolynomial σ S)). That's why it is not a global instance.

            Equations
            Instances For
              @[simp]
              instance MvPolynomial.instIsScalarTower {R : Type u_1} {S : Type u_2} {σ : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] :