q2 — largest number of distinct integer zeros at small cost
The polynomial side of Smale's Problem 4. For let
where counts operations from and counts distinct integer zeros. No published table of was found (RESEARCH.md), so the values here are new data rather than an improvement of a record. The conjecture asks for ; the Strassen construction gives for large .
Files
| file | role |
|---|---|
poly_enum.c |
prototype: counts programs and distinct polynomials per depth |
poly_search.c |
the search: canonical enumeration, exact 128-bit coefficients, rigorous root-count filters, candidate output |
count_roots.py |
exact distinct-integer-root count of every candidate (rational root theorem, sympy for the divisor list) |
cand5.txt, cand6.txt, cand7.txt |
candidate polynomials with their programs |
table.json |
the table with witnesses, written by run_all.sh |
Method
Programs are enumerated in the canonical pending-queue order of q1 (every set of values that a program can produce is visited once, at the least possible depth). Coefficients are exact signed 128-bit integers; a bound on the sum of absolute coefficients is carried with every polynomial and an operation whose bound exceeds is refused, which by the bound never happens below depth 8 except for products at the last step, reported separately.
For a polynomial of degree at least the threshold of its depth,
three rigorous upper bounds on are computed: Descartes' rule on
and ; for small primes the number of roots of
the primitive part modulo counted with multiplicity, each residue
class capped by the number of integers in in that class,
where is the Cauchy root bound; and, when , the
number of distinct roots modulo a prime (the degree of
over ). Only polynomials whose bound
reaches the threshold are written out; count_roots.py then finds their
integer roots exactly. In leaf mode (--leaf) the last depth is not
pushed: every one-step child of a depth node is formed and
examined directly, skipping children whose degree is below the threshold
and products with below it, where
is the rigorous bound computed for every set member (since
). This visits about one child in fifteen. The threshold at depth is one more than the
best construction known at that depth, so an empty candidate list proves
the construction optimal, and a nonempty list yields the exact maximum.
Results
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 3 | 3 | 4 | 5 | |
| witness |
Node counts per depth 7, 67, 880, 16141, 396475, 12465248; distinct
polynomials reached within steps 2, 9, 36, 186, 1270, 11404,
133743. With thresholds and the candidate lists
are empty for ; at exactly four polynomials
(, , root set
) reach five zeros and none reaches six. is
pending (table.json).