Symmetric Polynomials and Elementary Symmetric Polynomials #
This file defines symmetric MvPolynomial
s and elementary symmetric MvPolynomial
s.
We also prove some basic facts about them.
Main declarations #
Notation #
-
esymm σ R n
is then
th elementary symmetric polynomial inMvPolynomial σ R
. -
psum σ R n
is the degree-n
power sum inMvPolynomial σ R
, i.e. the sum of monomials(X i)^n
overi ∈ σ
.
As in other polynomial files, we typically use the notation:
-
σ τ : Type*
(indexing the variables) -
R S : Type*
[CommSemiring R]
[CommSemiring S]
(the coefficients) -
r : R
elements of the coefficient ring -
i : σ
, with corresponding monomialX i
, often denotedX_i
by mathematicians -
φ ψ : MvPolynomial σ R
The n
th 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 MvPolynomial
s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The n
th 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 n
th elementary symmetric MvPolynomial σ R
is obtained by evaluating the
n
th 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