csage.server.notebook.notebook
Notebook
q)q}q(U_Notebook__worksheetsq}q(Upadicq(csage.server.notebook.worksheet
Worksheet
qoq}q (U_Worksheet__filenameq
UpadicqU_Worksheet__cellsq]q
((csage.server.notebook.cell
TextCell
qoq}q(U_TextCell__worksheetqhU_TextCell__textqTz
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.
qU
_TextCell__idqM2Aub(csage.server.notebook.cell
Cell
qoq}q(U _Cell__inqU/E = EllipticCurve('141a'); E #autoqU_Cell__introspect_htmlqU!qU_Cell__worksheetqhU_Cell__completionsqU_Cell__introspectqU_Cell__out_htmlqU U _Cell__idq M3AU_Cell__timeq!U_Cell__is_htmlq"U_before_preparseq#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/padic/cells/307")
E = EllipticCurve('141a'); E #autoq$U
_Cell__dirq%U(sage_notebook/worksheets/padic/cells/307q&U
_Cell__outq'UO
Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field
q(Uhas_new_outputq)U_Cell__versionq*KU_Cell__sageq+csage.interfaces.sage0
reduce_load_Sage
q,)Rq-U_Cell__typeq.Uwrapq/U_Cell__interruptedq0ub(hoq1}q2(hUshow(factor(141))q3hU!q4hhhhhU h M4Ah!h"h#Ulos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/padic/cells/308")
show(factor(141))q5h%U(sage_notebook/worksheets/padic/cells/308q6h'U3
3 \cdot 47
q7h)h*Kh+h-h.h/h0ub(hoq8}q9(hhhUD
Note that 7 is a prime of good ordinary reduction for $E$:q:hM5Aub(hoq;}q<(hU=print E.is_good(7), E.is_ordinary(7)
print E.is_surjective(7)q=hU!q>hhhhhU h M6Ah!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/padic/cells/310")
print E.is_good(7), E.is_ordinary(7)
print E.is_surjective(7)q?h%U(sage_notebook/worksheets/padic/cells/310q@U_word_being_completedqAU
E.is_surjeqBh)h*Kh+h-h0h.h/h'U
True True
(True, None)
qCub(hoqD}qE(hhhTS
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$.qFhM7Aub(hoqG}qH(hU-time reg7 = E.padic_regulator(7,6)
show(reg7)qIhU!qJhhhhhU h M8Ah!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/padic/cells/312")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
reg7 = E.padic_regulator(7,6)
show(reg7)qKh%U(sage_notebook/worksheets/padic/cells/312qLh'U
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.27 s, Wall time: 0.57 s
qMh)h*Kh+h-h.UwrapqNh0ub(hoqO}qP(hhhT
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):qQhM9Aub(hoqR}qS(hU"L7 = E.padic_lseries(7,prec=6); L7qThU!qUhhhhhU h M:Ah!h"h#U}os.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/padic/cells/314")
L7 = E.padic_lseries(7,prec=6); L7qVh%U(sage_notebook/worksheets/padic/cells/314qWh'Ub
7-adic L-series of Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field
qXh)h*Kh+h-h.h/h0ub(hoqY}qZ(hUshow(L7.approx(3))q[hU!q\hhhhhU h M;Ah!h"h#Umos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/padic/cells/315")
show(L7.approx(3))q]h%U(sage_notebook/worksheets/padic/cells/315q^h'TJ
\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})
q_h)h*Kh+h-h.h/h0ub(hoq`}qa(hhhT
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.
qbhM=Aub(hoqc}qd(hU hhhhU h M>Ah%U(sage_notebook/worksheets/padic/cells/318qeh'U h)h*Kh+Nh.Uhiddenqfh0ub(hoqg}qh(hU hhhhU h M?Ah%U(sage_notebook/worksheets/padic/cells/319qih'U h)h*Kh+Nh.hfh0ubeU_Worksheet__synchroqjKWU_Worksheet__nameqkUpadicqlU_Worksheet__dirqmUsage_notebook/worksheets/padicqnU_Worksheet__attachedqo}qpU/Users/was/.sage/init.sageqqGAje sU_Worksheet__queueqr]qsU_Worksheet__next_idqtMAAU_Worksheet__passcryptquU_Worksheet__comp_is_runningqvU_Worksheet__saltqwU1170852461.195640qxU_Worksheet__notebookqyhU_Worksheet__systemqzNU_Worksheet__next_block_idq{KU_Worksheet__idq|KU_Worksheet__passcodeq}U
11G3BJNEUV/Pkq~ubUbsdintroq(hoq}q(h
Ubsdintroqh]q((hoq}q(hhhT(
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
-
The rank $r$ of $E({\bf Q})$ equals $r_{\rm an} = {\rm ord}_{s=1}L(E,s)$.
- 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:qhM#ub(hoq}q(hU@E = EllipticCurve('141a1') #auto loadqhU!qhhhhhU h M#h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1016")
E = EllipticCurve('141a1') #auto loadqh%U,sage_notebook/worksheets/bsdintro/cells/1016qh'U
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhU!Here's the equation of the curve:qhM#ub(hoq}q(hUshow(E)qhU!qhhhhhU h M#h!h"h#Ufos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1018")
show(E)qh%U,sage_notebook/worksheets/bsdintro/cells/1018qh'UG
y^2 + y = x^3 + x^2 - 12x + 2
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhU=The conductor is a product of two primes: $141 = 3 \cdot 47$.qhM#ub(hoq}q(hUshow(factor(141))qhU!qhhhhhU h M#h!h"h#Upos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1020")
show(factor(141))qh%U,sage_notebook/worksheets/bsdintro/cells/1020qh'U3
3 \cdot 47
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhUDThe graph of the real points on the curve is connected (and pretty):qhM#ub(hoq}q(hU#show(plot(E, hue=0.8, thickness=3))qhU!qhhhhhUD
qh M#h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1022")
show(plot(E, hue=0.8, thickness=3))qh%U,sage_notebook/worksheets/bsdintro/cells/1022qh'U
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhUzWe next plot a bunch of rational points on the curve using a 3-d ray tracer (for fun).
Lighter points have larger height.qhM#ub(hoq}q(hT %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)qhU!qhhhhhUD
qh M $h!h"h#T os.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1024")
%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)qh%U,sage_notebook/worksheets/bsdintro/cells/1024qh'U
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhU~
We use Tim Dokchitser's $L$-functions program to compute with the $L$-function of this elliptic curve.qhM$ub(hoq}q(hUL = E.Lseries_dokchitser(); LqhU!qhhhhhU h M$h!h"h#U|os.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1026")
L = E.Lseries_dokchitser(); Lqh%U,sage_notebook/worksheets/bsdintro/cells/1026qh'Us
Dokchitser L-function associated to Elliptic Curve defined by y^2 + y = x^3 + x^2 - 12*x + 2 over Rational Field
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhULFor example, here is the Taylor expansion about $z=(s-1)$ of the $L$-series.qhM$ub(hoq}q(hU%T = L.taylor_series(a=1,k=5); show(T)qhU!qhhhhhU h M$h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1028")
T = L.taylor_series(a=1,k=5); show(T)qh%U,sage_notebook/worksheets/bsdintro/cells/1028qh'U
\text{0.718550172498336}z + \left(\text{-0.0426008377591305}\right)z^{2} + \left(\text{-0.322488300418669}\right)z^{3} + \text{0.307082078154713}z^{4} + O(\text{z}^{5})
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhU.Of course the derivative at $1$ is consistent:qhM$ub(hoq}q(hUL(0)qhU!qhhhhhU h M$h!h"h#Ucos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1030")
L(0)qh%U,sage_notebook/worksheets/bsdintro/cells/1030qh'U
0
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhUNext we plot the $L$-series:qhM$ub(hoq}q(hU[P = plot(lambda x: real(L(x)), -1,3, rgbcolor=(1,0,0), thickness=3, plot_points=30)
show(P)qhU!qhhhhhUD
qh M$h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1032")
P = plot(lambda x: real(L(x)), -1,3, rgbcolor=(1,0,0), thickness=3, plot_points=30)
show(P)qh%U,sage_notebook/worksheets/bsdintro/cells/1032qh'U
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhUUAnd it does in fact vanish at 1 because the sign in the functional equation
is $-1$.qhM $ub(hoq}q(hUBprint 'eps = ', E.root_number()
print 'L(E,1) = ', E.Lseries_at1()qhU!qhhhhhU h M
$h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1034")
print 'eps = ', E.root_number()
print 'L(E,1) = ', E.Lseries_at1()qh%U,sage_notebook/worksheets/bsdintro/cells/1034qh'U
eps = -1
L(E,1) = 0
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhUv
We can also compute the zeros of the $L$-function
on the critical line using Mike Rubinstein's Lcalc program:qhM$ub(hoq}q(hUi%time
Z = E.Lseries_zeros(20)
show(point([(0.5, y) for y in Z], pointsize=50, hue=0.62), xmin=0, xmax=1)qhU!qhhhhhUD
qh M$h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1036")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
Z = E.Lseries_zeros(20)
show(point([(0.5, y) for y in Z], pointsize=50, hue=0.62), xmin=0, xmax=1)qh%U,sage_notebook/worksheets/bsdintro/cells/1036qh'U'
CPU time: 0.17 s, Wall time: 0.68 s
qh)h*Kh+h-h.h/h0ub(hoq}q(hhhUc
Our curve has rank and analytic rank both 1, in accord with the conjecture.qhM
$ub(hoq}q(hUE.analytic_rank()qhU!qhhhhhU h M$h!h"h#Upos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1038")
E.analytic_rank()qh%U,sage_notebook/worksheets/bsdintro/cells/1038qh'U
1
qh)h*Kh+h-h.h/h0ub(hor }r (hUE.rank()r hU!r hhhhhU h M$h!h"h#Ugos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1039")
E.rank()r h%U,sage_notebook/worksheets/bsdintro/cells/1039r h'U
1
r h)h*Kh+h-h.h/h0ub(hor }r (hhhU1We compute a generator of the Mordell-Weil group:r hM$ub(hor
}r (hUE.gens()r hU!r
hhhhhU h M$h!h"h#Ugos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1041")
E.gens()r h%U,sage_notebook/worksheets/bsdintro/cells/1041r h'U
[(-3 : 4 : 1)]
r h)h*Kh+h-h.h/h0ub(hor }r (hhhUThe regulator is as follows.r hM$ub(hor }r (hU
E.regulator()r hU!r hhhhhU h M$h!h"h#Ulos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1043")
E.regulator()r h%U,sage_notebook/worksheets/bsdintro/cells/1043r h'U
0.0344867750175524
r h)h*Kh+h-h.h/h0ub(hor }r (hhhU"The Tamagawa number at $3$ is $7$.r hM$ub(hor }r (hUE.tamagawa_numbers()r hU!r! hhhhhU h M$h!h"h#Usos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1045")
E.tamagawa_numbers()r" h%U,sage_notebook/worksheets/bsdintro/cells/1045r# h'U
[7, 1]
r$ h)h*Kh+h-h.h/h0ub(hor% }r& (hhhU+The regulator $\Omega_E$ is about $2.9765$.r' hM$ub(hor( }r) (hU E.omega()r* hU!r+ hhhhhU h M$h!h"h#Uhos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1047")
E.omega()r, h%U,sage_notebook/worksheets/bsdintro/cells/1047r- h'U
2.976504024814575615165574
r. h)h*Kh+h-h.h/h0ub(hor/ }r0 (hhhUIThe curve has trivial torsion subgroup, so $\# E({\bf Q})_{\rm tor} = 1$.r1 hM$ub(hor2 }r3 (hUE.torsion_order()r4 hU!r5 hhhhhU h M$h!h"h#Upos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1049")
E.torsion_order()r6 h%U,sage_notebook/worksheets/bsdintro/cells/1049r7 h'U
1
r8 h)h*Kh+h-h.h/h0ub(hor9 }r: (hhhU
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},
$$r; hM$ub(hor< }r= (hUL1 = 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 )r> hU!r? hhhhhU h M$h!h"h#T os.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1051")
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 )r@ h%U,sage_notebook/worksheets/bsdintro/cells/1051rA h'U8
L1 = 0.718550172498336
rhs = 0.718550172498336 * Sha
rB h)h*Kh+h-h.h/h0ub(horC }rD (hhhT
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) =_{\rm BSD} \{ 0 \}.
$$
The 2-Selmer Group
We can get some information about ${\rm Sha}(E)$ 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 $1$ (this uses mwrank):rE hM$ub(horF }rG (hUE.selmer_rank_bound()rH hU!
rI hhhhhU h M$h!h"h#Utos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1053")
E.selmer_rank_bound()rJ h%U,sage_notebook/worksheets/bsdintro/cells/1053rK h'U
1
rL h)h*Kh+h-h.h/h0ub(horM }rN (hhhUNSince the curve is known to have rank 1, this means that ${\rm Sha}(E)[2] =0$.rO hM$ub(horP }rQ (hUE.two_selmer_shabound()rR hTJ File: /Users/was/s/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py
Type: <type 'instancemethod'>
Definition: E.two_selmer_shabound()
Docstring:
Returns a bound on the dimension of Sha(E)[2], computed using
a 2-descent.rS hhhh]rT (UE.two_selmer_shabound?rU U ehU h M$h!h"h#Uuos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1055")
E.two_selmer_shabound?rV h%U,sage_notebook/worksheets/bsdintro/cells/1055rW h'U
0
rX h)h*Kh+h-h.h/h0ub(horY }rZ (hhhUqAlternatively, we can compute the rank of the $2$-Selmer group using
Denis Simon's algebraic 2-descent program.r[ hM $ub(hor\ }r] (hUE.simon_two_descent()r^ hU!r_ hhhhhU h M!$h!h"h#Utos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/bsdintro/cells/1057")
E.simon_two_descent()r` h%U,sage_notebook/worksheets/bsdintro/cells/1057ra h'U
(1, 1, [(-15 : 729 : 1)])
rb h)h*Kh+h-h.h/h0ub(horc }rd (hhhU
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 Katore hM"$ubehjKhkUbsdintrorf hmU!sage_notebook/worksheets/bsdintrorg ho}rh U/Users/was/.sage/init.sageri GAje shr]rj htM#$huhvhwU1170851871.339754rk hyhhzNh{Kgh|Kh}U
11G3BJNEUV/Pkrl ubUnextrm (horn }ro (h
Unextrp h]rq ((horr }rs (hjn hT
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.
|
- The proof involves combining refinements of the theorems of Kolyvagin and Kato with
explicit 2 and 3-descents.
- Much work goes into just making this computation
practical.
- 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.
|
- The proof in the rank 0 case is basically an application of a theorem of Rubin.
- 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.
| |
- 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:
- $E$ is a CM elliptic curve of rank $1$ with conductor divisible by $p$, or
- $E$ is a non-CM curve with additive reduction at $p$ such that either
- $p$ divides a Tamagawa number of $E$ and $\overline{\rho}_{E,p}$ is not surjective, or
- 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:rt hM`ub(horu }rv (hU5cremona = list(cremona_optimal_curves(range(1,1001)))rw hU!rx hjn hhhU h M`h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/next/cells/214")
cremona = list(cremona_optimal_curves(range(1,1001)))ry h%U'sage_notebook/worksheets/next/cells/214rz h'U
r{ h)h*Kh+h-h.h/h0ub(hor| }r} (hjn hUThere are 2463 of them.r~ hM`ub(hor }r (hUlen(cremona)r hU!r hjn hhhU h M`h!h"h#Ufos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/next/cells/216")
len(cremona)r h%U'sage_notebook/worksheets/next/cells/216r h'U
2463
r h)h*Kh+h-h.h/h0ub(hor }r (hjn hUOnly 44 have CM.r hM`ub(hor }r (hU/cm = [e for e in cremona if e.has_cm()]
len(cm)r hU!r hjn hhhU h M`h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/next/cells/218")
cm = [e for e in cremona if e.has_cm()]
len(cm)r h%U'sage_notebook/worksheets/next/cells/218r h'U
44
r h)h*Kh+h-h.h/h0ub(hor }r (hjn hUOf these, 19 have rank 1:r hM`ub(hor }r (hU0cm1 = [e for e in cm if e.rank() == 1]; len(cm1)r hU!r hjn hhhU h M`h!h"h#Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/next/cells/220")
cm1 = [e for e in cm if e.rank() == 1]; len(cm1)r h%U'sage_notebook/worksheets/next/cells/220r h'U
19
r h)h*Kh+h-h.h/h0ub(hor }r (hUbad_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)r hU!r hjn hhhU h M`h!h"h#T os.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/next/cells/221")
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)r h%U'sage_notebook/worksheets/next/cells/221r h'U
10
[
('121b1', 11),
('225a1', 5),
('361a1', 19),
('441b1', 7),
('441d1', 7),
('675a1', 5),
('784h1', 7),
('800h1', 5),
('800a1', 5),
('900c1', 5)
]
r h)h*Kh+h-h.h/h0ub(hor }r (hT8 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:
if not e.is_surjective(p):
z = (e.cremona_label(), e.rank(), p, 'tamagawa'); print z
bad_noncm.append(z)
elif e.is_reducible(p):
z = (e.cremona_label(), e.rank(), p); print z
bad_noncm.append(z)
print len(bad_noncm)r h M`hhhU hjn h!h"h#T os.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/next/cells/222")
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:
if not e.is_surjective(p):
z = (e.cremona_label(), e.rank(), p, 'tamagawa'); print z
bad_noncm.append(z)
elif e.is_reducible(p):
z = (e.cremona_label(), e.rank(), p); print z
bad_noncm.append(z)
print len(bad_noncm)r h%U'sage_notebook/worksheets/next/cells/222r h'T
('50a1', 0, 5)
('75a1', 0, 5)
('121a1', 0, 11)
('121c1', 0, 11)
('150a1', 0, 5)
('150b1', 0, 5)
('175a1', 1, 5)
('175c1', 0, 5)
('225e1', 1, 5)
('225d1', 0, 5)
('275b1', 0, 5)
('294a1', 0, 7)
('294b1', 0, 7)
('325d1', 0, 5)
('400b1', 0, 5)
('400c1', 1, 5)
('450a1', 0, 5)
('450b1', 0, 5)
('450c1', 1, 5)
('450d1', 0, 5)
('490f1', 0, 7)
('490k1', 0, 7)
('550f1', 1, 5)
('550k1', 0, 5)
('550b1', 0, 5)
('637a1', 1, 7)
('637c1', 1, 7)
('775c1', 0, 5)r h)h*Kh+Nh.h/h0ub(hor }r (hjn hTz
Only 41 pairs $(E,p)$ remain!
And in every case the mod $p$ representation is reducible. This should be
doable via descent.
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.r hM`ubeU_Worksheet__synchror KThkUnextr ho}r U/Users/was/.sage/init.sager GAje shmUsage_notebook/worksheets/nextr hr]r htM`huhvhwU1170896661.741525r hyhh|KU_Worksheet__next_block_idr K!hzNh}U
11G3BJNEUV/Pkr ubU _scratch_r (hor }r (U_Worksheet__filenamer U _scratch_r U_Worksheet__cellsr ]r ((hor }r (U _Cell__inr Utime a=matrix(ZZ,100,1000)r U_Cell__introspect_htmlr U!r U_Cell__worksheetr j U_Cell__completionsr U_Cell__introspectr U_Cell__out_htmlr U U _Cell__idr K+U_Cell__is_htmlr U_before_preparser Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/43")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
a=matrix(ZZ,100,1000)r U
_Cell__dirr U+sage_notebook/worksheets/_scratch_/cells/43r U
_Cell__outr U'
CPU time: 0.02 s, Wall time: 0.01 s
r Uhas_new_outputr U_Cell__versionr KU_Cell__sager h-U_Cell__typer hNU_Cell__timer U_Cell__interruptedr ub(hor }r (j U
time b=a+ar j U!r j j j j j U j K,j j Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/44")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
b=a+ar j U+sage_notebook/worksheets/_scratch_/cells/44r j U'
CPU time: 0.03 s, Wall time: 0.02 s
r j j Kj h-j hNj j ub(hor }r (j U$time for i in range(10^6): x = int()r j U!r j j j j j U j K)j j Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/41")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
for i in range(10^6): x = int()r j U+sage_notebook/worksheets/_scratch_/cells/41r j U'
CPU time: 0.35 s, Wall time: 0.38 s
r j j K j h-j hNj j ub(hor }r (j U&time for i in range(10^6): x = 939r +ir j U!r j j j j j U j K.j j Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/46")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
for i in range(10^6): x = 939r +ir j U+sage_notebook/worksheets/_scratch_/cells/46r j U'
CPU time: 0.23 s, Wall time: 0.25 s
r j j K j h-j hNj j ub(hor }r (j Ua = 10r j U!r j j j j j U j K2j j Udos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/50")
a = 10r j U+sage_notebook/worksheets/_scratch_/cells/50r j U
r j j Kj h-j hNj j ub(hor }r (j U-time for i in range(10^6): x = a + Integer(i)r j U!r j j j j j U j K1j j Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/49")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
for i in range(10^6): x = a + Integer(i)r j U+sage_notebook/worksheets/_scratch_/cells/49r j U'
CPU time: 1.76 s, Wall time: 1.83 s
r j j Kj h-j hNj j ub(hor }r (j Ua = 939r + 1r; b=939r + 1rr j U!r j j j j j U j K/j j Uxos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/47")
a = 939r + 1r; b=939r + 1rr j U+sage_notebook/worksheets/_scratch_/cells/47r j U
r j j Kj h-j hNj j ub(hor }r (j Ua is br j U!r j j j j j U j K0j j Udos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/48")
a is br j U+sage_notebook/worksheets/_scratch_/cells/48r j U
False
r j j Kj h-j hNj j ub(hor }r (j UInteger() is Integer()r j U!r j j j j j U j K-j j Utos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/45")
Integer() is Integer()r j U+sage_notebook/worksheets/_scratch_/cells/45r j U
False
r j j Kj h-j hNj j ub(hor
}r (hU(time for i in range(10^6): x = Integer()r j U!r
hj hj hU h K&j j Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/38")
__SAGE_t__=cputime()
__SAGE_w__=walltime()
for i in range(10^6): x = Integer()r h%U+sage_notebook/worksheets/_scratch_/cells/38r h'U'
CPU time: 0.76 s, Wall time: 0.80 s
r h)h*Kj h-h.hNj h0ub(hor }r (j U%sagex
from sage.all import cputime, Integer
def foo(n):
t = cputime()
for i in range(n): x = Integer()
return cputime(t)
r j U!r j j j j j T __Users_was_talks_2007_02_07_banff_bsd_sage_notebook_worksheets__scratch__code_sage5_spyx.cr j K'j j Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/39")
%sagex
from sage.all import cputime, Integer
def foo(n):
t = cputime()
for i in range(n): x = Integer()
return cputime(t)r j U+sage_notebook/worksheets/_scratch_/cells/39r j U
r j j Kj h-j hNj j ub(hor }r (hU foo(10^6)r hU!r hj hhhU h K!h"h#Ugos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/33")
foo(10^6)r h%U+sage_notebook/worksheets/_scratch_/cells/33r h'U
0.66999999999999993
r h)h*Kh+h-h.hNh!h0ub(hor }r! (j U j j j j U j K(j U+sage_notebook/worksheets/_scratch_/cells/40r" j U j j K j hNj ub(hor# }r$ (hU b = a^100r% hU!r& hj hhhU h K h"h#Ugos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/32")
b = a^100r' h%U+sage_notebook/worksheets/_scratch_/cells/32r( h'U
r) h)h*Kh+h-h.h/h!h0ub(hor* }r+ (U _Cell__inr, UE = EllipticCurve('121a'); Er- U_Cell__introspect_htmlr. U!r/ U_Cell__worksheetr0 j U_Cell__completionsr1 U_Cell__introspectr2 U_Cell__out_htmlr3 U U _Cell__idr4 K U_Cell__timer5 U_Cell__is_htmlr6 U_before_preparser7 Uyos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/9")
E = EllipticCurve('121a'); Er8 U
_Cell__dirr9 U*sage_notebook/worksheets/_scratch_/cells/9r: U
_Cell__outr; UV
Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 30*x - 76 over Rational Field
r< Uhas_new_outputr= U_Cell__versionr> KU_Cell__sager? h-U_Cell__typer@ h/U_Cell__interruptedrA ub(horB }rC (U _Cell__inrD UE.isogeny_class()rE j. U!rF U_Cell__worksheetrG j U_Cell__completionsrH j2 U_Cell__out_htmlrI U U _Cell__idrJ Kj6 j7 Uoos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/23")
E.isogeny_class()rK U
_Cell__dirrL U+sage_notebook/worksheets/_scratch_/cells/23rM U_word_being_completedrN UE.isogenrO Uhas_new_outputrP U_Cell__versionrQ KU_Cell__sagerR h-U_Cell__interruptedrS U_Cell__typerT h/j5 U
_Cell__outrU U
([Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 30*x - 76 over Rational Field, Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 305*x + 7888 over Rational Field], [ 0 11]
[11 0])
rV ub(horW }rX (hUE.rank()rY hU!rZ hj hhhU h K%h"h#Ufos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/37")
E.rank()r[ h%U+sage_notebook/worksheets/_scratch_/cells/37r\ h'U
0
r] h)h*Kh+h-h.h/h!h0ub(hor^ }r_ (jD UE.is_surjective(7)[0]r` j. U!ra jG j jH j2 jI U jJ Kj6 j7 Usos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/22")
E.is_surjective(7)[0]rb jL U+sage_notebook/worksheets/_scratch_/cells/22rc jN U E.is_surjrd jP jQ KjR h-jS jT Uwrapre j5 jU U
True
rf ub(horg }rh (jD UE = EllipticCurve('121a'); Eri j. U!rj jG j jH j2 jI U jJ Kj6 j7 Uzos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/26")
E = EllipticCurve('121a'); Erk jL U+sage_notebook/worksheets/_scratch_/cells/26rl jU UV
Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 30*x - 76 over Rational Field
rm jP jQ KjR h-jT je j5 jS ub(horn }ro (jD UE.is_reducible(7)rp j. U!rq jG j jH j2 jI U jJ Kj6 j7 Uoos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/24")
E.is_reducible(7)rr jL U+sage_notebook/worksheets/_scratch_/cells/24rs jN U E.is_redurt jP jQ KjR h-jS jT je j5 jU U
False
ru ub(horv }rw (jD UE.is_reducible(11)rx j. U!ry jG j jH j2 jI U jJ Kj6 j7 Upos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/27")
E.is_reducible(11)rz jL U+sage_notebook/worksheets/_scratch_/cells/27r{ jU U
True
r| jP jQ KjR h-jT je j5 jS ub(hor} }r~ (jD U$EllipticCurve('11a').is_reducible(5)r j. U!r jG j jH j2 jI U jJ Kj6 j7 Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/28")
EllipticCurve('11a').is_reducible(5)r jL U+sage_notebook/worksheets/_scratch_/cells/28r jU U
True
r jP jQ KjR h-jT je j5 jS ub(hor }r (jD U+e = EllipticCurve('11a2')
e.is_reducible(5)r j. U!r jG j jH j2 jI U jJ Kj6 j7 Uos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/29")
e = EllipticCurve('11a2')
e.is_reducible(5)r jL U+sage_notebook/worksheets/_scratch_/cells/29r jU U
True
r jP jQ KjR h-jT je j5 jS ub(hor }r (jD Ue.torsion_order()r j. U!r jG j jH j2 jI U jJ Kj6 j7 Uoos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/31")
e.torsion_order()r jL U+sage_notebook/worksheets/_scratch_/cells/31r jN Ue.torsion_orr jP jQ KjR h-jS jT je j5 jU U
1
r ub(hor }r (jD U jG j jH jI U jJ KjL U+sage_notebook/worksheets/_scratch_/cells/30r jU U jP jQ K jT je jS ub(hor }r (j, UE.shabound_kolyvagin()r j0 j j1 j3 U j4 K
j9 U+sage_notebook/worksheets/_scratch_/cells/10r j; U([2], 1)r j= j> Kj? Nj@ Uwrapr jA ub(hor }r (j, UE = EllipticCurve('141a')r j0 j j1 j3 U j4 Kj9 U+sage_notebook/worksheets/_scratch_/cells/11r j; U j= j> Kj? Nj@ j jA ub(hor }r (j, U
E.sha_an()r j0 j j1 j3 U j4 Kj9 U+sage_notebook/worksheets/_scratch_/cells/12r j; U1j= j> Kj? Nj@ j jA ub(hor }r (j, UE.shabound_kolyvagin()r j0 j j1 j3 U j4 K
j9 U+sage_notebook/worksheets/_scratch_/cells/13r j; U([2, 7], 49)r j= j> Kj? Nj@ j jA ub(hor }r (j, UE = EllipticCurve('389a')r j0 j j1 j3 U j4 Kj9 U+sage_notebook/worksheets/_scratch_/cells/14r j; U j= j> Kj? Nj@ j jA ub(hor }r (U_TextCell__worksheetr j U_TextCell__textr U-No information, since the curve has rank $2$.r U
_TextCell__idr Kub(hor }r (j, UE.shabound_kolyvagin()r j0 j j1 j3 U j4 Kj9 U+sage_notebook/worksheets/_scratch_/cells/16r j; U(0, 0)r j= j> Kj? Nj@ j jA ub(hor }r (j, UE = EllipticCurve('681b')r U_Cell__introspect_htmlr U!r j0 j j1 U_Cell__introspectr j3 U j4 KU_Cell__timer U_Cell__is_htmlr U_before_preparser Uwos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/17")
E = EllipticCurve('681b')r j9 U+sage_notebook/worksheets/_scratch_/cells/17r j; U
r j= j> Kj? h-j@ j jA ub(hor }r (j, U
E.sha_an()r j U!r j0 j j1 j j3 U j4 Kj j Uhos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/18")
E.sha_an()r j9 U+sage_notebook/worksheets/_scratch_/cells/18r j; U
9
r j= j> Kj? h-j@ j j jA ub(hor }r (j, UE.shabound_kolyvagin()r j U!r j0 j j1 j j3 U j4 Kj j Utos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/19")
E.shabound_kolyvagin()r j9 U+sage_notebook/worksheets/_scratch_/cells/19r j; U
([2, 3], 9)
r j= j> Kj? h-j@ j j jA ub(hor }r (j, Ua = 2^20r hU!r j0 j j1 hj3 U j4 Kh"h#Ufos.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/21")
a = 2^20r j9 U+sage_notebook/worksheets/_scratch_/cells/21r j; U
r j= j> Kh+h-j@ h/h!jA ub(hor }r (hUfactor(441)r hU!r hj hhhU h K"h"h#Uios.chdir("/Users/was/talks/2007-02-07-banff-bsd/sage_notebook/worksheets/_scratch_/cells/34")
factor(441)r h%U+sage_notebook/worksheets/_scratch_/cells/34r h'U
3^2 * 7^2
r h)h*Kh+h-h.h/h!h0ub(hor }r (hU hj hhU h K#h%U+sage_notebook/worksheets/_scratch_/cells/35r h'U h)h*K h.h/h0ubeU_Worksheet__synchror KU_Worksheet__comp_is_runningr U_Worksheet__dirr U"sage_notebook/worksheets/_scratch_r U_Worksheet__attachedr }r U/Users/was/.sage/init.sager GAje sU_Worksheet__queuer ]r U_Worksheet__next_idr K3U_Worksheet__passcryptr U_Worksheet__namer U _scratch_r U_Worksheet__saltr U1170848803.679597r U_Worksheet__notebookr hU_Worksheet__idr K U_Worksheet__next_block_idr K