/teal-sea
teal-sea / zeta-labstate of record · compiled 02 Nov 2026 · revision b09fa4dd · source

Library · hunts/dbn_pt_height/evaluator/EVALUATOR.md

EVALUATOR: Polymath 15's effective approximation in Arb

3,077 words · 303 lines · source

Status: built and checked against two independent routes to H_t, at small x and (Milestone 1b) at large x where the correction term is tested sharply; the printed Table 1 row 2 bound is reproduced, together with a reading of what it bounds; one barrier rectangle wound at two times, and the barrier decision audited from outside. A hunt instrument, not a result. Nothing here is a statement about the de Bruijn-Newman constant, and no sweep was launched. The evaluator lane of hunt dbn_pt_height (see ../MISSION.md); every number below is asserted by test_effective.py, either recomputed or read from the data files the scripts here wrote.

What it is

effective.py evaluates, in python-flint ball arithmetic, the quantities of D.H.J. Polymath, arXiv:1904.12438v2 (source tarball sha256 1be3bc38d203ad0142f1c97c267c7deaa06b84c97716c9a1ec1f56456d826863, read as data, line numbers refer to its debruijn.tex):

Grade. Every returned ball contains the exact value of the formula it implements (enclosure-carrying, the ladder's second rung). The analytic steps, Theorem 1.3, Corollary 6.4, Lemma 10.1 and the derivative lemma, are the paper's, used as published and not reviewed here; a conclusion that leans on them takes their status, and the lab has no kernel-checked or outside-reviewed version of any of them. The paper states Theorem 1.3 and Corollaries 6.4 and 6.5 for t > 0; effective.py also admits t = 0, by letting t -> 0+ (the lab's derivation, unreviewed, in _check_region). The results that rest on it are the t = 0 rows: the second row-2 rectangle, the barrier audit at x = 1e8 + 0.7, the zero-refusal control and the t = 0 points of Milestones 1 and 1b.

oracles.py holds the two independent routes: zeta.heatflow.H_t (Phi quadrature) and an mpmath quadrature of the paper's heat-kernel representation (htz) with mpmath's zeta and gamma. Neither shares code with the evaluator; both are floating point, so agreement with them is measured, not enclosed.

Milestone 1: agreement with H_t for x <= 400, and beyond with mpmath

agreement.py wrote 60 values per route on x in {200, 250, 300, 350, 400}, y in {0, 0.5, 1}, t in {0, 0.05, 0.2, 0.5}, and four more heat-kernel values at x = 1000 and 2000 (agreement_phi.jsonl, agreement_hk.jsonl).

Milestone 1b: containment at large x, and the checks that came with it

On the Milestone 1 grid (x <= 2000) the correction C_t/B_t is about as large as its own error term e_C, so containment there cannot tell a right C_t from several wrong ones. large_x_oracles.py wrote 12 values of H_t where it can (large_x_oracles.jsonl):

What the tests show (test_effective.py; measured, since the oracles are floating point):

Grade: the containment, re-derivation and lesion results are measured (floating-point oracles against enclosures of the formulas). The majorant and audit checks are enclosure-carrying comparisons of the module against exact termwise values at finitely many points, not proofs that the majorants hold everywhere.

Milestone 2: Table 1, row 2

Row 2 prints X = 5e12 + 194858, t0 = 0.186, y0 = 0.16733, Lambda = 0.20, winding number 0, N0 = 630783 and "|f_t(x+iy)| lower bound" 0.0376 (line 1950). row2_check.py wrote row2_check.json.

N0. floor(sqrt(X/(4 pi) + t0/16)) = 630783, and N is constant on [X, X + 1] at t = t0 and at t = 0.

The printed 0.0376 is reproduced, as a bound on the Euler 2 mollified f. Lemma 10.1 bounds |1 - lambda| |sum a_n| with lambda = b_2 2^{-s_*}; applied to both sums of f_t with the same lambda, it gives the numerator LB_beta - |gamma| UB_alpha, a lower bound for |E_2 f_t| with E_2 = 1 - b_2 2^{-s_*}. At x = X:

y0numerator (bounds |E_2 f|)numerator / (1 + |lambda|) (bounds |f|)
0.167330.0376170.029195
sqrt(0.028)0.0376270.029202

The printed value is the numerator. The same reading reproduces the printed column in rows 1, 3, 4 and 5 (numerators 0.034132, 0.034941, 0.037704, 0.036946 against printed 0.0341, 0.0349, 0.0377, 0.0369), while the version divided by 1 + |lambda| matches none of the five rows. The project's PARI function abbeff_moll2_analytic_bound (file dbn_upper_bound/pari/abbeff_largex_bounds.txt of github.com/km-git-acc/dbn_upper_bound, lines 138-145, read as data from the chain lane's download) has exactly this undivided form, and re-implemented here it gives 0.037603. Grade: the column value is a measured three-digit match of a recomputed formula in five rows plus the source code's form; the lab did not see the script that printed the table.

So the bound the row supplies for |f_t| itself at N = N0 is 0.0292 (with |gamma| exact at X), or 0.0284 uniformly over every x with N(x) = N0 (sigma as a ball over [x_N0, x_N0+1), |gamma| replaced by its (gamma-bound) majorant). Either is far above the error terms there: at x = X the direct evaluation gives |f| = 1.684, |E_2 f| = 1.206, e_A = 1.06e-13, e_B = 7.48e-13 and e_{C,0} = 1.03e-7. The paper's selection target of 0.03 (line 1965) is not met by the |f| bound, only by the |E_2 f| bound; nothing in the row's logic used 0.03 as a threshold.

One rectangle, two times. R = [X, X + 1] x [y0, 1]:

twindingevaluationsmin |f| on mesh (lower)D_z, bottom edgeE = e_A + e_B + e_{C,0} on R
0.1860681.44588.48931.067e-7
005804.6831510085.474.264e-4

The E column is from the record regenerated on 2026-10-26 (RUNS.md, E4). The 2026-10-21 record had 1.031e-7 and 4.119e-4, from the earlier rectangle error bound that used Proposition 6.6(vi), which Milestone 1b found to fail just above small jumps. Every other entry of the table is unchanged. The new E stays above the exact e_A + e_B + e_{C,0} at the worst corner, within 4 per cent of it (a slow test, one O(N) evaluation per time).

The project's own log of this barrier (output/windingnumbers/windnum_nolemma_x5000000194858_y_0.16733_1_t_0_0.186.txt, sha256 3406175695291ea000e37c9e6466c4d34975a58a76472ba6bde204ddb34022c7, read as data) lists 435 rectangles from t = 0 to t = 0.17557 with 7,368,456 mesh points in all, every winding number 0. Its t = 0 line gives ceiling(ddt bound) 54747, ceiling(ddz bound) 10087 and a mesh minimum of |f| of 4.6831460650 on 40344 points; this evaluator, written independently, gives D_t <= 54745.85, D_z <= 10085.47 and a mesh minimum of 4.68315 on 580 adaptive points. That agreement is a cross-check between two implementations, not a verification of the barrier: the t-direction is not covered here, and one rectangle is not a barrier.

Euler 5. The paper prints F_{69098, 8x10^4} = 0.0263... at t = y = 0.2 (line 1738). Recomputing the printed formula with the paper's constants (1.03, sigma = 0.599 + 0.1 log N-) gives 0.0178 when every truncation in the interval is covered, 0.0202 truncated at N+, 0.0576 at N-, and -2.776 with no truncation, as the printed definition of beta_n (line 1654) reads; Euler 7 gives 0.0639 and 0.1018. With the constants derived in effective.py the covering value is 0.0308. None prints as 0.0263, so the printed digits are not explained; every truncated variant clears the paper's threshold 2.15e-3, so the conclusion for that interval is not in question. At row 2's parameters the first unit of the sweep, F_{630783, 640783}, is 0.4686 (covering truncation, derived constants).

Milestone 3: cost

Timings, unit costs and the projections for the full row-2 asymptotic sweep and for a (t0, y0) re-optimisation at X <= 6.0e12 are in ../RUNS.md (entries E2 and E3). The per-rectangle cost at N = 630783 is dominated by the two O(N) passes (derivative bounds and the multi-evaluation set-up), not by the mesh.

Defects found while building, and how each is now caught

Observations about the source, for the chain lane

Open