Friday, November 21, 2008

Modular degrees, congruence moduli, and the Heegner-Kolyvagin subgroup of Mordell-Weil

Today in the advanced number theory reading seminar, Robert Bradshaw talked about the algorithm of Delaunay-Watkins for computing modular degrees using L-functions. In particular, he talked about some of the background definitions involving the symmetric square L-function and the Petersson norm. Craig Citro (in the audience) kept bringing up the adjoint L-function, since it is very relevant to his Ph.D. thesis work. There is a formula for L(Sym^2(f),2) that involves the modular degree, and there is a formula that involves L(Ad(f),1) and the congruence modulus. There's a paper of Agashe-Ribet-Stein (me) that proves that the modular degree m divides the congruence modulus c for elliptic curves, and we conjecture that 2*ord_p(c/m) <= ord_p(N), where N is the conductor of the curve. Ken Ribet in fact proved this when ord_p(N) <= 1, but none of us have made any progress when ord_p(N) >= 2. I'm very curious if rephrasing these divisibilities as relations about L-functions yields any new insight either about L-functions or the conjecture? Or nothing? I have no idea yet.

I also thought some about various ways of defining subgroups of Mordell-Weil groups of elliptic curves of arbitrary rank. The result is that now I have I think three a priori completely different definitions of a subgroup V of E(K), where K is a Heegner quadratic imaginary field, and I suspect that all three definitions give the same group. The first definition is the subgroup of E(K) that is in the kernel of all the maps to component groups and to the dual of all groups Sha(E/K)(p^oo), where dual is defined by lifting to the Selmer group and using the cup product. The second definition is the intersection of the sums of the inverse images of all subgroups of E(K_lambda)/M E(K_lambda) generated by Kolyvagins points P_lambda. The third subgroup is the inverse image of the subgroups of J_0(N*lambda)(K)/M generated by Heegner points x_K in J_0(N*lambda)(K).

Wednesday, November 19, 2008

Gross Zagier, Hilbert Class Polynomials, and Rank 2 Curves with 3 Sha

Today I gave a talk on the Gross-Zagier formula in the this seminar. I stated the main formula over the Hilbert class field, then explained exactly how to use it to deduce a formula over the quadratic imaginary field K. The proof involves using a summation trick and projecting onto eigencomponents of the Hecke algebra. I also talked about the relationship between L(f,chi,s), L_A(f,s), and the ranks of the eigencomponents of J(H)_C.

Right after my talk, several of us went to Microsoft Research, where we had lunch, then Drew Sutherland gave a superb talk on his very impressive multi-modular algorithm for computing Hilbert Class Polynomials modulo one cryptographic sized prime P. The main advantages of his multi-modular method are that it is very easy to parallelize, is extremely memory efficient compared to all other known approaches, and in several situations in the algorithm he can lower the constant in the time complexity by a big factor by using explicit models for X_1(N) (and some other tricks). Very nice.

