edgarcosta / hilbertmodularforms

Mockup implementation of Hilbert Modular Forms
BSD 3-Clause "New" or "Revised" License
8 stars 15 forks source link

hilbertmodularforms

Implementation to compute graded rings of Hilbert modular forms in Magma.

Source code

Explanations about the Magma source code in each directory.

ModFrmHil

This project builds on the current Hilbert modular form implementation in Magma. The source code in ModFrmHil connects this work to the current implementation.

ModFrmHilD

The ModFrmHilD class represents the additional functionality we are adding to ModFrmHil. The D in this name stands for Dartmouth where this project originated.

HilbertSeries

Source code to compute formulas for Hilbert series of Hilbert modular surfaces.

spec files

Package specification files, or spec files, help organize imports in various places. Package specification documentation: http://magma.maths.usyd.edu.au/magma/handbook/text/24#181.

Tests

Example computations that are run during CI via run_tests.m. These examples can also be executed individually using

magma Tests/filename.m

Examples

These files are similar to files in Tests, but not run during CI.

scripts

Scripts should include calling information in a comment at the top of the file. For example, we can run generate_hs.m using the following command.

magma -b D:=13 ambient:=SL gamma:=Gamma0 scripts/generate_kposs.m

These scripts are then used to generate data for https://github.com/edgarcosta/hilbertmodularsurfacesdata which ultimately ends up on https://teal.lmfdb.xyz/HilbertModularSurface/Q/. These can be run using the following command.

A=GL;G=Gamma0;t=kposs;name=${A}_${G}_lt3000_cut5000_${t}; time parallel --joblog data/joblog/${name}.txt --results data/results/${name} --eta -j 64 magma -b cut:=5000 D:={} ambient:=$A gamma:=$G scripts/generate_${t}.m ::: {1..3000} > data/${name}.txt

TODO: explain how to call counts_and_timings.m

Verification

This is unfinished work to verify computed equations against equations in the literature.

WorkInProgress

Examples that may or may not run successfully, but have code or comments that may be useful or informative. Once a file has been polished and appropriate for public consumption it can be moved to Examples or Tests.

Authors