All published worksheets from http://sagenb.org
Image: ubuntu2004
Computer Methods for Classical Modular Forms
Sage Days 20.25 talk (March 23, 2010)
William Stein, University of Washington
(see http://8tb.us/home/boothby/cover/samples/ for more)
Project: Include code in Sage for computing pictures as above for any modular form.
This talk is mainly about approaches to solving the following:
PROBLEM:
Compute the Hecke module for an
integer, and a Dirichlet
character.
(We are also interested in , and many other related spaces,
but will focus this talk mostly on the above problem.)
Practical Complexity: For this talk, I mostly only care about "practical complexity", so
constants and real-world implementations matter a lot. Thus on
practical problems, an exponential time algorithm that completes in
100 hours is far more "practical" than a polynomial time algorithm that would
take years to finish (... implementing).
Acknowledgement: "Practical" also means open -- you get to look at the code, can change anything, etc. Everything I'll show you in this talk today is open source and freely available in any recent copy of Sage... thanks to the hard work of:
- Jordi Quer
- David Loeffler
- Craig Citro
- Alex Ghitza
- John Cremona
- Jon Bober
- Robert Bradshaw
- Robert Miller
- Jen Balakrishnan
- me
- ... and many, many others
Notation for Dirichlet characters: We represent a character by giving the images of "canonical" generators for , which are minimal at each cyclic prime power factor.
The Dimension
- Dimension formula for any , with . Proofs start with Riemann-Hurwitz and get complicated.
- General formulas in Cohen-Oesterle, but with no proofs. Jordi Quer finally gave proofs in around 2007 when he visited Seattle to work on Sage.
- Dimension formulas incredibly useful double checks on all other algorithms...
- Computing dimension for is comparably much harder.
Two Subproblems:
Modular Forms = Eisenstein Subspace Cuspidal Subspace
Eisenstein Series
- There is an explicit easy-to-compute direct formula for a basis of -expansions for , which one can deduce by staring at Miyake's book on Modular Forms long enough.
The formulas:
Suppose and are primitive Dirichlet characters with conductors and , respectively. Let where
Theorem (Miyake, Chapter 7):
Suppose is a positive integer and , are as above and that is a positive integer such that . Except when and , the power series defines an element of . If , , , and , then is a modular form in .
Moreover, the set of Eisenstein series in above with and form a basis for the Eisenstein subspace .
Important Trick: we can compute generalized Bernoulli numbers very quickly in terms of the classical for (see page 656 of Cohen's Number Theory and Diophantine Equations, section 9). The can be computed very quickly, due to fast code in PARI and also very different fast parallel code by David Harvey.
Project: The code for computing in Sage could probably easily be made faster with some more work. See the comments in the source code.
Computing Cusp Forms
There are (at least) four distinct algorithms for computing classical cuspidal modular forms. Each has unique advantages over all of the others, and it is important to master all of them (no software has yet done so...).
- Explicit Generators
- The Hijikata (Eichler-Selberg) trace formula
- Modular symbols
- Rational quaternion algebras and supersingular elliptic curves
1. Cusp Forms: Explicit Generators
Unique Advantages:
- Fast for large weight (using fast univariate polynomial multiplication, thanks to FLINT)
- Easy to understand and implement once generators are known.
Prototype: We have an isomorphism of rings:
where and are the weight 4 and 6 Eisenstein series.
Project: Clean up some of these -expansion functions. For example, look at this mess below, where the names and input parameters for and couldn't be more inconsistent!! Also, there should be an easy way to find them all, e.g., modforms.[tab].
Project: One can find ring generators for other levels. Code something systematic for small levels in Sage.
2. Cusp Forms: The Hijikata (Eichler-Selberg) Trace Formula
Unique Advantages:
- Impressive "practical complexity" to compute with big or with weight big.
- Relevant to certain algorithms for computing -adic modular forms.
See http://wstein.org/Tables/hijikata.html for the 2-page formula itself, which is an enormous sum over class numbers and solutions to certain quadratic equations modulo various integers. There is a non-optimized PARI and Magma implementation at that page, which I wrote in 1998 (!).
tr(n,k,N) = tr(T_n on S_k(Gamma_0(N))). (If n | N then n must be prime.)
Project: Port this to Sage and make it fast enough to be useful. Challenge: Verify that for .
3. Cusp Forms: Modular Symbols
Unique Advantages:
- Fairly general (any with ).
- Yields unique information about special values of -functions.
- Also, unique information about abelian varieties (and motives when ) that no other method gives.
Basic Idea:
- Compute the homology group in terms of an explicit presentation (Manin symbols) got from images of the path from to .
- This amounts to sparse linear algebra over .
- Then compute Hecke operators using an explicit formula (and Heilbronn matrices -- see Merel's SLNM 1585).
- Use dense linear algebra to decompose new subspace of as a direct sum of simple modules.
- Compute system of Hecke eigenvalues associated to each summand.
- Everything generalizes to higher weight, nontrivial characters, etc.
Explicit Presentation for Modular Symbols of Level 65
Hecke Operators at Level 65
Decomposition of New Subspace at Level 65
Systems of Hecke Eigenvalues
There is a clever "compressed representation" of the Fourier coefficients that arises naturally out of the modular symbols algorithm.
The product gives the actual eigenvalues:
Here is a more impressive example. The rows of are small, but the actual Hecke eigenvalues expressed in terms of a power basis are huge (see below).
versus
Project: I optimized the hell out of the compact_system_of_eigenvalues command in several special cases, e.g., trivial character. But the general case is still slow. Fix that.
4. Cusp Forms: Rational Quaternion Algebras and Supersingular Elliptic Curves
The algorithm is the same as what John Voight talked about on Monday, but specialized to the case of . In short, suppose exactly divides the level . Compute an Eichler order of level in the quaternion algebra ramified at , enumerate the right ideal classes in , and compute Hecke operators acting on the free abelian group on these ideal classes.
Unique Advantages:
- As a biproduct, provides explicit theta series basis for (a certain subspace of) , for certain , and sometimes theta series can be efficiently computed to high precision.
- Provides unique input (the Monodromy Pairing) needed by my algorithm for computing Tamagawa numbers of modular abelian varieties, and also for computing Kolyvagin cohomology classes.
- There is a canonical basis and the matrices of Hecke operators are extremely sparse, e.g., has (at most) nonzero entries per row, no matter what the level!!!
- Mestre Method of Graphs variant is very fast and easy to implement (when applicable).
Example: Level
The Method of Graphs: For prime level
Compute Hecke action directly on the free abelian group on supersingular -invariants in characteristic .
Project: Implement computation of Eichler orders when divides the level, with .
Project: Higher weight?
Closing Remarks
- I have only scratched the surface. There are many, many other relevant algorithms, e.g., SLNM 1585 gives an algorithm for computing weight 1 forms in some cases. There are also algorithms for half-integral weight forms.
- Edixhoven et al. have a theoretical algorithm for computing at level 1 in time polynomial in via a Schoff-like approach. They posted a book about this to the arxiv, and seek feedback.
- I wrote a book on computing modular forms that the AMS published. It is now totally free at my website.