When I got home, Mark Watkins had sent me a table of 630 elliptic curves of prime conductor and rank 2 that have Shafarevich-Tate groups of order divisible by 9 (see this Sage worksheet). The smallest-conductor example E we know of is y^2 + x*y = x^3 - x^2 + 94*x + 9, which has conductor "only" 53295337. The field K=QQ(sqrt(-7)) satisfies the Heegner Hypothesis, and E^K has rank 1. Also, an hour computation shows that Sha(E^K)_an = 1. I double checked that indeed Sha(E/QQ)_an = 9. Of course the torsion subgroup and Tamagawa numbers are trivial (this follows automatically from the Neumann-Setzer classification). So one expects that the Heegner-Kolyvagin subgroup [which I've never "publicly defined"] of E(K)=Z x Z x Z is a subgroup of index 3 = sqrt(#Sha). I wonder if it is possible to somehow compute -- at least conjecturally(!) -- which subgroup it is? Possibly, yes, by finding the subgroup of E(QQ)/3 E(QQ) that maps to a subgroup of Sel^(3)(E/QQ) that is orthogonal to the inverse image of Sha(E/Q)[3]. I wonder if complexity-wise such a computation is impossibly hard or reasonable?

Wednesday, November 12, 2008

L-functions: a seminar and the Gross-Zagier L-function

Today we had the first meeting of the Advanced Grad Student Number Theory Research Reading Seminar at UW. The participants are me, Robert Miller, Robert Bradshaw, and Craig Citro, and we intend to talk about papers of Dokchitser, Gross-Zagier, Watkins, Delauney, Kartik, Bosman, Kolyvagin, Ghate, and Hida. The unifying theme is mostly about explicit applications of L-functions and modular forms to very hard problems in algebraic number theory. We first had an organizational meeting and decided what we'll be talking about, then I gave a talk on Dokchitser's paper (basically following the talk I gave at UT Austin a few days ago, but greatly abbreviated due to lack of time).

After that, I went out to lunch with Tom Boothby, Sourav San Gupta, Craig Citro, and Robert Bradshaw at Cedars, where we talked about a reading course Boothby and Gupta are doing on algebraic number theory (basically, exercises from Marcus's book).

Next, Robert Bradshaw, Craig Citro, and I sat down in my office and figured out precisely how to use Dokchitser's algorithm to compute the Gross-Zagier L-function L_A(f,s). This involved using the Legendre duplication formula (page 217 of Ahlfors), explicitly computing the representation numbers r_A(n) using quadratic forms (Robert Bradshaw has a super-fast Cython implementation of this which is 20 times faster than Magma's, which uses careful bounds on the ellipse one enumerates over), and explicit computation of the product of two Dirichlet series as a Dirichlet series, which again Robert coded up very quickly by noting that one of the series is very sparse. Then we got all this to work via the Sage/Dokchitser interface, and it computed the power series of L_A(f,s) at 1 for 37a and D=-40. Robert will be making this all much more systematic as a patch to Sage, and extend it to work for any newform of any weight or level (for Gamma0(N)), so that we can do many systematic computations. In particular, I'm very interested in what happens when ord_{s=1} L_A(f,s) >= 3 (it's always odd), and also what happens when f isn't attached to an elliptic curve.

Saturday, November 8, 2008

Dokchitser's Algorithm for Computing L-functions

On the trip Thursday from Seattle to Austin, I read Tim Dokchiter's paper "Computing special values of motivic L-functions". This is Tim's oldest paper listed here, and some of his other papers build on it. It describes a very general algorithm for computing "anything" numerical about motivic L-series, which are Dirichlet series with meromorphic continuation, functional equation, etc. We are implemented this algorithm in Sage right now, since it's potentially very important to many things I care about:


  1. Birch and Swinnerton-Dyer, Bloch-Kato, Stark Conjectures
  2. Heegner heights: Gross-Zagier + Zhang; computation of twisted L-series by characters of class groups, and also computing Rankin-Selberg convolutions.
  3. Computing conductors of curves, local factors at primes of bad reduction
  4. Computing the Petersson pairing by computing special values of symmetric square L-functions; get explicit Poincares series from this. Also, the related problem of
    computing modular degrees of modular abelian varieties and modular motives analytically.


Dokchitser's algorithm is already implemented (by him) in GP/PARI and Magma, but a highly optimized implementation done directly in Sage would be extremely desirable. Nick Alexander, Jen Balakrishnan, and Sourev San Gupta have all worked on this but their implementation is still rough and has bit rotted. We already use the GP/PARI version in Sage a lot, but the main motivation for doing a new implementation is that it will be more flexible wrt the above problems, and we can potentially optimize it.

Speaking of speed, I tested Pari versus Magma's Dokchitser implementation for the elliptic curve [1,2,3,4,5], and Pari was 2 to 6 times faster on everything I tried for that L-series. Somebody conjectured this might be that Dokchitser knows pari better than Magma, or that Pari has more relevant low level data structures that he could use.


Today I gave a talk on Dokchitser's algorithm, focused on explaining the key "theoretical" ideas of the algorithm, without getting bogged down in details. In my talk, I discussed the applications of Dokchitser's algorithm, then wrote down his formula for L^*(s) in terms of G_s(t) and the a_n, and emphasized that the G_s(t) depend only on the gamma factor. Then I said some words about how to compute G_s(t), and finally I gave almost all the gory details of derivation for the formula for L^*(s) in terms of G_s(t) and a_n. I was surprised to end up giving all the details. Mike Rubinstein and Fernando Rodriguez-Villegas both made a lot of helpful comments during they talk.

Sunday, November 2, 2008

Gross-Zagier: Heegner Points and Derivatives of L-series

Today, after answering at least a dozen emails from new users about basic design decisions in Sage, I read chapters II and V of Gross and Zagier's seminal paper "Heegner Points and Derivatives of L-series" (at the Vivace coffee shop by REI in downtown Seattle). Chapter II is a very technical derivation of a formula for local archimedian heights of pairings of certain Heegner points. It mainly involves a careful construction of a certain "resolvent kernel function" G by a limiting process, deriving relations between that function and the local archimedian contributions to the height, and dealing with various cases. The function G looks perhaps computable, though I've never heard of anybody computing it; there are some related examples in the last chapter of this paper.

I only skimmed chapters III and IV, which I'm saving for later, since they're 50 pages of very technical arguments.

Chapter V is extremely exciting, since it ties together the ideas from the previous chapters to finally relate heights of Heegner points to L-values. The basic idea is that using Rankin's method, Gross and Zagier write down a "horrendous" formula for the coefficients of a certain modular form that encodes the linear functional that sends a newform f to the value of the derivative at 1 of a certain L-series. They also use that G function mentioned above and explicit computation with local heights to write down another horrendous formulas for height pairings of Heegner points. They then observe in Chapter V that the formulas as the same! (And, yes, they include an excited exclamation point at that point in the paper.) The rest of Chapter V involves deducing the statements that originally motivated Gross's interest in this problem (e.g., the conjectures of Birch related to the BSD conjecture), an application to weight 1, and some ruminations on higher weight analogues that involve Grothendieck motives attached to higher weight modular forms, though Gross-Zagier talk only of Deligne's cohomology theory, since this paper was written before Scholl's paper on motives attached to modular forms. Much of these later deductions will be very fun to generalize to higher derivatives, since they're basically formal applications of their main formula.

Idea/Question: Something I've long wondered about is whether there is a way to compute the *conjectural* order of Sha and the regulator for modular abelian varieties A over the rational numbers with positive rank. Reading Chapter V of Gross-Zagier makes me think there is in the common case when rank(A) = dim(A), which would be incredibly useful for making a large table that generalizes Cremona's book to dimension bigger than 1. Here's the very roughly sketched idea. Given a newform f of degree > 1 over the rational numbers, there is a corresponding abelian variety A=A_f of dimension d > 1. It is fairly easy to compute L(A,s), and even the leading coefficient L^(d)(A,1) and BSD volume Omega_A. Assuming A has rank d, according to the BSD conjecture, L^(d)(A,1)/Omega_A is a nonzero rational multiple alpha of the regulator. I wonder if one can get any information at all -- even conjecturally -- about this multiple by computing something explicit involving the various constructions in the Gross-Zagier paper? Some sort of calculation using Gross-Zagier should give the regulator of the subgroup generated by the Heegner point and its Galois conjugates, and this will be a square multiple of the true regulator. Comparing that with what BSD gives for Reg*Sha, and throwing in knowledge of (or bounds on) the Tamagawa numbers and torsion, and an analogue of the conjecture in Section 5 that the index of the Heegner subgroup in the full group of rational points is a formula involving the square root of something involving the torsion, Tamagawa numbers, Manin constant, and order of Sha, should yield a conjectural formula for Sha. This would take working out stuff not given explicitly in Gross-Zagier in higher dimension, but I think would be do-able. This will definitely require explicitly computing something about p-divisibility or indexes of Heegner points in A(K), possibly using ideas from Johan Bosman's Ph.D. thesis.

I talked more with Robert Bradshaw about all the above, and our conclusion was a first interesting problem is just to figure out precisely what replaces the elliptic curve index [E(K):Z y_K] when E is replaced by A=A_f. Maybe [A_f(K) : T y_K] where T is the Hecke algebra? But then sqrt(#Sha(E))*prod c_p * Torsion(E) has to be replaced by something else since #Sha(A) might not be a perfect square.