The Fundamental Theorem of Symmetric Polynomials #
In a polynomial ring in n
variables over a commutative ring, the subalgebra of symmetric
polynomials is freely generated by the first n
elementary symmetric polynomials (excluding
the 0th, which is simply 1). This is expressed as an isomorphism
MvPolynomial.esymmAlgEquiv
between MvPolynomial (Fin n) R
and
the symmetric subalgebra of any polynomial ring MvPolynomial σ R
with #σ = n
.
The forward map is called MvPolynomial.esymmAlgHom
.
Proof strategy #
We follow the alternative proof on the Wikipedia page
https://en.wikipedia.org/wiki/Elementary_symmetric_polynomial#Alternative_proof
It suffices to show esymmAlgHom
is both injective and surjective.
Endow the Fintype σ
with a linear order and endow the (monic) monomials in the polynomial ring
MvPolynomial σ R
with the lexicographic order on σ →₀ ℕ
, which is a well order.
Then any nonzero polynomial p : MvPolynomial σ R
has a largest nonzero monomial
(AddMonoidAlgebra.supDegree toLex p
) and the corresponding coefficient is
AddMonoidAlgebra.leadingCoeff toLex p
. If p
is symmetric, any permutation of a nonzero monomial
in p
must also be a nonzero monomial in p
, so the largest nonzero monomial must be antitone
as a function σ → ℕ
(MvPolynomial.IsSymmetric.antitone_supDegree
). We can then construct a
monomial in MvPolynomial (Fin n) R
whose image under esymmAlgHom
has the same supDegree
and
leadingCoeff
as p
: MvPolynomial.supDegree_esymmAlgHomMonomial
says that the supDegree
of
the image is given by Fin.accumulate
, and Fin.accumulate_invAccumulate
says that
Fin.invAccumulate
is inverse to Fin.accumulate
for antitone monomials.
If we subtract the image from p
, we are left with a symmetric polynomial of
lower supDegree
, which we may assume to be in the image by induction,
thanks to the well-orderedness of Lex (σ →₀ ℕ)
; the surjectivity of esymmAlgHom
follows. For injectivity, just notice that the images of different monic monomials in
MvPolynomial (Fin n) R
have different supDegree
(Fin.accumulate_injective
), so if there is
at least one nonzero monomial, the images cannot all cancel out
(AddMonoidAlgebra.sum_ne_zero_of_injOn_supDegree
).
We actually only define Fin.accumulate
in the case σ := Fin m
rather than an arbitrary Fintype
with a linear order; we show that esymmAlgHom
is in fact surjective whenever m ≤ n
and
injective whenever n ≤ m
, and then transfer the results to any Fintype σ
. See
MvPolynomial.injective_esymmAlgHom
and MvPolynomial.esymmAlgHom_surjective
.
The j
th entry of accumulate n m t
is the sum of t i
over all i ≥ j
.
Equations
- Fin.accumulate n m = { toFun := fun (t : Fin n → ℕ) (j : Fin m) => ∑ i ∈ Finset.filter (fun (i : Fin n) => ↑j ≤ ↑i) Finset.univ, t i, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The i
th entry of invAccumulate n m s
is s i - s (i+1)
, where s j = 0
if j ≥ m
.
Equations
Instances For
The R
-algebra homomorphism from $R[x_1,\dots,x_n]$ to the symmetric subalgebra of
$R[\{x_i \mid i ∈ σ\}]$ sending $x_i$ to the $i$-th elementary symmetric polynomial.
Equations
- MvPolynomial.esymmAlgHom σ R n = MvPolynomial.aeval fun (i : Fin n) => ⟨MvPolynomial.esymm σ R (↑i + 1), ⋯⟩
Instances For
The image of a monomial under esymmAlgHom
.
Equations
- MvPolynomial.esymmAlgHomMonomial σ t r = ↑((MvPolynomial.esymmAlgHom σ R n) ((MvPolynomial.monomial t) r))
Instances For
If the cardinality of σ
is n
, then esymmAlgHom σ R n
is an isomorphism.
Equations
- MvPolynomial.esymmAlgEquiv R hn = AlgEquiv.ofBijective (MvPolynomial.esymmAlgHom σ R n) ⋯