Documentation

Formalizations.Analysis.Polynomial.EnestromKakeya

The Eneström–Kakeya theorem #

A polynomial ∑_{k=0}^n a_k z^k with real coefficients a_0 ≥ a_1 ≥ ⋯ ≥ a_n > 0 has no zero in the open unit disk. On the unit circle a zero z satisfies z^{n+1} = 1, and z^{k+1} = 1 at every strict descent a_{k+1} < a_k; with strictly decreasing coefficients there is no zero in the closed disk. The proof multiplies by 1 - z, telescopes, and applies the triangle inequality.

Main results #

References #

theorem Dilog.enestrom_kakeya {n : ℕ} (a : ℕ → ℝ) (hpos : ∀ k ≤ n, 0 < a k) (hmono : ∀ k < n, a (k + 1) ≤ a k) {z : ℂ} (hz : ‖z‖ < 1) :
∑ k ∈ Finset.range (n + 1), ↑(a k) * z ^ k ≠ 0

The Eneström–Kakeya theorem (reciprocal form): a polynomial with positive, non-increasing real coefficients has no zero strictly inside the unit disc.

Boundary refinement and the monotone clock #

The base theorem localises zeros to ‖z‖ ≥ 1. On the circle ‖z‖ = 1 the same telescoped identity, read through real parts instead of norms, forces a rigid structure: a boundary zero can only sit at a root of unity. Strict decrease at every step then rules the circle out entirely.

theorem Dilog.enestrom_kakeya_boundary {n : ℕ} (a : ℕ → ℝ) (hpos : ∀ k ≤ n, 0 < a k) (hmono : ∀ k < n, a (k + 1) ≤ a k) {z : ℂ} (hz : ‖z‖ = 1) (hS : ∑ k ∈ Finset.range (n + 1), ↑(a k) * z ^ k = 0) :
z ^ (n + 1) = 1 ∧ ∀ k < n, a (k + 1) < a k → z ^ (k + 1) = 1

Boundary Eneström–Kakeya. If the polynomial vanishes at a point of the unit circle, that point is a root of unity: zⁿ⁺¹ = 1, and zᵏ⁺¹ = 1 at every step where the coefficients strictly decrease.

theorem Dilog.enestrom_kakeya_strict {n : ℕ} (a : ℕ → ℝ) (hpos : ∀ k ≤ n, 0 < a k) (hmono : ∀ k < n, a (k + 1) < a k) {z : ℂ} (hz : ‖z‖ ≤ 1) :
∑ k ∈ Finset.range (n + 1), ↑(a k) * z ^ k ≠ 0

Strict Eneström–Kakeya. If the coefficients are strictly decreasing at every step, the polynomial has no zero on the closed unit disc ‖z‖ ≤ 1.

theorem Dilog.monotoneState_never_orthogonal {n : ℕ} (p : ℕ → ℝ) (hpos : ∀ k ≤ n, 0 < p k) (hmono : ∀ k < n, p (k + 1) < p k) (t : ℝ) :
∑ k ∈ Finset.range (n + 1), ↑(p k) * Complex.exp (-↑k * ↑t * Complex.I) ≠ 0

The monotone clock that never ticks. A quantum state with strictly decreasing populations p₀ > p₁ > ⋯ > pₙ > 0 on the equally spaced energy levels 0, 1, …, n never reaches an orthogonal state: its autocorrelation ∑ pₖ e^{-i k t} is nonzero for every time t. The finite, coefficient-side companion of zetaState_never_orthogonal.

theorem Dilog.eq_one_of_re_eq_one {w : ℂ} (hn : ‖w‖ = 1) (hr : w.re = 1) :
w = 1

Re w = 1 and ‖w‖ = 1 force w = 1.

theorem Dilog.enestrom_kakeya_boundary_series (p : ℕ → ℝ) (hmono : Antitone p) (hsum : Summable p) {z : ℂ} (hz : ‖z‖ = 1) (hS : HasSum (fun (k : ℕ) => ↑(p k) * z ^ k) 0) (k : ℕ) :
p (k + 1) < p k → z ^ (k + 1) = 1

Eneström–Kakeya on the circle, for series. Let p be summable and non-increasing. If ∑ pₖ zᵏ = 0 at a point ‖z‖ = 1, then z^{k+1} = 1 at every descent p_{k+1} < p_k: the zeros on the circle are roots of unity, pinned by where the populations drop (Remark 1 of the paper, for series).

theorem Dilog.strictAnti_series_ne_zero (p : ℕ → ℝ) (hpos : ∀ (k : ℕ), 0 < p k) (hanti : StrictAnti p) (hsum : Summable p) {z : ℂ} (hz : ‖z‖ = 1) :
¬HasSum (fun (k : ℕ) => ↑(p k) * z ^ k) 0

Strictly decreasing populations never orthogonalize (series form): for p > 0 summable and strictly decreasing, ∑ pₖ zᵏ ≠ 0 on the whole unit circle. With p_n = 6/(π² n²) this is Theorem 4 again, read from the coefficients as Remark 1 says.