Symmetric Polynomials and Elementary Symmetric Polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines symmetric mv_polynomials and elementary symmetric mv_polynomials.
We also prove some basic facts about them.
Main declarations #
Notation #
esymm σ R n, is thenth elementary symmetric polynomial inmv_polynomial σ R.
As in other polynomial files, we typically use the notation:
-
σ τ : Type*(indexing the variables) -
R S : Type*[comm_semiring R][comm_semiring S](the coefficients) -
r : Relements of the coefficient ring -
i : σ, with corresponding monomialX i, often denotedX_iby mathematicians -
φ ψ : mv_polynomial σ R
The nth elementary symmetric function evaluated at the elements of s
Equations
- s.esymm n = (multiset.map multiset.prod (multiset.powerset_len n s)).sum
A mv_polynomial φ is symmetric if it is invariant under
permutations of its variables by the rename operation
Equations
- φ.is_symmetric = ∀ (e : equiv.perm σ), ⇑(mv_polynomial.rename ⇑e) φ = φ
The subalgebra of symmetric mv_polynomials.
Equations
- mv_polynomial.symmetric_subalgebra σ R = {carrier := set_of mv_polynomial.is_symmetric, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _}
The nth elementary symmetric mv_polynomial σ R.
Equations
- mv_polynomial.esymm σ R n = (finset.powerset_len n finset.univ).sum (λ (t : finset σ), t.prod (λ (i : σ), mv_polynomial.X i))
The nth elementary symmetric mv_polynomial σ 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