Alphabeta Math
AlgorithmAlgorithm: Literature-sourcedProof: Not applicablePipeline-generatedjudge pass (gpt-6-luna)
How statement and proof provenance work

The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.

  • Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
  • AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
  • AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.

These labels describe origin, not correctness: citations and verification chips remain separate evidence.

Exact dyadic Sturm isolation of all real roots of a nonzero rational polynomial

Definition

Input a rational polynomial p∈Q[x]. Arithmetic on coefficients and endpoints is exact.

  1. If p=0, return status "identically zero"; it has no finite list of isolated roots. If p is a nonzero constant, return status "complete" with an empty list.

  2. Clear denominators and divide out the integer content, choosing the sign so the resulting primitive integer polynomial P has positive leading coefficient. Apply Exact gcd squarefree decomposition preserves roots and multiplicities to the monic rational polynomial P/lc⁡(P). For each nonconstant squarefree factor qk in that decomposition, let Qk be its primitive integer normalization with positive leading coefficient; take Qk=1 when qk=1. Then P=c∏k=1dQkk for a nonzero rational c, and the factors label roots by multiplicity. Let S be the primitive integer normalization with positive leading coefficient of ∏k:deg⁡Qk>0Qk. Its roots are the distinct roots of p.

  3. Put B=H(S)+2, where H(S) is the maximum absolute coefficient of S. If deg⁡S≥2, compute σ(S) from An explicit root-separation bound for squarefree integer polynomials; if deg⁡S=1, no separation value is needed. Initialize a queue with the open interval (−B,B) and retain the active squarefree factors Qk.

  4. Remove exact dyadic rational roots at a queue interval endpoint or bisection midpoint before counting on the adjacent intervals. If r is such a root, test the factors Qk(r) exactly; the unique factor vanishing at r gives its multiplicity k. Record the singleton {r}, divide that factor by x−r, and remove the same factor from the active product S. Immediately after any such removal, if S is a nonzero constant, clear the remaining queue and return status "complete" with the records already obtained; every pending interval is then root-free. Do not form a Sturm sequence for a constant product.

  5. For a queued open interval (a,b) whose endpoints are not roots of the active S, form its Sturm sequence and set N=V(a)−V(b) using Sturm sign variation counts distinct real polynomial roots. If N=0, discard the interval. If N=1, compute the Sturm count for each nonconstant active Qk (a constant factor has count 0) and output (a,b,k) for the unique factor whose count is 1. If N≥2, compare its width with σ(S0)/4, where S0 is the initial squarefree primitive polynomial. A count N≥2 below that threshold is an internal inconsistency; otherwise bisect at m=(a+b)/2. If S(m)=0, record and remove that exact root as in step 4. Enqueue the open halves (a,m) and (m,b).

  6. Return status "complete" when the queue is empty, with all singleton exact roots and open isolating intervals labelled by multiplicity. A nonzero constant active product has no remaining roots and requires no Sturm sequence.

The procedure uses no floating-point comparisons. Exact polynomial division, gcd, endpoint evaluation, sign variation, and width comparison are over rational numbers. Open intervals ensure that a root found exactly at a split point is represented only by its singleton record and not by either adjacent interval.

Depends on

Used by

Dependency tree · two levels

25 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.

Sources