# The BSD Conjecture and Compution of Shafarevich-Tate Groups of Elliptic Curves

### William SteinUniversity of Washington

$${\rm Sha}(E) = {\rm Ker}\left(H^1({\bf Q},E) \to \bigoplus_v H^1({\bf Q}_v, E)\right).$$
This is joint work with Christian Wuthrich, students (Grigor Grigorov, Andrei Jorza, Stefan Patrikis, and Corina Tarnita), with input from John Cremona, Ralph Greenberg, Robert Pollack, Michael Stoll, and Stephen Donnelly.

## 5. Summary of Results and The Goal

$$\frac{L^{(r)}(E,1)}{r!} = \frac{\#{\rm Sha}(E) \cdot \Omega_{E} \cdot {\rm Reg}_E} {\#E({\bf Q})_{\rm tor}^2} \cdot {\prod_{p\mid N} c_p},$$

# 1. The Birch and Swinnerton-Dyer Conjecture

Let $E$ be an elliptic curve over $\bf Q$: $$y^2 + a_1 xy + a_3 y = x^3 + a_2 x^2 + a_4 x + a_6.$$ The BSD conjecture asserts that
1. The rank $r$ of $E({\bf Q})$ equals $r_{\rm an} = {\rm ord}_{s=1}L(E,s)$.

2. We have $$\frac{L^{(r)}(E,1)}{r!} = \frac{\#{\rm Sha}(E) \cdot \Omega_{E} \cdot {\rm Reg}_E\cdot {\prod_{p\mid N} c_p},} {\#E({\bf Q})_{\rm tor}^2}$$ where $N$ is the conductor of $E$.

## This talk is about computing quantities appearing in the above conjecture and in $p$-adic analogues of it.

Let's give it a shot...
First we look up a curve that will illustrate a range of methods in Cremona's tables: {{{ E = EllipticCurve('141a1') #auto load }}} Here's the equation of the curve: {{{ show(E) ///
y^2 + y = x^3 + x^2 - 12x + 2
}}} The conductor is a product of two primes: $141 = 3 \cdot 47$. {{{ show(factor(141)) ///
3 \cdot 47
}}} The graph of the real points on the curve is connected (and pretty): {{{ show(plot(E, hue=0.8, thickness=3)) }}} We next plot a bunch of rational points on the curve using a 3-d ray tracer (for fun). Lighter points have larger height. {{{ %hide # 3d plot of rational points t = Tachyon(xres=800, yres=500, camera_center=(2,20,6), look_at=(2,-5,-2), raydepth=6) t.light((25,3,2), 1, (1,1,1)) t.light((25,-3,2), 1, (1,1,1)) t.light((25,-3,10), 1, (1,1,1)) t.texture('black', color=(0,0,0)) t.texture('red', color=(1,0,0)) t.texture('white', color=(1,1,1)) t.plane((0,0,0),(0,0,1),'white') t.cylinder((0,0,0),(1,0,0),.05,'black') t.cylinder((0,0,0),(0,1,0),.05,'black') F = E.change_ring(RDF) P = E.point([-3,4,1],check=False) Q = P n = 200 for i in range(n): Q = Q + P c = i/n + .1 t.texture('r%s'%i,color=(float(i/n),0,0)) t.sphere((Q[0], -Q[1], .01), .1, 'r%s'%i) show(t) }}}

We use Tim Dokchitser's $L$-functions program to compute with the $L$-function of this elliptic curve. {{{ L = E.Lseries_dokchitser(); L /// Dokchitser L-function associated to Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field }}} For example, here is the Taylor expansion about $z=(s-1)$ of the $L$-series. {{{ T = L.taylor_series(a=1,k=4); show(T) ///
\text{0.718550172498336}z + \left(\text{-0.0426008377591305}\right)z^{2} + \left(\text{-0.322488300418669}\right)z^{3} + O(\text{z}^{4})
}}} Of course the derivative at $1$ is consistent: {{{ L.derivative(1) /// 0.718550172498336 }}} Next we plot the $L$-series: {{{ P = plot(lambda x: real(L(x)), -1,3, rgbcolor=(1,0,0), thickness=3, plot_points=30) show(P) }}} And it does in fact vanish at 1 because the sign in the functional equation is $-1$. {{{ print 'eps = ', E.root_number() print 'L(E,1) = ', E.Lseries_at1() /// eps = -1 L(E,1) = 0 }}}
We can also compute the zeros of the $L$-function on the critical line using Mike Rubinstein's Lcalc program: {{{ Z = E.Lseries_zeros(10) show(point([(0.5, y) for y in Z], pointsize=50, hue=0.62), xmin=0, xmax=1) }}}

Our curve has rank and analytic rank both 1, in accord with the conjecture. {{{ E.analytic_rank() /// 1 }}} {{{ E.rank() /// 1 }}} We compute a generator of the Mordell-Weil group: {{{ E.gens() /// [(-3 : 4 : 1)] }}} The regulator is as follows. {{{ E.regulator() /// 0.0344867750175524 }}} The Tamagawa number at $3$ is $7$. {{{ E.tamagawa_numbers() /// [7, 1] }}} The regulator $\Omega_E$ is about $2.9765$. {{{ E.omega() /// 2.976504024814575615165574 }}} The curve has trivial torsion subgroup, so $\# E({\bf Q}) = 1$. {{{ E.torsion_order() /// 1 }}}

Now we put it all together: $$\frac{L^{(r)}(E,1)}{r!} = \frac{\#{\rm Sha}(E) \cdot \Omega_{E} \cdot {\rm Reg}_E} {\#E({\bf Q})_{\rm tor}^2} \cdot {\prod_{p\mid N} c_p},$$ {{{ L1 = L.derivative(1); r = 1; Omega = E.omega(); T = E.torsion_order(); Reg = E.regulator(); c = E.tamagawa_product() print "L1 = ", L1 print "rhs = %s * Sha"%( (Omega * Reg * c)/T^2 ) /// L1 = 0.718550172498336 rhs = 0.718550172498336 * Sha }}}

## We Conclude

Thus the BSD conjecture asserts in this case that $\#{\rm Sha}(E)= 1$. We will compute $\#{\rm Sha}(E)$ and hence prove the conjecture. The methods we use are fairly general (assuming that $r<2$), though much interesting work remains to be done.

$${\rm Sha}(E) = \ker\left(H^1({\bf Q},E) \to \bigoplus H^1({\bf Q}_v, E)\right).$$

## The 2-Selmer Group

We can get some information about ${\rm Sha}(E)$ by by computing the 2-Selmer group. From this we see that $\#{\rm Sha}$ is odd.

From the first calculation we see that the rank of the elliptic curve is at most one. {{{ E.selmer_rank_bound() /// 1 }}} Since the curve is known to have rank 1, this means that ${\rm Sha}(E)[2] =0$. {{{ E.two_selmer_shabound() /// 0 }}}

This talk is about how it is becoming possible to in practice to systematically compute much more about $\Sha(E)$.

Next: Theorems of Kolyvagin and Kato

# The Explicit Upper Bounds of Kolyvagin and Kato

{{{ E = EllipticCurve('141a'); E #auto /// Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field CPU time: 0.27 s, Wall time: 0.28 s }}}

## Kato's Explicit Bound

Refining work of Kato on Euler systems involving $K$-groups of elliptic curves, people (e.g., Matsuno, Wuthrich, etc.) have obtained the following theorem:

 Theorem (Refined Kato Bound): Let $E$ be an elliptic curve with $L(E,1)\neq 0$. Then $$\#{\rm Sha}(E) \leq C \cdot \frac{L(E,1)}{\Omega_E} \cdot \frac{(\#E({\bf Q})_{\rm tors})^2}{\prod c_v}.$$ Here $C$ is an integer such that if a prime $p$ divides $C$, then either $p=2$, or $E$ has additive reduction at $p$, or the mod $p$ representation $\overline{\rho}_{E,p}$ is irreducible but not surjective. (Wuthrich proved last year that if $\overline{\rho}_{E,p}$ is reducible then the BSD upper bound holds at $p$!)

For our curve 141a, the above theorem yields no information since the analytic rank of our curve is 1. {{{ E.Lseries(1) /// 0.000000000000000 }}} {{{ E.analytic_rank() /// 1 }}} {{{ E.shabound_kato() /// False }}}

SAGE has a command that gives all primes for which $\overline{\rho}_{E,p}$ is not surjective, and why. It uses results of Cojocaru, Kani, and Serre. This surjectivity hypothesis is important in many of theorems we will discuss. SAGE can also test for reducibility of $\overline{\rho}_{E,p}$ {{{ E.non_surjective() /// [] }}} {{{ e = EllipticCurve('14a1') e.non_surjective() /// [(2, '2-torsion'), (3, '3-torsion')] }}} {{{ e.is_reducible(3) /// True }}}

## Kolyvagin's Explicit Bound

 Refined Version of Kolyvagin's Theorem Suppose $E$ is a non-CM elliptic curve over ${\bf Q}$. Suppose $K$ is a quadratic imaginary field that satisfies the Heegner hypothesis and $p$ is an odd prime such that $p\not\,\,\mid \#E'(K)_{\rm tor}$ for any curve $E'$ that is $\bf Q$-isogenous to $E$. Then $${\rm ord}_p (\#{\rm Sha}(E)) \leq 2 {\rm ord}_p ([E(K): {\rm Z} y_K]),$$ unless ${\rm disc}(K)$ is divisible by exactly one prime $\ell$, in which case the conclusion is only valid if $p\neq \ell$. Here $y_K \in E(K)$ is the Heegner point associated to $K$.

Kolyvagin's theorem tells us that $\#{\rm Sha}(E)$ divides $49$. This is a huge statement: it tells us that either $\#{\rm Sha}(E)=1$ or $\#{\rm Sha}(E) = 49$. {{{ E.shabound_kolyvagin(-11) /// ([2, 7], 49) }}} The output of the shabound_kolyvagin command is a list of primes that could possibly divide $\#{\rm Sha}(E)$, followed by the square of odd part of the index $[E(K): {\rm Z} y_K]$.

Conclusion: Either $\#{\rm Sha}(E) = 1$ or $\#{\rm Sha}(E) = 49$.

Even using more Heegner discriminants doesn't help. In fact the BSD conjecture implies that they are all divisible by $7$: {{{ v = E.heegner_discriminants(200); v /// [-11, -20, -23, -35, -104, -107, -116, -152, -164, -167, -179] }}} {{{ for D in v: E.heegner_index(D) /// [48.999572 ... 49.000367] [48.999633 ... 49.000306] [48.999572 ... 49.000306] [48.999633 ... 49.000367] [-0.000026629976 ... 0.000026629976] [440.99609 ... 441.00293] [48.999633 ... 49.000306] [195.99853 ... 196.00098] [-0.000033440826 ... 0.000033440826] [48.999633 ... 49.000245] [48.999633 ... 49.000306] }}}

## Kolyvagin's Method does get us pretty far though...

{{{ for E in cremona_optimal_curves(range(1,100)): print E.cremona_label(), E.shabound_kolyvagin(), E.tamagawa_numbers() /// 11a1 ([2, 5], 1) [5] 14a1 ([2, 3], 1) [2, 3] 15a1 ([2], 1) [2, 4] 17a1 ([2], 1) [4] 19a1 ([2, 3], 1) [3] 20a1 ([2, 3], 1) [3, 2] 21a1 ([2], 1) [4, 2] 24a1 ([2], 1) [4, 2] 26a1 ([2, 3], 1) [1, 3] 26b1 ([2, 7], 1) [7, 1] 27a1 (0, 0) [3] 30a1 ([2, 3], 1) [2, 3, 1] 32a1 (0, 0) [4] 33a1 ([2], 1) [2, 2] 34a1 ([2, 3], 1) [6, 1] 35a1 ([2, 3], 1) [1, 3] 36a1 (0, 0) [3, 2] 37a1 ([2], 1) [1] 37b1 ([2, 3], 1) [3] 38a1 ([2, 3], 1) [1, 3] 38b1 ([2, 5], 1) [5, 1] 39a1 ([2], 1) [2, 2] 40a1 ([2], 1) [2, 2] 42a1 ([2], 1) [8, 2, 1] 43a1 ([2], 1) [1] 44a1 ([2, 3], 1) [3, 1] 45a1 ([2], 1) [2, 1] 46a1 ([2], 1) [2, 1] 48a1 ([2], 1) [2, 2] 49a1 (0, 0) [2] 50a1 ([2, 3, 5], 1) [1, 3] 50b1 ([2, 3, 5], 1) [5, 1] 51a1 ([2, 3], 1) [3, 1] 52a1 ([2], 1) [1, 2] 53a1 ([2], 1) [1] 54a1 ([2, 3], 1) [1, 3] 54b1 ([2, 3], 1) [3, 1] 55a1 ([2], 1) [2, 2] 56a1 ([2], 1) [4, 1] 56b1 ([2], 1) [2, 1] 57a1 ([2], 1) [2, 1] 57c1 ([2, 5], 1) [10, 1] 57b1 ([2], 1) [2, 2] 58a1 ([2], 1) [2, 1] 58b1 ([2, 5], 1) [10, 1] 61a1 ([2], 1) [1] 62a1 ([2], 1) [4, 1] 63a1 ([2], 1) [2, 1] 64a1 (0, 0) [4] 65a1 ([2], 1) [1, 1] 66a1 ([2, 3], 1) [2, 3, 1] 66c1 ([2, 5], 25) [10, 5, 1] 66b1 ([2], 1) [4, 1, 1] 67a1 ([2], 1) [1] 69a1 ([2], 1) [2, 1] 70a1 ([2], 1) [4, 2, 1] 72a1 ([2], 1) [2, 4] 73a1 ([2], 1) [2] 75a1 ([2, 5], 1) [1, 1] 75c1 ([2, 5], 1) [5, 1] 75b1 ([2], 1) [1, 2] 76a1 ([2], 1) [1, 1] 77a1 ([2], 1) [2, 1] 77c1 ([2], 1) [1, 2] 77b1 ([2, 3], 1) [6, 1] 78a1 ([2], 1) [2, 1, 1] 79a1 ([2], 1) [1] 80a1 ([2], 1) [2, 2] 80b1 ([2, 3], 1) [1, 2] 82a1 ([2], 1) [2, 1] 83a1 ([2], 1) [1] 84a1 ([2, 3], 9) [3, 3, 2] 84b1 ([2], 1) [1, 1, 2] 85a1 ([2], 1) [2, 1] 88a1 ([2], 1) [4, 1] 89a1 ([2], 1) [1] 89b1 ([2], 1) [2] 90a1 ([2, 3], 1) [2, 2, 3] 90c1 ([2, 3], 1) [4, 4, 1] 90b1 ([2, 3], 1) [6, 2, 1] 91a1 ([2], 1) [1, 1] 91b1 ([2, 3], 1) [1, 1] 92a1 ([2, 3], 1) [3, 1] 92b1 ([2, 3], 9) [3, 1] 94a1 ([2], 1) [2, 1] 96a1 ([2], 1) [2, 2] 96b1 ([2], 1) [2, 2] 98a1 ([2, 3], 1) [2, 2] 99a1 ([2], 1) [2, 1] 99c1 ([2], 1) [2, 1] 99b1 ([2], 1) [4, 1] 99d1 ([2, 5], 1) [1, 1] }}}

Next we compute all curves (of any rank) in Cremona's book that have a prime $p\geq 5$ that divides a Tamagawa number. For all other curves of rank $\leq 1$ in Cremona's book, we are able to rule out the possibility that any other primes divide $\#{\rm Sha}(E)$ using a calculation like above and Kato's theorem (and 3-descent). (This involves an exciting mix of tricks and techniques -- see my paper.)
{{{ v = [] for e in cremona_optimal_curves(range(1,1001)): for c in e.tamagawa_numbers(): if c > 1 and max(prime_divisors(c)) >= 5: v.append(e) print e.cremona_label(), e.rank(use_database=True), \ prime_divisors(e.tamagawa_product()) print len(v) /// 11a1 0 [5] 26b1 0 [7] 38b1 0 [5] 50b1 0 [5] 57c1 0 [2, 5] 58b1 0 [2, 5] 66c1 0 [2, 5] 66c1 0 [2, 5] 75c1 0 [5] 110a1 0 [5] 110a1 0 [5] 114c1 0 [2, 5] 118b1 0 [2, 5] 123a1 1 [5] 141a1 1 [7] 155a1 1 [5] 158c1 0 [2, 5] 170c1 0 [3, 7] 174a1 0 [3, 7] 174b1 0 [7] 174b1 0 [7] 182a1 0 [2, 5] 186b1 0 [5] 186b1 0 [5] 190a1 1 [2, 11] 203a1 0 [5] 214a1 1 [7] 238a1 1 [2, 7] 246b1 0 [5] 246b1 0 [5] 258f1 0 [2, 7] 258f1 0 [2, 7] 258c1 1 [2, 5] 262a1 1 [11] 264d1 0 [2, 7] 270b1 0 [3, 5] 274a1 1 [7] 280b1 1 [2, 3, 5] 285a1 1 [2, 5] 286b1 1 [2, 13] 286d1 0 [2, 5] 286d1 0 [2, 5] 302a1 1 [3, 5] 302c1 1 [5] 303a1 1 [2, 7] 309a1 1 [5] 318d1 1 [2, 11] 322d1 1 [2, 5] 325e1 0 [5] 326b1 1 [5] 330d1 0 [2, 7] 345c1 0 [2, 5] 346b1 1 [7] 348d1 1 [3, 7] 350f1 1 [2, 3, 11] 354f1 1 [2, 7] 354e1 0 [2, 11] 357d1 1 [2, 7] 362b1 1 [7] 364a1 1 [3, 5] 366g1 1 [2, 5] 366b1 0 [5] 366b1 0 [5] 366d1 0 [7] 378g1 0 [5] 381a1 1 [5] 395c1 0 [5] 406d1 0 [2, 5] 408d1 1 [2, 5] 414d1 1 [2, 5] 418b1 1 [2, 13] 426a1 0 [5] 426a1 0 [5] 426c1 0 [3, 5] 430b1 1 [5] 430d1 1 [3, 5] 430d1 1 [3, 5] 434d1 1 [2, 5] 442e1 0 [2, 11] 446b1 1 [2, 7] 458b1 1 [2, 5] 462e1 1 [2, 3, 7] 470f1 1 [2, 3, 7] 470c1 1 [2, 7] 474b1 1 [2, 5] 483a1 0 [5] 490g1 1 [2, 5] 490j1 0 [2, 5] 494d1 1 [2, 3, 13] 497a1 1 [5] 498b1 1 [2, 5] 506f1 1 [13] 506d1 1 [5] 522g1 0 [2, 11] 522i1 1 [2, 5] 522j1 1 [2, 13] 522m1 0 [2, 11] 528i1 0 [2, 5] 530c1 1 [2, 5] 537e1 0 [2, 5] 542a1 0 [2, 7] 542b1 1 [7] 546f1 0 [7] 546f1 0 [7] 546f1 0 [7] 546e1 0 [17] 550i1 1 [2, 3, 7] 550j1 1 [2, 11] 550m1 0 [11] 551c1 1 [2, 7] 555b1 0 [3, 5] 558f1 1 [2, 3, 5] 558g1 1 [2, 7] 560b1 0 [5] 560e1 1 [2, 5] 561b1 1 [2, 5] 570j1 0 [2, 7] 570l1 0 [2, 5] 570l1 0 [2, 5] 570l1 0 [2, 5] 570d1 0 [2, 5] 573b1 0 [5] 574g1 1 [11] 574i1 1 [3, 7] 574i1 1 [3, 7] 574j1 0 [5] 574j1 0 [5] 582c1 1 [2, 5] 585i1 1 [2, 7] 588d1 0 [5] 594h1 0 [5] 594d1 1 [2, 5] 595b1 0 [7] 598d1 1 [2, 17] 600e1 1 [2, 3, 7] 605a1 1 [3, 5] 605c1 1 [5] 606f1 0 [5] 606f1 0 [5] 606d1 0 [7] 608e1 1 [2, 5] 615b1 1 [2, 7] 616b1 0 [2, 5] 618f1 1 [7, 11] 618f1 1 [7, 11] 618e1 1 [5] 618d1 1 [2, 3, 5] 620b1 1 [2, 3, 5] 622a1 1 [7] 624i1 0 [2, 5] 624e1 0 [2, 5] 629d1 1 [5] 630g1 0 [2, 7] 642c1 1 [2, 13] 650k1 1 [2, 3, 7] 651a1 0 [2, 5] 658e1 1 [2, 11] 665a1 1 [5] 665d1 1 [2, 5] 665d1 1 [2, 5] 666g1 0 [2, 23] 666e1 1 [2, 13] 666d1 1 [2, 5] 670a1 1 [11] 670c1 1 [5] 670d1 1 [19] 672b1 1 [2, 3, 5] 674c1 1 [31] 678c1 1 [2, 7] 678d1 0 [2, 7] 678d1 0 [2, 7] 681e1 1 [2, 5] 682b1 1 [3, 19] 690g1 0 [2, 7] 690j1 0 [2, 5] 690e1 1 [2, 5] 696c1 1 [2, 5] 700d1 1 [2, 3, 5] 702j1 0 [11] 702k1 1 [3, 7] 702m1 1 [3, 19] 702l1 1 [2, 3, 5] 705b1 1 [3, 5] 705e1 1 [5] 706b1 1 [23] 706d1 1 [2, 5] 710c1 1 [2, 7] 710b1 1 [2, 17] 710d1 0 [2, 5] 710d1 0 [2, 5] 714c1 0 [5] 714e1 0 [7] 715b1 1 [3, 7] 726g1 1 [2, 3, 5] 726e1 1 [2, 5] 730i1 1 [7] 730j1 1 [3, 7] 734a1 0 [2, 5] 735f1 1 [2, 3, 7] 738f1 1 [2, 11] 738h1 0 [2, 7] 738e1 1 [2, 5] 741c1 0 [11] 741d1 0 [2, 5] 742g1 1 [2, 5] 742e1 1 [2, 5] 755f1 0 [13] 760b1 0 [2, 7] 762g1 0 [2, 3, 7] 762g1 0 [2, 3, 7] 762e1 1 [2, 3, 11] 762d1 1 [2, 5] 770c1 0 [2, 5] 774h1 0 [2, 7] 777g1 1 [2, 5] 777e1 1 [5] 780b1 0 [5] 782c1 0 [2, 7] 782e1 0 [2, 5] 786h1 1 [2, 7] 786j1 1 [3, 7] 786m1 0 [3, 5] 786m1 0 [3, 5] 786l1 1 [5, 7] 786l1 1 [5, 7] 794c1 1 [5] 795c1 0 [3, 5] 798g1 1 [2, 3, 5] 798h1 1 [2, 3, 7] 798c1 1 [2, 5] 798d1 1 [2, 5] 804d1 1 [3, 7] 806f1 0 [2, 5] 806f1 0 [2, 5] 806c1 1 [2, 5] 806d1 1 [2, 3, 11] 810g1 0 [3, 5] 814b1 1 [5] 816i1 1 [2, 11] 817b1 1 [2, 5] 822d1 1 [2, 5] 830c1 1 [2, 5] 831a1 1 [2, 5] 834f1 1 [2, 7] 834g1 1 [2, 5] 834g1 1 [2, 5] 834a1 0 [2, 7] 840d1 0 [2, 5] 842b1 1 [13] 850l1 1 [2, 7] 850d1 1 [2, 7] 854d1 1 [2, 3, 7] 858f1 1 [2, 5, 11] 858f1 1 [2, 5, 11] 858k1 0 [2, 7] 858k1 0 [2, 7] 858k1 0 [2, 7] 858l1 0 [2, 7] 861c1 1 [5, 7] 861c1 1 [5, 7] 861b1 1 [17] 861d1 1 [5] 862e1 1 [2, 5] 870f1 1 [2, 5, 7] 870f1 1 [2, 5, 7] 870i1 0 [2, 5] 870i1 0 [2, 5] 870i1 0 [2, 5] 874f1 0 [3, 7] 874e1 1 [5] 874e1 1 [5] 874d1 1 [5] 876b1 1 [3, 5] 880g1 1 [2, 5] 882h1 1 [2, 3, 5] 882j1 0 [2, 5] 885d1 1 [5] 885d1 1 [5] 886e1 1 [5] 886d1 1 [2, 19] 890f1 1 [13] 890g1 1 [5] 890g1 1 [5] 894f1 1 [5] 894g1 1 [7, 11] 894g1 1 [7, 11] 894c1 0 [3, 5] 894e1 1 [2, 23] 897e1 1 [2, 5] 897d1 1 [2, 3, 5] 901e1 1 [3, 5] 905b1 0 [5] 906h1 1 [5, 11] 906h1 1 [5, 11] 906e1 0 [5] 910f1 1 [2, 5, 11] 910f1 1 [2, 5, 11] 910g1 1 [2, 5] 910h1 1 [2, 3, 17] 910k1 1 [2, 5, 7] 910k1 1 [2, 5, 7] 912h1 1 [2, 5] 915a1 0 [7] 918h1 1 [3, 11] 918j1 1 [2, 3, 5] 920a1 1 [2, 3, 5] 924f1 0 [5] 924h1 1 [3, 5] 924b1 1 [3, 5] 924e1 1 [3, 5] 930f1 0 [11] 930h1 1 [2, 3, 5] 930d1 1 [2, 7] 933b1 1 [11] 934b1 0 [3, 5] 938b1 1 [2, 5] 939c1 1 [5] 942c1 1 [2, 5] 946c1 0 [2, 5] 954i1 1 [2, 5] 954h1 1 [2, 7] 954j1 1 [2, 17] 966h1 0 [5] 966b1 0 [5] 974h1 1 [3, 5] 975i1 1 [2, 3, 7] 975j1 1 [2, 5] 978f1 1 [2, 11] 978g1 1 [2, 7] 986e1 1 [2, 5, 7] 986e1 1 [2, 5, 7] 987e1 1 [2, 3, 5] 987d1 0 [7] 988b1 1 [3, 13] 990l1 0 [7] 996b1 1 [3, 13] 336 }}}

## Another Example: 894e1

Another difficult example is the curve 894e1.
• It has rank 1, so Kato doesn't apply.

• Refined Kolyvagin shows that $\#{\rm Sha}(E)$ is either trivial or of order $23^2$. But we'll probably never directly compute the $23$-Selmer group.

• The fist Heegner discriminant gives no information, since $E(K)$ has rank $>1$.

{{{ e = EllipticCurve('894e1'); e.rank() /// 1 }}} {{{ e.shabound_kolyvagin() /// (0, 0) }}} {{{ e.heegner_discriminants(100) /// [-47, -95] }}} {{{ e.heegner_index(-47) /// [-0.00018561213 ... 0.00018561213] }}} {{{ e.heegner_index(-95) /// [2115.9843 ... 2116.0118] }}} {{{ e.shabound_kolyvagin(-95) /// ([2, 23], 529) }}} {{{ e.is_good(23) and e.is_ordinary(23) /// True }}} {{{ e.padic_regulator(23,5) # !!!! /// 12*23^-1 + 14 + 10*23 + 16*23^2 + 20*23^3 + 8*23^4 + O(23^5) }}} {{{ }}}

{{{ }}}

# Iwasawa theory and $p$-adic Analogues of the BSD Conjecture

Christian Wuthrich and I are finishing a paper right now called Computations About Tate-Shafarevich Groups Using Iwasawa Theory, which combines a range of theorems of Kato, Perrin-Riou, Schneider, and others to prove the following result in the rank 1 case (among other things):

 Theorem (p-adic Iwasawa-style bound): Let $E$ be an elliptic curve over ${\bf Q}$ with analytic rank $1$ having good ordinary reduction at an odd prime $p$. Suppose that representation $\overline{\rho}_{E,p}$ is either surjective or reducible and that the $p$-adic regulator ${\rm Reg}_p(E)$ is nonzero. Then $${\rm ord}_p(\#{\rm Sha}(E/{\bf Q})) \leq {\rm ord}_p\left(\mbox{the BSD conjectural order of Sha}\right).$$

NOTE: I didn't mention either Iwasawa theory or $p$-adic $L$-functions in the statement of the theorem! However, there is an important refinement of this theorem at bad multiplicative and supersingular primes, which gives an explicit bound in terms of certain $p$-adic regulators that we will not define here.

The case of primes of additive reduction remains problematic.

{{{ E = EllipticCurve('141a'); E #auto /// Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field }}} {{{ show(factor(141)) ///
3 \cdot 47
}}}

Note that 7 is a prime of good ordinary reduction for $E$: {{{ E.is_good(7), E.is_ordinary(7) /// (True, True) }}}

Next we compute the $7$-adic regulator and verify that it is nonzero. Due to a recent paper of Mazur-Stein-Tate that builds on Kedlaya's algorithm, and much optimization work of David Harvey, SAGE can quite quickly compute $p$-adic heights to very high precision and for surprisingly large $p$. {{{ time reg7 = E.padic_regulator(7,6) show(reg7) ///
4\cdot 7^{-1} + 3 + 4\cdot 7 + 6\cdot 7^{2} + 3\cdot 7^{3} + 3\cdot 7^{4} + 3\cdot 7^{5} + O(7^{6})
CPU time: 0.25 s, Wall time: 0.26 s }}}

Since $p=7$ is a good ordinary prime and $E$ has rank $1$, it's not necessary to compute the $7$-adic $L$-function of $E$. Nonetheless we do that for fun (and it would have been needed if $p$ were supersingular or a prime of multiplicative reduction): {{{ L7 = E.padic_lseries(7,prec=6); L7 /// 7-adic L-series of Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field }}} {{{ show(L7.approx(3)) ///
\left(1 + 3\cdot 7 + 6\cdot 7^{2} + 3\cdot 7^{3} + 3\cdot 7^{4} + 6\cdot 7^{5} + O(7^{6})\right)T + \left(6\cdot 7 + 5\cdot 7^{2} + 6\cdot 7^{4} + 6\cdot 7^{5} + O(7^{6})\right)T^{2} + \left(6 + 4\cdot 7 + 2\cdot 7^{3} + 5\cdot 7^{4} + 2\cdot 7^{5} + O(7^{6})\right)T^{3} + O(\text{T}^{4})
}}}

ASIDE: There is a formula of Perrin-Riou that one could also use to compute $\mathcal{L}_p'(E,0)$ when $p$ is good ordinary: $$\frac{1}{\Reg(E/\QQ)} \cdot \frac{L'(E,1)}{\Omega_E} =\frac{1}{\Reg_p(E/\QQ)}\cdot \frac{\mathcal{L}_p'(E,0)}{(1-\frac{1}{\alpha})^2\cdot \log(\kappa(\gamma))}$$ which is an equality of rational numbers.

This formula is why we didn't have to mention $p$-adic $L$-functions in the theorem above.

{{{ }}} {{{ }}}

# BSD is true for 141a

## Summary of Proof:

1. For $p=2$: Cremona verified this several years ago via a $2$-descent.

2. For all $p\geq 3$ with $p\neq 7$: Kolyvagin's bound implies that $p\not\,\,\mid \#{\rm Sha}(E)$.

3. For $p=7$: we computed the $7$-adic regulator, found that it was nonzero. Then using that the mod-$7$ representation is surjective, the bounds coming from Iwasawa theory, and thoerems of Kato, Perrin-Riou, Schneider, and others imply that ${\rm ord}_7({\rm Sha}(E)) =0$.

4. We conclude that the full BSD conjecture is true for the elliptic curve 141a.

## Key Point

Applying the general theory is now fairly straightforward. Combining together the wide range of theorems people have proved toward BSD gives quite a lot, and illustrates and motivates work to fill in the remaining gaps.

# Summary of Results and The Goal

## Theorem 1 (Stein and Grigorov, Jorza, Patrikis, Tarnita)

 Theorem 1: Suppose that $E$ is a non-CM elliptic curve of rank $\leq 1$, conductor $\leq 1000$ and that $p$ is a prime. If $p$ is odd, assume further that the mod $p$ representation $\overline{\rho}_{E,p}$ is irreducible and $p$ does not divide any Tamagawa number of $E$. Then ${\rm BSD}(E,p)$ is true.

1. The proof involves combining refinements of the theorems of Kolyvagin and Kato with explicit 2 and 3-descents.

2. Much work goes into just making this computation practical.

3. One can completely carry it out using SAGE, except for the 3-descents, which rely on code that Michael Stoll wrote for MAGMA, and three 4-Selmer group computations, which are also available nowhere but in MAGMA. These are the only curves in Cremona's book that conjecturally have nontrivial Sha:
   571a    681b   960d   960n
4       9      4      4


## Theorem 2 (Stein and Lum)

 Theorem 2: Suppose that $E$ is a CM elliptic curve of rank $\leq 1$ (59 rank 0 and 56 rank 1), conductor $\leq 5000$ and that $p\geq 5$ is a prime of good reduction for $E$. Then ${\rm BSD}(E,p)$ is true.

1. The proof in the rank 0 case is basically an application of a theorem of Rubin.

2. When $E$ has rank 1, a theorem of Mazur and Swinnerton-Dyer gives ${\rm BSD}(E,p)$ at split primes, and for inert primes we do an explicit Heegner point calculation and use Kolyvagin's bound.

## Anticipated Theorem 3 (Stein and Wuthrich)

 Anticipaed Theorem 3: Suppose that $E$ is a non-CM elliptic curve of rank $\leq 1$, conductor $\leq 1000$ and that $p\geq 5$ is a prime that divides a Tamagawa number of $E$ or such that the mod $p$ representation $\overline{\rho}_{E,p}$ is reducible. Assume further that $E$ has good ordinary or bad multiplicative reduction at $p$. Then ${\rm BSD}(E,p)$ is true.

1. Wuthrich implemented a program that should do this in Magma, and I am close to finishing one that does it in SAGE.

Once we finish the proof of Theorem 3, we will almost have:

 Eventual Goal: Suppose that $E$ is an elliptic curve of rank $\leq 1$ in Cremona's book. Then the full Birch and Swinnerton-Dyer conjecture is true for $E$.

In theory, all that remains is to deal with pairs $(E,p)$ with $p\geq 5$ such that:
1. $E$ is a CM elliptic curve of rank $1$ with conductor divisible by $p$, or
2. $E$ is a non-CM curve with additive reduction at $p$ such that either
1. $p$ divides a Tamagawa number of $E$, or
2. the representation $\overline{\rho}_{E,p}$ is reducible.

## What is Left?

We finish the talk by computing all pairs $(E,p)$ in Cremona's book so that none of the above results (or their known refiniments) prove ${\rm BSD}(E,p)$. This is a concrete challenge.

We first compute a list of all the (optimal) curves in Cremona's book: {{{ cremona = list(cremona_optimal_curves(range(1,1001))) }}} There are 2463 of them. {{{ len(cremona) /// 2463 }}} Only 44 have CM. {{{ cm = [e for e in cremona if e.has_cm()] len(cm) /// 44 }}} Of these, 19 have rank 1: {{{ cm1 = [e for e in cm if e.rank() == 1]; len(cm1) /// 19 }}} {{{ bad_cm = [] for e in cm1: for p in prime_divisors(e.conductor()): if p >= 5: bad_cm.append((e.cremona_label(), p)) print len(bad_cm) print Sequence(bad_cm, cr=True) /// 10 [ ('121b1', 11), ('225a1', 5), ('361a1', 19), ('441b1', 7), ('441d1', 7), ('675a1', 5), ('784h1', 7), ('800h1', 5), ('800a1', 5), ('900c1', 5) ] }}} {{{ bad_noncm = [] for e in cremona: if not e.has_cm(): for p, f in factor(e.conductor()): if p >= 5 and f >= 2: # additive prime >= 5. c = e.tamagawa_product() if c % p == 0: z = (e.cremona_label(), p, 'tamagawa'); print z bad_noncm.append(z) else: if e.is_reducible(p): z = (e.cremona_label(), p); print z bad_noncm.append(z) print len(bad_noncm) /// ('50a1', 5) ('50b1', 5, 'tamagawa') ('75a1', 5) ('75c1', 5, 'tamagawa') ('121a1', 11) ('121c1', 11) ('150a1', 5) ('150b1', 5) ('175a1', 5) ('175c1', 5) ('225e1', 5) ('225d1', 5) ('275b1', 5) ('294a1', 7) ('294b1', 7) ('325e1', 5, 'tamagawa') ('325d1', 5) ('400b1', 5) ('400c1', 5) ('450a1', 5) ('450b1', 5) ('450c1', 5) ('450d1', 5) ('490f1', 7) ('490k1', 7) ('550f1', 5) ('550k1', 5) ('550b1', 5) ('637a1', 7) ('637c1', 7) ('700d1', 5, 'tamagawa') ('735f1', 7, 'tamagawa') ('775c1', 5) ('882c1', 7) ('882d1', 7) ('950a1', 5) ('975j1', 5, 'tamagawa') 37 }}}

Tim Dokchitser and I are tentatively planning to run a workshop somewhere in about a year on the BSD conjecture, from a half/half theoretical/computational perspective. If you're interested, let me know.