Degrees and variables of polynomials #
This file establishes many results about the degree and variable sets of a multivariate polynomial.
The variable set of a polynomial $P \in R[X]$ is a Finset containing each $x \in X$
that appears in a monomial in $P$.
The degree set of a polynomial $P \in R[X]$ is a Multiset containing, for each $x$ in the
variable set, $n$ copies of $x$, where $n$ is the maximum number of copies of $x$ appearing in a
monomial of $P$.
Main declarations #
- 
MvPolynomial.degrees p: the multiset of variables representing the union of the multisets corresponding to each non-zero monomial inp. For example if7 ≠ 0inRandp = x²y+7y³thendegrees p = {x, x, y, y, y}
- 
MvPolynomial.vars p: the finset of variables occurring inp. For example ifp = x⁴y+yzthenvars p = {x, y, z}
- 
MvPolynomial.degreeOf n p : ℕ: the total degree ofpwith respect to the variablen. For example ifp = x⁴y+yzthendegreeOf y p = 1.
- 
MvPolynomial.totalDegree p : ℕ: the max of the sizes of the multisetsswhose monomialsX^soccur inp. For example ifp = x⁴y+yzthentotalDegree p = 5.
Notation #
As in other polynomial files, we typically use the notation:
- 
σ τ : Type*(indexing the variables)
- 
R : Type*[CommSemiring R](the coefficients)
- 
s : σ →₀ ℕ, a function fromσtoℕwhich is zero away from a finite set. This will give rise to a monomial inMvPolynomial σ Rwhich mathematicians might callX^s
- 
r : R
- 
i : σ, with corresponding monomialX i, often denotedX_iby mathematicians
- 
p : MvPolynomial σ R
The maximal degrees of each variable in a multi-variable polynomial, expressed as a multiset.
(For example, degrees (x^2 * y + y^3) would be {x, x, y, y, y}.)
Equations
- MvPolynomial.degrees p = Finset.sup (MvPolynomial.support p) fun (s : σ →₀ ℕ) => Finsupp.toMultiset s
Instances For
The variables of the product of a family of polynomials are a subset of the union of the sets of variables of each polynomial.
degreeOf n p gives the highest power of X_n that appears in p
Equations
Instances For
totalDegree p gives the maximum |s| over the monomials X^s in p
Equations
- MvPolynomial.totalDegree p = Finset.sup (MvPolynomial.support p) fun (s : σ →₀ ℕ) => Finsupp.sum s fun (x : σ) (e : ℕ) => e
Instances For
If f₁ and f₂ are ring homs out of the polynomial ring and p₁ and p₂ are polynomials,
then f₁ p₁ = f₂ p₂ if p₁ = p₂ and f₁ and f₂ are equal on R and on the variables
of p₁.