University of Oford Proving the weak BSD conjecture for elliptic curves in the Cremona Database Michelle Kovesi A thesis submitted for the degree of MSc in Mathematics and Foundations of Computer Science September 2015
Abstract The Birch and Swinnerton-Dyer (BSD) conjecture is a major open problem in the field of number theory. The weak BSD conjecture asserts that the algebraic rank and analytic rank of elliptic curves are equal. In this dissertation we prove the weak BSD conjecture holds for all curves in the Cremona database which have algebraic rank at most 3. This encompasses all but one of the roughly two million curves in the database. We rigorously compute analytic rank for all the curves of interest, and check that the values obtained agree with the known algebraic ranks. In order to compute analytic rank, for each curve E we compute approimations to L (E, 1), L (E, 1), or L (3) (E, 1) (as necessary) using formulas available in the literature. We then derive error bounds for the difference between our approimations and the true values, allowing us to prove conclusively that the relevant L-derivatives are indeed non-zero. 1
Acknowledgements I would like to thank my supervisor Jennifer Balakrishnan for her kindness, patience, help, and advice throughout the duration of this dissertation. She has been a wonderful supervisor. I am also grateful for Minhyong Kim s ecellent course on elliptic curves, which inspired me to do my thesis on this topic. As well, I would like to gratefully acknowledge William Stein s free online SageMathCloud platform, which was used for the computations in this thesis. 2
Table of contents 1 Introduction 4 2 Background material and Cremona s computations 5 2.1 Basic definitions and the weak BSD conjecture.......... 5 2.2 Introduction to modular forms................... 7 2.3 Computations with Cremona s database.............. 10 3 Rigorously computing analytic rank 16 3.1 Analytic rank 1............................ 18 3.2 Analytic rank 2............................ 21 3.3 Analytic rank 3............................ 23 4 Computations and results 27 5 Conclusion 28 6 References 29 7 Appendi: Source code 31 3
1 Introduction The Birch and Swinnerton-Dyer (BSD) Conjecture is an open problem in the field of number theory which is listed as one of the Clay Mathematics Institute Millennium Problems. The conjecture relates the algebraic structure of an elliptic curve over Q to the behaviour of an analytic function attached to the curve. In particular, the conjecture relates two important invariants of an elliptic curve: its algebraic rank, and its analytic rank. By Mordell s theorem, if E is an elliptic curve over Q, then the group consisting of its rational points has the structure Z r E(Q) tors, where E(Q) tors is the subgroup of elements of finite order, and r (a non-negative integer) is called the algebraic rank of the curve. On the other hand, the analytic rank of E is the order of vanishing of L(E, s) at s = 1, where L(E, s) is a function that encodes information about the number of points on the curve over many finite fields. Given how differently algebraic rank and analytic rank are defined the former relating to group structure, the latter relating to an analytic function it is surprising that the two invariants are actually conjectured by Birch and Swinnerton-Dyer to be equal. Many computer algebra systems contain functions for computing the algebraic rank of an elliptic curve. However, in the analytic case these systems only compute a value that is probably the analytic rank a value that is not often rigorously justified. Cremona s database of elliptic curves contains entries for all elliptic curves (up to isomorphism) of conductor less than 350,000, and all but one of these curves have algebraic rank less than or equal to 3. The purpose of this MSc dissertation is to rigorously compute the analytic rank for those curves. If the values obtained agree with each curve s known algebraic rank, this will prove that the weak BSD Conjecture holds for all but one of the curves in the Cremona database. We will begin this thesis by presenting the relevant background material required to understand how Cremona establishes probable values for analytic rank, and also how he establishes algebraic rank. Once we accomplish this, we will move on to our discussion of how to make the computations rigorous. Finally, we will implement and run code to compute analytic rank, and discuss the results obtained. 4
2 Background material and Cremona s computations 2.1 Basic definitions and the weak BSD conjecture We begin by introducing some basic concepts about elliptic curves in order to define algebraic and analytic rank and state the BSD conjecture, and also to establish notation. This information can be found in [Coh07 vol. 1, 7.1 and 8.1], [Ste07, 1], and [Was08, 14]. Let us start with a definition of elliptic curves over a field K. In this dissertation, K will always be either Q or F p (for prime p). Definition 1. An elliptic curve E over a field K (denoted E/K) is the projective closure of the zero locus of a nonsingular affine curve y 2 + a 1 y + a 3 y = 3 + a 2 2 + a 4 + a 6, where each a i is in K. 1 There is a simple algebraic epression in the a i called the discriminant, which is denoted E and has the property that E is nonsingular if and only if E 0. The set of points on an elliptic curve E/K has a natural abelian group structure, with identity element the one etra projective point at infinity, o. There are simple algebraic formulas that specify how to compute the sum of two points P and Q on E. Moreover, if P and Q both have coordinates in K, then so does P +Q. Given an elliptic curve E over a field K, the set of K-rational points on E, together with the point at infinity, is called the Mordell-Weil group. This group is finitely generated and therefore, as Mordell and Weil proved, it has the form E(K) Z r E tors (K). Here, r is a non-negative integer and E tors (K) is the torsion subgroup containing the points of finite order. Definition 2. The integer r defined above is called the algebraic rank of the curve. For all but finitely many prime numbers p, the equation of an elliptic curve E over Q reduces modulo p to define an elliptic curve over the finite field F p. The primes that must be ecluded are eactly those that divide the discriminant E, since in those cases we would obtain singular curves. Such primes are called bad primes. For good primes (i.e. primes for which E mod p is an elliptic curve), a theorem by Hasse gives an upper bound on the size of E(F p ). It says p + 1 #E(F p ) 2 p. This statement says #E(F p ) is approimately p+1, with error term a p satisfying a p 2 p. We shall see that the terms a p = p + 1 #E(F p ) 1 The numbering of the coefficients is standard and comes from from the notion that can be considered of weight 2 and y of weight 3; then regarding a i to have weight i makes each term have total weight 6. 5
play a central role in defining the L-function of E. If p E, the reduction of E modulo p is singular. This singularity can have one of three types: a cusp, a double point with tangents defined over F p, or a double point with tangents not defined over F p. When the singularity is a cusp, the reduction is called additive; when it is a double point with tangents defined over F p, it is split multiplicative, and when it is a double point with tangents not defined over F p, it is non-split multiplicative. It is interesting to note that even when the reduction defines a singular curve, we still have a group law, only now on the set of nonsingular points. For eample, in [Coh07, vol. 1, p.472] Cohen shows that if G is the set of nonsingular points on E mod p, then: If the reduction is additive we have G (F p, +), a cyclic group of order p. ote that there is also one singular point, so #E(F p ) = p + 1. If the reduction is split multiplicative we have G (F p, ), a cyclic group of order p 1. Together with the singular point, we have #E(F p ) = p. If the reduction is non-split multiplicative then G is isomorphic to the unique cyclic subgroup of F p of order p + 1. Again, there is one singular 2 point, so #E(F p ) = p + 2. We now define the L-function of E, which encodes information about the number of points on E mod p. We will see later that this L-function is intimately connected to a related notion about modular forms. Definition 3. The L-function of E is defined by L(E, s) = 1 a p p s p E 1 1 a p p s + p 1 2s, p E 1 where p + 1 #E(F p ) if p E 0 if p a p = E has additive reduction 1 if p E has split multiplicative reduction 1 if p E has non-split multiplicative reduction It is interesting to note that even when p E we still have a p = p + 1 #E(F p ) since, as eplained above, when the reduction is additive, #E(F p ) = p+1; when the reduction is split multiplicative, #E(F p ) = p; and when the reduction is non-split multiplicative, #E(F p ) = p + 2. We are now ready to define the analytic rank of an elliptic curve. Definition 4. The analytic rank r an vanishing of L(E, s) at s = 1. of an elliptic curve E is the order of In other words, it is the least integer k such that L (k) (E, 1) 0. A natural question to ask is how can we classify elliptic curves into some sort of useful equivalence classes. There are several ways to do this, but the most important way for us will be to classify curves into isogeny classes. We will see that analytic rank and algebraic rank are isogeny invariant, meaning that curves in a particular isogeny class all share the same algebraic and analytic rank. This 6
will be useful when we prove the BSD conjecture for curves in the Cremona database, since it reduces the number of curves which we need to consider. 2 Definition 5. Let E 1 and E 2 be elliptic curves. An isogeny between E 1 and E 2 is a morphism φ : E 1 E 2 satisfying φ(o) = o. The curves E 1 and E 2 are isogenous if there is an isogeny φ between them with φ(e 1 ) {o}. The isogeny class of a curve consists of all the curves which are isogenous to it. Let us now present the Birch and Swinnerton-Dyer (BSD) conjecture. We will only be concerned with the following statement of the conjecture. Conjecture 6 (Weak BSD). Let E be an elliptic curve defined over Q. Then the algebraic rank and analytic rank of E are equal. Given how differently algebraic rank and analytic rank are defined the former pertaining to group structure, the latter pertaining to derivatives of an analytic function it is surprising that the two quantities are even related, let alone equal. Cohen captures the impact of this conjecture in [Coh07 vol. 1] when he says, In my opinion it is the most beautiful and important conjecture in the whole of number theory... and probably the whole of mathematics. 2.2 Introduction to modular forms In order to understand the analytic rank of elliptic curves, we need to understand their L-functions. We will see that L-functions of elliptic curves over Q arise from certain kinds of modular forms, so one may gain insight into the analytic rank of elliptic curves by studying modular forms. This will be our strategy. So, let us now introduce some definitions and results relating to modular forms. Our goal here is simply to gain enough tools to return to the topic of elliptic curves, so we shall try to keep our discussion of modular forms as brief and pertinant as possible. To maintain the brevity of this section we will omit proofs; we encourage readers seeking deeper understanding to consult outside references. The material in this section can be found in [Ste07-2], [Mil06, 5], and [Was08], and these sources may be viewed for more information. We also recommend [Man09, 1] and [Sut15, lecture 25] for interesting introductions to L-functions and modular forms. We begin with some basic definitions, and work our way up to presenting the Modularity Theorem, a major result which establishes the connection between elliptic curves and certain kinds of modular forms. The modular group is {[ ] } a b SL 2 (Z) = : ad bc = 1 and a, b, c, d Z. c d It is generated by the matrices [ ] 0 1 S = 1 0 and T = [ ] 1 1. 0 1 2 The Cremona database is a large database of elliptic curves which we will shortly introduce in greater detail. 7
[ ] a b A matri γ = SL c d 2 (Z) acts on the comple upper half plane H = {z C : Im(z) > 0} via fractional linear transformations, defined by γ(z) = az + b cz + d for all z H. Thus, for eample, S(z) = 1 z, and T (z) = z + 1. ote that γ(z) H for all γ SL 2 (Z) and z H. Definition 7. A congruence subgroup of SL 2 (Z) is a subgroup containing where Γ() = ker(f ), f : SL 2 (Z) SL 2 (Z/Z) is the reduction mod map, and Z +. The smallest such is the level of the congruence subgroup. [ ] 1 ote that is in every congruence subgroup since it gets mapped to 0 1 [ ] 1 0 under the reduction mod map. An important eample of a congruence 0 1 subgroup is Γ 0 (), defined by {[ ] [ ] [ ] } a b a b Γ 0 () = SL c d 2 (Z) : mod. c d 0 It has level. The set of cusps of H is P 1 (Q) = Q { }. The set of cusps for a congruence subgroup Γ is the (finite) set C(Γ) of Γ-orbits of P 1 (Q). We are now ready to define modular forms. Definition 8. A modular form of weight k for a congruence subgroup Γ is a function f(z) on H such that: 1. It is holomorphic on H, [ ] a b 2. f(z) = (cz + d) k f(γ(z)) for all z H and all γ = Γ, and c d 3. It is holomorphic at the set of cusps for Γ (see below for more details). Moreover, it is called a cusp form if it vanishes at the cusps. If Γ = Γ 0 () we say that f has level. Suppose Γ has level. Let us [ eplain ] what we mean by f(z) being holomorphic at the cusps of Γ. Since Γ for some, condition (2) yields 1 0 1 ( ) 1z + f(z) = (0z + 1) k f 0z + 1 = f(z) = f(z + ) 8
This means we may write f(z) = f (e 2πiz ), where f is a function on a neighborhood of 0 C, with 0 removed. We say that f is holomorphic at if f is holomorphic at 0. In this case we can write f(z) = n=0 a(n, f)e 2πinz, a(n, f) C. We say that f is holomorphic at a cusp α if f γ is holomorphic at, where γ SL 2 (Z) satisfies γ( ) = α (it is a fact that we can always find such a γ). To prove f is holomorphic at the cusps it suffices to check that the condition holds for one cusp in each Γ-orbit. Since modular forms are required to be holomorphic at the cusps, they always have a Fourier epansion, as above. [ ] 1 1 ow, let f be a cusp form of weight 2 for Γ 0 (). Since Γ 0 1 0 (), condition (2) implies f(z + 1) = f(z). And since it is a cusp form it is 0 at the cusp. This means it has a Fourier epansion of the form f(z) = a(n, f)e 2πinz, a(n, f) C. For such an f, we have the following definition. Definition 9. The Ste07-2 of f is the Dirichlet series L(f, s) = a(n, f)n s, s C, where the a(n, f) are the Fourier coefficients as above. We will see that L-functions of elliptic curves correspond to L-series of certain kinds of cusp forms called rational newforms. They are defined as follows. We first state the definition, and then eplain what some of the terms in the definition mean. Definition 10. A rational newform f is a cusp form of weight 2 for Γ 0 () which satisfies the following properties: 1. It has rational Fourier coefficients a(n, f). 2. It is a simultaneous eigenform for all the Hecke operators. 3. It is a newform in the sense of Atkin and Lehner ([AL70]). We now eplain what this definition means. We have already covered the relevant material to understand item (1), so let us start by discussing item (2). For p prime, the Hecke operator T p on the space S 2 (Γ 0 ()) of cusp forms of weight 2 on Γ 0 () is defined by T p (f(z)) = pf(pz) + 1 p 1 ( ) z + r f p p 9 r=0
for all f S 2 (Γ 0 ()) and z H. This is a group action on S 2 (Γ 0 ()) provided that p. If a cusp form f satisfies T p f = λ p f for all the Hecke operators T p (where λ p C is some eigenvalue of T p ) then we say that f is an eigenvector for all of the Hecke operators. Moreover, when such an f also satisfies a(1, f) = 1 then we call it a (normalized) eigenform. Let us now proceed to item (3), and define what it means for a cusp form f to be a newform. We say that any cusp form in a subspace S 2 (Γ 0 (M)) for a proper divisor M is old. The old forms form a subspace S2 old (Γ 0 ()), and the orthogonal complement (with respect to a certain inner product called the Petersson inner product) is called the space of new forms S2 new (Γ 0 ()). It is known that S2 new (Γ 0 ()) has a basis consisting of simultaneous eigenforms, and these eigenforms are called newforms. ow that we have a sense of what it means for a cusp form to be a rational newform, we may present the modularity theorem (formerly the Taniyama- Shimura-Weil conjecture). The modularity theorem for elliptic curves was proven by Wiles in 1994 (and improved by successors afterwards), and decisively established the link between elliptic curves and modular forms. Famously, Fermat s Last Theorem was a consequence of the modularity theorem. Theorem 11 (Modularity theorem). Let 1 be an integer. There is a oneto-one correspondence f E between rational newforms of level and isogeny classes of elliptic curves E defined over Q and of conductor. 3 Under this correspondence, for all primes p we have a(p, f) = a p, where a(p, f) is the p-th Fourier coefficient of f, and a p = p + 1 #E(F p ). As Cohen says in [Coh07 vol. 2], this theorem is one of the crowning achievements of number theory of the second half of the twentieth century. It is crucial for going back and forth with ease between rational newforms and elliptic curves. We will not be concerned with the details of how this is accomplished; rather, we simply remember that for each isogeny class of elliptic curve(s) of conductor there is an associated rational newform of level, and vice versa. 2.3 Computations with Cremona s database In this section we start by introducing Cremona s database of elliptic curves. We then discuss his elliptic curves library package, and show how the package establishes algebraic and (probable) analytic rank. Most of the theory is eplained in [Cre97] and [Ste07], and we will cite other sources as we need them. Cremona s database is a publicly accessible database of elliptic curves which is a valuable resource for many researchers. The table currently contains about 2 million curves, consisting of all curves with conductors up to 350,000 (we shall define the term conductor shortly). The following table contains a breakdown of the number of curves for each rank. More information about the database can be found on Cremona s homepage at http://homepages.warwick.ac.uk/ ~masgaj/ftp/data/. 3 We will define the conductor of an elliptic curve in the net section. 10
Rank umber of curves 0 846,125 1 1,099,596 2 237,177 3 5,364 4 1 The goal of our dissertation is to prove the weak BSD conjecture holds for all but one of the curves in this database. Specifically, we will show that it holds for all the curves of algebraic rank at most 3 which covers all of the curves ecept for the one which has rank 4 (it is an open problem to prove that any particular elliptic curve has analytic rank 4). To make our task slightly easier, let us start by showing that it suffices to prove the weak BSD conjecture holds for just one representative of each isogeny class. This will somewhat reduce the number of computations we need to perform, since there are only about 1.5 million isogeny classes in the database. The following three lemmas will be used to prove that the algebraic and analytic rank of elliptic curves are isogeny-invariant. We state them without proofs; full proofs are available in [Sil09, III.4 and III.6]. Lemma 12. Isogenies are group homomorphisms. Lemma 13. If φ is a non-zero isogeny then ker(φ) is a finite subgroup. Lemma 14. If φ : E 1 E 2 is a non-constant isogeny then there eists a dual non-constant isogeny ˆφ : E 2 E 1. These lemmas are sufficient to prove the following theorem, which allows us to restrict our task to just one curve in each isogeny class. Theorem 15. The algebraic and analytic rank of elliptic curves are isogenyinvariant. Proof. Let E 1 and E 2 be isogenous elliptic curves, and let φ : E 1 E 2 be a non-zero isogeny between them. Suppose E 1 and E 2 have algebraic ranks m and n, respectively. Let us show m = n. Since φ is non-zero, ker(φ) is a finite subgroup. This means ker(φ) can only contain torsion points. In particular, φ is injective on the non-torsion points, so m n. Moreover, since there is also a non-constant isogeny ˆφ : E 2 E 1, we must also by the same logic have n m. Therefore the algebraic ranks of E 1 and E 2 are equal. To see that the analytic ranks of E 1 and E 2 are equal, it suffices to show their L-functions are the same. By Definition 3, this reduces to two tasks: 1. We need to show that E 1 and E 2 have the same type of reduction at every prime, and 2. We need to show that #E 1 (F p ) = #E 2 (F p ) for all good primes p. Regarding item (1), Milne says in [Mil06, p.195] that It is not quite obvious, but it follows from the theory of éron models, that isogenous elliptic curves have the same type of reduction at every prime. We leave this proof to the 11
reader and, following [Mil06], present a proof for item (2) using more familiar tools. Let p be a prime of good reduction for E 1 and E 2. The isogeny φ : E 1 E 2 induces an isogeny φ p : Ẽ 1 Ẽ2 on the reductions of E 1 and E 2 mod p. Moreover, φ p commutes with the Frobenius map since if then ψ : p, φ p ( : y : z) = (P (, y, z) : Q(, y, z) : R(, y, z)), P, Q, R F p [X, Y, Z], (φ p ψ)( : y : z) = (P ( p, y p, z p ) :...), and (ψ φ p )( : y : z) = (P (, y, z) p :...), which the characteristic p binomial theorem shows to be equal. Therefore the diagram Ẽ 1 ψ idẽ1 Ẽ 1 commutes, so we see that φ p Ẽ 2 ψ idẽ2 Ẽ 2 φ p deg φ p deg(ψ idẽ1 ) = deg(ψ idẽ2 ) deg φ p. 4 It is known 5 that deg(ψ id E ) = #E(F p ), so it follows that #Ẽ1(F p ) = #Ẽ2(F p ), which is what we wanted to show. The theorem we just proved means we only need to verify the algebraic and analytic ranks for one curve in each isogeny class contained in Cremona s database. Cremona has an elliptic curve library package available on GitHub 6 which includes tools capable of performing certain computations on curves in the database. In particular, his code is capable of determining whether or not a curve has analytic rank 0, and it is capable of determining the parity of a curve s analytic rank. However, for analytic rank greater than 0, Cremona s code is only probably correct, as he makes some assumptions which are not rigorously justified. His code can also correctly compute the algebraic rank of a curve in a way that is rigorously justified for curves of rank 0, 2 or 3. However, the correctness of algebraic rank 1 depends on the correctness of analytic rank being 1. Our net goal will be to get a sense of how Cremona performs the computations mentioned above. We accomplish this by analyzing the source code 4 See Chapters II.2 and III.4 of [Sill09] for information about degrees. 5 See, for eample [Mil06, p.149]. 6 This package is located at https://github.com/johncremona/eclib. 12
available on GitHub to determine which methods are used. We will start by looking at how Cremona determines whether or not a curve has analytic rank 0. et, we will eplain how he deduces the parity of a curve s analytic rank. We will then eplain how Cremona s code establishes probable values for analytic rank. Finally, we will discuss how algebraic rank is established. Once we have covered this material, we will proceed to our discussion on how to make Cremona s computations rigorous. Analytic rank 0 A period of a cusp form f is defined to be the (comple) value of an integral of the form β 2πi f(z)dz, α where α and β are cusps. In [Cre97, 2.8], Cremona derives the formula L(f, 1) Ω(f) = n(p, f) 2(1 + p a p ), where Ω(f) is a certain (real) period of f, and n(p, f) is an integer. This is a rational number, so L(f, 1) = 0 if and only if n(p, f) = 0. If E is the elliptic curve attached to f, then L(E, 1) = L(f, 1) and so n(p, f) allows us to deduce whether or not E has analytic rank 0: r an = 0 n(p, f) 0. Cremona eplains how to rigorously determine whether or not the integer n(p, f) is zero using a concept called modular symbols. This means it is possible to rigorously determine whether or not a curve has analytic rank 0. Parity of analytic rank Wiles, Hecke, and others proved that there is a unique positive integer E and sign ε E {±1} such that the function ( ) s E Λ(E, s) = Γ(s) L(E, s), 2π where satisfies the functional equation Γ(s) = 0 t s 1 e t, Λ(E, 2 s) = ε E Λ(E, s) for all s C. We can consider Λ(E, s) as a variant of L(E, s) which is sometimes more convenient to use. Definition 16. In the previous paragraph, the number E is called the conductor of E, and the number ε E is called the sign of the functional equation. These two invariants have several useful properties. The conductor has the property that if a prime p divides a curve s discriminant E, then p E as well. Also, the sign of the functional equation has a useful property that allows us to determine the parity of a curve s analytic rank. This is established by the following proposition. 13
Proposition 17. Let E be an elliptic curve over Q. Then ε E = ( 1) ran. Proof. We will roughly follow the approach in [Ste07, Corollary 1.8]. By definition, r an is the order of vanishing of L(E, s) at s = 1. Let us start by showing that r an is also the order of vanishing of Λ(E, s) at s = 1. Suppose we compute Λ (k) (E, s) for k < r an. Then, by the product rule, each term in Λ (k) (E, s) will involve a derivative L (j) (E, s) for j k < r an. Thus each term will be 0 when evaluated at s = 1, so Λ (k) (E, 1) = 0. Therefore the order of vanishing of Λ(E, s) at s = 1 is at least r an. ow, if we compute Λ (ran) (E, s), we will obtain a sum in which each term has a derivative of L (j) (E, s) for j r an. By the product rule, the term containing L (ran) (E, s) will be ( E 2π ) s Γ(s) L (ran) (E, s), and all other terms will contain smaller derivatives of L(E, s). Therefore Λ (ran) (E, 1) = ( E 2π ) Γ(1) L (ran) (E, 1) 0 since Γ(1) = 1 and L (ran) (E, 1) 0. This completes our proof that the order of vanishing of Λ(E, s) at s = 1 is r an. ow, note that by repeated differentiation of the functional equation we have ( 1) k Λ (k) (E, 2 s) = ε E Λ (k) (E, s). Setting s = 1 and k = r an, and using the fact that Λ (ran) (E, 1) 0, we see that ε E = ( 1) ran, as required. ote that the corollary says that if ε E = 1, then the analytic rank is odd, while if ε E = 1, then it is even. In his code, Cremona deduces the sign of the functional equation by computing a certain eigenvalue associated to the modular form attached to the curve (namely, the eigenvalue of the Fricke involution ). Details of this process are available in [Cre97, p.28]. Cremona s method for probable analytic rank Cremona s code for computing a probable value for the analytic rank of an elliptic curve E is relatively simple, and we outline it here. He starts by finding the newform f corresponding to E, and determines whether L(f, 1) = 0. If it is nonzero, he concludes that r an = 0. If, on the other hand, he finds r an > 0, he proceeds to compute ε E (the sign of the functional equation), thereby determining the parity of r an. Since analytic rank is defined to be the minimal r such that L (r) (E, 1) 0, he computes L (r) (E, 1) for incrementally larger values of r, and tries to find the first r such that the derivative is nonzero at 1. Moreover, he uses his knowledge of parity to only compute relevant derivatives: if he knows the analytic rank is even, then he knows the first nonzero L (r) (E, 1) will correspond to an even value for r, so there is no point computing odd derivatives (and vice versa if he knows the rank is odd). 14
There are two problems with Cremona s approach, which both essentially arise from the fact that it is only possible to compute approimate values of L (r) (E, 1). The first problem is that Cremona assumes that any number which is less than 0.0001 in absolute value is actually 0. However, this is essentially an arbitrary decision; it is in fact impossible to prove directly that an approimation to a real number is equal to zero, since there is always some error in the approimation (for eample, if the computation is accurate to a certain number of decimal places, there is no way to know whether a smaller decimal place is, in reality, nonzero). The second problem is that, although it is possible to prove that an approimation to a real number is nonzero using a suitable error analysis, Cremona has not performed any such analysis. Rather, he assumes that any value above 0.0001 in absolute value is nonzero (again, this choice is arbitrary). The purpose of this thesis, essentially, is to make this computation rigorous. We use theorems when we want to prove a particular L-derivative is 0 at s = 1, and we use careful error analysis when we want to prove it is nonzero. In section 3 we will eplain in detail how this is done. Algebraic rank The following theorem allows us to deduce algebraic rank when we know analytic rank is 0 or 1. A reference for this theorem is [SZ03, p.216]. Theorem 18 (Gross-Zagier, Kolyvagin). Let E be an elliptic curve over Q. If E has analytic rank 0, then it has algebraic rank 0. If E has analytic rank 1, then it has algebraic rank 1. Cremona uses this theorem to deduce algebraic rank in these cases. The case of algebraic rank 0 is therefore rigorously justified, since analytic rank 0 is rigorously justified. However, the case of algebraic rank 1 depends on the analytic rank computation actually being correct. For algebraic ranks 2 and 3, Cremona uses a method called 2-descent to rigorously determine the rank. So, algebraic rank is rigorously justified in all cases, ecept in the case of algebraic rank 1, where his result depends on the correctness of the analytic rank computation. 15
3 Rigorously computing analytic rank As we have seen, our goal of proving that the weak BSD conjecture holds for all curves in the Cremona database amounts to rigorously computing analytic rank for one curve in each isogeny class (and then checking that it agrees with algebraic rank). The case of analytic rank 0 is already rigorously justified, so we may focus on the case where we know analytic rank is positive. Here is a summary of what we need to do, given that we know analytic rank is positive, and we know its parity. If we know analytic rank is odd: In order to prove analytic rank is 1 we need to show L (E, 1) 0. In order to prove analytic rank is 3 we need to show L (E, 1) = 0, and L (3) (E, 1) 0. We will see that there is a way to determine conclusively that L (E, 1) = 0. If we know analytic rank is even (and positive): In order to prove analytic rank is 2 we need to show L (E, 1) 0. In order to prove analytic rank is 4 we would need to show L (E, 1) = 0, and L (4) (E, 1) 0. It is an open problem to prove L (E, 1) = 0 for any curve, so we will not address this case here. In this section we will use facts from [BGZ85], [Coh96], and [GJPST09]. However, most of the derivations in this section are our own original work. We carefully cite all facts which are taken from literature, to distinguish them from our own work. We will tackle the cases of analytic ranks 1-3 one at a time. For each case, we will derive a method of rigorously computing analytic rank. However, before moving on, let us establish a few facts about the coefficients a n, which we will need in our upcoming derivations. We begin by presenting the following lemma, which introduces some basic properties of the a n. Proofs are available in [Shu13, Proposition 3.2]. Lemma 19. The L-function of an elliptic curve E epands as L(E, s) = n 1 a n n s, where a p is as in Definition 3 when p is prime, and otherwise a 1 = 1, a p e = a p a p e 1 pa p e 2 when p E and e 2, a p e = a p a p e 1 when p E and e 2, and a mn = a m a n when gcd(m, n) = 1. Let us now use these facts to prove the following lemma, which we will often refer to in the subsequent error bound derivations. We follow the logic from [GJPST09, Lemma 2.9], epanding on some details of their proof and correcting some small errors in it as well. 16
Lemma 20. For any positive integer n, we have a n n. Proof. Let p be prime and let α and β be the roots of 2 a p + p = 0. Then we have α + β = a p, and α β = p. Moreover, by Hasse s Theorem we have a p 2 p, so a 2 p 4p and the discriminant of the polynomial is ( a p ) 2 4 1 p = a 2 p 4p 0. So the discriminant of the polynomial is not positive, which means α and β are either imaginary (in which case they are comple conjugates), or they are equal. In either case, since their product is p it is clear that α = β = p. By the previous lemma, we know that the a n are multiplicative in the sense that a mn = a m a n when gcd(m, n) = 1. Therefore it is enough to show a n n for prime powers p e. For e = 1 it is easy to see that a p p. This is because a p = p+1 #E(F p ), and #E(F p ) contains the point at infinity and at most two points for each F p, so that 1 #E(F p ) 2p + 1 = 1 p + 1 a p 2p + 1 = p a p p ow let e > 1. By the previous lemma, if p E then a p e induction a p e = (a p ) e = ( a p ) e 1 < p e by Definition 3. On the other hand, if p E then the lemma implies = a p a p e 1, and by a p e = a p a p e 1 pa p e 2 for e 2. Let us use induction to show that a p e = α e + α e 1 β +... + αβ e 1 + β e for all e 2. The base case is e = 2. In this case, the previous lemma implies So the base case holds. By induction, suppose for all e < k. a p 2 = a p a p pa 1 a p e = (a p ) 2 p = (α + β) 2 p (since α + β = a p ) = α 2 + 2αβ + β 2 p = α 2 + αβ + β 2 (since α β = p) = α e + α e 1 β +... + αβ e 1 + β e 17
Let us show that the equation holds for e = k. In this case, the previous lemma implies a p k = a p a p k 1 pa p k 2 = a p (α k 1 + α k 2 β +... + αβ k 2 + β k 1 ) p(α k 2 + α k 3 β +... + αβ k 3 + β k 2 ) = (α + β)(α k 1 + α k 2 β +... + αβ k 2 + β k 1 ) (αβ)(α k 2 + α k 3 β +... + αβ k 3 + β k 2 ) = α k + α k 1 β +... + αβ k 1 + β k Therefore for all e 2. Thus a p e = α e + α e 1 β +... + αβ e 1 + β e a p e = α e + α e 1 β +... + αβ e 1 + β e α e + α e 1 β +... + α β e 1 + β e = (e + 1)( p) e If e + 1 ( p) e, then a p e p e and we are done. This fails only when p = 2 and e 5, and when p = 3 and e = 1. We already showed a p e p e when e = 1, so we may assume p = 2 and e = 2, 3, 4 or 5. Let us now compute all possible values of a 2 e for e = 2, 3, 4 or 5. We start with the fact that a 2 may be -2, -1, 0, 1, or 2 (this follows from the Hasse bound, and the fact that a 2 is an integer). We then use the relation a 2 e = a 2 a 2 e 1 2a 2 e 2 to compute the following table, based on each possible initial value of a 2. a 2-2 -1 0 1 2 a 2 2 = a 2 a 2 2 2-1 -2-1 2 a 2 3 = a 2 a 2 2 2a 2 0 3 0-3 0 a 2 4 = a 2 a 2 3 2a 2 2-4 -1 4-1 -4 a 2 5 = a 2 a 2 4 2a 2 3 8-5 0 5-8 In all cases, it is clear that a p e < p e, which concludes our proof. 3.1 Analytic rank 1 Let us now establish a method for conclusively determining a curve has analytic rank 1, given that we know its analytic rank is odd. As mentioned earlier, this task amounts to showing L (E, 1) is nonzero. We now derive a method for accomplishing this. The authors in [BGZ85, p.478] show that L (E, 1) = 2 ( ) a n 2πn n E 1, 18
where E 1 () = e t t is the eponential integral function. Moreover, by [Coh96, Prop. 5.6.12] we may write E 1 () = log 1 γ + ( 1) m 1 m m m! m=1 for all, where γ is Euler s constant. Define k 1 L k (E, 1) = 2 ( ) a n 2πn n Ẽ1, where and where j is chosen such that Ẽ 1 () = log 1 j 1 γ + m=1 ( 1) m 1 m, m m! E 1 () Ẽ1() < δ (for some small δ of our choice). 7 Our goal now is to find a bound on the error between L k (E, 1) and L (E, 1) for a given choice of k. Since E 1 () Ẽ1() < δ, we can write k 1 L k (E, 1) = 2 k 1 2 k 1 = 2 Moreover, note that for 1 E 1 () = = e y 1 e t ( ) a n 2πn n Ẽ1 a n n ( ( ) ) 2πn E 1 + δ ( ) k 1 a n 2πn n E a 1 n + 2δ n y dy t (using the change of variables t = y) t e t 7 ote that E 1 () Ẽ1() < δ if and only if ( 1) m 1 m m m! m=j < δ. Since the quantity in this sum is an alternating convergent sequence, in order to find j we simply need to find the first term m m m! which is less than δ. 19
= e t t (if > 0) 1 e t (since t = 1 t 1 ) = 1 ( e t ) = e e Therefore since a n n (by Lemma 20), if k ( ) 2π 2πn n k and the bound for E 1 applies) we have 2πn (so that 1 for all L (E, 1) L ( ) ( k 1 k (E, 1) = a n 2πn 2 n E ( ) ) k 1 a 1 n 2πn 2 n E a 1 n + 2δ n = 2 ( ) k 1 a n 2πn n E a 1 n 2δ n=k n ( ) a n 2 2πn k 1 n E a 1 n + 2 δ n=k n ( ) 2 2πn E 1 + 2δ(k 1) (since a n n and δ > 0) 2 = 2 n=k n=k n=0 = 2e 2πk ( = 2e 2πk = 2πk 2e e 2πn + 2δ(k 1) e 2π(n+k) + 2δ(k 1) ( n=0 ) e 2πn + 2δ(k 1) 1 1 e 2π ) 1 e 2π + 2δ(k 1) + 2δ(k 1) ow, if we want to prove L (E, 1) 0 for some curve E, our task amounts to the following: 1. Choose a very small value of δ (in our computations, we used δ = 10 10 ). 2. Choose a small value of ɛ (we used 10 1 ). 20
3. Find k such that k 2π 2πk 2e and 2π 1 e This means L (E, 1) L k (E, 1) < ɛ. If L k (E, 1) > ɛ, this implies L (E, 1) > 0. + 2δ(k 1) < ɛ. 8 So, the question of proving that L (E, 1) is nonzero is equivalent to the question of whether we can find such a k. 3.2 Analytic rank 2 If we know that the analytic rank is even and positive, then in order to prove that the curve has analytic rank 2 we need only show L (E, 1) is nonzero. We now show how this can be done, proceeding in a similar manner to the rank 1 case. In [BGZ85, p.478] the authors show that where G r () = L (r) (E, 1) = 2 1 (r 1)! 1 According to [Cre97, p.44] we can write ( G r () = P r log 1 ) ( ) a n 2πn n G r, e y (log(y)) r 1 dy (r 1). y + ( 1) n r n r n, n! where P r (t) is a polynomial of degree r. Cremona lists P r for the first few values of r (he epresses these in terms of polynomials he calls Q r ). For r = 2 we have so where Define G 2 () = 1 2 G 2 () = 1 2 and where j is chosen such that P 2 (t) = 1 2 (t γ)2 + π2 12, (log 1 γ ) 2 + π2 12 + k 1 L k (E, 1) = 2 ( ) a n n G 2πn 2, (log 1 ) 2 γ + π2 j 1 12 + ( 1) n 2 n 2 n. n! ( 1) n 2 n 2 n, n! G 2 () G 2 () < δ (for some very small δ > 0) 2πk 8 This is always possible provided δ is sufficiently small, since 2e 2π 0 as k. 1 e 21
Then (via a similar derivation as for rank 1) we can write k 1 L k (E, 1) = 2 ( ) k 1 a n 2πn n G a 2 n + 2δ n. Let us now bound G 2 (). For 1 we have G 2 () = e y log(y) dy 1 y e t log ( ) t = (using t = y) t = e t log(t) e t log() t t e t log(t) t + e t log() t e t log(t) t + e t log(t) t (since t ) = 2 e t log(t) t = 2 e t log(t) t ow note that for t 1 we have log(t) t = e t log(t) e t t = e t log(t) e t t e t log(t) = 2 2 t e t = 2e Therefore G 2 () 2e for 1. Since a n n, if k 2πn 2π (so that 1 for all n k) we have L (E, 1) L k (E, 1) = 2 ( ) ( k 1 a n 2πn n G ( ) ) k 1 a 2 n 2πn 2 n G a 2 n + 2δ n = 2 ( ) k 1 a n 2πn n G a 2 n 2δ n=k n ( ) a n 2 2πn k 1 n G a 2 n + 2 δ n n=k 22
2 G 2 2 = 4 n=k n=k n=0 = 4e 2πk ( = 4e 2πk 2πk 4e ( 2πn ) + 2δ(k 1) 2e 2πn + 2δ(k 1) e 2π(n+k) + 2δ(k 1) ( n=0 ) e 2πn + 2δ(k 1) 1 1 e 2π ) 1 e 2π + 2δ(k 1) + 2δ(k 1) Therefore for some small values of δ and ɛ, if we find k 2πk 4e 2π 1 e + 2δ(k 1) < ɛ (so that L (E, 1) then we can conclude L (E, 1) > 0. 3.3 Analytic rank 3 L k 2π such that (E, 1) < ɛ), and if L k (E, 1) > ɛ, Suppose we know that the analytic rank is odd, and we want to prove a curve has analytic rank 3. At first glance, one might think we need to show L (E, 1) is zero, and L (3) (E, 1) is nonzero. However, if we know algebraic rank is 3 (which we do, since Cremona has already implemented this rigorously) it is actually sufficient to only prove L (3) (E, 1) 0, and there is no need to prove L (E, 1) = 0. This simplification is a result of Gross-Zagier and Kolyagin s work (Theorem 18). In this theorem, we saw that if analytic rank is 1, then so is algebraic rank. But we know that algebraic rank is 3, so analytic rank cannot be 1 it must be at least 3. Thus showing L (3) (E, 1) 0 is sufficient. We therefore proceed in a similar manner to the cases of ranks 1 and 2, with the aim of deriving a method of showing L (3) (E, 1) 0. According to [Cre97, p.44] we have ( ) L (3) a n 2πn (E, 1) = 2 n G 3, where G 3 () = 1 2 Moreover, we may write ( G 3 () = P 3 log 1 ) + 1 e y (log y) 2 dy. y 23 m=1 ( 1) m 3 m 3 n, m!
where P 3 (t) = 1 6 (t γ)3 + π2 ζ(3) (t γ) 12 3, and ζ(s) is the Riemann zeta function ζ(s) = where Define L (3) k k 1 (E, 1) = 2 ( G 3 () = P 3 log 1 ) and where j is chosen such that and h is chosen such that for some small δ and µ. To find h, note that ζ(3) + 1 n s. ( ) a n n G 2πn 3, j 1 m=1 ( 1) m 3 m 3 n, m! P 3 (t) = 1 6 (t γ)3 + π2 12 (t γ) 1 h 1 1 3 n 3, G 3 () G 3 () < δ, ζ(3) 3 + 1 3 3 + 1 3 h 1 n s h 1 n s 1 = 1 3 1 < µ 1 3 n=h h 1 1 n 3 1 3 d = 1 3 1 2 2 h 1 1 = 6(h 1) 2 1 so we can find h by solving 6(h 1) < µ. Rearranging yields 2 h > 1 6µ + 1. Given h, we can find j by noting that ( G 3 () G 3 () = P 3 log 1 ) ( P 3 log 1 ) ( 1) m 3 + m 3 m! m=j = ζ(3) 3 + 1 h 1 1 3 n s + ( 1) m 3 m 3 m m! m=j m 24
ζ(3) 3 + 1 3 µ + m=j h 1 n s ( 1) m 3 m 3 m! 1 + m=j m ( 1) m 3 m 3 m! Since we want G 3 () G 3 () < δ, we must find j such that ( 1) m 3 m 3 m m! < δ µ. m=j Since this is an alternating sequence, we are done when we find the first term m m m! which is less than δ µ. Then (via a similar derivation as before) we can write L (3) k k 1 (E, 1) = 2 m ( ) k 1 a n 2πn n G a 3 n + 2δ n. Let us now bound G 3 (). For 1 we have G 3 () = 1 e y (log y) 2 dy 2 1 y = 1 e ( ) t log t 2 (t = y) 2 t = 1 e t (log t log ) 2 2 t = 1 e t ((log t) 2 2(log t)(log ) + (log ) 2 ) 2 t 1 e t (log t) 2 2 t + e t (log t)(log ) t + 1 2 1 e t (log t) 2 2 t + e t (log t)(log t) t + 1 2 = 2 e t (log t) 2 t ow, note that for t 1 we have (log t) 2 t = e t (log t) 2 e t t = e t (log t) 2 e t t e t (log t) 2 = 2 2 t e t = 2e e t (log ) 2 t e t (log t) 2 t (since t ) 25
Therefore G 3 () 2e for 1. Thus, by analogous computations to the rank 2 case (in which we similarly found G 2 () 2e ), we have L (3) (E, 1) L (3) k 2πk 4e (E, 1) 1 e 2π + 2δ(k 1). So for some small values of µ, δ, and ɛ, if we find an integer k 2π that 4e 2πk 1 e 2π + 2δ(k 1) < ɛ such (so that L (3) (E, 1) L (3) (E, 1) > 0. L (3) k (3) (E, 1) < ɛ), and if L k (E, 1) > ɛ, then we can conclude 26
4 Computations and results We wrote code to approimate L (r) (E, 1) (for r = 1, 2, 3) to within ɛ = 0.1 of the correct value. To save time, we only ran it on the curves which we epected to have analytic rank r (based on Cremona s work), so we epected all the values to not be too close to zero. In particular, we hoped all the values would be larger than 0.1, so that we could conclude that the true values of L (r) (E, 1) are certain to be non-zero for all the curves considered. The value 0.1 was chosen since it seemed likely to work based on Cremona s estimates (the least L-derivative at s = 1 in his compuations was about 0.3). The code we wrote is included in the Appendi. For ranks 1 and 2 we used δ = 10 10. For rank 3 we used µ = 10 10 and δ = 10 5. These parameters seemed to work fine. We ran the code on SageMathCloud, and the computation took several days for each rank. We found the following: (r) Algebraic rank Minimum value of L k (E, 1) 1 0.3059998 2 0.7594450 3 1.7318394 L (r) As seen in the table, all values of k (E, 1) were nonzero, and bounded below by 0.1. Since we know our estimates were within 0.1 of the true values, we can conclude the true values are nonzero. Therefore we have proven the weak BSD conjecture holds for all curves in the Cremona database of rank at most 3. We would like to make a few remarks about our computations. Firstly, the question of whether a computer-assisted proof counts as a real proof is often a source of controversy, and we let the reader form his own opinion on this point. However, there are also several real questions concerning errors. Our claim of having proven the weak BSD for the curves in question is based on the assumption that our code did not contain any bugs and ran correctly on the hardware. Since our code produced sensible output, this seems like a safe assumption. Another potential issue is the fact that, for simplicity, we did not include an analysis of computer precision in our computations. Since we are only concerned with an error bound of 0.1, the effect of computer precision should be negligible in our case. However, a more rigorous computation would have included this consideration in the error analysis. 27
5 Conclusion In this dissertation, our goal was to prove the weak BSD conjecture holds for all but one of the elliptic curves in the Cremona database. We started by presenting background information about elliptic curves and modular forms in order to understand the BSD conjecture. We then presented formulas for computing estimates of L (r) (E, 1) for r = 1, 2, 3, and derived error bounds for these approimations. Finally, we wrote code to compute estimates of L (r) (E, 1) (for relevant values of r) for all the curves of rank at most 3 in the Cremona database. Based on our error bound analysis, we know that our estimates were all within 0.1 of the true values. Since we found that the relevant L-derivative estimates were all bounded below by 0.1, we concluded that the true values are non-zero, and hence analytic rank agrees with algebraic rank in all cases. Most mathematicians are of the opinion that the BSD Conjecture is true, and our work in this dissertation adds to the large body of evidence supporting this opinion. However, we are still a very long way from a full proof. As Washington says in [Was08], there are surely easier (but certainly less satisfying) ways to earn a million dollars. 28
6 References [AL70] A. Atkin and J. Lehner: Hecke operators on Γ 0 (m). Annalen Volume 185, Issue 2 (1970). Mathematische [BGZ85] J. Buhler, B. Gross, and D. Zagier: On the Conjecture of Birch and Swinnerton-Dyer for an Elliptic Curve of Rank 3. Mathematics of Computation Volume 44, umber 170 (1985). [Cre97] J. Cremona: Algorithms for Modular Elliptic Curves, Second Edition. Free online book, available at http://homepages.warwick.ac.uk/~masgaj/ book/fulltet/inde.html (1997). [Coh96] H. Cohen: Graduate Tets in Mathematics Volume 138 - A Course in Computational Algebraic umber Theory. Springer-Verlag (1996). [Coh07, vol. 1] H. Cohen: Graduate Tets in Mathematics Volume 239 - umber Theory, Volume 1: Tools and Diophantine Equations. Springer Science + Business Media (2007). [Coh07, vol. 2] H. Cohen: Graduate Tets in Mathematics Volume 240 - umber Theory, Volume 2: Analytic and Modern Tools. Springer Science + Business Media (2007). [GJPST09] G. Grigorov, A. Jorza, S. Patrikis, W. Stein, and C. Tarnita: Computational Verification of the Birch and Swinnerton-Dyer Conjecture for Individual Elliptic Curves. Mathematics of Computation Volume 78, umber 268 (2009). [Man09] Y. Manin: Lectures on Modular Symbols. Clay Mathematics Proceedings, Volume 8 (2009). [Mil06] J. Milne: Elliptic Curves. Free online book, available at http://www. jmilne.org/math/books/ectet5.pdf (2006). [SZ03] S. Schmitt and H. Zimmer: Elliptic Curves, A Computational Approach. Walter de Gruyter (2003). [Shu13] J. Shurman: The L-Function of an Elliptic Curve. Reed College lecture notes, available at http://people.reed.edu/~jerry/361/lectures/zetaec. pdf (2013). [Sil09] J. Silverman: The Arithmetic of Elliptic Curves, Second Edition. Springer- Verlag ew York Inc (1986). [Ste07] W. Stein: The Birch and Swinnerton-Dyer Conjecture, A Computational Approach. Free online book, available at http://wstein.org/books/bsd/bsd. pdf (2007). 29
[Ste07-2] W. Stein: Modular Forms: A Computational Approach. American Mathematical Society (2007). Available at http://wstein.org/books/ modform/stein-modform.pdf. [Sut15] A. Sutherland: Elliptic Curves. MIT lecture notes, available at http: //math.mit.edu/classes/18.783/lectures.html (2015). [Was08] L. Washington: Elliptic Curves umber Theory and Cryptography, Second Edition. Taylor & Francis Group (2008). 30
7 Appendi: Source code Analytic rank: We wrote the code below to compute and output estimates of L (r) (E, 1) for r = 1, 2, 3. To run the code, one sets the variable rank to the value desired (1, 2, or 3) and then runs the code, directing the output to an output file. The output (for each curve) is of the form: 5077 a1 1.73184990012 1.73183942387489 71 0.100000000000000 0.0000100000000000000 This lists the following information (in order): The curve s label Cremona s estimate of L (r) (E, 1) Our estimate of L (r) (E, 1) The value of k used (i.e. the number of terms used in the approimation of L (r) (E, 1)) Epsilon (i.e. the error bound for the approimation of L (r) (E, 1)) Delta (i.e. the error bound for the approimation of either E 1 (), G 2 (), or G 3 (), depending on the contet) rank = 1 e p s i l o n = RR(10ˆ 1) d e l t a = RR(10ˆ 10) i f rank == 3 : d e l t a = RR(10ˆ 5) mu = 0 i f rank == 3 : mu = RR(10ˆ 10) k = 1 def f i n d j ( ) : c u r r j = 1 while True : i f abs (RR( ) ˆ c u r r j / ( ( c u r r j rank ) f a c t o r i a l ( c u r r j ) ) ) > d e l t a mu: c u r r j = c u r r j +2 else : return c u r r j # Compute E 1 ( with j terms ) def E1( ) : j = f i n d j ( ) return RR( l o g (1/ ) ) RR( euler gamma ) sum([( ) ˆn /( n f a c t o r i a l ( n ) ) for n in range ( 1, j ) ] ) 31
# Compute G2 ( with j terms ) def G2( ) : j = f i n d j ( ) return 0. 5 (RR( l o g (1/ ) ) RR( euler gamma ) ) 2 + RR( pi 2) /RR(12)+ sum([( ) n /( n n f a c t o r i a l ( n ) ) for n in range ( 1, j ) ] ) # Compute E1 ( with j terms ) def G3( ) : j = f i n d j ( ) h = RR(1/(6 mu) ˆ(1/2) ) + 2 return RR(1/6) (RR( l o g (1/ ) ) RR( euler gamma ) ) 3 + RR ( pi 2/12) (RR( l o g (1/ ) ) RR( euler gamma ) ) RR(1/3) sum ( [RR(1/ n 3) for n in range ( 1, h ) ] ) sum([( ) n /( n n n f a c t o r i a l ( n ) ) for n in range ( 1, j ) ] ) def f i n d k (E) : = E. conductor ( ) c u r r k = ma( c e i l (RR( s q r t () ) /RR(2 pi ) ), k ) while True : value = RR(2 ep (RR( 2 pi c u r r k ) /RR( s q r t () ) ) ) /(1 ep (RR( 2 pi ) /RR( s q r t () ) ) )+RR(2 d e l t a ( curr k 1) ) i f rank!= 1 : value = value 2 i f c u r r k > 15000: # i f k i s t h i s big, something s p r o b a b l y wrong return 0 i f value > e p s i l o n : c u r r k = c u r r k+1 else : return c u r r k # Compute Lˆ( r ) (E, 1 ) ( with k terms ) def Lderivat1 (E) : global k = E. conductor ( ) k = f i n d k (E) i f k == 0 : return 0 i f rank == 1 : return 2 sum( [RR(E. an ( n ) /n ) E1(RR(2 pi n ) /RR( s q r t () ) ) for n in range ( 1, k ) ] ) else i f rank == 2 : return 2 sum( [RR(E. an ( n ) /n ) G2(RR (2 pi n ) /RR( s q r t () ) ) for n in range ( 1, k ) ] ) else : return 2 sum( [RR(E. an ( n ) /n ) G3(RR(2 pi n ) /RR( s q r t () ) ) for n in range ( 1, k ) ] ) # Run Lderiv1 on a l l curves in the database o f the given rank D = CremonaDatabase ( ) 32