The origin inequality: the pointwise estimate and (tri) #
The origin argument controls F(t) = ∏ⱼ (1 - a t qⱼ) through its derivative,
F'(t) = -(n-1) a (x+iy) F(t) - a² t ∑ⱼ qⱼ² ∏_{k≠j} (1 - a t q_k),
whose error term is bounded by a² t (n-1) β(t)^{(n-2)/2}. Integrating that against the
fundamental theorem of calculus and F(0) = 1 gives the triangle inequality (tri). The
J-algebra that turns (tri) into (origin-exact) follows in a later file.
The error bound has three steps, in increasing order of depth:
∑ⱼ ‖1 - a t qⱼ‖² ≤ (n-1) β(t), the same expansion that produced the quadratic mean in the polar channel — this is wherexenters;- Cauchy–Schwarz,
(∑ b)² ≤ N ∑ b²; - Maclaurin's inequality,
∑ⱼ ∏_{k≠j} bₖ ≤ N (mean b)^{N-1}— the one ingredient absent from Mathlib, proved inSendov.Analytic.Maclaurin.
The blog post applies Maclaurin to (1/(n-1)) ∑ⱼ ∏_{k≠j} |1 - a t q_k| and then Cauchy–Schwarz;
the order is immaterial and it is done the same way here.
A note on the bookkeeping. The quantity ∑ⱼ ∏_{k≠j} f(qⱼ) is written as a sum over erasures
of q, whereas Multiset.esymm — which Maclaurin is stated for — is a sum over sub-multisets
of the image q.map f. Rather than relate erasure and map directly, which needs f
injective, the two are matched through the recurrence they share.
Main statements #
Sendov.sumEraseProdMap_eq_esymm: the two forms of∑ⱼ ∏_{k≠j}agree;Sendov.sum_norm_sq_one_sub_le:∑ⱼ ‖1 - a t qⱼ‖² ≤ (n-1) β(t);Sendov.sumEraseProdMap_norm_le: the error bound(n-1) β(t)^{(n-2)/2};Sendov.hasDerivAt_Fprod:F'(t) = -a ∑ⱼ qⱼ ∏_{k≠j} (1 - a t q_k);Sendov.norm_deriv_add_le:‖F'(t) + (n-1) a (x+iy) F(t)‖ ≤ a² t (n-1) β(t)^{(n-2)/2};Sendov.one_le_tri: the triangle inequality(tri).
The derivative is assembled from a weighted erasure sum sumEraseProdC q g f = ∑ⱼ g(qⱼ) ∏_{k≠j} f(q_k): taking g = id gives F' itself, and the identity 1 - (1 - a t qⱼ) = a t qⱼ
splits that into the main term (∑ⱼ qⱼ) F(t) plus a t times the case g = (· ^ 2), which is
the residual actually being estimated.
∑ⱼ ∏_{k≠j} over erasures, and esymm #
∑ⱼ ∏_{k≠j} f(sₖ), as a sum over erasures of s.
Equations
- Sendov.sumEraseProdMap s f = (Multiset.map (fun (j : α) => (Multiset.map f (s.erase j)).prod) s).sum
Instances For
The erasure form and Multiset.esymm agree, matched through their common recurrence.
The quadratic mean #
Cauchy–Schwarz and the error bound #
The error bound. ∑ⱼ ∏_{k≠j} ‖1 - a t q_k‖ ≤ (n-1) β(t)^{(n-2)/2}: Maclaurin's
inequality, then Cauchy–Schwarz, then the quadratic mean. Nonnegativity of β(t) is not
assumed — it follows from the quadratic-mean bound, β(t) dominating an average of squares.
The derivative of F(t) = ∏ⱼ (1 - a t qⱼ) #
∑ⱼ g(qⱼ) ∏_{k≠j} f(q_k), the weighted erasure sum over ℂ. Taking g = id gives the
derivative of a product; taking g = (· ^ 2) gives the residual left after the main term is
split off.
Equations
- Sendov.sumEraseProdC s g f = (Multiset.map (fun (j : ℂ) => g j * (Multiset.map f (s.erase j)).prod) s).sum
Instances For
F(t) = ∏ⱼ (1 - a t qⱼ).
Equations
- Sendov.Fprod a q t = (Multiset.map (fun (v : ℂ) => 1 - ↑a * ↑t * v) q).prod
Instances For
Splitting the derivative sum into its main term and its residual:
∑ⱼ qⱼ ∏_{k≠j}(1-atq_k) = (∑ⱼ qⱼ) F(t) + a t ∑ⱼ qⱼ² ∏_{k≠j}(1-atq_k), since
1 - (1 - a t qⱼ) = a t qⱼ.
F'(t) = -a ∑ⱼ qⱼ ∏_{k≠j}(1 - a t q_k).
The pointwise estimate. ‖F'(t) + (n-1) a (x+iy) F(t)‖ ≤ a² t (n-1) β(t)^{(n-2)/2}.
Integrating the pointwise estimate: the triangle inequality (tri) #
The triangle inequality (tri). Integrating norm_deriv_add_le against the
fundamental theorem of calculus, using F(0) = 1.