Skip to content

Add Szpiro ratio for elliptic curves over number fields#33

Open
roed-math wants to merge 1 commit into
mainfrom
ai/t15-ecnf-szpiro
Open

Add Szpiro ratio for elliptic curves over number fields#33
roed-math wants to merge 1 commit into
mainfrom
ai/t15-ecnf-szpiro

Conversation

@roed-math

Copy link
Copy Markdown
Owner

Adds the classical Szpiro ratio $\sigma = \log|N(\mathfrak{D}_{\mathrm{min}})|/\log N(\mathfrak{N})$ (Hindry) to the ECNF section: curve homepage display, search box, results column and sort order. All uses are guarded by a check that the szpiro_ratio column exists in ec_nfcurves, so this is safe to deploy before the data upload and the features activate automatically once the column is added. Includes scripts/ecnf/generate_szpiro_ratio.py, which computes the ratio for all 767518 curves from stored invariants in ~3 minutes (NULL for the 712 curves with everywhere good reduction, where the ratio is undefined), cross-checks two independent formulas on every non-minimal-model row, and can re-verify random rows from scratch in Sage; values were additionally checked against base changes of Q-curves with known ratios. A new ec.szpiro_ratio knowl should be created alongside the data upload. Addresses LMFDB#6292.

🤖 Generated with Claude Code

Add a szpiro_ratio column (classical Szpiro ratio
log(Norm(D_min))/log(Norm(N)), Hindry p.8) to the ECNF section: curve
page display, search box, search-results column and sort order, all
guarded by a module-level flag so the site keeps working until the
column is added to ec_nfcurves.  The ratio is left NULL for the 712
curves with everywhere good reduction, for which it is not defined.

scripts/ecnf/generate_szpiro_ratio.py computes the column for all
767518 curves from stored data (conductor_norm, normdisc, non_min_p,
local_data) in about 3 minutes, cross-checking the two available
formulas against each other, and has a --verify mode that recomputes
random rows from scratch with Sage.  Verified: full generation run with
--verify 25 (all match to 1e-12); base changes of 11.a1/11.a2/37.a1
agree with the classical Q-side ratios including ramified-prime scaling;
lmfdb/ecnf/test_ecnf.py passes (13 tests) with the column absent;
pyflakes clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants