Vieta's formulas for a family of roots indexed by a finite type #
Mathlib reads the coefficients of a product of linear factors off the elementary symmetric
functions of the multiset of its roots (Multiset.prod_X_sub_C_coeff). Here the roots are a
family x : σ → S indexed by a finite type and the elementary symmetric functions are the
values of MvPolynomial.esymm: the k-th elementary symmetric polynomial at x is (-1) ^ k
times the coefficient of ∏ i, (X - C (x i)) in degree card σ - k.
Over a domain a monic polynomial of degree card σ whose roots, listed with multiplicity, are
the values of x is exactly that product, so the same formula computes its coefficients.
Main results #
MvPolynomial.aeval_esymm_eq_coeff_prod_X_sub_C: the elementary symmetric polynomials atxare the signed coefficients of∏ i, (X - C (x i)).Polynomial.eq_prod_X_sub_C_of_monic_of_roots_eq: a monic polynomial whose roots are listed byxis the product of the linear factorsX - C (x i).
Vieta's formulas for an indexed family of roots: the k-th elementary symmetric
polynomial, evaluated at x : σ → S, is (-1) ^ k times the coefficient of the monic polynomial
∏ i, (X - C (x i)) in degree card σ - k.
A monic polynomial of degree card σ whose roots, with multiplicity, are listed by
x : σ → R is the product of the linear factors X - C (x i).