Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: Math 582b
Views: 2493

February 29, 2016: Modular abelian varieties

William Stein

Rough plan for rest of the class

  • Feb 29: computing with modabvars

  • Mar 2 : modular symbols

  • Mar 4 : BSD (1/2) (Birch's motivation: modular symbols to compute L(E,1)/Omega exactly)

  • Mar 7 : BSD (2/2)

  • Mar 9 : p-adic BSD (1/2)

  • Mar 11: p-adic BSD (2/2)

Example: Level 43

S = CuspForms(43); S
Cuspidal subspace of dimension 3 of Modular Forms space of dimension 4 for Congruence Subgroup Gamma0(43) of weight 2 over Rational Field
S.dimension()
3
X = S.newforms(names='a') f0 = X[0] print "f0=", f0 f1 = X[1] # there are two newforms associated to this: f1 and its image under Galois! print "f1=", f1
f0= q - 2*q^2 - 2*q^3 + 2*q^4 - 4*q^5 + O(q^6) f1= q + a1*q^2 - a1*q^3 + (-a1 + 2)*q^5 + O(q^6)
show(f0.q_expansion(20)) # related to an elliptic curve of conductor 43
q2q22q3+2q44q5+4q6+q9+8q10+3q114q125q13+8q154q163q172q182q19+O(q20)\displaystyle q - 2q^{2} - 2q^{3} + 2q^{4} - 4q^{5} + 4q^{6} + q^{9} + 8q^{10} + 3q^{11} - 4q^{12} - 5q^{13} + 8q^{15} - 4q^{16} - 3q^{17} - 2q^{18} - 2q^{19} + O(q^{20})
show(EllipticCurve('43a').q_eigenform(20))
q2q22q3+2q44q5+4q6+q9+8q10+3q114q125q13+8q154q163q172q182q19+O(q20)\displaystyle q - 2q^{2} - 2q^{3} + 2q^{4} - 4q^{5} + 4q^{6} + q^{9} + 8q^{10} + 3q^{11} - 4q^{12} - 5q^{13} + 8q^{15} - 4q^{16} - 3q^{17} - 2q^{18} - 2q^{19} + O(q^{20})
show(f1.q_expansion(15))
q+a1q2a1q3+(a1+2)q52q6+(a12)q72a1q8q9+(2a12)q10+(2a11)q11+(2a1+1)q13+(2a1+2)q14+O(q15)\displaystyle q + a_{1}q^{2} - a_{1}q^{3} + \left(-a_{1} + 2\right)q^{5} - 2q^{6} + \left(a_{1} - 2\right)q^{7} - 2 a_{1}q^{8} - q^{9} + \left(2 a_{1} - 2\right)q^{10} + \left(2 a_{1} - 1\right)q^{11} + \left(2 a_{1} + 1\right)q^{13} + \left(-2 a_{1} + 2\right)q^{14} + O(q^{15})
f1.base_ring()
Number Field in a1 with defining polynomial x^2 - 2

Theorem of Shimura: There is an abelian variety Af1A_{f_1} over Q\QQ attached to f1f_1 of dimension 22.

It's endomorphism ring is Z[2]\ZZ[\sqrt{2}]... It's not the Jacobian of a curve...

(Sketch, on the blackboard, how this theorem works in more generality...)

J = J0(43) D = J.decomposition() D
[ Simple abelian subvariety 43a(1,43) of dimension 1 of J0(43), Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43) ]
E = D[0] A = D[1]
A
Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)
A.modular_kernel()
Finite subgroup with invariants [2, 2] over QQ of Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)
A.intersection(E)
(Finite subgroup with invariants [2, 2] over QQ of Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43), Simple abelian subvariety of dimension 0 of J0(43))

Example: J1(N)J_1(N) instead of J0(N)J_0(N)

J = J1(43) J
Abelian variety J1(43) of dimension 57
%time D = J.decomposition() # I gave up after 45s; disappointing... but this is why one has to really understand what is going on!
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 905, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/abvar/abvar_ambient_jacobian.py", line 367, in decomposition factors = simple_factorization_of_modsym_space(M, simple=simple) File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/abvar/abvar.py", line 4650, in simple_factorization_of_modsym_space for G in factor_modsym_space_new_factors(M): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/abvar/abvar.py", line 4616, in factor_modsym_space_new_factors return [factor_new_space(A) for A in N] File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/abvar/abvar.py", line 4584, in factor_new_space return t.decomposition() File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/hecke/hecke_operator.py", line 310, in decomposition D = self.hecke_module_morphism().decomposition() File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modules/matrix_morphism.py", line 632, in decomposition E = self.matrix().decomposition(*args,**kwds) File "sage/matrix/matrix_rational_dense.pyx", line 1856, in sage.matrix.matrix_rational_dense.Matrix_rational_dense.decomposition (/projects/sage/sage-6.10/src/build/cythonized/sage/matrix/matrix_rational_dense.c:19616) X = self._decomposition_rational(is_diagonalizable=is_diagonalizable, File "sage/matrix/matrix_rational_dense.pyx", line 1984, in sage.matrix.matrix_rational_dense.Matrix_rational_dense._decomposition_rational (/projects/sage/sage-6.10/src/build/cythonized/sage/matrix/matrix_rational_dense.c:21832) W.echelonize(algorithm = echelon_algorithm, **kwds) File "sage/matrix/matrix_rational_dense.pyx", line 1463, in sage.matrix.matrix_rational_dense.Matrix_rational_dense.echelonize (/projects/sage/sage-6.10/src/build/cythonized/sage/matrix/matrix_rational_dense.c:15830) pivots = self._echelonize_padic() File "sage/matrix/matrix_rational_dense.pyx", line 1613, in sage.matrix.matrix_rational_dense.Matrix_rational_dense._echelonize_padic (/projects/sage/sage-6.10/src/build/cythonized/sage/matrix/matrix_rational_dense.c:17730) pivots, nonpivots, X, d = A._rational_echelon_via_solve() File "sage/matrix/matrix_integer_dense.pyx", line 4485, in sage.matrix.matrix_integer_dense.Matrix_integer_dense._rational_echelon_via_solve (/projects/sage/sage-6.10/src/build/cythonized/sage/matrix/matrix_integer_dense.c:38193) X, d = C._solve_iml(D, right=True) File "sage/matrix/matrix_integer_dense.pyx", line 4179, in sage.matrix.matrix_integer_dense.Matrix_integer_dense._solve_iml (/projects/sage/sage-6.10/src/build/cythonized/sage/matrix/matrix_integer_dense.c:35813) sig_on() File "sage/ext/interrupt/interrupt.pyx", line 88, in sage.ext.interrupt.interrupt.sig_raise_exception (/projects/sage/sage-6.10/src/build/cythonized/sage/ext/interrupt/interrupt.c:924) raise KeyboardInterrupt KeyboardInterrupt
CPU time: 41.55 s, Wall time: 43.47 s
J0(19)
Abelian variety J0(19) of dimension 1
J = J1(19) J
Abelian variety J1(19) of dimension 7
J.decomposition()
[ Simple abelian subvariety 19aG1(1,19) of dimension 1 of J1(19), Simple abelian subvariety 19bG1(1,19) of dimension 6 of J1(19) ]
︠e5da317b-5940-4e4b-9118-d639209f2200︠ ︠825cf85c-06a8-4564-9942-064e6bc04627︠ ︠bcc53ca8-ca21-4778-858a-2b15187c7dad︠ ︠0f745b1d-4d74-4346-9d58-7e48a317dc01i︠ %md ## My favorite example: $J_0(389)$

My favorite example: J0(389)J_0(389)

J = J0(389); J
Abelian variety J0(389) of dimension 32
%time D = J.decomposition() D
CPU time: 0.00 s, Wall time: 0.00 s [ Simple abelian subvariety 389a(1,389) of dimension 1 of J0(389), Simple abelian subvariety 389b(1,389) of dimension 2 of J0(389), Simple abelian subvariety 389c(1,389) of dimension 3 of J0(389), Simple abelian subvariety 389d(1,389) of dimension 6 of J0(389), Simple abelian subvariety 389e(1,389) of dimension 20 of J0(389) ]

The smallest-conductor rank 2 elliptic curve if 389a, which is the 1-dimensional factor above.

D[0].intersection(D[1])
(Finite subgroup with invariants [2, 2] over QQ of Simple abelian subvariety 389a(1,389) of dimension 1 of J0(389), Simple abelian subvariety of dimension 0 of J0(389))
D[0].intersection(D[4])
(Finite subgroup with invariants [20, 20] over QQ of Simple abelian subvariety 389a(1,389) of dimension 1 of J0(389), Simple abelian subvariety of dimension 0 of J0(389))

Thus if AA is the 2020-dimensional factor above, and we view EE and AA as abelian subvarieties of J0(389)J_0(389), then AE=E[20]A \cap E = E[20]. The intersection, and some Galois cohomology, induces a map E(Q)/5E(Q)Sha(A/Q). E(\QQ)/5 E(\QQ) \hookrightarrow \text{Sha}(A/\QQ). This is an example of visibility of Shafarevich-Tate groups, in that Sha(A/Q)[5]\text{Sha}(A/\QQ)[5] is "visible" in terms of points in the Mordell-Weil group of EE.

E = EllipticCurve('389a'); show(E) show(E.gens())
y2+y=x3+x22x\displaystyle y^2 + y = x^{3} + x^{2} - 2 x
[(1:1:1)\displaystyle \left(-1 : 1 : 1\right), (0:0:1)\displaystyle \left(0 : 0 : 1\right)]
A = D[4] L = A.lseries()
L(1) # heh, why not?
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 905, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/abvar/lseries.py", line 95, in __call__ raise NotImplementedError NotImplementedError
L.rational_part() # seriously?
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 905, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/abvar/lseries.py", line 152, in rational_part raise NotImplementedError NotImplementedError

12 years ago I started Sage (called Manin then) specifically to re-implement the algorithms from my thesis on an open source foundation. I got distracted along the way, and still haven't finished even that goal, nor has anybody else.

%magma J := JZero(389); D := Decomposition(J); print J, D;
Modular abelian variety JZero(389) of dimension 32 and level 389 over Q [ Modular abelian variety 389A of dimension 1, level 389 and conductor 389 over Q, Modular abelian variety 389B of dimension 2, level 389 and conductor 389^2 over Q, Modular abelian variety 389C of dimension 3, level 389 and conductor 389^3 over Q, Modular abelian variety 389D of dimension 6, level 389 and conductor 389^6 over Q, Modular abelian variety 389E of dimension 20, level 389 and conductor 389^20 over Q ]
%magma print LRatio(D[5], 1);
51200/97
factor(51200)
2^11 * 5^2