Symmetric Polynomials and Elementary Symmetric Polynomials #
This file defines symmetric MvPolynomials and elementary symmetric MvPolynomials.
We also prove some basic facts about them.
Main declarations #
Notation #
-
esymm σ R nis thenth elementary symmetric polynomial inMvPolynomial σ R. -
psum σ R nis the degree-npower sum inMvPolynomial σ R, i.e. the sum of monomials(X i)^noveri ∈ σ.
As in other polynomial files, we typically use the notation:
-
σ τ : Type*(indexing the variables) -
R S : Type*[CommSemiring R][CommSemiring S](the coefficients) -
r : Relements of the coefficient ring -
i : σ, with corresponding monomialX i, often denotedX_iby mathematicians -
φ ψ : MvPolynomial σ R
The nth elementary symmetric function evaluated at the elements of s
Equations
- Multiset.esymm s n = Multiset.sum (Multiset.map Multiset.prod (Multiset.powersetLen n s))
Instances For
A MvPolynomial φ is symmetric if it is invariant under
permutations of its variables by the rename operation
Equations
- MvPolynomial.IsSymmetric φ = ∀ (e : Equiv.Perm σ), ↑(MvPolynomial.rename ↑e) φ = φ
Instances For
The subalgebra of symmetric MvPolynomials.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The nth elementary symmetric MvPolynomial σ R.
Equations
- MvPolynomial.esymm σ R n = Finset.sum (Finset.powersetLen n Finset.univ) fun t => Finset.prod t fun i => MvPolynomial.X i
Instances For
The nth elementary symmetric MvPolynomial σ R is obtained by evaluating the
nth elementary symmetric at the Multiset of the monomials
We can define esymm σ R n by summing over a subtype instead of over powerset_len.
We can define esymm σ R n as a sum over explicit monomials
The degree-n power sum
Equations
- MvPolynomial.psum σ R n = Finset.sum Finset.univ fun i => MvPolynomial.X i ^ n