Sharedwww / talks / pyrex / mod-paper.texOpen in CoCalc
Author: William A. Stein
1\documentclass[12pt, landscape]{article}
2\usepackage{fullpage}
3\title{Modular Symbols, Modular Forms and Modular Abelian
4Varieties in MAGMA}
5\author{William Stein\\
6{\tt http://modular.fas.harvard.edu}}
7\date{IHP Minicourse: October 4--8, 2004}
8\include{macros}
9\usepackage[hypertex]{hyperref}
10\usepackage{python}
11\setlength{\parindent}{0cm}
12
13\begin{document}
14\sf\large
15\maketitle
16
17\begin{abstract}
18\LARGE
19\par\noindent{}I found MAGMA frustrating and incomprehensible until Allan Steel
20  visited Berkeley and intensely explained it to me for two days.
21  Since then, MAGMA has seemed much easier.  Now it is my turn. In these lectures, I'll
22  try to show you the central ideas needed to compute with modular
23  forms and modular abelian varieties in MAGMA.  These are the
24  insights I often tell people when discussing computing with modular
25  forms.
26\end{abstract}
27
28\newpage
29\tableofcontents
30\newpage
31
32\setlength{\parskip}{1em}
33\mbox{}\vspace{1cm}
34
35\begin{center}
36{\Huge \bf Background}
37\end{center}
38
39\begin{itemize}
40\item You are very familiar with the basics of MAGMA
41\item I will not assume you know about modular symbols and modular forms.
42\end{itemize}
43
44\vspace{2ex}
45
46\begin{center}
47{\Huge \bf Acknowledgements}
48\end{center}
49\begin{itemize}
50\item {\bf Kevin Buzzard} had a major influence on how I designed the modular
51symbols and Dirichlet characters code for MAGMA.
52\item {\bf David Kohel} wrote
53an early version of the Dirichlet characters package.
54\item The main reason
55any of this code is efficient is that {\bf Allan Steel} has massively
56optimized the exact dense linear algebra core of MAGMA, partly in
57response to my requests.
58\item The algorithms owe a major debt to
59{\bf John Cremona}'s book and {\bf Loic Merel}'s modular symbols article.
60\end{itemize}
61\newpage
62
63\section{Dirichlet Characters}
64Spaces of modular forms of integer weight $\geq 2$ are built out of spaces
65defined by a level, weight, and Dirichlet character.
66A \defn{Dirichlet character} over a domain~$R$ is a map $\eps:\Z\to R$ such
67that for some homomorphism $f:(\Z/N\Z)^* \to R^*$
68we have
69$$70 \eps(a) = \begin{cases} 0 & \text{if }(a,N)\neq 1,\\ 71 f(a \text{ mod } N) & \text{if }(a,N)=1. 72 \end{cases} 73$$
74
75Create Dirichlet characters by creating the group
76of  all Dirichlet characters of modulus $N$ over a ring $R$
77using the  {\tt DirichletGroup} command.
78\begin{verbatim}{Creation of a DirichletGroup}
79> G<a,b,c> := DirichletGroup(8*13, CyclotomicField(12));
80> G;
81Group of Dirichlet characters of modulus 104 over Cyclotomic
82Field of order 12 and degree 4
83
84> // WARNING: The default ring is Q, not Q(zeta_n), where n=exponent((Z/nZ)^*) !
85> DirichletGroup(8*13);
86Group of Dirichlet characters of modulus 104 over Rational Field
87\end{verbatim}
88
89\newpage
90The three generators of $G$ correspond to the decomposition
91$$92(\Z/104\Z)^* = \langle 79 \rangle \times \langle 53 \rangle 93 \times \langle 41 \rangle, 94$$
95where $79\con -1\pmod{4}$ generates $(\Z/4\Z)^*$,
96the element $53 \con 5\pmod{8}$ generates the non-$\pm 1$ factor
97of $(\Z/8\Z)^*$, and $41\con 2\pmod{13}$ generates $(\Z/13\Z)^*$.
98\begin{verbatim}{Invariants of characters}
99> Order(a);
1002
101> Order(b);
1022
103> Order(c);
10412
105> Conductor(a);
1064
107> Conductor(b);
1088
109> Conductor(c);
11013
111> a(3);
112-1
113> b(3);
114-1
115> c(3);
116zeta_12^2 - 1
117\end{verbatim}
118We can also do arithmetic with Dirichlet characters.
119\begin{verbatim}{Arithmetic with characters}
120> G<a> := DirichletGroup(5,CyclotomicField(4));
121> H<b> := DirichletGroup(7,RationalField());
122> Parent(a*b);
123Group of Dirichlet characters of modulus 35 over Cyclotomic Field
124of order 4 and degree 2
125\end{verbatim}
126
127
128In addition to the handbook, I encourage you to look at the source code, which
129is completely available in the following file (nothing is in C):
130\begin{center}
131  {\tt package/Geometry/ModSym/dirichlet.m}
132\end{center}
133
134\newpage\section{Modular Symbols}
135\subsection{Introduction}
136Computation of spaces $\sM_k(N,\eps)$ of {\bf modular symbols}
137is the heart of most of the algorithms in MAGMA for computing
138with modular forms and modular abelian varieties:
139\begin{itemize}
140\item Computing spaces $M_k(N,\eps)$ of {\bf modular forms}
141involves modular symbols algorithms and enumeration of Eisenstein
142series.
143\item Modular abelian varieties viewed
144as complex vector spaces modulo lattices, where the lattices are
145naturally viewed as spaces of modular symbols.
146\end{itemize}
147
148References:
149\begin{itemize}
150\item My Ph.D. thesis {\em Explicit Approaches to Modular Abelian Varieties}
151\item Loic Merel's {\em Universal Fourier Expansions of Modular Forms}.
152\end{itemize}
153
154Fix a positive integer~$N$, an integer $k\geq 2$, and a Dirichlet
155character~$\eps$ of level~$N$.    Let $\sM_k(N,\eps)$ be the
156space of modular symbols of level $N$, weight $k$, and character $\eps$,
157which we view as being defined by the following algorithm.
158As motivation for computing modular symbols, keep in mind
159that there is an isomorphism of $\T$-modules
160$$161 \sM_k(N,\eps) \isom S_k(N,\eps)^{\oplus 2} \oplus E_k(N,\eps), 162$$
163where $S_k(N,\eps)$ is the space of cusp forms of type
164$N,k,\eps$, and $E_k$ is the space of Eisenstein series
165of that type.
166
167\begin{algorithm}{Manin Symbols}\label{alg:manin}
168This algorithm computes a presentation for the space
169$\sM_k(N,\eps)$ of modular symbols,
170as a vector space over $K=\Q(\eps)$.
171\begin{steps}
172
173\item{}[Generating Manin Symbols]
174Create a list of the distinct Manin symbols $[X^i Y^{k-2-i}, (c,d)]$,
175where $i=0,\ldots, k-2$, and $(c,d)\in\P^1(N)$, so
176$c,d\in\Z/N\Z$ and $\gcd(c,d,N)=1$.  Let $V$ be the $K$-vector
177space generated by these Manin symbols.
178
179\item{}[Subspace of Relations] \label{step:rels}
180The group $\GL_2(\Q)$ acts on $V$ on the right by
181$$[P(X,Y),\,(c,d)].\abcd{a}{b}{c}{d} = [P(dX-bY,-cX+aY),\,(au+cv,bu+dv)].$$
182Let $S=\abcd{0}{-1}{1}{0}$ and $T=\abcd{0}{-1}{1}{-1}$, and
183let $W$ be the suspace of $V$ generated by the elements
184\begin{equation}\label{eqn:maninrels}
186 \end{equation}
187 for all generating manin symbols $x$.
188
189\item{}[Quotient] Using sparse linear algebra techniques,
190compute and output the quotient
191$192 \sM_k(N,\eps) \isom V/W, 193$
194This is essentially the same as finding the reduced row echelon form
195of the matrix whose rows are given by the relations (\ref{eqn:maninrels}).
196The output is a list of freely generating Manin symbols
197$x_0,\ldots, x_n$, and all other Manin symbols written as linear
198combinations of $x_0,\ldots, x_n$.
199\end{steps}
200\end{algorithm}
201
202There is a \defn{star involution} $*$ on $\sM_k(N,\eps)$, and
203for many computations it is sufficient to compute in
204one of the quotients
205$$\sM_k(N,\eps)/(*-1)\qquad\text{or}\qquad \sM_k(N,\eps)/(*+1).$$
206We compute this quotient
207directly by including the relations $x+xI$ or $x-xI$ in~$W$
208in Step~\ref{step:rels}, where $I=\abcd{-1}{0}{0}{1}$.
209
210We illustrate modular symbols by using MAGMA to compute a presentation
211for $\sM_5(13,\eps)$, where $\eps$ has order~$4$, so $K=\Q(i)$.
212\begin{verbatim}{Modular symbols creation}
213> G<eps> := DirichletGroup(13, CyclotomicField(4));
214> eps(-1);
215-1
216> Order(eps);
2174
218> M := ModularSymbols(eps, 5);
219> M;
220Full modular symbols space of level 13, weight 5, character eps,
221and dimension 8 over Cyclotomic Field of order 4 and degree 2
222\end{verbatim}
223Thus $\sM_5(13,\eps)$ has dimension~$8$ as a vector space over $\Q(i)$.
224Note that the level $N=13$ is encoded as the modulus of $\eps$,
225so it is not necessary to specify $N$ when defining $\sM_k(N,\eps)$.
226The following command enumerates a basis represented as Manin symbols.
227\begin{verbatim}{Basis of Manin symbols}
228> [ManinSymbol(x)[1] : x in Basis(M)];
229[
230    <X^3, (0 1)>,
231    <X^3, (1 11)>,
232    <X^3, (1 5)>,
233    <X^3, (1 3)>,
234    <X^3, (1 4)>,
235    <X^3, (1 6)>,
236    <X^3, (1 12)>,
237    <X^3, (1 0)>
238]
239\end{verbatim}
240The command {\tt ManinSymbol} is necessary because elements
241of $\sM_k(N,\eps)$ print by default as modular symbols.
242If $[P(X,Y),(c,d)]$ is a Manin symbol, and $g=\abcd{a}{b}{c'}{d'}\in\SL_2(\Z)$
243satisfies $c\con c'$ and $d\con d' \pmod{N}$, then
244the corresponding modular symbol is
245$P(dX-bY,-cX+aY) \{g(0),g(\infty)\}$.
246\begin{verbatim}{Corresponding modular symbol}
247> M.1;
248X^3*{0, oo}
249> M.2;
250(1331*X^3 + 363*X^2*Y + 33*X*Y^2 + Y^3)*{-1/11, 0}
251\end{verbatim}
252
253\begin{remark}
254  I think my current implementation of computation of the presentation
255  for modular symbols in MAGMA take significantly more memory than it
256  should.
257\end{remark}
258
259\subsection{Efficiency Trick: Work Mod~$p$}
260For many computations computing with modular symbols modulo~$p$
261is enough, and can be {\em vastly more efficient}.  If we create a group
262{\tt DirichletGroup(N,R)} of Dirichlet characters with $R$
263a finite field, then the corresponding space of modular symbols
264is a vector space over~$R$.  In MAGMA this vector space
265is defined by Algorithm~\ref{alg:manin} but with $K=R$.
266
267\begin{verbatim}{Modular symbols mod}
268> G<a,b,c> := DirichletGroup(2000,GF(5));
269> Conductor(c);
2705
271> Order(c);
2724
273> M := ModularSymbols(c,3);
274> M;
275Full modular symbols space of level 2000, weight 3, character c,
276and dimension 1200 over Finite field of size 5
277\end{verbatim}
278Most code for modular symbols views the base field
279as generic, so it is identical for finite fields and
280characteristic~$0$.
281
282\vspace{1ex}
283
284\par\noindent{\bf BIG WARNING:} {\em This need {\em not} be a
285  mod~$p$ reduction'' of the space in characteristic $0$.  In
286  particular when $p$ is small it is possible that there is
287  spurious'' torsion.}
288\begin{verbatim}{Spurious torsion}
289> function f(N,k)
290     return Dimension(ModularSymbols(N,k,GF(2))) -
291            Dimension(ModularSymbols(N,k));
292  end function;
293> [N : N in [2..100] | f(N,2) gt 0];
294[ 5, 10, 13, 17, 25, 26, 29, 34, 37, 41, 50, 53, 58, 61, 65, 73,
29574, 82, 85, 89, 97 ]
296\end{verbatim}
297In each case the dimension is one bigger, except for
298$65$ and $85$, when it is off by~$3$.
299
300For an application of this efficient trick, see
301Buzzard-Stein, A Mod~$5$ Approach to Artin's Conjecture''.
302
303\subsection{Hecke Operators}
304The spaces $\sM_k(N,\eps)$ are equipped with a commuting
305ring of Hecke operators $T_n$, for all positive integers~$n$.
306MAGMA computes these Hecke operators using Merel's Heilbronn matrix
307formulas.  For each~$n$, Merel defines a computable set $S_n$ (in fact
308various sets) of matrices of determinant$n$ such that
309$$310 T_n(x) = \sum_{g\in S_n} x|g. 311$$
312The sets $S_n$ only depend on $n$, not on $k,N,\eps$, and the
313cardinality of $S_n$ is $O(n\log(n))$ [[double check--maybe only
314for $n$ prime]].
315
316The command to list the set $S_n$ for a given~$n$, returns
317the matrices as a sequence whose entries are the integer
318sequences corresponding to the elements of $S_n$.
319\begin{verbatim}{Heilbronn matrices}
320> HeilbronnMerel(2);
321[
322[ 1, 0, 0, 2 ],
323[ 1, 0, 1, 2 ],
324[ 2, 0, 0, 1 ],
325[ 2, 1, 0, 1 ]
326]
327> #HeilbronnMerel(29);
328199
329> #HeilbronnMerel(10007);
330337977
331> #HeilbronnCremona(10007);    # in some cases these can be used...
33267698
333\end{verbatim}
334We next compute a Hecke operator on the space $\sM_5(13,\eps)$ defined
335above.  We do not print the full Hecke operator out here,
336since that would take too much space, but instead print
337the factorization of its characteristic polynomial.
338\begin{verbatim}{Hecke operators}
339> T_2 := HeckeOperator(M,2);
340> Nrows(T_2);
3418
342> T_2[1];
343(zeta_4 + 16 -3/4 1/4 3/4 -3/4 0 2 -3/2)
344> Factorization(CharacteristicPolynomial(T_2));
345[
346  <$.1 - 16*zeta_4 - 1, 1>, 347 <$.1 - zeta_4 - 16, 1>,
348  <$.1^3 + (zeta_4 + 1)*$.1^2 - 23*zeta_4*$.1 - 29*zeta_4 + 29, 2> 349] 350\end{verbatim} 351The characteristic polynomial has$2$factors that appear 352with multiplicity one, which correspond to Eisenstein series, 353and a factor with multiplicity$2$, which corresponds 354to the space of cusp forms. 355 356 357\subsection{Subspaces} 358The spaces$\sM_k(N,\eps)$have many important subspaces. 359MAGMA computes the cuspidal subspace$\sS_k(N,\eps)$as 360the kernel of a natural map to a space of {\em boundary 361modular symbols}; this subspace corresponds is 362isomorphic to$S_k(N,\eps)^{\oplus 2}$. 363\begin{verbatim}{Cuspidal subspace} 364> S := CuspidalSubspace(M); S; 365Modular symbols space of level 13, weight 5, character eps, and 366dimension 6 over Cyclotomic Field of order 4 and degree 2 367> Factorization(CharacteristicPolynomial(HeckeOperator(S,2))); 368[ 369 <$.1^3 + (zeta_4 + 1)*$.1^2 - 23*zeta_4*$.1 - 29*zeta_4 + 29, 2>
370]
371\end{verbatim}
372
373There are other interesting subspaces, such as the new and
374old subspaces.  The old subspace is the subspace generated
375by the images of all maps from lower level, and the new subspace
376is the kernel of all maps to lower level.  In the following
377example we compute the new subspace of
378$\sM_2(33,1)$, where $1$ denotes the trivial character.
379\begin{verbatim}{New subspace}
380> M := ModularSymbols(33);
381> M;
382Full modular symbols space for Gamma_0(33) of weight 2 and
383dimension 9 over Rational Field
384> NewSubspace(M);
385Modular symbols space for Gamma_0(33) of weight 2 and dimension 3
386over Rational Field
387\end{verbatim}
388
389\subsection{Decomposition}
390For many applications, the most important operation on spaces of
391modular symbols is {\tt Decomposition}, which involves writing
392$\sM_k(N,\eps)$ as a sum of spaces that cannot be split
393further using Hecke operators of index coprime to the level
394up to some bound $b$.  Since the Hecke algebra is commutative,
395each subspace is preserved by the Hecke operators.
396
397\begin{verbatim}{Decomposition}
398> M := ModularSymbols(33,2);
399> Decomposition(M,2);
400[
401    Modular symbols space for Gamma_0(33) of weight 2 and
402    dimension 3 over Rational Field,
403    Modular symbols space for Gamma_0(33) of weight 2 and
404    dimension 2 over Rational Field,
405    Modular symbols space for Gamma_0(33) of weight 2 and
406    dimension 4 over Rational Field
407]
408\end{verbatim}
409
410The command {\tt HeckeBound} returns an integer~$b$, so
411that {\tt Decomposition(M,c)} equals {\tt Decomposition(M,b)}
412for all $c\geq b$.
413\begin{verbatim}{Hecke bound}
414> HeckeBound(M);
4158
416\end{verbatim}
417
418\begin{remark}
419  I think that a careful complexity analysis of decomposition would
420  reveal that the complexity is at least $O((Nk)^6)$, the running time
421  being dominated by the factorization of characteristic polynomials
422  on a space of dimension $O(Nk)$.  No such complexity analysis has
423  been done, as far as I know, except that Giesbrecht has given a
424  carefully analyzed algorithm for computing rational Jordan form,
425  which is a problem closely related to decomposing modular symbols
426  spaces.
427\end{remark}
428
429The precise algorithm used for decomposition in MAGMA was created and
430implemented by Allan Steel, and I don't completely understand it, and
431I don't think it's been published anywhere.
432
433\section{Modular Forms}
434\subsection{Definitions}
435\begin{definition}[Modular Forms]
436The finite-dimensional complex vector space
437$438 M_k(N,\eps) 439$
440of \defn{modular forms} of level~$N$, weight~$k$, and character~$\eps$ is
441the set of holomorphic functions~$f$ on
442$$443 \h^* = \{z \in \C \,:\, \Im(z) > 0 \} \union \P^1(\Q) 444$$
445such
446$$447 f|[g]_k := \det(g)^{k-1} (cz+d) f(g(z)) = \eps(g) f, 448$$
449where $\eps(g) = \eps(a)$.
450\end{definition}
451
452A \defn{cusp form} is a modular form such that $f(\P^1(\Q)) = \{0\}$,
453and we denote the subspace of cusp forms by $S_k(N,\eps)$.
454
455Any $f\in M_k(N,\eps)$ has a representation
456$$457 f(z) = \sum_{n=0}^{\infty} a_n q^n, \qquad q(z) = e^{2\pi i z}. 458$$
459The Hecke operators $T_p$, for~$p$ prime, act on $M_k(N,\eps)$ by
460$$461 T_p(f) = \sum_{n=0}^{\infty} a_{np} q^n + \eps(p) p^{k-1} f(q^n), 462$$
463and there is a similar definition of $T_n$ for any~$n$.
464
465\subsection{Computing Modular Forms Using MAGMA}
466Given $N,k,\eps$, MAGMA can compute a basis of power series expensions
467as above, modulo a power of~$q$.
468One way to compute a basis for all cusp forms is to use
469the {\tt qExpansionBasis} command, applied to the cuspidal
470subspace of a space of modular symbols.
471
472%\begin{example}
473First we compute $S_2(13,\eps)$, where $\eps$ has
474order~$6$.  This space has dimension~$1$ over the
475complex numbers.
476
477\begin{verbatim}{Power Series}
478> G<eps> := DirichletGroup(13,CyclotomicField(6));
479> M := ModularSymbols(eps,2, +1);
480> S := CuspidalSubspace(M);
481> S;
482Modular symbols space of level 13, weight 2, character eps, and
483dimension 1 over Cyclotomic Field of order 6 and degree 2
484> qExpansionBasis(S,4);
485[
486    q + (-zeta_6 - 1)*q^2 + (2*zeta_6 - 2)*q^3 + O(q^4)
487]
488\end{verbatim}
489The {\tt +1} in the {\tt ModularSymbols} command computes
490the quotient $$\sM_k(N,\eps)/(*-1),$$ which is all that
491is needed to compute $S_k(N,\eps)$, since
492$\sM_2(13,\eps)/(*-1)\isom S_k(N,\eps) \oplus E_k(N,\eps)'$,
493where $E_k(N,\eps)'$ is a certain subspace of the Eisenstein
494space.
495
496The following example has bigger dimension and there
497are old forms.
498\begin{verbatim}{Oldforms and expansions}
499> M := ModularSymbols(33,2);
500> S := CuspidalSubspace(M);
501> qExpansionBasis(S,10);
502[
503    q - q^5 - 2*q^6 + 2*q^7 - 2*q^8 - q^9 + O(q^10),
504    q^2 - q^4 - q^5 - q^6 + 2*q^7 - q^8 + q^9 + O(q^10),
505    q^3 - 2*q^6 - q^9 + O(q^10)
506]
507> qExpansionBasis(OldSubspace(S),10);
508[
509    q - 2*q^2 + 2*q^4 + q^5 - 2*q^7 - 3*q^9 + O(q^10),
510    q^3 - 2*q^6 - q^9 + O(q^10)
511]
512> qExpansionBasis(NewSubspace(S),10);
513[
514    q + q^2 - q^3 - q^4 - 2*q^5 - q^6 + 4*q^7 - 3*q^8 + q^9 +
515        O(q^10)
516]
517\end{verbatim}
518In this example we compute a basis of $q$-expansion corresponding
519to a simple factor of $S_2(389,1)$.
520\begin{verbatim}{Basis of expansions}
521> M := ModularSymbols(389,2, 1);
522> S := CuspidalSubspace(M);
523> D := Decomposition(S,2);
524> V := D[3]; V;
525Modular symbols space for Gamma_0(389) of weight 2 and dimension
5263 over Rational Field
527> qExpansionBasis(V,10);
528[
529    q - q^5 - 2*q^6 - q^7 + 2*q^8 - q^9 + O(q^10),
530    q^2 - q^3 + O(q^10),
531    q^4 - q^5 - q^6 + q^9 + O(q^10)
532]
533> qEigenform(V,6);    // eigenform in span of above q-expansions
534q + a*q^2 - a*q^3 + (a^2 - 2)*q^4 + (-a^2 + 1)*q^5 + O(q^6)
535> BaseRing(Modulus(Parent($1))); 536Univariate Quotient Polynomial Algebra in a over Rational Field 537with modulus a^3 - 4*a - 2 538\end{verbatim} 539%\end{example} 540 541The {\tt qExpansionBasis} command does not work on the full space of 542modular symbols, because the algorithm compute the$q$-expansions 543using systems of Hecke eigenvalues on modular symbols (and 544Atkin-Lehner-Li theory), and these do not determine the constant terms 545of the$q$-expansions of Eisenstein series. 546 547I wrote a package for computing with modular forms that makes no 548direct reference to modular symbols, but which is mostly built on the 549modular symbols machinery. 550The command {\tt ModularForms(N,k,eps)} creates the 551direct sum 552$$553 \bigoplus_{\text{\Gal(\Qbar/\Q)-conjugates }\eps'} M_k(N,\eps') 554$$ 555where the sum is over all$\Gal(\Qbar/\Q)$-conjugates~$\eps'$of~$\eps$. 556This is a vector space over$\Q$, and even better, a free$\Z$-module. 557 558\begin{remark} 559{\bf WARNING.} 560 I think that defining {\tt ModularForms(N,k,eps)} this way was a 561 {\em bad design decision} (on my part!), and I should have defined 562 {\tt ModularForms(N,k,eps)} to be$M_k(N,\eps)$as a 563$\Q(\eps)$-vector space, and I intend to change this (while keeping 564 the old definition as an option). The advantage of the choice 565 I made is that, e.g., reduction modulo~$p$make sense. 566\end{remark} 567 568\begin{definition}[Newform] 569A \defn{newform} is an element$f\in S_k(N,\eps)$that is in the kernel 570of the maps to level properly dividing~$N$, is an eigenvector 571for every Hecke operator, and is normalized so the coefficient of~$q$572is~$1$. 573\end{definition} 574 575One can compute Eisenstein series and a list of all newforms (gathered 576together in$\Gal(\Qbar/\Q)$-conjugacy classes) using spaces of 577modular forms using the {\tt Newforms} command. 578 579In the following example we compute the two newforms in$M_{12}(1)$. 580One newform is the Ramanajun$\Delta$function, and the other is 581the normalized Eisenstein series of weight~$12$. 582\begin{verbatim}{Newforms} 583> M := ModularForms(1,12); 584> Newforms(M); 585[* [* 586q - 24*q^2 + 252*q^3 - 1472*q^4 + 4830*q^5 - 6048*q^6 - 16744*q^7 587+ O(q^8) 588*], [* 589691/65520 + q + 2049*q^2 + 177148*q^3 + 4196353*q^4 + 59048828126*q^5 + 362976252*q^6 + 1977326744*q^7 + O(q^8) 591*] *] 592\end{verbatim} 593In the next example, we compute$S_2(23)$, which is spanned by 594two conjugate eigenforms. 595\begin{verbatim}{Conjugate eigenforms} 596> M := ModularForms(23,2); 597> S := CuspidalSubspace(M); 598> S; 599Space of modular forms on Gamma_0(23) of weight 2 and dimension 2 600over Integer Ring. 601> Newforms(S); 602[* [* 603q + a*q^2 + (-2*a - 1)*q^3 + (-a - 1)*q^4 + 2*a*q^5 + (a - 2)*q^6 604 + (2*a + 2)*q^7 + O(q^8), 605q + b*q^2 + (-2*b - 1)*q^3 + (-b - 1)*q^4 + 2*b*q^5 + (b - 2)*q^6 606 + (2*b + 2)*q^7 + O(q^8) 607*] *] 608> Parent($1[1][1]);
609Space of modular forms on Gamma_0(23) of weight 2 and dimension 2
610over Number Field with defining polynomial x^2 + x - 1 over the
611Rational Field.
612\end{verbatim}
613Listing all the conjugate newforms is somewhat silly, because they
614all look identical; they are just defined over different copies
615of the field generated by the Fourier coefficients.  In particular,
616adding the two newforms together is not defined in MAGMA (it
617doesn't give the trace).
618\begin{verbatim}{Arithmetic Problem}
619> f := Newforms(S)[1][1];  g := Newforms(S)[1][2];
620> f + g;
621>> f + g;
622     ^
623Runtime error in '+': Arguments 1 and 2 have incompatible
624coefficient rings.
625\end{verbatim}
626For many computations that really require arithmetic with
627all the conjugates of a form, one should just embed the forms
628in the complex numbers or a $p$-adic field, where $p$ split.
629Computation of such embeddings is built in:
630\begin{verbatim}{Embeddings}
631> ComplexEmbeddings(f);
632[* [*
633q - 1.618033988749894848204586834365638117720*q^2 +  [ truncated ... ]
634q + 0.618033988749894848204586834365638117720*q^2 -  [ truncated ...]
635*] *]
636> $1[1][1] +$1[1][2];
6372*q - q^2 - q^4 - 2.0...*q^5 -
639[* [*
640O(2^20) + (1 + O(2^20))*q + ((1 + O(2^20))*a + O(2^20))*q^2 + [ truncated ]
641O(2^20) + (1 + O(2^20))*q + ((1 + O(2^20))*b + O(2^20))*q^2 + [ truncated ]
642*] *]
643> $1[1][1] +$1[1][2];       // since 2 doesn't split.
644>> $1[1][1] +$1[1][2];
645            ^
646Runtime error in '+': Arguments 1 and 2 have incompatible
647coefficient rings.
649[* [*
650O(11^20) + (1 + O(11^20))*q + (273946294811098331671 + [ truncated ... ]
651*], [*
652O(11^20) + (1 + O(11^20))*q - (273946294811098331672 + [ truncated ... ]
653*] *]
654> $1[1][1] +$1[2][1];
655O(11^20) + (2 + O(11^20))*q - (1 + O(11^20))*q^2 + [ truncated ... ]
656\end{verbatim}
657The output of the embedding commands are also modular forms,
658so one can compute them to higher precision, etc.
659Also one can reduce newforms to characteristic~$p$.
660\begin{verbatim}{Reductions}
661> Reductions(f,2);
662[* [*
663q + $.1*q^2 + q^3 +$.1^2*q^4 + $.1*q^6 + O(q^8), 664q +$.1^2*q^2 + q^3 + $.1*q^4 +$.1^2*q^6 + O(q^8)
665*] *]
666> Reductions(f,11);
667[* [*
668q + 7*q^2 + 7*q^3 + 3*q^4 + 3*q^5 + 5*q^6 + 5*q^7 + O(q^8)
669*], [*
670q + 3*q^2 + 4*q^3 + 7*q^4 + 6*q^5 + q^6 + 8*q^7 + O(q^8)
671*] *]
672> f11 := Reductions(f,11)[1][1];
673> Type(f11);
674ModFrmElt
675> f11;
676q + 7*q^2 + 7*q^3 + 3*q^4 + 3*q^5 + 5*q^6 + 5*q^7 + O(q^8)
677> PowerSeries(f11,15);
678q + 7*q^2 + 7*q^3 + 3*q^4 + 3*q^5 + 5*q^6 + 5*q^7 + 7*q^8 + 2*q^9
679    + 10*q^10 + 4*q^11 + 10*q^12 + 3*q^13 + 2*q^14 + O(q^15)
680\end{verbatim}
681
682The following examples illustrates how {\tt ModularForms(N,k,eps)}
683is (confusingly) defined to be the direct sum of spaces for the
684conjugates of $\eps$.
685\begin{verbatim}{Modular forms are over the integers}
686> G<eps> := DirichletGroup(13, CyclotomicField(6));
687> M := ModularForms(eps);
688> BaseRing(M);
689Integer Ring
690> S := CuspidalSubspace(M);
691> S;
692Space of modular forms on Gamma_1(13) with character all
693conjugates of [eps], weight 2, and dimension 2 over Integer Ring.
694> Basis(S);
695[
696    q - 4*q^3 - q^4 + 3*q^5 + 6*q^6 + O(q^8),
697    q^2 - 2*q^3 - q^4 + 2*q^5 + 2*q^6 + O(q^8)
698]
699\end{verbatim}
700Recall from before though that the dimension of $S_2(13,\eps)$
701as a $\Q(\zeta_6)$-vector space is $1$.  However, there are two
702$\Gal(\Qbar/\Q)$-conjugates:
703\begin{verbatim}{Galois conjugates}
704> Newforms(S);
705[* [*
706q + (-a - 1)*q^2 + (2*a - 2)*q^3 + a*q^4 + (-2*a + 1)*q^5 + (-2*a
707+ 4)*q^6 + O(q^8),
708q + (-b - 1)*q^2 + (2*b - 2)*q^3 + b*q^4 + (-2*b + 1)*q^5 + (-2*b
709+ 4)*q^6 + O(q^8)
710*] *]
711\end{verbatim}
712
713
714\section{Modular Abelian Varieties}
715An abelian variety is a projective variety that is equipped with an
716algebraic group structure.  Since the variety is projective, the group
717structure must be abelian.  The abelian varieties of dimension~$1$ are
718exactly the elliptic curves.  Jacobians of curves of genus $>1$ are
719examples of abelian varieties of dimension $>1$, and it is a theorem that
720every abelian variety over an infinite field is a quotient of a Jacobian.
721
722The modular Jacobians $J_1(N)$ are a special class of Jacobians that
723are very well understood because of their connection with modular
724forms.  The abelian variety $J_1(N)$ is the Jacobian of the modular
725curve $X_1(N)$, which over~$\C$ is the quotient of the extended
726upper half plane $\h^*$ by
727$$728\Gamma_1(N) = \left\{ 729 \mtwo{a}{b}{c}{d}\in\SL_2(\Z) \, : \, 730 \mtwo{a}{b}{c}{d} \con \mtwo{1}{*}{0}{1}\pmod{N} 731\right\}. 732$$
733
734
735\begin{definition}[Modular Abelian Variety]
736An abelian variety~$A$ over a number field~$K$
737is a \defn{modular abelian variety} of level~$N$
738if it is a quotient of $J_1(N)$.
739\end{definition}
740
741There is an analogue of the Shimura-Taniyama-Weil conjecture for
742abelian varieties.  Over $\Q$, the simple modular abelian
743varieties~$A$ are supposed to be the simple abelian varieties of
744$\GL_2$-type, i.e., those whose endomorphism ring is an order in a
745number field of degree $\dim(A)$.  For more about this {\em open
746  conjecture}, see Ribet's beautiful paper {\em Abelian Varieties
747  over~$\Q$ and Modular Forms}.
748
749The new quotient of $J_1(N)$ breaks up as a product $\prod A_f$
750corresponding to the $\Gal(\Qbar/\Q)$-conjugacy classes of
751newforms~$f$.  The newform abelian varieties $A_f$ are simple abelian
752varieties over~$\Q$ and the dimension of $A_f$ is the degree of the
753field generated by the coefficients of~$f$.  For example, the isogeny
754classes of elliptic curves over~$\Q$ are in bijection with the
755$A_f$ with $f\in\Z[[q]]$.
756
757I wrote a MAGMA package for doing fairly general computations with
758modular abelian varieties, which builds on the modular symbols
759machinery described earlier in this paper.  Also, there are many
760functions that take spaces of modular symbols as input, and compute
761some quantity associated to the corresponding modular abelian
762varieties.  I've used this code mainly for investigations into
763visibility of Shafarevich-Tate groups.
764
765Here is a list of some items that one one wants to compute about
766modular abelian variety over~$\Q$:
767\begin{enumerate}
768\item (*) The {\em modular degree}, i.e., the square root of the
769  degree of the natural map $A\to A^{\vee}$ induced by virtual of $A$
770  being modular.
771\item Defining equations for $A$.
772\item (*) The Birch and Swinnerton-Dyer quotient $L(A,1)/\Omega_A$.
773\item\label{anrank} (*?) The order of vanishing $r=\ord_{s=1} L(A,s)$ and leading coefficient $L^{r}(A,1)/r!$
774  of the expansion of $L(A,s)$ about $s=1$.
775\item\label{mordell-weil} The Mordell-Weil group of $A$ and the regulator $\Reg_A$.
776\item\label{padic} The $p$-adic $L$-functions attached to $A$.
777\item (*?) The Tamagawa numbers $c_p$ of $A$.
778\item (*?) The torsion subgroup $A(\Q)_{\tor}$.
779\item (*) The intersection $A\cap B$, where $A,B\subset J$.
780\item (*) Whether $A$ is isomorphic to $A^{\vee}$, and more
781generally the minimal degree of a homomorphism $A \to A^{\vee}$.
782\item (?) Enumeration of the isogeny class of $A$ over~$\Q$.
783(Perhaps via images of $A$ under natural maps into other modular Jacobians,
784and quotients of~$A$ by carefully chosen finite subgroups.)
785\end{enumerate}
786My impression is that even for elliptic curves, unfortunately nobody
787has any clue about how to {\em provably} compute $r=\ord_{s=1} L(A,s)$
788when $r>3$; however, if we don't care about provable correctness, then
789computing~$r$ is straightforward (see, e.g., Cremona's book).  Except
790for (\ref{anrank}), algorithms to solve the above problems are in
791reasonable shape when $\dim(A)=1$, and would all provably terminate if
792we knew finiteness of $\Sha(A)$.  So far the situation for modular
793abelian varieties isn't nearly as complete.  The items in the above
794list indicated with a (*) are at least partially implemented in MAGMA
795for simple modular abelian varieties.
796
797Substantial work has been done on finding defining equations when
798$\dim(A)$ is small and $A = \Jac(X)$ for some curve~$X$, e.g., by the
799researchers in Essen.  The paper {\em Empirical evidence for the
800  {B}irch and {S}winnerton-{D}yer conjectures for modular {J}acobians
801  of genus 2 curves} then discussed methods for computing such an~$A$
802when $X$ has genus~$2$, along with the Cassels-Flynn book and many
803other papers.  In contrast to this trend, my approach has been to
804compute as much as possible about~$A$ without writing down defining
805questions; instead I exploit the special structure coming from the
806modularity of~$A$.  Regarding (\ref{mordell-weil}), computing the
807regulator and Mordell-Weil group seems to require having defining
808equations.  For (\ref{padic}) Robert Pollack could likely do much
809about adding computation of $p$-adic $L$-functions of abelian
810varieties to MAGMA.
811
812I found the algorithm for computing component groups and Tamagawa
813numbers.  It computes the order of the component group at primes~$p$
814such that $A_f$ has multiplicative reduction and $A_f$ is a quotient
815of $J_0(N)$.  In all cases it can find the Tamagawa number up to a
816power of~$2$, and in many cases it can also find the Tamagawa number.
817The reason it doesn't find the Tamagawa number in all cases is because
818the algorithm finds the order of the group, not its group structure,
819and the Tamagawa number is either the order of the group or the order
820of the $2$-torsion subgroup.  When the level is not prime, this
821algorithm relies on David Kohel's MAGMA package for computing with
822ideal classes in an Eichler order in a quaternion algebra, which is
823unfortunately the main code that my modular forms code depends on that
824I don't understand. It was what got me into using MAGMA in the first
825place.
826
827When $A$ is simple, I implemented an algorithm in MAGMA for computing
828the exact endomorphism ring of~$A$.  Then computing the minimal degree
829of any homomorphism $A\to A^{\vee}$ can be reduced to finding all
830solutions to a diophantine norm equation, up to units.  Fortunately
831MAGMA contains code for solving norm equations.  This summer Tseno
832Tselkov did a project with me, in which he implemented an algorithm to
833find the minimal degree of an isogeny between $A_f$ and $A_f^{\vee}$
834(which is not yet in the standard MAGMA distribution).  Very
835surprisingly, in all the data he computed, when $f\in 836S_2(\Gamma_0(N))$, the minimal degree is a power of~$2$.  This is
837hopefully the first step toward an algorithm to enumerate every
838element of the isogeny class of any $A_f$.
839
840
841\subsection{Modular Abelian Varieties and Modular Symbols}
842The following examples illustrate computation of most of the starred
843items in the list above.  In each case we create a simple space~$V$ of
844modular symbols; associated to $V$ there is a newform~$f$, and
845associated to~$f$ there is an abelian variety $A_f$, which in the
846examples is an optimal quotient of $J_0(N)$.  The space of modular
847symbols is'' the homology of $A_f$, which is a rich object equipped
848with structure coming from the modularity of $A_f$.  For example, the
849homology has a Hecke action.
850
851In the first example, we compute with simple factors of $J_0(389)$
852using commands applied to spaces of modular symbols (note that $389$
853is prime).  In
854Section~\ref{sec:modabvarpackage} we will do the same computations but
855using the modular abelian varieties package, which provides a nicer
856wrapper around these functions (and adds other things that are not
857possible using just modular symbols).  However, to most effectively
858use MAGMA, it is best to know about both ways of doing these
859computations.
860\begin{verbatim}{Modular abelian varieties via modular symbols}
861> M := ModularSymbols(389);
862> S := CuspidalSubspace(M);
863> D := NewformDecomposition(S);
864> [Dimension(A)/2 : A in D];          // dimensions of abvars A_f
865[ 1, 2, 3, 6, 20 ]
866> [ModularDegree(D[i]) : i in [1..#D]];
867[ 40, 144, 992, 17856, 20480 ]
868> [LRatio(D[i],1) : i in [1..#D]];    // BSD Ratios L(A_f,1)/Omega
869[ 0, 0, 0, 0, 51200/97 ]
870> Factorization(51200);
871[ <2, 11>, <5, 2> ]
8730.75931650029224679065762600319 2
874> E := EllipticCurve(A);  AnalyticRank(E);   // Watkin's new code
8752 0.7593000000
8771.487184621319346836916654326667 1
878> TamagawaNumber(D[1],389);          // c_{389} = 1 for elliptic curve
8791
880> TamagawaNumber(D[5],389);          // c_{389} = 97 for 20-dim quotient
88197
882> TorsionBound(D[5],13);             // multiple of order of torsion
88397
884> #RationalCuspidalSubgroup(D[5]);   // divisor of order of torsion
88597
886> Invariants(IntersectionGroup(D[1],D[2]));
887[ 2, 2 ]
888> Invariants(IntersectionGroup(D[1],D[5]));
889[ 20, 20 ]
890\end{verbatim}
891\begin{remark}
892If $E$ is the elliptic curve factor and $A$ is the $20$-dimensional
893factor, then the above computation, the BSD conjecture, and
894visibility theory imply
895that $\Sha(A) = 5^2 \cdot 2^?$ and
896$$(\Z/5\Z)^2 \isom E(\Q)/5 E(\Q)\subset \Sha(A).$$
897\end{remark}
898
899
900\subsection{The Modular Abelian Varieties Package}
901\label{sec:modabvarpackage}
902
903Given a Dirichlet character $\eps$ of modulus $N$, there is an abelian
904variety $J(N,\eps)$ whose rational homology corresponds to
905$\sS_2(N,\eps)$ viewed as a $\Q$-vector space; thus $J(N,\eps)$ is an
906abelian variety over $\Q$ (not $\Q(\eps)$!) that is isogenous to a
907product of abelian varieties $A_f$ attached to the
908$\Gal(\Qbar/\Q)$-conjugacy classes of newforms of level dividing $N$
909with character~$\eps$.
910
911If $A\subset J(N,\eps)$ is an abelian subvariety, then
912the image of $\H_1(A,\Q)$ in $\sS_2(N,\eps)$ is a vector
913subspace $V_A$, and $A$ is determined by $V_A$.
914
915An \defn{explicitly given modular abelian variety} is a modular
916abelian variety $B$ that is specified by giving
917a vector subspace $V \subset \sS_2(N,\eps)$ that
918corresponds to an abelian variety $A\subset J(N,\eps)$
919and a finite subgroup $G\subset A$.  Then $B\isom A/G$.
920Every modular abelian variety can be specified in this
921way, though it can be a highly nontrivial problem
922to figure out how.  For example, Jaocbians of Shimura curves
923are modular abelian varieties, but determining them explicitly
924in terms of abelian varieties $J(N,\eps)$ is nontrivial
925(see e.g. David Helm's Ph.D. thesis for more).
926
927MAGMA includes a package for computing with explicitly given modular
928abelian varieties.  The following code illustrates the computations
929that we did above, but instead uses the modular abelian varieties
930package:
931\begin{verbatim}{Modular abelian varieties package}
932> J := JZero(389); J;
933Modular abelian variety JZero(389) of dimension 32 and level 389
934over Q
935> D := Decomposition(J);
936> [Dimension(A) : A in D];
937[ 1, 2, 3, 6, 20 ]
938> [ModularDegree(A) : A in D];
939[ 40, 144, 992, 17856, 20480 ]
940> [LRatio(A,1) : A in D];
941[ 0, 0, 0, 0, 51200/97 ]
942> L := LSeries(D[1]); L;
943L(389A,s): L-series of Modular abelian variety 389A of dimension
9441, level 389 and conductor 389 over Q
9460.75931650029224679065762600319 2
947> TamagawaNumber(D[1],389);
9481 1 true
949> TamagawaNumber(D[5],389);
95097 97 true
951> TorsionLowerBound(D[5]);
95297
953> TorsionMultiple(D[5]);
95497
955> G := RationalCuspidalSubgroup(D[5]); G;
956Finitely generated subgroup ... with invariants [ 97 ]
957> B := D[5]/G; B;     // quotients by anything are defined.
958Modular abelian variety of dimension 20 and level 389 over Q
959> H := D[1] meet D[5];  // takes a while
960> H;
961Finitely generated subgroup ... with invariants [ 20, 20 ]
962\end{verbatim}
963
964\begin{remark}
965  I found (trivial-to-fix) bugs in my implementation of {\tt
966    ModularDegree} and {\tt LeadingCoefficient} functions while
967  preparing this talk; if you try the above example in MAGMA V2.11-6
968  you will get the wrong answers.  I'll upload a fix right after this
969  conference.
970\end{remark}
971
972The modular abelian varieties package allows for creation of much more
973general abelian varieties than the modular symbols package; for
974example, it supports arbitrary finite direct sums and quotients by
975finite subgroups.  Also, it includes explicit computation of endomorphism
976rings and hom rings over $\Q$.
977\begin{verbatim}{Computation of End}
978> J := JZero(22);
979> [Matrix(phi) : phi in Basis(End(J))];
980...
981\end{verbatim}
982This gives the following four matrices as generators:
983$$984\left(\begin{matrix} 9851 & 0 & 0 & 0 \\ 9860 & 1 & 0 & 0 \\ 9870 & 0 & 1 & 0 \\ 9880 & 0 & 0 & 1 989\end{matrix}\right),\quad 990\left(\begin{matrix} 9910 & 1 & 0 & 1 \\ 9920 & 0 & 0 & 0 \\ 9931 & 0 & 1 & -1 \\ 9940 & 1 & 0 & 1 \end{matrix}\right), 995$$
996$$997\left(\begin{matrix} 9980 & 1 & 0 & -1 \\ 9990 & 1 & 0 & 0 \\ 1000-1 & 2 & -1 & 1 \\ 1001-1 & 1 & 0 & 0 & 1002\end{matrix}\right),\quad 1003\left(\begin{matrix} 10040 & 1 & -2 & 1 \\ 1005-1 & 2 & -1 & 0 \\ 1006-1 & 0 & 1 & -1 \\ 10070 & -1 & 1 & -1 1008\end{matrix}\right). 1009$$
1010
1011Also one can do new computations with endomorphism rings.  For example, the following
1012is a table of the index of the Hecke algebra in its saturation in $\End(J_0(N))$, which
1013is a quantity that controls the relation between the modular degree and congruences
1014modular degree degrees (the congruence modulus''):
1015\begin{verbatim}{Index of Hecke Algebra in Saturation}
1016> function f(N)
1017      J := JZero(N);
1018      T := HeckeAlgebra(J);
1019      return Index(Saturation(T),T);
1020  end function;
1021> for N in [1..120] do print N, f(N); end for;
1022...
1023\end{verbatim}
1024This results in the following table:
1025\begin{center}
1026\begin{tabular}{|r|c|}\hline$N$ & $f(N)$\\\hline
10271&1\\
10282&1\\
10293&1\\
10304&1\\
10315&1\\
10326&1\\
10337&1\\
10348&1\\
10359&1\\
103610&1\\
103711&1\\
103812&1\\
103913&1\\
104014&1\\
104115&1\\
104216&1\\
104317&1\\
104418&1\\
104519&1\\
104620&1\\
1047\hline\end{tabular}
1048\begin{tabular}{|r|c|}\hline$N$ & $f(N)$\\\hline
104921&1\\
105022&1\\
105123&1\\
105224&1\\
105325&1\\
105426&1\\
105527&1\\
105628&1\\
105729&1\\
105830&1\\
105931&1\\
106032&1\\
106133&1\\
106234&1\\
106335&1\\
106436&1\\
106537&1\\
106638&1\\
106739&1\\
106840&1\\
1069\hline\end{tabular}
1070\begin{tabular}{|r|c|}\hline$N$ & $f(N)$\\\hline
107141&1\\
107242&1\\
107343&1\\
107444&2\\
107545&1\\
107646&2\\
107747&1\\
107848&1\\
107949&1\\
108050&1\\
108151&1\\
108252&1\\
108353&1\\
108454&3\\
108555&1\\
108656&2\\
108757&1\\
108858&1\\
108959&1\\
109060&2\\
1091\hline\end{tabular}
1092\begin{tabular}{|r|c|}\hline$N$ & $f(N)$\\\hline
109361&1\\
109462&2\\
109563&1\\
109664&2\\
109765&1\\
109866&1\\
109967&1\\
110068&2\\
110169&1\\
110270&1\\
110371&1\\
110472&2\\
110573&1\\
110674&1\\
110775&1\\
110876&2\\
110977&1\\
111078&2\\
111179&1\\
111280&4\\
1113\hline\end{tabular}
1114\begin{tabular}{|r|c|}\hline$N$ & $f(N)$\\\hline
111581&1\\
111682&1\\
111783&1\\
111884&2\\
111985&1\\
112086&1\\
112187&1\\
112288&8\\
112389&1\\
112490&1\\
112591&1\\
112692&16\\
112793&1\\
112894&4\\
112995&1\\
113096&8\\
113197&1\\
113298&1\\
113399&9\\
1134100&1\\\hline
1135\end{tabular}
1136% \begin{tabular}{|r|c|}\hline$N$ & $f(N)$\\\hline
1137% 101&1\\
1138% 102&1\\
1139% 103&1\\
1140% 104&4\\
1141% 105&1\\
1142% 106&1\\
1143% 107&1\\
1144% 108&54\\
1145% 109&1\\
1146% 110&2\\
1147% 111&1\\
1148% 112&8\\
1149% 113&1\\
1150% 114&1\\
1151% 115&1\\
1152% 116&4\\
1153% 117&1\\
1154% 118&2\\
1155% 119&1\\
1156% 120&32\\\hline
1157% \end{tabular}
1158\end{center}
1159This table suggests that if $p\mid f(N)$ is a prime, then $p^2\mid 11604\cdot N$, a fact closely related to what Ken Ribet proved at the
1161Raynaud birthday conference in Orsay a few years ago.  Also, Mazur
1162proved that $f(p)=1$ when $p$ is prime.
1163
1164\subsection{Three Open Problems}
1165I'd like to finish with three open problems whose solution is needed
1166in order to have a good theory for computing with modular abelian
1167varieties over number fields.
1168
1169
1170\begin{openproblem}
1171  Suppose $A$ and $B$ are explicitly given modular abelian varieties.
1172  Decide whether two explicitly given modular abelian varieties are
1173  isomorphic.  (I think I know how to do this unless some simple
1174  factor occurs with multiplicity bigger than $1$ in the isogeny
1175  decomposition of both $A$ and $B$.)
1176\end{openproblem}
1177
1178\begin{openproblem}
1179  Find an efficient way to compute the endomorphism ring
1180  $\End(A_f/K)$, for any number field $K$.
1181\end{openproblem}
1182By explicit, we mean give generators as a subgroup of
1183$\End(\H_1(A,\Z))$.  This ring can be computed using the Ribet-Shimura
1184theory of inner twists, but the formulas they give translated to
1185modular symbols are very slow; one needs a formula involving only
1186Manin symbols.
1187
1188\begin{openproblem}
1189  Suppose $A$ is an abelian variety over a number field $K$, that we
1190  have explicit generators for $\End(A)$, and that $A$ is isogenous to
1191  a power $B^n$ of a simple abelian variety~$B$.  Determine $A$ and
1192  find an explicit isogeny between $A$ and $B^n$.
1193\end{openproblem}
1194
1195I will say more about modular abelian varieties in the context
1196of the Birch and Swinnerton-Dyer conjecture in my lecture on Thursday
1197morning at 10:00am.
1198
1199%There are specific algorithms for computing the presentation for
1200%$\sM_k(N,\eps)$ in certain special cases that are better
1201
1202\end{document}
1203
`