The Huddling inequality for every cyclic group #
For every N ≠ 0 and B ⊆ ZMod N, ‖Ahat B 1‖ ≤ ‖Ahat (arc #B) 1‖, where arc m = {0, …, m - 1},
with equality exactly for the translates of arc #B. The proof cuts the circle at the boundary
of an arc selected by the phase of Ahat B 1, and uses the monotonicity of the cosine. Both
statements transfer to every unit frequency.
Main results #
geometric_selector.norm_Ahat_one_le_arc,norm_Ahat_unit_le_arc.norm_Ahat_one_eq_arc_iff,norm_Ahat_unit_eq_arc_iff,maximizer_unit_iff.
References #
- E. Amiot, Discrete Fourier transform and Bach's good temperament, Music Theory Online 15 (2009), Lemma 2.
- C. Marín, Huddling, diatonic and pentatonic scales in Z12: Fourier maxima and convex-energy minima formalized in Lean 4, Zenodo (2026), doi:10.5281/zenodo.23121103.
theorem
MusicTheory.CyclicHuddling.geometric_selector_with_boundary
{N : ℕ}
[NeZero N]
(m : ℕ)
(hm : m ≤ N)
(u : ℂ)
(hu : ‖u‖ = 1)
:
∃ (s : ZMod N) (c : ℝ),
(∀ a ∈ tpose s (arc m), c ≤ (u * ZMod.stdAddChar (-(a * 1))).re) ∧ (∀ a ∉ tpose s (arc m), (u * ZMod.stdAddChar (-(a * 1))).re ≤ c) ∧ (∀ a ∈ tpose s (arc m), a ≠ s → c < (u * ZMod.stdAddChar (-(a * 1))).re) ∧ ∀ a ∉ tpose s (arc m), a ≠ ↑m + s → (u * ZMod.stdAddChar (-(a * 1))).re < c
In any direction the regular polygon has a consecutive block of m
vertices separated from the others by a projection threshold.
theorem
MusicTheory.CyclicHuddling.norm_Ahat_one_eq_arc_iff
{N : ℕ}
[NeZero N]
(B : Finset (ZMod N))
:
Equality in Huddling holds exactly for a consecutive arc, including the empty and full sets. Boundary ties allow the adjacent arc and no other set.