The new sections move into the canonical text, article/sim_numerics.md (Valeri's decision): section 7 'Where the similarity is read' with 7.1 per-place similarity, 7.2 the decision place, 7.3 the fun7 scoring artefact, 7.4 the gap decomposition; negative results 8-11 appended so items 1-7 keep their numbers; abstract paragraph; Future work rewritten (the refuted log transform removed); item 6 now says aps.13.00 is a scoring artefact, not a method failure. Translated into the .md's revised names: code 'ratio' = the tent max(0,1-|z|), code 'rational' = the ratio similarity 1/(1+|z|); the proposed method stays the .md's (tent, 3-point, projection).

Found on the way: negative item 'log change of variable' compared 3474 with 4516, the total of a DIFFERENT configuration; the honest pair is the same configuration in x, CHA 3643 -> 3474, APS 5822 -> 6940. Fixed in both texts. The gap-decomposition numbers were only traced to saved logs; they are now RECOMPUTED by verify_article.py from fresh runs of the diagnosis scripts (which return their values): 216 checks OK on Linux, 762 tests pass twice.

Open, for Valeri: the .md still says the projection's doubling is 'not a tuning constant', which simroot/pure.py (project_credit) refutes and which is why the .tex proposes credit; the .md's Tables 2-3 predate Chandrupatla's own method as a baseline (2785 APS, first place), so its 'parity' abstract is out of date; Brent 2890/4101 in the .md against 2889/4099 in the current sweep.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-21 07:48:55 +01:00
co-authored by Claude Opus 5
parent f5d036c9d8
commit de1f8f726d
6 changed files with 200 additions and 9 deletions
+3
View File
@@ -77,6 +77,9 @@ def main():
print(f" {pid:<8} f = [{', '.join(f'{v:.3e}' for v in fs)}] "
f"w = [{', '.join(f'{v:.3e}' for v in w)}] "
f"zero weights: {sum(v == 0.0 for v in w)} min|f| {tiny:.1e}")
# for verify_article.py: {family: (bisect, iqi, ours n, ch n, problems)} and the
# number of exceptions, each of which must be a weight that underflowed to zero
return {"fam": dict(fam), "exceptions": exceptions}
if __name__ == "__main__":