The monic polynomial with prescribed lower coefficients #
A monic polynomial of degree n is exactly its n lower coefficients: the leading term is forced
to be X ^ n. This file names the resulting polynomial TauCeti.Polynomial.monicOfCoeff c for a
tuple c : Fin n → R, and records that reading the coefficients back off is inverse to it.
The point of naming it is that it is the object against which analytic dependence on the
coefficients is stated: TauCeti/Analysis/Polynomial/SimpleRoots/Basic.lean differentiates
(c, z) ↦ (monicOfCoeff c).eval z in c and z jointly, so the lower coefficients must appear as
a free tuple rather than as the data of a polynomial subtype.
Main declarations #
TauCeti.Polynomial.monicOfCoeff: the monic polynomialX ^ n + ∑ i, c i * X ^ iof degreenwhosenlower coefficients arec.TauCeti.Polynomial.monic_monicOfCoeff,TauCeti.Polynomial.natDegree_monicOfCoeff,TauCeti.Polynomial.eval_monicOfCoeff: its monicity, its degree and its values.TauCeti.Polynomial.coeff_monicOfCoeffandTauCeti.Polynomial.monicOfCoeff_coeff: the coefficients are read back off, and every monic polynomial of degreenarises this way, so the two constructions are mutually inverse.
Mathlib writes the same polynomial in the same shape one universe up: Polynomial.freeMonic R n,
in Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean, is
X ^ n + ∑ i, monomial i (MvPolynomial.X i) over MvPolynomial (Fin n) R, of which
monicOfCoeff c is the specialization at c. Mathlib also has the same correspondence in bundled
form, as the composite of Polynomial.monicEquivDegreeLT with Polynomial.degreeLTEquiv;
monicOfCoeff c is by definition the image of c under the inverse of that composite, with the
degree-< n and monic subtypes unbundled away and without the Nontrivial R that
monicEquivDegreeLT carries. TauCeti.Sym.coeffEquiv is built from the bundled form, and
TauCeti.Sym.toMonic_coeffEquiv_symm identifies its inverse with monicOfCoeff.
The monic polynomial of degree n whose n lower coefficients are c, that is, the
specialization of Mathlib's Polynomial.freeMonic at the coefficient tuple c. It is the inverse
of the coefficient-reading half of TauCeti.Sym.coeffEquiv, and is the natural object to state
analytic dependence on the coefficients against: TauCeti.Sym.coeffEquiv_symm_apply describes the
inverse chart as its root multiset.
Equations
- TauCeti.Polynomial.monicOfCoeff c = Polynomial.X ^ n + ∑ i : Fin n, (Polynomial.monomial ↑i) (c i)
Instances For
The polynomial attached to a coefficient tuple is monic: its lower part has degree < n, so the
term X ^ n leads.
The prescribed coefficients are read back off: this is the defining property of
TauCeti.Polynomial.monicOfCoeff.
Evaluating the monic polynomial attached to a coefficient tuple: the leading power plus the prescribed lower part.
Mapping coefficients commutes with forming the monic polynomial with prescribed lower coefficients.
The polynomial attached to a tuple of n coefficients has degree exactly n, the degree of its
leading term X ^ n.
Every monic polynomial of degree n is the monic polynomial attached to its own lower
coefficients: together with TauCeti.Polynomial.coeff_monicOfCoeff this identifies the monic
polynomials of degree n with the coefficient tuples.