Documentation

HexRealRoots.Mobius

The integer Möbius transform of p relative to (a, b]: the numerator of (1 + x)^{deg p} · p((a + bx)/(1 + x)) after clearing the dyadic denominators (a positive power of two). Its positive real roots correspond bijectively, with multiplicity, to the real roots of p in the open interval (a, b).

The pipeline, with n = deg p fixed up front and (α, β, s) from mobiusEndpoints (so a = α·2^{-s}, b = β·2^{-s}):

  • (b) clear the dyadic denominator. Replace x by x·2^{-s}, i.e. form 2^{s·n}·p(x·2^{-s}): coefficient aᵢ ↦ aᵢ·2^{s·(n−i)}. This scales every root by 2^s, so the interval becomes (α, β] with integer endpoints.

  • (c) Taylor shift the right endpoint to the origin. q ↦ q(x + β) via compose with the degree-one argument x + β; a root y of the cleared polynomial becomes y − β, so the interval's roots now lie in [α−β, 0).

  • (d) rescale to (0, 1]. dilate (α−β) evaluates at (α−β)·x (a negative dilation), sending a root y − β to u = (β−y)/(β−α), so roots in (α, β) map to (0, 1) with y = α ↦ u = 1 and y = β ↦ u = 0.

  • (e) reverse at the original degree n. Build the coefficient array of length n+1 with entry i equal to coeff (n − i) and renormalize; this is the x ↦ 1/x homogenization (1+x)^{deg p}, sending (0, 1) to (1, ∞). Reversing at n rather than the current degree is essential: when p(b) = 0 with multiplicity m, the m lowest coefficients after (c)/(d) vanish; the reversal turns them into trailing zeros, which ofCoeffs trims, dropping the degree by m. Those roots correctly disappear (their image under x ↦ 1/x is ∞ — a root at b is not in the open (a, b)).

  • (f) shift back to the positive axis. r ↦ r(x + 1) via compose, sending (1, ∞) to (0, ∞). Chasing the maps: a root x₀ of p corresponds to the final root t with x₀ = (a + b·t)/(1 + t) — the required Möbius map, with t > 0 ⟺ x₀ ∈ (a, b). A root at a lands at t = 0 (a vanishing constant term, not a positive root), a root at b disappears at ∞ via the degree drop in (e), so the positive real roots of the result are exactly the images of p's roots in the open (a, b), with multiplicity.

No content/primitivePart division is taken anywhere: sign variations are scale-invariant, so a content gcd would be pure cost against the O(n²) per-node budget.

For deg p ≤ 0 (p constant or zero) there is no interval structure to transform; p is returned unchanged as a documented junk value (no theorem reads it).

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Sign variations of the coefficient list: the Descartes bound. Each stored coefficient is reduced to its exact sign in {−1, 0, 1} and the resulting list is fed to signVar (zero-skipping sign-variation count).

    Equations
    Instances For