PdtSalemCircle — the circle count #
The circle count for Salem's construction: R_m's roots on the unit
circle, counted by the explicit-phase route; Salem-ness / arithmetic
assembly is NOT here (that is PdtSalemArith); the companion Q is
the mirrored product, its identification with the reverse polynomial
is deferred to PdtSalemArith.
Fixed data: alpha : ℝ with 1 < alpha, and a conjugation-closed
multiset roots : Multiset ℂ of "inside" conjugates (‖r‖ < 1; it may
be empty). With p := roots.card + 1,
P = (X − C α)·∏ (X − C r)— monic of degreep, the rootαoutside the circle and the rest inside;Q = (1 − C α·X)·∏ (1 − C r·X)— the mirrored product, so thatz^p·P(1/z) = Q(z)pointwise (mirror_P);R m = X^m·P + Q.
The three theorems:
- the self-inversive pairing (
salem_root_inv): forz ≠ 0,R_m(z) = 0 → R_m(1/z) = 0— pure product algebra, no reverse- polynomial API; - the circle count (
salem_circle_count):R_mhasm + p − 2distinct rootsexp(t·I)witht ∈ (0, 2π). The route is the explicit phase: on the circleR_m(E t) = 2·N t·cos(ψ t)·E((m+p)·t/2)withN > 0andψ t = (m+p)·t/2 + A t, whereAis an explicit sum ofarg-terms each valued in an open half-plane, hence continuous;ψclimbs by(m+p−2)·πacross[0, 2π], and the intermediate value theorem plants one root per half-period grid point — no argument principle, no Rouché theorem; - the trichotomy (
salem_root_trichotomy): if moreoverτ > 1is a root ofR_m, then EVERY root is unimodular or lies in{τ, 1/τ}— the circle points,τ, and1/τalready exhaust the degreem + p, by the multiset squeezeS.val ≤ (R m).roots.
The pairing salem_root_inv and the count salem_circle_count are
stated without the hypothesis 1 ≤ m — it is not needed (for the
count, 3 ≤ m + p alone drives the phase climb); the trichotomy
carries both 1 ≤ m and 3 ≤ m + p.
The fixed objects #
The circle parametrization E t = exp(t·I).
Equations
- PDT.SalemCircle.E t = Complex.exp (↑t * Complex.I)
Instances For
P = (X − C α)·∏_{r ∈ roots} (X − C r): monic, degree
roots.card + 1, roots α and the inside conjugates.
Equations
- PDT.SalemCircle.P alpha roots = (Polynomial.X - Polynomial.C ↑alpha) * (Multiset.map (fun (r : ℂ) => Polynomial.X - Polynomial.C r) roots).prod
Instances For
Q = (1 − C α·X)·∏_{r ∈ roots} (1 − C r·X): the mirrored product,
z^p·P(1/z) = Q(z) for z ≠ 0 (mirror_P).
Equations
- PDT.SalemCircle.Q alpha roots = (1 - Polynomial.C ↑alpha * Polynomial.X) * (Multiset.map (fun (r : ℂ) => 1 - Polynomial.C r * Polynomial.X) roots).prod
Instances For
The Salem family R_m = X^m·P + Q.
Equations
- PDT.SalemCircle.R alpha roots m = Polynomial.X ^ m * PDT.SalemCircle.P alpha roots + PDT.SalemCircle.Q alpha roots
Instances For
The reduced product on the circle: Q(E t) = conj (V t) and
P(E t) = E(p·t)·V t.
Equations
- PDT.SalemCircle.V alpha roots t = (1 - ↑alpha * PDT.SalemCircle.E (-t)) * (Multiset.map (fun (r : ℂ) => 1 - r * PDT.SalemCircle.E (-t)) roots).prod
Instances For
The modulus of V: strictly positive on the whole circle.
Equations
- PDT.SalemCircle.N alpha roots t = ‖↑alpha - PDT.SalemCircle.E t‖ * (Multiset.map (fun (r : ℂ) => ‖1 - r * PDT.SalemCircle.E (-t)‖) roots).prod
Instances For
The explicit phase of V: every arg-term lives in an open
half-plane, so A is continuous (continuous_A).
Equations
- PDT.SalemCircle.A alpha roots t = -t + Real.pi + (↑alpha - PDT.SalemCircle.E t).arg + (Multiset.map (fun (r : ℂ) => (1 - r * PDT.SalemCircle.E (-t)).arg) roots).sum
Instances For
The half-angle phase of R_m on the circle:
R_m(E t) = 2·N t·cos(ψ t)·E((m+p)·t/2).
Equations
- PDT.SalemCircle.psi alpha roots m t = ↑(m + roots.card + 1) * t / 2 + PDT.SalemCircle.A alpha roots t
Instances For
Scalar evaluations and the self-inversive pairing #
The self-inversive pairing: a nonzero root of R_m pairs
with its inverse. (Stated without the redundant 1 ≤ m.)
Nonvanishing and the half-plane locations #
The polar form and the key identity #
A multiset product of polar forms is the polar form of the product: norms multiply, phases add.
Q on the circle: Q(E t) = conj (V t) — this is where
conjugation-closure of the root multiset enters.
The key identity: on the circle,
R_m(E t) = 2·N t·cos(ψ t)·E((m+p)·t/2) — the explicit phase that
replaces the argument principle.
The zero test on the circle: R_m(E t) = 0 ↔ cos(ψ t) = 0.
Continuity of the phase #
The endpoints #
The grid count #
The grid-count workhorse. A continuous phase f on [0, 2π]
that climbs by exactly L·π and starts off the cosine grid attains L
distinct interior grid values, planting L distinct zeros of
cos ∘ f in (0, 2π).
The circle count: with p = roots.card + 1 and
3 ≤ m + p, the polynomial R_m has m + p − 2 distinct roots
exp(t·I), t ∈ (0, 2π), on the unit circle.
(Stated without the redundant 1 ≤ m.)
Degree bookkeeping — R_m is monic of degree m + p #
Injectivity of the circle parametrization #
The trichotomy #
A set of distinct roots whose cardinality is the degree exhausts the root multiset.
The trichotomy: if τ > 1 is a root of R_m (with
1 ≤ m and 3 ≤ m + p), then EVERY root of R_m is unimodular or
lies in {τ, 1/τ} — the m + p − 2 circle points of the circle count together with
τ and 1/τ already exhaust the degree m + p of the monic R_m,
by the multiset squeeze S.val ≤ (R_m).roots.