Skip to content

[P2 replication] Second implementation of the quartic census — where Results A–D actually live #568

Description

@LightChainr

Write this without reading our implementation. That is the entire value of the ticket; anything else is a code review, which we can already do.

Why this is the most valuable open item on P2

The manuscript's strongest results — A, B, C, D — all come from the degree ≤ 4, height ≤ 100 census: 158,062,321,920 primitive integer polynomials per interval, decided exactly against four published threshold intervals. That census has one implementation of its C++ fixed-point meet-in-the-middle screen and one of the Sturm decisions on the 16 retained candidates.

The degree ≤ 6 census (§6.5) already has a second implementation and they agree cell by cell (Table 9). That was the cheaper of the two replications. This is the one that matters.

The task

Write an independent census of C(≤4, ≤100) against the four frozen intervals in analysis/pslq_search_contract.json, from the protocol only. For each degree 1–4 and each interval, report:

  • the size of the enumerated class;
  • how many candidates your screen retains;
  • how many polynomials have a real root in the interval;
  • the number of distinct such roots;
  • the closest member of the class, coefficient by coefficient, and its residual.

Read these, and nothing else from the repo

  • analysis/pslq_search_contract.json — the four intervals, verbatim.
  • docs/manuscripts/p2-algebraic-exclusion/manuscript.md §3 (the completeness theorem: the class, the screening bound, the exact decisions) and §5 (method).

Do not read scripts/degree4_interval_exclusion.py, scripts/degree4_fixed_point_screen.cpp, or scripts/exact_polynomial_root_certificate.py. If you have read them, say so in the PR; a replication that read the original is worth reporting as such rather than passing off.

Make it differ where a shared bug would hide

The existing degree-6 replication is the model: it enumerates the class in its own code and screens at the interval midpoint where the primary screens at both endpoints. Both are certified consequences of |P'| ≤ D on [0,1], but they evaluate different points against different bounds.

Do the same here. Pick your own enumeration, your own screening point, and ideally your own root-decision path — the degree-6 pair still shares exact_polynomial_root_certificate.py unchanged, which is the acknowledged limit of that replication and is stated in §7.

The check that carries the weight

Equal counts are weak evidence: two implementations can agree by both being empty. What matters is the residual. If we evaluate the closest member at a different point than you do, our residuals must differ, and the mean value theorem caps the difference at D(u−l)/2 for that polynomial's own D = Σ k|a_k|. Agreement inside that allowance, with a non-zero gap that tracks the interval width, is evidence that we are computing the same quantity rather than reporting the same zero.

scripts/degree6_implementation_agreement.py does this comparison for the degree-6 pair; the analogue for degree 4 is part of this ticket.

Two things to expect

  1. The census is not an exclusion everywhere. Degrees 1–3 are excluded on all four intervals. At degree 4, the two narrowest intervals are excluded and the two widest retain 1 and 15 surviving quartics. If your run excludes everywhere, something is wrong with it. If it finds a different number of survivors, that is a finding and we want it.
  2. Cost. The primary census is a C++ fixed-point screen for a reason; 1.6·10¹¹ polynomials per interval is not a pure-Python job. Budget accordingly, or replicate one interval — the narrowest, which carries Result A — and say so.

Done looks like

  • The implementation, committed as received, with its artifacts.
  • A cell-by-cell agreement artifact including the residual/mean-value check.
  • The manuscript's §7 "Recommended, not done" list loses its first entry, and Table 9's scope line stops saying the quartic census is single-implementation.
  • Any disagreement reported as a disagreement. A replication that finds a discrepancy is worth more than one that does not.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:P1Bounded parallel analysis or a concrete reserve direction; not all run at once.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions