\documentclass{article}
\bibliographystyle{amsalpha}
\include{macros}
%\title{Deciding Whether Two Simple Modular Abelian
%Varieties are Isomorphic}
\title{Explicit Modular Abelian Varieties over $\Q$}
\author{William Stein and Tseno Tselkov}
\begin{document}
\maketitle
\tableofcontents

\section{Introduction}

A {\em modular abelian variety}~$A$ over $\Q$ is an abelian variety
that admits a finite map to $J_1(N)$, for some positive integer $N$.

In this paper we will only consider modular abelian varieties defined
over~$\Q$.  In a future paper we hope to treat the general case...

\begin{definition}[$\GL_2$-type]
Suppose $A$ is a simple abelian variety over $\Q$. Then
$A$ is of $\GL_2$-type if and only if $\End(A)\tensor\Q$ is
a number field of dimension equal to $\dim(A)$.
\end{definition}

\begin{conjecture}[Ribet]\label{conj:ribmod}
The simple abelian varieties over $\Q$ of $\GL_2$-type are
exactly the simple modular abelian varieties.
\end{conjecture}
Ribet proves in \cite[Thm.~4.4]{ribet:abvars} Conjecture~\ref{conj:ribmod} 
is implied by Serre's conjectures \cite{serre:conjectures}
on modularity of two-dimensional odd mod $p$ Galois representations.
Also, Wiles et al. have proven Conjecture~\ref{conj:ribmod} for
all abelian varieties of dimension~$1$.

\subsection{Modular Abelian Varieties}
What are they?  Standard conjectures?  How we represent in computer.
Jacobian of Shimura curves...


{\bf Acknowledgement:} Allan Steel for mentioning Algorithm [[...]] for
saturation.
\section{Explicit Computations with Modular Abelian Varieties}

\subsection{Enumeration}
\begin{algorithm}[Enumerate Modular Abelian Varieties]{\sf
Given a positive integer $N$ this algorithm returns one explicit
modular abelian variety in each isogeny class of simple new
modular abelian varieties of level $N$.
}
\end{algorithm}

\begin{algorithm}[Decompose as Product]{\sf
Given an explicit modular abelian variety $A$,
this algorithm finds simples abelian varieties
$B_i$ and an isogeny $A\to \prod B_i$.
}\end{algorithm}
\begin{proof}

\end{proof}
Complexity?



\subsection{Isogenies}
\begin{algorithm}[Test if Isogenous]{\sf
    Given two explicit modular abelian varieties $A$ and $B$, this
    algorithm decides whether or not $A$ and $B$ are isogenous, and if
    so returns an explicit isogeny.

\begin{enumerate}
\item{} [$A$, $B$ both simple] When $A$ and $B$ are both simple they are
        isogenous if and only if the associated newforms are Galois conjugate. In
        this case, a natural isogeny is induced by the map on modular forms.
\item{} [Pair off factors] When $A$ and $B$ are not simple we pair off factors, i.e. for any
$C$ in a factorization of $A$ we try to find an isogenous $D$ in a factorization
of $B$. If such $D$ exists and the multiplicities of $C$ in $ A$ and $D$ in $B$ are the same 
we remove $D$ and continue with another $C$. Otherwise, $A$ and $B$ cannot be isogenous.
\end{enumerate}
}\end{algorithm}
\begin{proof}
When $A$ and $B$ are simple, by Proposition 3.2. in "Finiteness
Results for ..." $A$ and $B$ are isogenous if and only if the
corresponding newforms are Galois conjugate.

If $A \sim \prod_{i \in I} A_i^{e_i}$ and $B \sim \prod_{i \in I}
B_i^{e_i}$, so that $A_i \sim B_i$ for all $i \in I$, then we get that
the products $\prod_{i \in I} A_i^{e_i}$ and $\prod_{i \in I}
B_i^{e_i}$ are isogenous, so $A$ and $B$ are also isogenous.
   
Conversely, suppose that $A \sim B$ and $\varphi: A \to B$ is some
isogeny.  Let $A \sim \prod_{i \in I} A_i^{e_i}$ and $B \sim \prod_{j
  \in J} B_j^{f_j}$ be factorizations of $A$ and $B$ into products of
powers of non-isogenous simple abelian varieties. Fix an index $i \in
I$.  Combining the maps from $A_i$ to $A$, from $A$ to $B$, and the
projection to $B_j$ for each $j$ we obtain morphisms $\phi_{ij}: A_i
\to B_j$ for all $j \in J$. Since the image of an abelian variety is
an abelian variety and all $B_j$'s are simple it follows that
$\varphi_{ij}(A_i)$ is either zero or all of $B_j$, which means that
$A_i$ and $B_j$ are isogenous. It is not possible that all
$\varphi_{ij}(A_i)$ are zero since that would imply that $\varphi$
is the zero map, so we find a $B_j$ isogenous to $A_i$. Removing $A_i$
and $B_j$ from the factorizations and repeating this argument yields
that $A$ and $B$ are isogenous if and only if there is a bijection
between~$I$ and~$J$ such that $A_i$ is isogenous to $B_i$ for all $i$,
and $e_i = f_i$.
\end{proof}
Once factorizations of $A$ and $B$ into simples newform abelian
varieties are known, determining whether or not $A$ and $B$ are
isogenous is almost immediate.


\newpage
\subsection{The Endomorphism Ring}
We will use the following saturation algorithm later in
order to compute $\End(A)$ or $\Hom(A,B)$ given 
$\End(A)\tensor\Q$ or $\Hom(A,B)\tensor\Q$.
The Hermite and Smith normal forms of an integer matrix and their
properties are discussed at length in [[Cohen's book]].
\begin{algorithm}[Saturate]{\sf
Given a subgroup $L$ of $\Z^n$, this algorithm computes
the saturation $\Q L \cap \Z^n$ of $L$ in $\Z^n$.
Let $B$ be a basis for $L$.
\begin{enumerate}
\item{} [Hermite Normal Form] Find the Hermite Normal Form $H$ of $B$.
\item{} [Smith Normal Form] Compute the Smith Normal Form $S = P
  HQ$ of $H$ for some $P$ and $Q$. 
\item{} [Remove content] If $S$ has only ones on the diagonal
  return~$H$.  Otherwise, set $H = P H$, divide each row of $H$ by its
  content (the gcd of the entries), and go to step 2.
\end{enumerate}
}\end{algorithm}
\begin{proof}
In order to prove that the algorithm terminates, we must show that
if some diagonal entry of $S$ is not $1$, then some row of $PH$
has content bigger than $1$. 
\end{proof}

[[william--finish this.  include modular method for small prime
divisors of det...  See photo from 07/24.  Also look at NTL.]]
Complexity?

\begin{lemma}\label{lem:gal}
Let $K$ be a number field.
If an element $x\in \C$ is fixed by every element of $\Aut(\C/K)$,
then $x\in K$.
\end{lemma}
\begin{proof}
  If $x\in\Kbar$, this is standard Galois theory.  If $x\not\in
  \Kbar$, then $x$ is transcendental.  Since $x+1$ is also transcendental,
the fields $\Kbar(x)$ and $\Kbar(x+1)$ are isomorphic via a map $\sigma$
sending $x$ to $x+1$.  Every automorphism of a subfield of $\C$
extends to $\C$, so $\sigma$ extends to an automorphism of $\C$
that does not fix~$x$. [[I'm not completely convinced.]]
\end{proof}

\begin{proposition}\label{prop:end}
Let $A$ be a simple abelian variety over a number field $K$.
$$\End(A/K) = (\End(A/K)\tensor \Q)\cap \End(\Lambda_A),$$
where $\Lambda_A = \H_1(A,\Z)$ and we implicitly embed
$\End(A/K)$ in $\End(\Lambda_A)$, so the intersection
takes place in $\End(\Lambda_A)\tensor\Q$.
\end{proposition}
\begin{proof}
 
The inclusion of $\End(A/K)$ in the right hand side is obvious,
so suppose $\vphi \in (\End(A/K)\tensor \Q)\cap \End(\Lambda_A)$.
Then there is a positive integer $n$ such that $n\vphi\in \End(A/K)$.
Thus $n\vphi$ induces a complex-linear endomorphism of $\Tan(A_\C)$.   
Thus $\vphi$ induces a complex-linear endomorphism of $\Tan(A_\C)$,
and by hypothesis $\vphi$ preserves $\Lambda_A$.
An element of $\End(A/\C)$ is a complex linear map on $\Tan(A_\C)$ 
that preserves $\Lambda_A$, so $\vphi\in\End(A/\C)$.

There is an $n$ such that $n\vphi$ is
defined over $K$, so for any $\sigma\in\Gal(\C/K)$,
we have $\sigma([n]\vphi) - [n]\vphi = 0$.
But
$$\sigma([n]\vphi) = \sigma([n])\sigma(\vphi) = [n]\sigma(\vphi),$$
so
$$[n](\sigma(\vphi) - \vphi) = 0,$$
which implies $\sigma(\vphi)=\vphi$, since the kernel of $[n]$
is finite and image of $\sigma(\vphi)-\vphi$ is either infinite or $0$.
By Lemma~\ref{lem:gal}, $\vphi\in \End(A/K)$.
\end{proof}
Complexity?

[[This must be after Alg 2.9 to compute the $\End(A)$ in the first place.]]
\begin{algorithm}[Endomorphism Algebra as Field]{\sf
    Given a simple explicit modular abelian variety $A$ over $\Q$,
    this (randomized) algorithm returns a number field $K$ and an
    isomorphism $\End(A)\tensor\Q \to K$.
\begin{enumerate}
%\item{} [Field?] Check if $\End(A)$ is a field and quit if it is not. 
  
\item{} [Choose random endomorphism] Randomly pick an endomorphism
  $\varphi$ and compute its minimal polynomial $f$.
\item{} [Does endomorphism generate?]
If $\deg f$ = $\dim(A)$, then let $K$ be the
number field generated by a root~$\alpha$ of $f$.
Otherwise, go to step 1.
\item{} [Define an explicit isomorphism] Let $\Psi$ be the unique field
  homomorphism $\End(A)\tensor\Q \to K$ that sends~$\varphi$
  to~$\alpha$.  Then $\Psi$ is the desired isomorphism.
\end{enumerate}
}\end{algorithm}
\begin{proof}
%"Most" choices of $\varphi$ will have characteristic polynomial of degree
%$\dim(A)$, so in practice finding such $\varphi$ is easy. Then we build
%$K$ using the primitive element theorem.

By Ribet [...], because $A$ is simple, modular, and defined over $\Q$,
we know that $\End(A)\tensor\Q$ is a number
field of degree equal to $\dim(A)$.  (If $A$ were not defined over,
then $\End(A)\tensor\Q$ could be a non-commutative division algebra.)

By the primitive element theorem, there exists a $\varphi$ such that
$\deg(f) = \dim(A)$, where $f$ is the minimal polynomial of~$\varphi$.
Then since $\deg(f) = \dim(A)$ it follows that the
map $\Psi$ is an isomorphism (a nonzero homomorphism between number
fields of the same dimension is an isomorphism).
\end{proof}
Complexity?  This is where probability of choosing a primitive
element at random comes in...  This is CERTAINLY already already
analyzed somewhere in the literature.
``ON DENSITY OF PRIMITIVE ELEMENTS FOR FIELD EXTENSIONS JOEL V. BRAWLEY AND SHUHONG GAO''  

({\tt http://www.math.clemson.edu/faculty/Gao/papers/prim-ele.pdf})

\begin{algorithm}[Compute $\Hom(A,B)$]{\sf
Given explicit modular abelian varieties $A$ and $B$, this algorithm
computes $\Hom(A,B)$.
\begin{enumerate}
\item{} [Factorizations] Compute using Algorithm [[...blah...]]
  factorizations $\prod_{i \in I} C_i^{e_i}$ and $\prod_{i \in I}
  C_i^{f_i}$ of $A$ and $B$ respectively, where $I$ is some index set,
  the $C_i's$ are non-isogenous simple abelian varieties, and $e_i,
  f_i \geq 0$.
\item{} [Simple case] When $A \sim C^e$ and $B \sim D^f$, where $C, D$ are simple
abelian varieties we compute $\Hom(A,B)$ in the following way. If $C$ and
$D$ are not isogenous $\Hom(A,B) = 0$. If $C$ and $D$ are isogenous, 
$\Hom(A,B) = \Hom(C^e, D^f) \tensor \Q = M_{e \times f} (\End(C)
\tensor \Q)$. Then we compute $\Hom(A,B) \subset \Hom(A,B) \tensor \Q$
using algorithm [...].
\item{} [General case] We compute each $\Hom(C_i^{e_i}, C_j^{f_j})$ as in step
[...] and obtain $\Hom(A,B)$ as a block matrix with blocks $\Hom(C_i^{e_i},
C_j^{f_j})$.
\end{enumerate}
}\end{algorithm}
[[Remark: $A$ and $B$ need not be isomorphic to those products of $C_i$.
So you have to precompose with the isogeny $A\to \prod C_i^{e_i}$, etc.]]
\begin{proof}
Suppose first that $A \sim C^e$, $B \sim D^f$ with $C,D$ simple abelian varieties.
When $C$ and $D$ are not isogenous there is no morphism $A \to B$, so
$\Hom(A,B) =  0$. When $C$ and $D$ are isogenous, a morphism $C^e \to D^f$
over $\Q$ is given by an $e \times f$ matrix with entries from $\End(A) \tensor
\Q$, where the $(i,j)^{th}$ entry represents the morphism between the $i^{th}$
component of $A$ and $j^{th}$ component of $B$. We get $\End(A) \tensor \Q$
using algorithm [...]. Once we have $\Hom(A,B)
\tensor \Q$ to get $\Hom(A,B)$ we only need to apply algorithm [...].

In general, when $A = \prod_{i \in I} C_i^{e_i}$ and $B = \prod_{i \in I}
C_i^{f_i}$ we get $\Hom(C_i^{e_i}, C_j^{f_j})$ as before and combining these
blocks we obtain $\Hom(A,B)$.
\end{proof}

Complexity?

\begin{algorithm}[Compute $\End(A)$]
{\sf
Given an explicit modular abelian variety $A$, this algorithm
computes $\End(A)$.
\begin{enumerate}
\item{} [Initialize] Let $d=\dim(A_f)$, let $n=1$, and let $V$ be the
      zero subspace of $\End(A_f/\Q)\tensor\Q$.
\item{} [Compute Hecke operator]
Using ... compute the restriction of the Hecke operator
$T_n$ to $A_f$, as an element of $\End(A_f/\Q)\tensor\Q$.
\item{} [Increase $V$] Replace $V$ by $V+\Q\cdot T_n$.
\item{} [Finished?]
If $\dim(V) < d$, go to step 2.
\item{} [Saturate] Compute $\End(A_f/\Q) =
V \cap \End(\Lambda_{A_f})$ using algorithm ....
\end{enumerate}
}
\end{algorithm}
\begin{proof}
We need to show that the algorithm terminates, i.e. that the Hecke algebra
generates $\End(A_f/\Q) \tensor \Q$. But by Theorem 1 of Shimura's "On the
factors..." the image of $T \tensor \Q$ in $\End(A_f/\Q) \tensor \Q$ is a
subfield of degree $\dim A_f$. But $A_f$ is simple by Corollary 4.2 of Ribet's
"Twists of Modular Forms and ...", so Theorem 2.1 from Ribet's "Abvars over
$\Q$ and modular forms" implies that $\End(A_f/\Q) \tensor \Q$ also has
dimension $\dim(A_f)$. Thus the Hecke algebra generates $\End(A_f/\Q) \tensor
\Q$. By Proposition ~\ref{prop:end} once we have $\End(A_f/\Q) \tensor \Q$ we
apply algorithm [...] to get $\End(A_f/\Q)$.
\end{proof}
Complexity?

\subsection{Determining Isomorphism}

\begin{algorithm}[Norm Equation]{\sf
Given an order $\O$ in a number field $K$ and an element $a\in \Q$, 
this algorithm finds all solutions in $\O$ to the norm equation
$\Norm(x)=a$, up to units of $\O$.

Claus Fieker suggests the following algorithm (we should expand on that)
\begin{enumerate}
\item{} [Class Group] Find the class group of $K$.
\item{} [Ideals of bounded norm] Use linear programming to find all ideals of
norm up to some bound.
\item{} [Solve] Deduce all solutions to the norm equation up to units.
\end{enumerate}
}\end{algorithm}
\begin{proof}

\end{proof}

Complexity: need bound on number of Hecke operators needed
to generate.  Will come from Sturm's paper.

\begin{algorithm}[Test if Isomorphic]\label{alg:isom}{\sf 
Given explicit simple modular abelian varieties $A$ and $B$,
this algorithm either proves that $A$ and $B$ are not isomorphic,
or returns an explicit isomorphism between them.

\begin{enumerate}
\item{}[Equal?] If $A=B$, return ``yes'' and the identity map.
\item{}[Isogenous?]  Determine whether $A$ and $B$ are isogenous using [..].
If $A$ and $B$ are not isogenous then return ``no'', and if
$A$ and $B$ are isogenous, let $f: B \to A$ be an isogeny.
\item{}[Degree of isogeny]  Compute $d = \deg(f)$ using [..]. If $d$ is not a square, return ``no''.
\item{}[Endomorphism algebra] 
Compute the number field $K=\End(A)\tensor\Q$, and
an explicit embedding of $\End(A)$ into $K$ using [...].
\item{}[Hom space]  Explicitly compute $\Hom(A,B)$ using ...
\item{}[Image of Hom space]  Compute the image $H_f$ of $\Hom(A,B)$ in $\End(A)$
got by composing with $f$...
\item{}[Endomorphism ring] Compute the order $\O$ in $K$ generated by $\End(A)$ [...].
\item{}[Solve norm equation] Find solutions (up to units of $\O$) of the norm equations
$\Norm(x) = \pm \sqrt{d}$ in $\O$. If there are no solutions, return ``no''.   
\item{}[Lift to $H_f$?]   For each solution (up to units), check whether it lies in $H_f$.
\item{}[Isomorphic?]   If a solution $x$ lies in $H_f$, then return ``yes'' and $x\circ f^{-1}$.

\item{}[Not isomorphic?]   If none of the solutions lies in $H_f$, return ``no''.
\end{enumerate}
}\end{algorithm}
\begin{proof}
  Let $f:B \to A$ be an isogeny and denote its degree by $d$. Define
  $$H_f = \{f \circ g: g \in \Hom(A,B)\} \subset \End(A).$$
  Since
  degree is multiplicative, $A$ and $B$ are isomorphic if and only if
  $H_f$ contains an element of degree $d$. Embed $\End(A)$ into the
  number field $K =
  \End(A) \otimes \Q$ and let $\O$ be the order in $K$ generated by
  $\End(A)$. By Proposition 12.12 in Milne's "Abelian Varieties" for
  $x \in K$ we have $\Norm(x)^2 = \deg(x)$. Thus, finding an element
  of degree $d$ in $H_f$ is equivalent to finding $x \in \O$ with
  $\Norm(x) = \pm \sqrt{d}$, such that $x \in H_f$, where we view
$H_f$ as a subset of~$K$ using the above inclusions.
  
Using algorithm ..., we find all $x$ such that $\Norm(x) = \pm
\sqrt{d}$, up to units of $\O$.  There are frequently infinitely many
units, e.g., if $K$ is a real quadratic field, so there are often
infinitely many solutions to the norm equation and we can't directly
check whether at least one of these infinitely many are in $H_f$.
However, because there are only finitely many solutions up to units,
it will suffice to show that $H_f$ is stable under units and to check
whether each representative solution is in $H_f$.  Thus to finish
the proof of correctness of the algorithm, we verify that $x\in H_f$ if
and only if $xu \in H_f$, where $u$ is any unit of $\O$.  If $x = f
\circ g$ for some $g \in \Hom(A,B)$, then $xu = f \circ (g \circ u)$
is in $H_f$ since $g \circ u \in \Hom(A,B)$.  Conversely, if $xu\in
H_f$, then by what we have just shown $x = xuu^{-1} \in H_f$.
\end{proof}
[[done There are infinitely many units, so why does looking at finitely
many units suffice?!]]

[[done Fix inconsistency with $d$'s..]]


Complexity analysis.   (Often solving the norm equation probably
denominates...)

[[Discuss how non-simple case appears very difficult.]]

\subsection{Determining Minimal Degree of an Isogeny}

A small extension of algorithm [...] gives us the minimal degree of an
isogeny between two explicit isogenous modular abelian varieties.
[[add labels]]

\begin{algorithm}[Minimal Isogeny]{\sf
Given explicit simple modular abelian varieties $A$ and $B$,
this algorithm checks if $A$ and $B$ are isogenous and if so returns the
minimal degree of an isogeny $A \to B$ together with an explicit isogeny of
that degree..
\begin{enumerate}
\item{} [Equal?]  If $A=B$, return 1 and the identity map.
\item{} [Isogenous?]  Determine whether $A$ and $B$ are isogenous using [..].
       If $A$ and $B$ are not isogenous then return ``not isogenous'', and if
       $A$ and $B$ are isogenous, let $f : B \to A$ be some isogeny.
\item{} [Degree of some isogeny] Compute $\deg(f)$ using [..]. Write $\deg(f)$ as $a b^2$, where
          $a$ is squarefree.               
\item{} [Endomorphism algebra] Compute the number field $K=\End(A)\tensor\Q$, and
      an explicit embedding of $\End(A)$ into $K$ using [...].
\item{} [Hom space] Explicitly compute $\Hom(A,B)$ using ...
\item{} [Image of Hom space] Compute the image $H_f$ of $\Hom(A,B)$ in $\End(A)$
      got by composing with $f$...
\item{} [Endomorphism ring] Compute the order $\O$ in $K$ generated by $\End(A)$ [...].
\item{} [Initialize] Let $i = 0$.
\item{} [Solve norm equation] Increase $i$ by one and find the solutions (up to units of $\O$) of the norm equations
$\Norm(x) = \pm a b i$ in $\O$. If there are no solutions, repeat this step.
\item{} [Lift to $H_f$?] For each solution (up to units), check whether it lies in $H_f$.           
\item{} [Isogenous of degree $ai^2$?] If a solution $x$ lies in $H_f$, then return $a  i^2$ and $x\circ f^{-1}$.
\item{} [Should try isogeny of higher degree] If none of the solutions lies in $H_f$, return to step [...].
\end{enumerate}
}\end{algorithm}
\begin{proof}
Let $f:A \to B$ be an isogeny and denote its degree by $d = ab^2$, where $a$ is
squarefree. Define $H_f = \{\phi \circ f: \phi \in
\Hom(B,A)\} \subset \End(A)$. Since degree is multiplicative, $B$ and $A$ are
siogenous with isogeny of degree $d'$ if and only if $H_f$ contains an element
of degree $d d'$. Embed
$\End(A)$ into $K = \End(A) \otimes \Q$ and let $\O$ be the order in $K$
generated by $\End(A)$. By Proposition 12.12. in Milne's "Abelian Varieties"
for $x \in K$ we have $\Norm^2(x) = \deg(x)$. Thus, finding an element of
degree $dd'$ in $H_f$ is equivalent to finding $x \in \O$ with $\Norm(x) =
\pm \sqrt{dd'}$, such that $x$ actually comes from $H_f$. Hence, the possible
values for $d'$ are $a i^2$ for $i \in \N$. We can find all $x$
such that $\Norm(x) = \pm \sqrt{dd'}$ up to units of $\O$. 
The proof that this suffices is the same as the end of the
proof of Algorithm~\ref{alg:isom}.
\end{proof}


\section{Examples}

A few examples with lots of detail that illustrate key aspects of
the algorithm.  Imagine somebody implementing the algorithm; they would
compare what they get to what we give here.

\subsection{Level $35$}
It's not obvious that $A_f$ is iso. to its dual.
\begin{verbatim}
[35, 2, 2, 1, 6, x^4 + 2*x^3 - 7*x^2 - 8*x + 16],
\end{verbatim}

Mention 6-author paper and Hasegawa, but that kernel of modular
polarization is NOT kernel of multiplication by an integer,
so Wang excludes.

Kernel is $(\Z/2\Z)^2$, which is not $\ker([2])=(\Z/2\Z)^4$.

\begin{verbatim}
> J := JZero(35);
> A := J(2);
> Dual(A);
Modular abelian variety of dimension 2 and level 5*7 over Q
> Kernel(ModularPolarization(A));
Finitely generated subgroup of abelian variety with
invariants [ 2, 2 ]
\end{verbatim}

There is a solution, and it gives an iso.

\subsection{Level $69$: The first $A_f$ that is not
isomorphic to $A_f^{\vee}$}

Let $A$ be the second factor in the decomposition of $J_0(69)$.
[[Say $\dim(A) = 2$, etc., which determines $A$.]]
 Then $A$ is
not isomorphic to its dual $A^\vee$ because there are no solutions to the norm
equation
$$
  this = that.
$$
(Pell equation???)
A minimal isogeny between $A$ and $A^\vee$ is of degree 4 and is given on the integral
homology by 
\[ \left( \begin{matrix}
\hfill 1 & \hfill 0 & \hfill 2 & -2 \\
\hfill 0 & \hfill 1 & \hfill 0 & \hfill 0 \\
-2 & \hfill 1 &\hfill  0 &\hfill  2 \\
\hfill 4 & -2 & \hspace{1.2ex} 2 & -4 \end{matrix} \right)\]


\subsection{Level $195$: An $A_f$ not isomorphic to
its dual, though there are solutions to norm equation}

$[195, 5, 3, [ 4, 4, 4, 4, 176, 176 ], 0, 6, x^6 - 14*x^4 - 4*x^3 + 49*x^2 +
28*x + 4] $

There are solutions to the norm equation, but none of them works.

\section{Future Directions}
Polarization, enumerating the isogeny class, working over number
fields, isomorphism testing in the non-simple case.
\subsection{Enumerating Elements of the Isogeny Class}
Discuss problem of finding lots of non-isomorphic $A$ in the isogeny
class of $A_f$.

Various ways to compute finite $\Gal(\Qbar/\Q)$-stable subgroups of
$A$.  (I.e., kernel of maps to higher level $Np$.  Intersection with
other $A_g$'s.  Intersection with (or image of) cuspidal subgroup.)

\begin{example}
We show that the $\Q$-isogeny class of {\bf 43B} contains at least three
non-isomorphic abelian varieties.

\begin{verbatim}
> J := JZero(43);
> A := J(2);
> A;
Modular abelian variety 43B of dimension 2, level 43 and 
conductor 43^2 over Q
> G := RationalCuspidalSubgroup(A);
> G;
Finitely generated subgroup of abelian variety with invariants [ 
7 ]
> B := A/G;
> B;
Modular abelian variety of dimension 2 and level 43 over Q
> IsIsomorphic(A,B);
false
> Adual := Dual(A);
> IsIsomorphic(Adual,A);
true Homomorphism from modular abelian variety of dimension 2 to 
43B given on integral homology by:
[ 1  0 -2 -1]
[ 1  0 -3 -1]
[ 0  2 -2 -1]
[ 0  1 -1 -1]
> Bdual := Dual(B);

>> Bdual := Dual(B);
                ^
Runtime error in 'Dual': The modular embedding of argument 1 must
be injective.
> J2 := JZero(43*2);
> phi := NaturalMap(J,J2,1);
> phi2 := NaturalMap(J,J2,2);
> H := Kernel(phi-phi2);
> H := Kernel(phi-phi2);
> H;
Finitely generated subgroup of abelian variety with invariants [ 
7 ]
> A;
Modular abelian variety 43B of dimension 2, level 43 and 
conductor 43^2 over Q
> A/H;
Modular abelian variety of dimension 2 and level 43 over Q
Homomorphism from 43B to modular abelian variety of dimension 2 
given on integral homology by:
[ 1  0  1  0]
[ 1 -1  0 -1]
[ 1 -1 -1  1]
[ 1  1 -1  0]
Homomorphism from modular abelian variety of dimension 2 to 43B 
given on integral homology by:
[ 3  1  1  2]
[ 1 -2 -2  3]
[ 4 -1 -1 -2]
[ 2 -4  3 -1]
> C := A/H;
> IsIsomorphic(A,C);
false
> IsIsomorphic(B,C);
false
> G;
Finitely generated subgroup of abelian variety with invariants [ 
7 ]
> H;
Finitely generated subgroup of abelian variety with invariants [ 
7 ]
> G eq H;
false
> G +H;
Finitely generated subgroup of abelian variety with invariants [ 
7, 7 ]
\end{verbatim}

\end{example}


Ways to get abelian varieties isogenous to $A$:
\begin{enumerate}
\item Quotient out by any subgroup of the cuspidal subgroup.
\item Quotient out by any subgroup of the Shimura subgroup $\Sigma$.
The Shimura subgroup is by definition the kernel of the natural
map $J_0(N)\to J_1(N)$ induced by $X_1(N)\to X_0(N)$.  
Paper Ling and Oesterl\'e that explicitly describes $\Sigma$
in computable terms directly at level $N$.
\item Suppose $A, B\subset J_0(M)$ are simple and non-isogenous, 
for some $M$. Then $A/(A\intersect{}B)$ is isogenous to $A$.
\end{enumerate}
\begin{question}
Do the three operations above suffice to enumerate all 
elements of {\em any} isogeny class?
\end{question}

\subsection{Frank Calegari - Hope?}

Frank Calegari's ideas describe the simple abelian varieties that can be
isogenous to $A$ with an isogeny whose kernel has support outside certain set
of primes..

Here we make this more precise. Suppose that $N$ is prime. Let $A$ be a simple modular abelian variety
and let $f$ be the associated normalized newform. Denote by $\O$ the finite
$\Z$-algebra generated by the coefficients of $f$ and consider $H = \Pic(\O)$.
Let $S = \{\mathfrak{q}_i \}$ be a set of representatives for $H$ such that
$\mathfrak{q}_i$ has odd residual characteristic and is non-Eisenstein. Then
the following proposition describes all possible simple abelian varieties that
are isogenous to $A$ with an isogeny whose kernel has support outside
the Eisenstein primes and primes of residual characteristic 2.

\begin{proposition}
Let $\varphi : A \to A'$ be an isogeny whose kernel has support outside the
Eisenstein primes and primes of residual characteristic 2. Then $A' \simeq
A/A[\mathfrak{q}]$ for some $\mathfrak{q} \in H$.
\end{proposition}

How useful is that? I don't understand Eisenstein primes, so I don't know how
computable this set of primes is. However, Frank's method gives us at least part of
the isogeny class. We should probably run computaions to see how many
non-isomorphic elements we get among $A/A[\mathfrak{q}]$ for various $q \in
H$. Note that at the end of his notes Frank mentions a relation between the
Eisenstein primes and non-trivial isogenies. If we can understand this, it
would certainly be very useful.

\section{Tables}
For every factor $A_f$ of $J_0(N)$ for $N<1000$ and such that the
computation takes at most $n$ minutes, we used the first author's
MAGMA package ... to compute the minimal degree of an isogeny from
$A_f^{\vee}$ to $A_f$ (and structure of kernel).  

Discuss the standard magma v2.11 was distributed with some functionality
but not enough...  All code used to this computation using standard
MAGMA 2.11 is available [[WEB SITE]].

[[Table summarizing results of the first table.]]

Also something for quotients of $J_1(N)$, for $N<50$.

Connections with BSD.  Away from $2$ and minimal degree of isogeny,
the order of $\Sha$ (mod maximal divisible subgroup) is a perfect
square (reference [[william will find]]).  Our data is consistent
with [[william will find]].

Connections with computing curves $X$ whose Jacobian is an $A_f$.
[[Papers of people about this, and they care about whether $A_f$
is isomorphic to its dual.]]

\section{Diary (omit from final paper)}
\subsection{06-21-2004}
\begin{enumerate}
\item [done] Modify MAGMA code to utilize norm equation in orders, so it
will always answer ``yes'' or ``no''.
\item [done] Make sure Tseno has easy access to this new code.
\item [done] Try, using Tseno's account, to do some IsIsomorphic computations.
\item [done] Set up computation of a table.
\item [done] First draft of precise description of algorithm (high level).
\end{enumerate}

\subsection{06-23-2004}
\begin{enumerate}
\item [ok] Show me result of trying to compute a table.
\item [done] List what other algorithms the main algorithm depends on.
Modify modabvar.m to output log info about how it makes its decision.

Here is a list of various functions CanDetermineIsomorphism
depends on (only in the case of two simple modular abelian
varieties):
\begin{itemize}
\item IsIsogenous,
\item IsSimple,
\item NaturalMap,
\item IsField,
\item Hom,
\item End,
\item Generators,
\item Degree,
\item Dimension,
\item NormEquation.
\item Order
\item Saturation of a submodule of $\Z^n$, which is basically
how to compute the kernel of a matrix over Z.
\end{itemize}

I also modified modabvar.m to show us how it makes its decision.
Here are the possible outcomes:
\begin{itemize}
\item 1 - not isogenous
\item 2 - same variety
\item 3 - endomorphism ring is not a field
\item 4 - the degree is not a perfect square
\item 5 - no solution to the norm equation
\item 6 - alright, we got to the very end
\end{itemize}

\item [done] Precisely define ``explicit modular abelian variety''.

A \textbf{modular abelian variety} $A$ is an abelian variety such
that there is a homomorphism $A \to J_1(N)$ with finite kernel.
Thus, we can give any modular abelian variety $B$ by quotienting
an abelian subvariety $A$ of $J_1(N)$ by a finite subgroup $G$. In
other words we represent $B$ by giving a pair $(A,G)$, where $G
\subset A \subset J_1(N)$.

Let us now discuss how we can specify such $A$ and $G$. An
inclusion $A \hookrightarrow J_1(N)$ induces an inclusion on
homology $H_1(A, \Q) \hookrightarrow H_1(J_1(N), \Q)$ and $A$ is
completely determined by the image of $H_1(A,\Q)$ in the vector
space $H_1(J_1(N),\Q)$. Thus we give $A$ by defining a subspace $V
= V_\Q \subset H_1(J_1(N), \Q)$. We give $G$ by giving finitely
many elements of $V_\Q / V_\Z$, where $V_\Z = V \cap
H_1(J_1(N),\Z)$. This is because we have canonical isomorphisms
$J_1(N)(\C) \cong H_1(J_1(N), \R) / H_1(J_1(N),\Z)$ and $A(\C)
\cong V_\R / V_\Z$, so $A(\C)_{tor} \cong V_\Q / V_\Z$.


\item [ok] Discuss examples in which interesting things happen.

Today @ 1pm.

\end{enumerate}
\subsection{06-23-2004}
\begin{enumerate}
\item Write more about the algorithm for computing $\End(A_f)$.
\item [done] Figure out precisely why computation is getting stuck
at level $173$, etc.

I put various markers and it turned out that the computation is
getting stuck exactly where we expected - in solving the norm
equation for $[173, 2, 10]$ - probably the dimension is too big.

\item [ok] Look at Ribet's paper.

\item [done] Investigate the examples in more detail.

Look at the file examples\_details.txt

\item [ok] Run computation of table for levels up to $500$ and dimension
at most $5$.

Almost done but it is starting to look strange after some point.
\end{enumerate}

\subsection{06-30-2004}
\begin{enumerate}
\item Saturation:  1. See if MAGMA says how they do it (NO).  2. Look in Cohen
to see how to find integer kernels.  Answer: Here's algorithm.
\begin{enumerate}
\item Find echelon form of basis of lattice.
\item Write down matrix over $\Z$ that has saturation of lattice
as kernel.
\item Find the kernel using algorithm 2.7.2 of Cohen's book (Kernel
over $\Z$ using LLL).
\end{enumerate}
Complexity?  Probably dominated by LLL step...  ??

\item Investigate in detail what PARI can do regarding solving norm
equations.  1. Start pari and type '?6'.  2. Looks in users.dvi and
see what PARI can do.  Does it solve norm equations at all? Yes.
3. Does it solve diophantine norm equation, i.e., solutions in $\O_K$?
4. Does it solve diophantine norm equation, i.e., solutions in order $\O$?
5. Does it give ALL solutions or just one?
6. What algorithm?

\item Decide on a computational goal for the project.
(REMEMBER to use new version!!)\\
(a) Determine what degree gets too difficult.\\
(b) Determine whether $A$ is isomorphic to $A^{\vee}$ for factors
$A=A_f$ of $J_0(N)$, for $N\leq 500$ and $\dim(A_f) < 10$.\\
(c) Determine piece of isogeny class of $A$ for factors
$A=A_f$ of $J_0(N)$, for $N\leq 100$.\\
(d) Determine whether $A$ is isomorphic to $A^{\vee}$ for factors
$A=A_f$ of $J_1(N)$, for $N\leq 50$ and $\dim(A_f) < 10$.

\item Generating up isogeny class systematically.

\begin{enumerate}
\item How to compute the Shimura subgroup $\Sigma$?!: 
Definition: $\Sigma = \Ker(J_0(N)\to J_1(N))$.
\begin{enumerate}
\item kernel to higher level
\item ling-oesterle (****)
\item Compute kernel directly?
\end{enumerate}
\item Suppose $G$ is a subgroup of $J_0(N)$ defined over $\Q$.
Then we get abelian varieties isogenous to $A$ from
$A/(A[n]\intersect G)$ for any integer $n$.
For example $A^{\dual}$ is got from $G=A\intersect B$, where
$B$ is the Hecke-stable complement of $A$ in $J_0(N)$.
\item Sources of $G$:
\begin{enumerate}
  \item Quotient by subgroups of cuspidal subgroup
\item Shimura subgroup, 
\item intersecting with other abvars
\item dual.
\item Map to higher level then intersection with other abelian
varieties of higher level.
\end{enumerate}

\item Specifying each element of the isogeny class.  Need notation.
$A=A_f$ is the subvariety of $J_0(N)$.  
Examples: $B = A/C[3]$, where $C$ is cuspidal subgroup.
$B = A/\langle (3)-(1/7)\rangle$, or 
$B = A/(A\cap A_g)$, where $g$ is another newform.
$B = A/\Sigma[2]$.
\end{enumerate}

\item Write up something about finding minimal degree of isogeny.
square free part business....

\end{enumerate}

\subsection{07-24-2004}
\begin{enumerate}
\item Look over new proofs.
\item Figure out how to compute saturations.
     (1) prove Allan Steel's simple algorithm (why HNF?)
         Try (1) in MAGMA.
     (2) Look at what NTL does to compute kernels.
\item Decide on and set up a systematic computation, write it and
start it running.   Everything up to level 1000, but time out computations
after 10 minutes.  (William.)
\item Talk about your short talk on Monday (when? what?)

 - solved the ``minimal degree problem''

 - discuss some examples at length illustrating what's going on

 - briefly explain future directions.

 - more motivation (?)  e.g., enumerating isogeny classes to get a
higher dimensional cremona; bsd sha order,...

\item Norm equation -- how much to write up.  References.  Search MSN.
      Look in book... ???

\item Figure out {\em exactly} what else we need to do to completely
      finish this paper.  Assign tasks:
\begin{enumerate}
\item (Stein) Write introduction.
\item (Stein) Write enumerating section.
\item (Stein) Say something about complexity somewhere???
\item (Tseno) Rewrite proof of isogeny testing algorithm.

\end{enumerate}
\item Make a list of problems for future investigation: polarization,
      enumerating the isogeny class, working over other number fields,
      isomorphism testing in the non-simple case.

\end{enumerate}


\section{Polarization}
We can decide whether $A$ is isomorphic to $A^{\vee}$.  Can we decide
if $A$ is principally polarized!?  The point is that a principal
polarization is an isomorphism that arises from a divisor class...

\bibliography{biblio}
\end{document}
