Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Classical modular forms #2717

Merged
merged 2,251 commits into from
Mar 4, 2019
Merged

Classical modular forms #2717

merged 2,251 commits into from
Mar 4, 2019

Conversation

roed314
Copy link
Contributor

@roed314 roed314 commented Feb 28, 2019

A live version of the code in this PR is available at http://cmfs.lmfdb.xyz/ModularForm/GL2/Q/holomorphic/

Extent and size

Boxes

Rather than choosing N and k in boxes, we organize by Nk², which is asymptotically proportional to the analytic conductor of the newform (a good measure of its complexity).  Our tabulation is complete within the following ranges

  • Nk² ≤ 4000
  • Nk² ≤ 40000, χ=1
  • Nk² ≤ 40000, N ≤ 24
  • Nk² ≤ 14400, N ≤ 100, k ≤ 12
  • Nk² ≤ 100000, N ≤ 10
  • Nk² ≤ 40000, k > 1, dimension ≤ 50
    These boxes were chosen to include everything currently in the LMFDB and other existing tables of modular forms.

Counts

  • 338,551 nonzero newspaces Sk(N, χ) with trace data (52,531 nonzero)
  • 281,219 Galois orbits of newforms (48,688 with rational coefficients, 19,306 of weight 1)
  • 14,398,359 complex embedded newforms
  • 14,396,948 degree 2 L-functions
  • 195,163 L-functions for Galois orbits

Database size

  • 325 GiB of embedded modular forms (q-expansions in ℂ)
  • 123 GiB of trace data (traces of q-expansions down to ℚ)
  • 45 GiB of portraits (complex graphs of q-expansions)
  • 2 GiB of exact q-expansion data (when dimension is at most 20)

Computation time

We spent 50-100 CPU years this fall and winter computing the above data.

Representation

Exact coefficients are stored using either a sparse cyclotomic representation or in terms of an LLL-reduced basis for the coefficient ring.  We have exact coefficients in weight 1 or if the dimension is at most 20.

We compute complex q-expansions for all embeddings into the complex numbers, even when the dimension is large.

Reliability and Rigor

Many computations were duplicated in Magma and Pari, providing a check for their correctness. We also compared with complex analytic data independently computed by Jon Bober, with William Stein's modular form tables and Alan Lauder and Kevin Buzzard's weight 1 tables. Finally, we have written a verification module for the LMFDB and run various tests on the data.

We have rigorously verified self twists and projective image types in all cases, and inner twists and analytic ranks in most cases. Any values that are not rigorously computed are explicitly identified.

User interface

We have rewritten the front end through which a visitor to the LMFDB interacts with classical modular forms, along with many other changes to the LMFDB display code (220 changed files with 14,739 additions and 14,479 deletions).

Searches

  • You can obtain a list of newforms or of newspaces satisfying various constraints (e.g. rational forms).
  • You can view dimensions of newforms or of newspaces in a table organized by N and k.  You can add constraints and change the ranges of N and k displayed.
  • You can browse newforms and newspaces using a searchable table of traces for their q-expansions, that can be used both integer and mod-p modes. An application: if you know a curve is modular, you can pin down an associated newform by looking at the trace table at small primes. Counting points mod p is easy, but computing Euler factors is hard in high genus.
  • You can get a random form satisfying specificed constraints (e.g. CM with level a power of 2).
    Search results for spaces include decomposition into newforms and into Atkin-Lehner eigenspaces.

Browse

The front page includes a curated lists of interesting newforms and newspaces with hovertext describing why these forms and spaces were chosen

Statistics

We've added statistics, as well as a new dynamic statistics feature allowing you to view custom statistics (e.g. statistics on weight and level for forms with CM)

Downloads

Downloads are now more broadly available, and you can download various things from homepages (trace forms, q-expansions, all stored data) and from search results.

We give linear operators on Sk(N, χ), expressed as polynomial expressions of Hecke operators, so that the newform is the intersection of their kernels.  This can sometimes speed up construction of the newform in Magma.

