Symmetric Polynomials and Elementary Symmetric Polynomials #
This file defines symmetric MvPolynomial
s and the bases of elementary, complete homogeneous,
power sum, and monomial 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
.hsymm σ R n
is then
th complete homogeneous 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 ∈ σ
.msymm σ R μ
is the monomial symmetric polynomial whose exponents set are the parts ofμ ⊢ n
inMvPolynomial σ R
.
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 ringi : σ
, with corresponding monomialX i
, often denotedX_i
by mathematiciansφ ψ : MvPolynomial σ R
The n
th elementary symmetric function evaluated at the elements of s
Equations
- s.esymm n = (Multiset.map Multiset.prod (Multiset.powersetCard n s)).sum
Instances For
A MvPolynomial φ
is symmetric if it is invariant under
permutations of its variables by the rename
operation
Equations
- φ.IsSymmetric = ∀ (e : Equiv.Perm σ), (MvPolynomial.rename ⇑e) φ = φ
Instances For
The subalgebra of symmetric MvPolynomial
s.
Equations
- MvPolynomial.symmetricSubalgebra σ R = { carrier := setOf MvPolynomial.IsSymmetric, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, algebraMap_mem' := ⋯ }
Instances For
MvPolynomial.rename
induces an isomorphism between the symmetric subalgebras.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The n
th elementary symmetric MvPolynomial σ R
.
It is the sum over all the degree n squarefree monomials in MvPolynomial σ R
.
Equations
- MvPolynomial.esymm σ R n = ∑ t ∈ Finset.powersetCard n Finset.univ, ∏ i ∈ t, MvPolynomial.X i
Instances For
esymmPart
is the product of the symmetric polynomials esymm μᵢ
,
where μ = (μ₁, μ₂, ...)
is a partition.
Equations
- MvPolynomial.esymmPart σ R μ = (Multiset.map (MvPolynomial.esymm σ R) μ.parts).prod
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 n
th complete homogeneous symmetric MvPolynomial σ R
.
It is the sum over all the degree n monomials in MvPolynomial σ R
.
Equations
- MvPolynomial.hsymm σ R n = ∑ s : Sym σ n, (Multiset.map MvPolynomial.X ↑s).prod
Instances For
hsymmPart
is the product of the symmetric polynomials hsymm μᵢ
,
where μ = (μ₁, μ₂, ...)
is a partition.
Equations
- MvPolynomial.hsymmPart σ R μ = (Multiset.map (MvPolynomial.hsymm σ R) μ.parts).prod
Instances For
The degree-n
power sum symmetric MvPolynomial σ R
.
It is the sum over all the n
-th powers of the variables.
Equations
- MvPolynomial.psum σ R n = ∑ i : σ, MvPolynomial.X i ^ n
Instances For
psumPart
is the product of the symmetric polynomials psum μᵢ
,
where μ = (μ₁, μ₂, ...)
is a partition.
Equations
- MvPolynomial.psumPart σ R μ = (Multiset.map (MvPolynomial.psum σ R) μ.parts).prod
Instances For
The monomial symmetric MvPolynomial σ R
with exponent set μ.
It is the sum over all the monomials in MvPolynomial σ R
such that
the multiset of exponents is equal to the multiset of parts of μ.
Equations
- MvPolynomial.msymm σ R μ = ∑ s : { a : Sym σ n // Nat.Partition.ofSym a = μ }, (Multiset.map MvPolynomial.X ↑↑s).prod