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 #
restrictTotalDegree σ R m: the subspace of multivariate polynomials indexed byσover the commutative ringRof total degree at mostm.restrictDegree σ R m: the subspace of multivariate polynomials indexed byσover the commutative ringRsuch that the degree in each individual variable is at mostm.
Main statements #
- The multivariate polynomial ring over a commutative semiring of characteristic
phas characteristicp, and similarly forCharZero. basisMonomials: shows that the monomials form a basis of the vector space of multivariate polynomials.
TODO #
Generalise to noncommutative (semi)rings
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The submodule of polynomials that are sum of monomials in the set s.
Equations
- MvPolynomial.restrictSupport R s = Finsupp.supported R R s
Instances For
restrictSupport R s has a canonical R-basis indexed by s.
Equations
- MvPolynomial.basisRestrictSupport R s = { repr := Finsupp.supportedEquivFinsupp s }
Instances For
The submodule of polynomials of total degree less than or equal to m.
Equations
- MvPolynomial.restrictTotalDegree σ R m = MvPolynomial.restrictSupport R {n : σ →₀ ℕ | (n.sum fun (x : σ) (e : ℕ) => e) ≤ m}
Instances For
The submodule of polynomials such that the degree with respect to each individual variable is
less than or equal to m.
Equations
- MvPolynomial.restrictDegree σ R m = MvPolynomial.restrictSupport R {n : σ →₀ ℕ | ∀ (i : σ), n i ≤ m}
Instances For
The monomials form a basis on MvPolynomial σ R.
Equations
- MvPolynomial.basisMonomials σ R = Finsupp.basisSingleOne
Instances For
The R-module MvPolynomial σ R is free.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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
- MvPolynomial.algebraMvPolynomial = (MvPolynomial.map (algebraMap R S)).toAlgebra
Instances For
Equations
- ⋯ = ⋯
The monomials form a basis on R[X].
Equations
- Polynomial.basisMonomials R = { repr := (Polynomial.toFinsuppIsoAlg R).toLinearEquiv }