Skip to content

GradedRing as in the paper#487

Merged
edgarcosta merged 7 commits intomasterfrom
gradedring
Apr 14, 2026
Merged

GradedRing as in the paper#487
edgarcosta merged 7 commits intomasterfrom
gradedring

Conversation

@edgarcosta
Copy link
Copy Markdown
Owner

No description provided.

Rename the 2-arg GradedRing(F, N) intrinsic to HilbertModularVariety(F, N)
to better reflect that it returns models of Hilbert modular varieties.
The old 4-arg HilbertModularVariety(F, N, MaxGenWt, MaxRelWt) coexists
(Magma overloads by arity). GradedRing(f::ModFrmHilDElt) in Elements.m
is unchanged (different function, returns parent ModFrmHilDGRng).

- Add Symmetric, PrecomputedGens, IdealClassesSupport optional params
  to the new 2-arg intrinsic, threaded through ApproximateGradedRing
- Update IO.m WriteCanonicalRingComputationToString to call the new
  2-arg HilbertModularVariety instead of manually looping with the
  old 4-arg version
- Rename 12 test files GradedRing_* → Surface_* with updated calls
- Add 8 new tests: Qsqrt24, Qsqrt28, Qsqrt33, Qsqrt41 (level 1),
  Qsqrt5_level_2, Qsqrt2_level_3, Qsqrt13_level_pp, Qsqrt13_level_2
- Add literature weight assertions (Gundlach, Hammond, van der Geer-
  Zagier, Hermann, Williams) to 6 existing tests
- Add CPU time and memory usage reporting to all Surface_* tests
- Add unit tests for building blocks: HilbertSeriesOfPresentation,
  AlgebraicallyIndependent, CandidateAlgIndependentElements
- Add verification tests cross-checking computed vs stored equations
Three new test files:
- consistency_4arg_2arg.m: verifies 4-arg and 2-arg HilbertModularVariety
  produce schemes with matching Hilbert series, dimension, and equation count
- surface_invariants_vs_ring.m: cross-checks ArithmeticGenus via two code
  paths (IntersectionRing vs SurfaceInvariants), verifies Noether formula,
  GeometricGenus, and Irregularity for D=5,13,29 and a nontrivial level
- io_canonical_ring.m: tests WriteCanonicalRingComputationToString output
  contains expected scheme definitions and certification status

Also updates resource estimates in four existing test files based on
actual timings.
…ests from CI

Rename tests that exceed CI limits or hit upstream Magma bugs to use
the _ prefix convention: disc 12/21/41 (>4h timeout), disc 24/28/33
(precompute.m:1064 assertion failure). Update resource comments with
actual CPU times and memory usage from benchmark runs. Add Overwrite
flag to IO.m Write call.
Regenerated all 8 existing equation files for narrow class number 1
discriminants and added 4 new files (D=13 levels 3.1/4.1, D=37, D=41).
Updated verification test to use LMFDBField/LMFDBIdeal for correct ideal
construction and eval-return pattern for proper scoping. All 12 equation
verifications plus the D=13 cross-check pass.

Files for D=12,21,24,28,33 (narrow class number > 1) cannot be
regenerated due to upstream Magma bug at precompute.m:1064.
Added STALE warning comments to the 4 equation files (D=12,21,24,28)
that have failing Hilbert series sanity checks and cannot be regenerated
due to the upstream Magma bug at precompute.m:1064. Added README.md
documenting the status of all files in the directory.
….1.1)

HilbertSeriesVdG computes the Hilbert series for individual components
of a Hilbert modular surface using per-component invariants, unlike
HilbertSeriesVasquez which only works for trivial narrow class group.
Copy link
Copy Markdown
Collaborator

@abhijit-mudigonda abhijit-mudigonda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good to me, I do have one question about the degree to which we search for relations but I don't think it affects the correctness of the algorithm either way (it should still work for large enough B).

PrecomputedGens := AssociativeArray()) -> Tup
{Compute generators and relations for the graded ring of Hilbert modular forms
of level N. Generators are searched up to weight B, and relations up to weight 2*B
(since relations can have degree up to the sum of any two generator weights).}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm probably being silly, but why is this true?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had this written at some point in the old tex, but we are no longer sure about its correctedness.

Comment thread ModFrmHilD/CanonicalRing/CanonicalRing.m Outdated
@edgarcosta edgarcosta merged commit 1e5a3c0 into master Apr 14, 2026
196 of 204 checks passed
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