Form homepages

  • q-expansions are more readable due to changes in representation.  Defaults to showing 10 coefficients, expandable to 100 coefficients on the page, 1000+ coefficients available for download.
  • trace expansions are also shown, even when the dimension is large
  • include projective image type for weight 1 forms, including A₄S₄A₅D₂ and large dihedral.  You can also search for forms with a specified type.
  • Matched weight 1 forms with Artin representations when present in the LMFDB
  • include Sato-Tate groups for all newforms of weight larger than 1
  • include provable analytic ranks (e.g. rational form of weight 42 and form of weight 14 with analytic rank 1)
  • include CM/RM fields for newforms with self twists
  • include inner twists for twists by characters that yield other forms in the same Galois orbit
  • for forms with exact q-expansions, we provide the values of the character in the same representation
  • We have portraits for both newforms and newspaces, giving plots of the trace form on the Poincare disc.
  • change in label scheme but we support old labels

Embedded form homepages

  • There are now homepages for newforms equipped with an embedding of the coefficient field into the complex numbers. They are linked to from the tables of embeddings on each newform page.
  • q-expansions are shown with complex coefficients, we include links to the dual form (complex conjugate).
  • Coefficients (in both arithmetic and analytic normalizations) and Satake angles are viewable up through n=1000, with more sometimes available for download in high level.

Space homepages

  • We give decompositions of Sknew(N, χ) into newforms, of Sknew(Γ₁(N)) into newspaces and Skold(N, χ) and Skold(Γ₁(N)) into lower level pieces.
  • Give dimensions for new and old, Eisenstein and cuspidal subspaces
  • Show the trace form
  • Give bounds on how many a_n are needed to distinguish newforms within a space.  In addition to the standard Sturm bound, we also provide a computed trace bound based on the forms that actually occur.

L-functions

  • For each complex embedding of a newform with weight at most 200, we have added an L-function.
  • both arithmetic and analytic normalizations are available
  • We have computed analytic ranks for all of the new L-functions, and proved most of them.
  • We compute Euler factors at all primes up to 100
  • zeros on critical line have more precision and are stored in the database rather than computed on the fly, making it easier to find connections to other objects in the LMFDB
  • change in label scheme but we support old labels

Experimental features

We have used classical modular forms as a testing ground for some new features which are applicable to other areas of the LMFDB.

  • There is now a verification module to add consistency checks for data in Postgres; you can access it by from lmfdb.verify import db and then running either db.verify or db.tablename.verify. See the Postgres_FAQ for more details.
  • See the description of dynamic statistics above.
  • A variant on knowls used when displaying very long mathematical content.  You can see the results in the q-expansions, basis descriptions, coefficient fields and Hecke kernels for some high weight newforms and in various other places on classical modular form pages.
  • Some nice features for 2-d tables: sticky headers and rotated labels.  They're currently implemented in a somewhat ad-hoc manner, but can be abstracted if more widely used.
  • You can change the sort order on search results
  • The ability to get a random object satisfying search constraints
  • Multiple search result views (e.g. trace tables, dimension tables)
  • There is more modularity in the templates, allowing the same search interface to be used on multiple pages

Mongo to Postgres

While working on classical modular forms, we've fixed various issues with the transition from Mongo to Postgres, and eliminated the last dependencies on Mongo. One interface change to be aware of is that you now run from lmfdb import db to access the database object, rather than from lmfdb.db_backend import db.

One change particularly useful for those of you not at MIT is that we tried to reduce the number of queries to the server when possible. In particular, at startup and when fetching knowl titles we switch to a single database query and cache the results for 10 seconds.

Issues resolved

This pull request resolves the following issues.

EDIT: we were missing the first 3 lines, which I added. Edgar

@JohnCremona
Copy link
Member

Hooray! master-->dev now?

@AndrewVSutherland
Copy link
Member

Sure, but we need to hold off on master -> prod until we have pushed the new tables. We can take care of this today or tomorrow.

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.

8 participants