\chapter{Computational Examples and Algorithms}

In this chapter we describe specific examples, in which one produces visible elements with the visibility theorem, and 
therefore provides evidence for the Birch and Swinnerton-Dyer conjecture, by constructing elements of certain finite 
order of the Shafarevich-Tate group. Two computational examples are provided - one of the examples (a 20-dimensional subvariety of 
$J_0(389)$) in which we directly produce visible elements using the visibility theorem. The other example is more interesting 
(18-dimensional subvariety of $J_0(551)$), because no visibility occur at level $N = 551$, but if we raise the level of the 
modular Jacobian (by mapping $J_0(551) \ra J_0(2\cdot 551)$ by a combination of the degeneracy maps), we can apply the visibility 
theorem for the image of the variety. We then use a result of K. Ribet to conclude that the Shafarevich-Tate group of the 
original variety must have elements of certain finite order. 

Before presenting the computational example, we describe (or at least give precise reference to) almost all of the computational 
algorithms that are used for these verifications. For instance, we explain how to compute the modular degree, how to 
produce upper and lower bounds on the torsion subgroup, how to intersect abelian varieties, how to compute the 
$L$-ratios and the orders of the component groups (the Tamagawa numbers).    

The examples are not original, so I would like to thank Asst. Prof. William Stein for allowing me to include his examples in 
my thesis and to use some of the modular abelian algorithms which he came up with in \cite{stein:phd}.  

\section{Algorithms for Computing with Modular Abelian Varieties}

\subsection{Computing the Modular Degree}
Let $A_f$ be an abelian variety attached to a newform $f$. Then $A_f$ is a quotient of $J_0(N)$,
so there is a surjective morphism $J_0(N) \ra A_f$. Consider the dual morphism
$A_f^{\vee} \ra J_0(N)$ (Jacobians are self-dual), which is an injection. By taking the composition of 
these two maps, we obtain a finite degree morphism $\theta_f : A_f^{\vee} \ra A_f$. It turns out that the 
degree of $\theta_f$ is a perfect square, which is a consequence of the following

\begin{prop}
Suppose $A$ is an abelian variety over a field $k$ and let $\lambda : A \ra \Adual$ be
a polarization. Suppose that char$(k)$ is either zero, or prime to the degree of $\lambda$.
There exists a finite abelian group $H$, such that
$$
\textrm{ker}(\lambda) \cong H \times H,
$$
where the above identification is a group isomorphism.
\end{prop}

Before proving the proposition, we need a lemma:

\begin{lem}
Suppose that $G$ is a finite abelian group for which there exists a nondegenerate,
alternating, bilinear pairing $\Gamma : G \times G \ra \Q/\Z$. There exists a group $H$,
such that $G \cong H \times H$.\footnote{It is interesting that this lemma, combined with the existence of the 
Cassel's pairing for elliptic curves, implies that if the Shafarevich-Tate group of an elliptic curve is finite, 
then it has a perfect square.}
\end{lem}

\begin{proof}
Using the structure theorem for abelian groups, one can reduce the statement to the case
when $G$ is a $p$-group for some prime number $p$. Let $x$ be an element of $G$ of maximal
order $p^h$ for some integer $h$. First, we show that there exists $y \in G$, such that
$\Gamma(x, y) = 1/p^h$. Indeed, if no such $y$ exists, then $\Gamma(p^{h-1}x, y) = 0$
for each $y \in G$, so $\Gamma$ is degenerate, which is a contradiction. Notice that 
every such $y$ still has maximal order $p^h$, since $0 \ne p^{h-1}\Gamma(x, y) = 
\Gamma(x, p^{h-1}y)$. Moreover, we show that 
$\langle x \rangle \cap \langle y \rangle = \varnothing$. Indeed, if $mx = ny$ for some 
$0 < m, n < p^h$, then 
$$
0 = m\Gamma(x, x) = \Gamma(x, mx) = n\Gamma(x, y) \ne 0,  
$$ 
which is a contradiction. 
After choosing such $y$ one can define
$$
H = \{z : \Gamma(x, z) = \Gamma(y, z) = 0\}.
$$
We claim that $G \simeq (\langle x \rangle + \langle y \rangle) \oplus H$. Indeed, 
for any $g \in G$, the alternating pairing $\Gamma$ gives us  
$$
g - (p^h\Gamma(g, y))x - (p^h\Gamma(g, x))y \in H,  
$$
It is easy to check that this produces a group isomorphism 
$$
G \simeq (\langle x \rangle + \langle y \rangle) \oplus H. 
$$
But $\Gamma$ restricts to an alternating, nondegenerate, bilinear pairing to $H \times H$.

This means that we can use induction on the size of the group $G$ to prove the statement. 
If $G$ is trivial, there is noting to prove. If not, we construct $H$ and apply the 
hypothesis for $H$, i.e. there exists a subgroup $H'$ of $H$, such that 
$H \simeq H' \oplus H'$. This means that 
$$
G \simeq (\langle x \rangle \oplus H') \oplus (\langle y \rangle \oplus H'), 
$$ 
because $\langle x \rangle \cap \langle y \rangle = \varnothing$. 
\end{proof}

\begin{proof}[Proof of Proposition 5.1.1.]
The idea is to prove the existence of a nondegenerate,
alternating, bilinear pairing $\beta : \textrm{Ker}(\lambda) \times \textrm{Ker}(\lambda) \ra
\Q / \Z$ and then to use Lemma 5.1.2. 

Let $m$ be an integer that kills $\textrm{Ker}(\lambda)$.
Define
$$
e^\lambda : \textrm{Ker}(\lambda) \times \textrm{Ker}(\lambda) \ra \mathbb{\mu}_m
$$
in the following way: suppose that $P, P' \in \textrm{Ker}(\lambda)$. Choose a point
$Q \in A(\overline{k})$, such that $mQ = P'$ and let
$$
e^\lambda(P, P') := \overline{e}_m(P, \lambda Q),
$$
where $\overline{e}_m : A[m] \times \Adual[m] \ra \mathbb{\mu}_m$ is the Weil pairing.
The pairing is well defined, since $m(\lambda Q) = \lambda(mQ) = \lambda(P') = 0$.
Moreover, it is nondegenerate, alternating and bilinear, because of the properties of
the Weil pairing. Thus, we can apply Lemma 5.1.2 to get
$\textrm{Ker}(\lambda) \cong H \times H$. 
\end{proof}

As a consequence of Proposition 5.1.1, we conclude that the degree of the isogeny $\theta_f : A_f^\vee \ra A_f$. 
Using the above proposition, we can define the \emph{modular degree}. 

\begin{defn}
The \emph{modular degree} of $A_f$ is defined as 
$$
\textrm{moddeg}(A_f) = \sqrt{\textrm{deg}(\theta_f)}, 
$$
where $\theta_f : A_f^{\vee} \ra A_f$ is the dual isogeny.  
\end{defn}

There is an explicit algorithm for computing the modular degree of a modular 
abelian variety, attached to a newform. It is based on Abel-Jacobi's theorem and on the 
integration pairing\footnote{From now on, by $S_2(\Gamma_0(N))$ we will mean the complex vector 
space of modular forms of weight 2 and level $N$.} 
$$
\langle , \rangle : S_2(\Gamma_0(N)) \times H_0(X_0(N),\Z) \ra \C. 
$$
Indeed, the pairing induces a natural map 
$$
\Phi_f : H_0(X_0(N), \Z) \ra \textrm{Hom}(S_2(\Gamma_0(N))[I_f],\C), 
$$
where $I_f$ is the ideal of the Hecke algebra, which annihilates the form $f$.

Using Abel-Jacobi's theorem, one can deduce the following commutative diagram with exact rows
\begin{equation*}
\xymatrix{
0 \ar[r]& H_1(X_0(N),\Z)[I_f] \ar[d]\ar[r]& \textrm{Hom}(S_2(\Gamma_0(N)), \C)[I_f] \ar[r]\ar[d]& A_f^\vee(\C) \ar[r]\ar[d]& 0 \\
0 \ar[r]& H_1(X_0(N),\Z) \ar[r]\ar[d]& \textrm{Hom}(S_2(\Gamma_0(N)),\C) \ar[r]\ar[d]& J_0(N)(\C) \ar[r]\ar[d]& 0 \\
0 \ar[r]& \Phi_f(H_0(X_0(N), \Z)) \ar[r]& \textrm{Hom}(S_2(\Gamma_0(N))[I_f],\C) \ar[r]& A_f(\C) \ar[r]& 0
}
\end{equation*}

Finally, since the map $\textrm{Hom}(S_2(\Gamma_0(N)), \C)[I_f] \ra \textrm{Hom}(S_2(\Gamma_0(N))[I_f],\C)$ is an 
isomorphism, then the modular kernel $\theta_f$ is isomorphic to the cokernel of the map 
$H_1(X_0(N),\Z)[I_f] \ra \Phi_f(H_0(X_0(N),\Z))$ by the snake lemma. 

We summarize the algorithm in the following proposition
\begin{prop}
The kernel of the isogeny $\theta_f : A_f^\vee \ra A_f$ is isomorphic to the cokernel of the map 
$$
H_1(X_0(N),\Z)[I_f] \ra \Phi_f(H_0(X_0(N),\Z)). 
$$ 
Since the Hecke action on the space of modular symbols and the integration pairing are both computable, then the isomorphism 
allows us to compute ker$(\theta_f)$ using modular symbols. 
\end{prop}

Finally, we explain why the modular degree is important in relation to visibility. We will prove the following result 
\begin{prop}
Let $m_A = \textrm{moddeg}(A_f)$. The visible subgroup of $A_f^\vee \hookrightarrow J_0(N)$ is contained in $\Sha(A_f/\Q)[m_A]$.  
\end{prop}

\begin{proof}
The isogeny $\theta_f : A_f^\vee \ra A_f$ is a composition of the maps $A_f^\vee \ra J_0(N) \ra A_f$. Let $e_A$ be the exponent 
of ker$(\delta)$. By proposition 5.1.1, $e_A \mid m_A$, so $\theta_f$ factors through multiplication by $e_A$, which means that 
there is a complementary isogeny $\theta_f' : A_f \ra A_f^\vee$, such that $\theta_f' \circ \theta_f = [e_A]$. Let 
$(\theta_f)_* : \Sha(A_f^\vee /\Q) \ra \Sha(A_f/\Q)$ denote the induced map on the Shafarevich-Tate groups. Since 
Vis$_{J_0(N)}(\Sha(A_f^\vee))$ is contained in $\textrm{ker}((\theta_f)_*)$, then this visible group is also contained in 
$$
\textrm{ker}((\theta_f' \circ \theta_f)_*) = \Sha(A_f^\vee/\Q)[e_A] \subset \Sha(A_f^\vee/\Q)[m_A]. 
$$   
\end{proof}

\begin{rem}
Note that by considering the complementary isogeny of $\theta_f$ one obtains automatically that the visible subgroup of 
$\Sha(A_f^\vee/\Q)$ is killed by multiplication by the order of the modular kernel (i.e. the kernel of $\theta_f$). 
However, using the nontrivial Proposition 5.1.1, we obtain a much stronger statement (the visible $\Sha$ is killed 
by the square of the order of that kernel). In fact, proposition 5.1.5 will be used in the computations in the next 
section.    
\end{rem}

\subsection{Intersecting Complex Tori}
In this subsection, we discuss how to compute intersections of abelian varieties. The whole
idea is pretty straightforward if one thinks of the varieties as complex tori.

Suppose that $V$ is a finite dimension vector space over $\C$ and $\Lambda$ be a lattice
in $V$. One can contruct the complex tori $T = V / \Lambda$. Suppose that $V_A$ and $V_B$
are vector subspaces of $V$. The lattices $\Lambda_A = V_A \cap \Lambda$ and
$\Lambda_B = V_B \cap \Lambda$ give us complex subtori $A = V_A / \Lambda_A$ and
$B = V_B \cap \Lambda_B$ of $T$. The following proposition gives us an explicit way to
compute the intersection group of $A$ and $B$, using only the lattices $\Lambda$,
$\Lambda_A$ and $\Lambda_B$.
\begin{prop}
Suppose that $A \cap B$ is finite. Then
$$
A \cap B \cong \left(\frac{\Lambda}{\Lambda_A + \Lambda_B}\right)_{\textrm{tors}}.
$$
\end{prop}

\begin{proof}
Since $A \cap B$ is finite, then $V_A \cap V_B = \varnothing$.
There is a map $A \oplus B \ra T$ given by
$(v_A + \Lambda_A) + (v_B + \Lambda_B) \mapsto (v_A-v_B) + \Lambda$. The kernel of
consists precisely of pairs $(x, x)$, where $x \in A \cap B$. Indeed,
$(v_A + \Lambda_A) + (v_B + \Lambda_B)$ is in the kernel if and only if
$v_A - v_B \in \Lambda$, which means precisely that the points $x = v_A + \Lambda_A$ and
$y = v_B + \Lambda_B$ viewed as points in $T$. Therefore, we have an exact sequence
$$
0 \ra A \cap B \ra A \oplus B \xrightarrow{(x,y) \mapsto x - y} T
$$
One can construct the following commutative diagram with exact rows and columns:

\begin{equation*}
\xymatrix{
         &  & 0 \ar[d] & A\cap B \ar[d] & \\
0 \ar[r] & \Lambda_A \oplus \Lambda_B \ar[r]\ar[d] & V_A \oplus V_B \ar[r]\ar[d] & A \oplus B \ar[r]\ar[d] & 0\\
0 \ar[r] & \Lambda \ar[r]\ar[d] & V \ar[r]\ar[d] & T \ar[r]\ar[d] & 0 \\
& \Lambda / \left(\Lambda_A + \Lambda_B\right) & V / \left(V_A + V_B\right) & T / (A+B) &
}
\end{equation*}

Using the snake lemma, we obtain an exact sequence
$$
0 \ra A \cap B \ra \Lambda / (\Lambda_A + \Lambda_B) \ra V / (V_A + V_B)
$$
Finally, observe that $V/ (V_A + V_B)$ is a $\C$-vector space and therefore has no torsion.
Therefore, the kernel of $\Lambda / (\Lambda_A + \Lambda_B) \ra V / (V_A + V_B)$ contains
$\ds \left(\frac{\Lambda}{\Lambda_A + \Lambda_B}\right)_{\textrm{tors}}$. Conversely, it is
easy to check that any element which is not torsion is mapped to a nonzero element of
$V / (V_A + V_B)$. Therefore
$\ds A \cap B \cong \left(\frac{\Lambda}{\Lambda_A + \Lambda_B}\right)_{\textrm{tors}}$.
\end{proof}

The proposition can be applied to compute intersections of modular abelian varieties.
Indeed, consider the modular Jacobian $J_0(N)$ as an abelian variety over $C$.
The tangent space at the identity is precisely $V=$ Hom$(S_2(\Gamma_0(N)), \C)$. By considering
$\Lambda = H_1(X_0(N), \Z)$ and the integration pairing, we get $J_0(N)(\C) = V / \Lambda$.
Let $f$ and $g$ be newforms, which are not Galois conjugates and let $I_f$ and $I_g$ be the
annihilators of $f$ and $g$ in the Hecke algebra $\mathbb{T}$. Let $A = A_f^{\vee}$ and
$B = B_f^{\vee}$. Then $V_A = V[I_f]$ and $V_B = V[I_g]$ are the tangent spaces at the
identity to $A$ and $B$. According to the above proposition, we have
$$
A \cap B \cong \left(\frac{\Lambda}{\Lambda_A + \Lambda_B}\right),
$$
where $\Lambda_A = \Lambda[I_f]$ and $\Lambda_B  = \Lambda[I_g]$.

\subsection{Producing a Multiple of the Order of the Torsion Subgroup}
We first consider some methods for providing upper bounds on the size of the torsion
subgroup of a modular abelian variety $A := A_f$, attached to a newform $f$, which is a 
normalized eigenform, i.e. $\ds f = q + \sum_{n = 1}^\infty a_nq^n$.

The basic idea for bounding the size of the torsion group $A_{tors}(\Q)$ is to inject 
the torsion subgroup into the group of $\mathbb{F}_p$-rational points of the reduction of $A$
for various primes $p$. We start with the following   
\begin{prop}
Suppose that $A$ is a modular abelian variety, which is a quotient of $J_0(N)$ and 
$p \nmid 2N$ is a prime. Then there exists an injective map 
$$
A(\Q)_{\textrm{tors}} \ra A_{\mathbb{F}_p}(\mathbb{F}_p).  
$$
\end{prop}

We recognize this statement as a generalization of Lemma 1.2.2. The above proposition is a direct consequence 
of a more general statement, which is proved in the Appendix of \cite{katz:torsion} 

Using the above proposition, one can get an upper bound on the torsion, by taking the greatest 
common divisor of all $|A_{\mathbb{F}_p}(\mathbb{F}_p)|$, where $p$ runs over all primes, for 
which $p \nmid N$. In short, 
$$
|A(\Q)_{\textrm{tors}}| \leq \textrm{gcd}\{|A_{\mathbb{F}_p}(\mathbb{F}_p)|\ :\ \forall p 
\nmid 2N \}. 
$$

To complete the computation of the upper bound, we need an algorithm for computing the 
order of the group $A_{\mathbb{F}_p}(\mathbb{F}_p)$. The observation is that the 
$\mathbb{F}_p$-rational points can be recovered as the fixed points of the Frobenius 
automorphism, acting on $A_{\mathbb{F}_p}(\mathbb{\overline{F}_p})$. Indeed, 
the automorphism $\textrm{Frob}_p : \mathbb{\overline{F}}_p \ra \mathbb{\overline{F}}_p$ that 
sends $x \mapsto x^p$ induces an automorphism $\textrm{Frob}_p : A_{\mathbb{F}_p}
(\mathbb{\overline{F}}_p) \ra A_{\mathbb{F}_p}(\mathbb{\overline{F}}_p)$. Thus, 
$$
|A_{\mathbb{F}_p}(\mathbb{F}_p)| = |\textrm{ker}(1 - \textrm{Frob}_p)|. 
$$ 
A useful tool for computing degrees, such as the above one are characteristic polynomials. 
Since we cannot define characteristic polynomials of an endomorphism of an abelian variety, 
we should somehow relate this automorphism to an automorphism of vector spaces, or 
modules of finite rank. 

Indeed, it is helpful to introduce the $\ell$-adic Tate module. Indeed, it is defined 
as the inverse limit
$$
T_{\ell} A := \varprojlim_n A[\ell^n], 
$$ 
taken with respect to the natural map 
$$
A[\ell^{n+1}] \xrightarrow{\cdot l} A[\ell^{n}]. 
$$ 
Let $\varphi : A \ra A$ be any element of End$(A)$. There is an induced homomorphism 
$\varphi_l : T_\ell A \ra T_\ell A$. 

\begin{lem}
For any $\varphi \in \textrm{End}(A)$,
$$
\textrm{deg}(\varphi) = |\textrm{det}(\varphi_l)|.  
$$
\end{lem} 

\begin{proof}
This is proved in \cite[\S12.9]{milne:abvars}. 
\end{proof}

Thus, all we need to do is compute the characteristic polynomial of the Frobenius 
homomorphism, acting on the $\ell$-adic Tate module $T_\ell A$. This is achieved in the 
following proposition, proved in \cite[\S7]{shimura:intro}. 

\begin{prop}
Let $F_p$ be the characteristic polynomial of the homomorphism 
$\textrm{Frob}_p : T_\ell A \ra T_\ell A$. Then 
$$
F_p(x) = \prod_{\sigma : K_f \hookrightarrow \overline{\Q}} \left(x^2 - \sigma(a_p)x + p\right). 
$$
\end{prop} 

Finally, let $G_p(x)$ be the characteristic polynomial of multiplication by $a_p$ on 
the vector space $K_f / \Q$. Then (e.g. by the Eichler-Shimura relation between $T_p$ and Frob$_p$, acting 
on the $\ell$-adic Tate module), 
$$
F_p(x) = x^{[K_f : \Q]}G_p\left(x + \frac{p}{x}\right).  
$$
But the polynomial $G_p(x)$ is easily computable from the coefficients of $f$. Therefore, 
$F_p(x)$ is computable. 
Finally, we obtain 
$$
|A_{\mathbb{F}_p}(\mathbb{F}_p)| = |\textrm{det}(1 - \textrm{Frob}_p)| = |F_p(1)| = |G_p(1+p)|. 
$$
This gives the explicit way of computing the number of $\mathbb{F}_p$-rational points on the 
reduced variety $A_{\mathbb{F}_p}$. 
 
\subsection{Producing a Divisor of the Order of the Torsion Subgroup}
Producing a lower bound for the order of the torsion subgroup is more subtle than 
the upper bound. We start by the following 

\begin{defn}
The \emph{rational cuspidal subgroup} $C$ is defined as the subgroup
of $J_0(N)(\Q)_{\textrm{tors}}$, generated by the divisors of the form
$(\alpha) - (\infty)$, where $\alpha$ is a rational cusp for $\Gamma_0(N)$ 
(recall that a divisor is called $\Q$-rational if it is fixed by the action of
the absolute Galois group Gal$(\overline{\Q} / \Q)$).\footnote{The definition we present is not the 
standard definition of the rational cuspidal subgroup. The standard definition of the rational cuspidal subgroup 
is the subgroup of the group of cuspidal divisors, which is fixed by $\textrm{Gal}(\overline{\Q}/\Q)$.}
\end{defn}

Introducing the group $C$ is very useful for our purposes, since the size of its image 
in $A(\Q)_{\textrm{tors}}$ produces a divisor of the order of the torsion subgroup. 

We compute a list of cusp representatives for all the cusps for $\Gamma_0(N)$, using the
following
\begin{prop} 
Let $\ds \alpha_1 = \frac{p_1}{q_1}$ and $\ds \alpha_2 = \frac{p_2}{q_2}$ be two cusps, written in lowest 
terms. Then $\alpha_1 \sim \alpha_2$ modulo the action of $\Gamma_0(N)$ if and only if 
$$
q_2 \equiv uq_1\ (\textrm{mod} N),\textrm{ and }up_2 \equiv p_1\ (\textrm{mod }(q_1, N)),\textrm{ for some }u,\ (u, N) = 1
$$
\end{prop}

\begin{proof}
Suppose that there is a matrix $M \in \Gamma_0(N)$, such that $M\alpha_1 = \alpha_2$. If 
$M = \left[\begin{array}{cc} a & b \\ Nc & d\end{array}\right]$, then $\ds \frac{p_2}{q_2} = \frac{ap_1 + bq_1}{Ncp_1 + dq_1}$. 
Since $(ap_1 + bq_1, Ncp_1 + dq_1) = 1$, then it follows that $q_2 = \pm(Ncp_1 + dq_1)$ and $p_2 = \pm(ap_1 + bq_1)$. Hence, 
we can choose $u = \pm d$ and we get precisely the desired condition. 

Conversely, suppose that $\alpha_1$ and $\alpha_2$ satisfy the condition. First, choose $s_1', r_1', s_2, r_2 \in \Z$, such that 
$p_1s'_1 - q_1r'_1 = p_2s_2 - q_2r_2 = 1$. Since $q_2 \equiv uq_1$ (mod $N$), then $(q_1, N) = (q_2, N) = N_0$. We have 
$up_2 \equiv p_1$ (mod $N_0$) which implies that $us_1' \equiv s_2$ (mod $N_0$). Thus, we can find $x \in \Z$, such that 
$uxq_1 \equiv us_1' - s_2$ (mod $N$). If we set $s_1 = s_1' - xq_1$ and $r_1 = r_1' - xp_1$, then $p_1s_1 - q_1r_1 = 1$, 
$us_1 \equiv s_2$ (mod $N$) and $uq_1 \equiv q_2$ (mod $N$). Finally, look at the matrices    
$M_1 = \left[\begin{array}{cc} p_1 & r_1 \\ q_1 & s_1 \end{array}\right]$ and $M_2 = \left[\begin{array}{cc} p_2 & r_2 
\\ s_2 & q_2\end{array}\right]$. Since $M_1M_2^{-1} \in \Gamma_0(N)$ if and only if $s_1q_2 \equiv s_2q_1$ (mod $N$), then 
we obtain easily that there is a matrix $M \in \Gamma_0(N)$, such that $M \alpha_1 = \alpha_2$, i.e. the cusps $\alpha_1$ and 
$\alpha_2$ are $\Gamma_0(N)$-equivalent. 
\end{proof}

Next, we compute a sublist of all $\Q$-rational cusps. This can be done, provided we know the
action of Gal$(\overline{\Q} / \Q)$ on the cusps for $\Gamma_0(N)$. Computing this action is 
possible and is done by G. Stevens \cite[Thm. 1.3.1]{stevens:thesis}. The essential result is contained in the following proposition:

\begin{prop}
(i) The cusps of $X_0(N)$ are rational over $\Q(\zeta_N)$ (i.e. they are fixed by the 
elements of Gal$(\overline{\Q} / \Q(\zeta_N))$). \\
(ii)  The absolute Galois group Gal$(\overline{\Q} / \Q)$ acts on the cusps for $\Gamma_0(N)$
through the subgroup Gal$(\Q(\zeta_N) / \Q) = (\Z / N\Z)^{\times}$. The element
$d \in (\Z / N\Z)^{\times}$ acts on the cusp representative $x / y$ by 
$x/y \mapsto x / (d'y)$, where $d'$ is the
multiplicative inverse of $d$ in $(\Z / N\Z)^{\times}$, i.e. $dd' \equiv 1$ (mod $N$).
\end{prop}

We can compute the subgroup $\mathcal C$ of the space of modular symbols of weight 2 for
$\Gamma_0(N)$, generated by the rational cusps. In other words, $\mathcal C$ is the
space of all symbols $\{\alpha, \infty\}$, where $\alpha$ is a $\Q$-rational
cusp. It follows from Abel-Jacobi's theorems that the image of $C$ in $A_f(\Q)_\textrm{tors}$ 
is isomorphic to the image of $\mathcal C$ in the quotient group
$$
P := \Phi_f(H_1(X_0(N), \mathbb{P}^1(\Q); \Z)) / \Phi_f(H_1(X_0(N); \Z)),
$$
where $\Phi_f$ is the integration pairing, defined by  
$$
\Phi_f : H_1(X_0(N), \mathbb{P}^1(\Q); \Z) \ra H_1(X_0(N); \Z),\  
\{\alpha, \beta\} \mapsto \left\{f \mapsto \int_\gamma f\right\}, 
$$
where $\gamma$ is a path, representing the homology class $\{\alpha, \beta\}$. 

\subsection{Computation of the Tamagawa Numbers}
Let $A$ be an abelian variety over a number field $K$ and let $\mathcal A$ be its 
N\'eron model. The closed fiber of the N\'eron model at a place $\nu$ is a commutative group 
scheme, which we 
denote by $\mathcal A_{k_\nu}$ ($k_\nu$ denotes the residue field at 
$\nu$). This scheme is not necessarily connected, so we will denote by 
$\mathcal A_{k_\nu}^0$ the connected component of the identity. 

\begin{defn}
The component group of $\mathcal A$ at $\nu$ is a finite flat group scheme $\Phi_{A, \nu}$, 
such that the following sequence is exact 
$$
0 \ra \mathcal A_{k_\nu}^0 \ra \mathcal A_{k_\nu} \ra \Phi_{A, \nu} \ra 0 
$$ 
The order $c_{A, \nu}$ of the group of $k_\nu$-rational points on the component group 
$\Phi_{A, \nu}$ is called the \emph{Tamagawa number} of $A$ at $\nu$. In other words, 
$c_{A, \nu} = |\Phi_{A, \nu}(k_\nu)|$.    
\end{defn} 

\begin{rem}
If $A$ has nonsingular reduction at $\nu$ then $c_{A, \nu} = 1$, because 
$\mathcal A_{k_\nu}$ in this case is connected. 
\end{rem}

There is no general algorithm to compute the Tamagawa numbers. There exists, however, 
an algorithm for the case of elliptic curves and it is known as Tate's algorithm. We do not 
present the technical details of the algorithm, since such a presentation would be much longer 
than the whole chapter. A detailed exposition of this algorithm is given in \cite{tate:antwerpiv} or 
\cite[IV.\S9]{silverman:aec2}.   

For the case of modular abelian varieties over $\Q$, there is a known algorithm 
to compute $|\Phi_{A, p}(\mathbb{\overline{F}}_p)|$ in the case when 
$p \parallel N$ \cite{conrad-stein:compgroup}. Furthermore, it is possible 
to compute $|\Phi_{A, p}(\mathbb{F}_p)|$ up to power of 2
\cite{kohel-stein:ants4}. Computing $c_{A, p}$ in general is still an open problem.      

\subsection{Computing the $L$-Ratio}
To motivate the definition and the interpretation of the $L$-Ratio, we start with the 
simpler case of an elliptic curves. 

First, suppose that $f \in S_2(\Gamma_0(N))$ is a newform. The $L$-function $L(f, s)$, associated to $f$ 
is defined via the Mellin transform
$$
L(f, s) := (2\pi)^s \Gamma(s) \int_0^{i \infty} (-iz)^s f(z) \frac{dz}{z}. 
$$  
It is not hard to check (by using the Fourier expansion $f = \sum_{n=1}^\infty a_nq^n$) that 
$$
L(f, s) = \sum_{n = 0}^\infty \frac{a_n}{n^s}.  
$$ 

Next, we look at the special value of the $L$-function at $s = 1$.
$$
L(f, 1) = -2\pi i \int_{0}^{i \infty} f(z)dz = -\langle \{0, \infty\}, f \rangle, 
$$ 
where 
$$
\langle, \rangle : H_1(X_0(N), \mathbb{P}^1(\Q); \Z)  \times S_2(\Gamma_0(N)) \ra \C
$$ 
is the integration pairing, defined by 
$\ds \langle [\gamma], f \rangle = 2\pi i\int_\gamma f(z)dz$. 

Since the modular symbols $\{0, \infty\}$ is in the rational homology of the curve 
$X_0(N)$, then $\langle \{0, \infty\}, f\rangle$ is a rational multiple of a period 
of $f$. To compute that rational multiple, we use the Hecke operator $T_p$ on modular 
symbols. Indeed, we have 
$$
T_p \{0, \infty\} = \{0, \infty\} + \sum_{k = 0}^{p-1}\{k/p, \infty\} = 
(1+p)\{0, \infty\} + \sum_{k = 0}^{p-1}\{0, k/p\}.  
$$ 
But whenever $p \nmid N$, 
the symbol $\{0, k/p\}$ is integral, i.e. $\{0, k/p\} \in H_1(X_0(N), \Z)$. Thus, 
$\ds \sum_{k = 0}^{p-1}\langle \{k/p, 0\}, f \rangle$ is a period of the modular form $f$. 
Another observation is that it is a real period. Indeed, 
$$
\overline{\langle \{0, k / p\}, f\rangle} = -\langle \{0, k / p\}, f\rangle = 
\langle \{0, (p-k)/p\}, f \rangle,    
$$
so after summing all the contribution, we see that the period 
$\ds \left \langle \sum_{k = 0}^{p-1}\{k/p, \infty\}, f\right \rangle$ is real.  
Now, let $\Omega(f)$ be twice the minimal real part of a period of the lattice. 
Then 
$$
\frac{L(f, 1)}{\Omega(f)} = \frac{n(p, f)}{2(1 + p - a_p)}, 
$$ 
where $n(p, f)$ is an integer. \\ 


For the general case, suppose that $A = A_f$ is a modular 
abelian variety, attached to a newform $f$. We want to be able to measure the 
\emph{volume} of $A(\R)$, which will be called \emph{the real volume} and denoted by $\Omega_A$. 

To define this notion precisely, let $\mathcal A$ be the N\'eron model for $A$ and 
$\mathcal A_{\R}$ be the generic fiber of $\mathcal A$. Consider the space of N\'eron 
differentials $H^0(\mathcal A, \Omega^1_{\mathcal A / \Z})$ and the real vector space 
$$
V^* = H^0(A_\R, \Omega_{A_\R}^1) = S_2(\Gamma_0(N), \R)[I_f]. 
$$  
Indeed, the last identification is a consequence of the definition of $A_f$ is the quotient 
$J_0(N)/I_f J_0(N)$.  

\begin{defn}
Suppose that $\Lambda$ and $\Lambda'$ are lattices in a real vector space $V$. The
\emph{lattice index} $[\Lambda : \Lambda']$ is defined to be the determinant of the
linear transformation of $V$, which takes $\Lambda$ to $\Lambda'$.
\end{defn}

Let $\Lambda^*$ be the lattice defined by the N\'eron differentials $H^0(\mathcal A, \Omega^1_{\mathcal A / \Z})$ 
in the cotangent space $V^*$. The dual lattice $\Lambda = \textrm{Hom}(\Lambda^*,\Z)$ is a lattice in the 
tangent space $V = \textrm{Hom}(V^*, \R)$. We can declare that the real torus $V / \Lambda$ has measure 1. 
Since $A(\R)^0 = V / H_1(A(R),\Z)$, then we can define the volume of $A(\R)^0$ using the lattice 
index $[\Lambda : H_1(A(\R), \Z)]$. We write this as 
$$
\mu_\Lambda (A(\R)^0) = [\Lambda : H_1(A(\R);\Z)]. 
$$
Since our goal is to measure the volume of $A(\R)$, we can use the index $c_\infty = |A(\R) / A(\R)^0|$ to define 
$$
\mu_\Lambda (A(\R)) = c_\infty \cdot \mu_\Lambda(A(\R)^0). 
$$ 
Finally, we declare this induced measure $\mu_\Lambda(A(\R))$ to be the real volume $\Omega_A$. 

We will be concerned with the computation of the $L$-ratio, which is $\ds \frac{L(A, 1)}{\Omega_A}$. It turns out 
that it is easier to compute the ratio $c_A \cdot L(A, 1) / \Omega_A$, where $c_A$ is a special constant, which is known 
as the Manin constant and is defined as follows 

\begin{defn}[Manin Constant]
Consider $H^0(\mathcal A, \Omega^1_{\mathcal A})$ as a submodule of $S_2(\Gamma_0(N), \Z)[I_f]$, using 
$$
H^0(\mathcal A, \Omega^1_{\mathcal A}) \ra H^0(\mathcal J, \Omega^1_{\mathcal J})[I_f] \ra H^0(J_0(N), \Omega^1_{J_0(N)})[I_f] \ra 
S_2(\Gamma_0(N), \Z)[I_f],  
$$ 
where $\mathcal J$ is the N\'eron model for the Jacobian $J_0(N)$. The Manin constant $c_A$ is defined as 
$$
c_A = \left | \frac{S_2(\Gamma_0(N),\Z)[I_f]}{H^0(\mathcal A, \Omega_{\mathcal A / \Z})}\right |.  
$$
\end{defn} 

There are various results and conjectures about the constant $c_A$. One result, which will be used in the 
computations is the following theorem due to B. Mazur \cite[\S4]{mazur:rational}

\begin{thm}[Mazur]
Let $p$ be a prime, such that $p \mid c_A$. Then $p^2 \mid 4N$. 
\end{thm}

We will now state the result that allows us to compute the ratio 
$\ds c_A \cdot \frac{L(A, 1)}{\Omega_A^1}$. 

\begin{thm}
Let 
$$
\Phi : H_1(X_0(N); \Q) \ra \textrm{Hom}(S_2(\Gamma_0(N))[I_f],\C)
$$
be a pairing, obtained from the integration pairing in such a way that $\Phi(\langle 0, \infty\rangle)(f) = L(f, 1)$ 
(as we discussed above, the fact that $\langle 0, \infty\rangle \in H_1(X_0(N),\Q)$ follows from the 
Manin-Drinfeld theorem). Then 
$$
\ds c_\infty \cdot c_A \cdot \frac{L(A, 1)}{\Omega_A} = [\Phi(H_1(X_0(N);\Z))^+ : \Phi(\mathbb{T}\langle 0, \infty\rangle)], 
$$
where by $\Phi(H_1(X_0(N);\Z))^+$ we mean the positive eigenspace of $\textrm{Hom}(S_2(\Gamma_0(N))[I_f], \C)$ with 
respect to the complex conjugation operator. 
\end{thm}

The theorem is proved in \cite[Thm. 4.5]{agashe-stein:bsd}. 


\section{Examples of Visible Elements.}

\subsection{A 20-Dimensional Quotient of $J_0(389)$.}

For the purpose of this section, we will be working with the modular Jacobian $J_0(389)$. For 
clarity, we describe each step of our computation separately. \\
 
\noindent \textit{\bf Step 1:} \textit{Decomposing the Jacobian $J_0(389)$ as a product of abelian varieties.} \\
Consider the cuspidal subspace $S_2(\Gamma_0(389))$. One can use the correspondence 
between Galois conjugacy classes of newforms and modular abelian varieties, attached 
to newforms (quotients of $J_0(389)$) to decompose $J_0(389)$ as a product of modular abelian 
varieties. Using the modular symbols package of the computer algebra system MAGMA, we decompose 
the new subspace of the cuspidal subspace $S_2(\Gamma_0(389))$ into Galois conjugacy classes. 
There are five abelian varieties in the decomposition of dimensions 1, 2, 3, 6, 20, which we 
denote by $A_1, A_2, A_3, A_6, A_{20}$ respectively. \\

\noindent \textit{\bf Step 2:} \textit{Computing the $L$-ratio's for the quotients.} \\
We can apply the algorithm for computing the $L$-ratio from Section 5.1.6,  
to verify that $L(A_1, 1) = L(A_2, 1) = L(A_3, 1) = L(A_6, 1) = 0$, but 
$L(A_{20}, 1) \ne 0$. More precisely, the algorithm, applied to $A_{20}$ gives us 
$$
\frac{L(A_{20}, 1)}{\Omega_A} = c_A \cdot \frac{2^{11} \cdot 5^2}{97},  
$$
where $c_A$ is the Manin constant. But according to Mazur's theorem (Theorem 5.1.16), the Manin 
constant is $c_A = 2^{?}$. Moreover, the techniques from \cite{agashe-stein:manin} produce 
an upper bound on $c_A$, i.e. $c_A \leq 2^{20}$. Thus, we recover that 
$$
\frac{L(A_{20}, 1)}{\Omega_A} = \frac{2^{11 + n} \cdot 5^2}{97},  
$$ 
where $0 \leq n \leq 20$. \\

\noindent \textit{\bf Step 3:} \textit{Computing the modular degree for $A_{20}$.} \\
We run the algorithm from section 5.1.1 for the variety $A_{20}$ to compute the kernel of the 
isogeny $\theta : A_{20}^\vee \ra A_{20}$. We obtain $|\textrm{ker}(\theta)| = 2^{24} \cdot 5^2$. \\
Computing this kernel is really important for what will follow, because it tells use precisely the 
primes, for which one can hope to apply the visibility theorem. In this case, the only such prime is 
$p = 5$. \\

\noindent \textit{\bf Step 4:} \textit{Computing torsion bounds for $A_1$ and $A_{20}$}  
We use the algorithm from section 5.1.3 to produce upper bounds on the torsion subgroups of 
$A_1$ and $A_{20}$. This computation automatically produces bounds for the order of $A_{20}^\vee(\Q)_{\textrm{tors}}$. 
This follows from the more general result
\begin{lem}
Suppose $A$ and $B$ are isogenous abelian varieties. Then the upper bounds for $|A(\Q)_{\textrm{tors}}|$ and 
$|B(\Q)_{\textrm{tors}}|$, produced in 5.1.3 are the same. In other words, the upper bounds, produced by the 
algorithm in 5.1.3 are isogeny invariant.    
\end{lem}

\begin{proof}
The upper bounds that are produced by algorithm in 5.1.3 depend only on the characteristic 
polynomial of Frobenius on the $\ell$-adic Tate modules $T_\ell A$ and $T_\ell B$. The characteristic polynomials 
are then determined by $T_\ell A \otimes \Q$ and $T_\ell B \otimes \Q$ respectively. But $T_\ell A \otimes \Q \cong 
T_\ell B \otimes \Q$, since $A$ and $B$ are isogenous. Hence, the upper bounds are isogeny invariant.  
\end{proof}

Next, we can compute the bounds on the order of the torsion subgroup 
$A_{20}(\Q)_{\textrm{tors}}$. For the upper bound, we try only the primes 3 and 5 to get 
a bound 97. For the lower bound, we compute the rational cuspidal subgroup, which turns out 
to be cyclic of order 97. Therefore 
$|A_{20}(\Q)_{\textrm{tors}}| = |A_{20}^\vee(\Q)_{\textrm{tors}}| = 97$. The algorithm applied for $A_1$ gives us 
upper bound 1, and so $|A_1(\Q)_{\textrm{tors}}| = 1$. \\

\noindent \textit{\bf Step 5:} \textit{Computing Tamagawa Numbers} \\
Using Tate's algorithm, we compute $c_{A_1, 389} = 1$. For $A_{20}$, we can use the algorithm in 
\cite{conrad-stein:compgroup} to get $c_{A_{20}, 389} = 97$. \\

\noindent \textit{\bf Step 6:} \textit{Theorem 4.5.1 for $A = A_{20}^\vee$, $B = A_1$, $J = A + B$ 
and $p = 5$}. \\
We will apply the visibility theorem (Theorem 4.5.1) for the abelian variety $A = A_{20}^\vee \subset J_0(N)$ and the 
elliptic curve $B = A_1 = A_1^\vee \subset J_0(N)$. Let $J$ be the variety $J = A + B$ and $p = 5$. 
We need to check the hypothesis of the theorem.  Using the algorithm from Section 5.1.2 
we compute $A \cap B = (\Z / 20\Z) \times (\Z / 20\Z)$, which 
implies that $B[5] \subset A(\overline{\Q})$. In order to apply the visibility theorem for $p = 5$, we need to 
prove that $5 \nmid |B(\Q)_\textrm{tors}| \cdot |(J/B)(\Q)_\textrm{tors}|$. But $|B(\Q)_{\textrm{tors}}| = 1$. Since 
$A$ is isogenous to $J / B$ and the kernel of that isogeny is $A \cap B = (\Z / 20\Z) \times (\Z / 20\Z)$, then 
$|(J/B)(\Q)_{\textrm{tors}}| = |A_{20}^\vee(\Q)_{\textrm{tors}}| = 97$. Therefore, 
$5 \nmid |B(\Q)_\textrm{tors}| \cdot |(J/B)(\Q)_\textrm{tors}| \cdot c_{A, 389} \cdot c_{B, 389}$, so we can apply the 
visibility theorem and get an injection $B(\Q) / 5B(\Q) \hookrightarrow \Sha(A_{20}^\vee)$. 
(because $A$ has Mordell-Weil rank zero). \\

\noindent \textit{\bf Step 7:} \textit{Evidence for the Birch and Swinnerton-Dyer conjecture for $A_{20}^\vee$}

The Birch and Swinnerton-Dyer conjecture states that 
$$
\frac{L(A, 1)}{\Omega_A} = \frac{|\Sha(A)| \cdot \prod_{p \mid N} c_{A, p}}
{|A(\Q)_{\textrm{tors}}| \cdot |A^{\vee}(\Q)_{\textrm{tors}}|}.  
$$   

We have everything computed precisely, except the Manin constant. We can therefore compute the conjectural order of 
$\Sha(A_{18}^\vee/\Q)$, because 
$$
\frac{2^n \cdot 2^11 \cdot 5^2}{97} = \frac{97 \cdot |\Sha(A/\Q)|}{97^2}. 
$$ 
Thus, $|\Sha(A_{18}^\vee/\Q)| = 2^{11+n}\cdot 5^2$. Using the injection from Step 6, we get $5^2 | |\Sha(A_{18}^\vee/\Q)|$, 
which provides evidence for the Birch and Swinnerton-Dyer conjecture.  

\subsection{Evidence for the Birch and Swinnerton-Dyer Conjecture for an 18-Dimensional
Quotient of $J_0(551)$.}

In this section, we will look at $J_0(551)$. This example is interesting, because the visibility 
theorem cannot be applied directly, but one needs to embed the variety into a modular Jacobian of level, which 
is a multiple of 551. Again, for clarity, we sketch the different steps of the computations.  \\

\noindent \textit{\bf Step 1:} \textit{Decomposing the Jacobian $J_0(389)$ as a product of abelian varieties.} \\
Similarly to the case of $J_0(389)$, we compute the newform quotients of $J_0(551)$. 
There are four elliptic curves $E_1$, $E_2$, $E_3$ and $E_4$, and abelian varieties 
$A_2$, $A_3$, $A_{16}$ and $A_{18}$ of dimensions 2, 3, 16 and 18. We will be interested 
in studying the 18-dimensional quotient $A_{18}$. \\ 

\noindent \textit{\bf Step 2:} \textit{Computing the modular degree for $A_{20}$.} \\
Let $\theta : A_{18}^{\vee} \ra A_{18}$. Using the algorithm from 5.1.1, the modular kernel has order 
$|\textrm{ker}(\theta)| = 2^{14} \cdot 13^4$. This shows that the only odd prime $p$, for which one might 
get visible elements of $\Sha(A^\vee_{18})$ in $J_0(551)$ of order $p$ is $p = 13$. \\

\noindent \textit{\bf Step 3:} \textit{Computing the multiple and the divisor of $A_{18}(\Q)_\textrm{tors}$.} \\
The algorithm for the upper bound gives us $|A_{18}(\Q)_{\textrm{tors}}|$ divides 80. The order of the rational 
cuspidal subgroup is 40. Therefore, $|A_{18}(\Q)_{\textrm{tors}}| = 40$ or 80. Notice that the order of the modular 
kernel is not divisible by 5, i.e. the degree of the isogeny $\theta : A_{18}^{\vee} \ra A_{18}$ is not divisible by 5. 
Therefore, the order of the torsion subgroup $|A_{18}^{\vee}(\Q)_{\textrm{tors}}|$ must 
necessarily be divisible by 5. Thus, we obtain that $5 \mid |A_{18}^{\vee}(\Q)_{\textrm{tors}}| \mid 80$. \\

\noindent \textit{\bf Step 4:} \textit{Computing the Tamagawa Numbers.} \\
The most difficult part is to compute the Tamagawa numbers for the abelian variety $A_{18}$. 
We can use the techniques from \cite{conrad-stein:compgroup}. 
Since $551 = 19 \cdot 29$ then we need to compute $c_{A_{18}, 19}$ and $c_{A_{18}, 29}$.  
The second number is $c_{A_{18}, 29} = 40$, but the algorithm does not work for the first one. 
Instead, we compute the order of the component group order over $\overline{\mathbb{F}}_{19}$, 
which is $2^2 \cdot 13^2$ and conclude that $c_{A_{18}, 19} = 2$ or 4 by noting that the Galois 
generator $\textrm{Frob}_{19}$ acts as $-1$ (we can verify this in MAGMA using the Atkin-Lehner operator; 
indeed, $\textrm{Frob}_{19}$ acts on the component group $\Phi_{A, 19}(\mathbb{F}_{19})$, so
every element of that group must have order 2). \\

\noindent \textit{\bf Step 5:} \textit{Computing the $L$-ratio.} \\
Using the algorithm from 5.1.6, we compute 
$$
\frac{L(A_{18}, 1)}{\Omega_{A_{18}}} = c_A \cdot \frac{2^2 \cdot 3^2}{5}. 
$$              
Since $c_A \mid 2^{\textrm{dim}(A)}$ by \cite{agashe-stein:manin}, then it follows that 
$$
\frac{L(A_{18}, 1)}{\Omega_{A_{18}}} = \frac{2^{n+2} \cdot 3^2}{5}, 
$$
for some $0 \leq n \leq 18$. \\

\noindent \textit{\bf Step 6:} \textit{Conjectural order of $\Sha(A_{18} / \Q)$} \\
We have all the quantities for the strong Birch and 
Swinnerton-Dyer conjecture, so we obtain 
$$
\frac{2^{n+2} \cdot 3^2}{5} = \frac{|\Sha(A_{18}/\Q)| \cdot 2^m \cdot (2^3 \cdot 5)}
{(2^k \cdot 5) \cdot (2^l \cdot 5)}, 
$$
where $1 \leq m \leq 2$, $3 \leq k \leq 4$ and $0 \leq l \leq 4$. Thus, it follows 
that $|\Sha(A_{18})| = 2^s\cdot 3^2$ for some $2 \leq s \leq 24$, so there is no chance to 
get visible elements for $A_{18}$ inside $J_0(551)$. \\  

We saw that the conjectural order of $\Sha(A_{18}/\Q)$ is divisible by $3^2$. Although we 
produced no visible elements, there is a way of proving that $\Sha(A_{18})$ has a 
subgroup of order 9 by using the following algorithm: 
\begin{enumerate}
\item Let $A$ be a quotient of $J_0(N)$. Choose a prime number $\ell \nmid N$ and 
consider the degeneracy maps $\alpha^*, \beta^* : J_0(N) \ra J_0(\ell N)$.

\item By Shimura's construction, $A^{\vee}$ is a subvariety of $J_0(N)$, so we can consider 
its image in $J_0(\ell N)$ under a linear combination of the degeneracy maps. For instance, 
look at $C = \alpha^*(A^{\vee}) + \beta^*(A^{\vee})$.  

\item Compute explicitely (using modular symbols) the image of the variety $A_{18}^{\vee}$
in $J_0(\ell N)$. 

\item If possible, apply the visibility theorem for $C$ (or some other technique) to prove that $C$ 
contains a subgroup of the form $B(\Q) / pB(\Q)$ for some abelian variety $B$. 

\item To prove that $\Sha(A)$ has element, whose order is divisible by $p$, it suffices 
to show that the degree of the isogeny, which is the composition of the maps 
$$
A \ra A^{\vee} \ra A^{\vee} \times A^{\vee} \xrightarrow{\alpha^* + \beta^*} C
$$
is not divisible by $p$ (and then to perform analysis on the cochain level to show that 
the kernel of $\Sha(A) \ra \Sha(C)$ does not have an element of order $p$). This can be 
done by noting that the kernel is annihilated by the operators $T_r|_A - (r+1)$ for 
all primes $r \nmid N$, so it suffices to show that the order of the kernel of some of 
these operators is not divisible by $p$. 
\end{enumerate}  

To justify the last step of the above algorithm, we use a result due to K. Ribet. 

\begin{thm}[Ribet]
(i) Let $\ell \nmid N$ be a prime number. Consider the two degeneracy maps (which we constructed in Chapter 3) 
$\alpha^*, \beta^* : J_0(N) \ra J_0(\ell N)$ and let $\varphi : J_0(N) \times J_0(N) \ra J_0(\ell N)$ be 
the map $\varphi = (\alpha^*, \beta^*)$. Let $\Sigma_N$ be the kernel of the map $J_0(N) \ra J_1(N)$ induced 
from the covering of modular curves $X_1(N) \ra X_0(N)$. Consider the image $\Sigma$ of $\Sigma_N$ in
$J_0(N) \times J_0(N)$ under the anti-diagonal map $J_0(N) \ra J_0(N) \times J_0(\ell N)$
(i.e. the map $x \mapsto (x, -x)$). Then 
$$
\Sigma = \textrm{ker}(\varphi). 
$$
(ii) The subgroup $\Sigma_N$ (known also as the Shimura subgroup) is annihilated by the 
endomorphisms $\eta_r = T_r - (r + 1)$ of $J_0(N)$ for all primes $r$ which do
not divide $N$. 
\end{thm}

The statement is proved in \cite{ribet:raising}. The second part of the theorem is useful for computational 
purposes. Indeed, note that it is difficult to compute the Shimura subgroup $\Sigma_N$, but computing the order 
of the kernel of the operator $T_r - (r+1)$ is not a problem at all. Since all we need out of this theorem is to 
show that the prime $p$ do not divide the order of the Shimura subgroup, then it would suffice to check that 
$p$ do not divide the order of the kernel of $\eta_r$. \\
 
To illustrate the above algorithm in practice, we choose the prime $\ell = 2$. By decomposing 
the modular Jacobian $J_0(2\cdot551)$ as a product of quotients, we notice that five of the 
factors are elliptic curves, one of which is the rank 2 elliptic curve $E$ with 
Weierstrass equation 
$$
E : y^2 + xy = x^3 + x^2 - 29x + 61. 
$$ 
Let $C$ be the image of $A_{18}$ under the composition  
$$
A_{18} \ra A_{18}^\vee \hookrightarrow J_0(551) \xrightarrow{\alpha^* + \beta^*} J_0(2 \cdot 551)
$$
We can use the techniques from Section 5.1.2 to compute the intersection of $E$ with $C$ 
and verify that $C$ contains $E[3]$. We wish to apply the visibility theorem for 
$A = C$ and $B = E$ and $p = 3$. Indeed, the only hypothesis that we have to check is that the 
Tamagawa numbers for $B$ are not divisible by $3$. But Tate's algorithm \cite{tate:antwerpiv} computes 
these numbers for elliptic curves. Using this algorithm, one checks that 
$c_{B, 2} = 2$, $c_{B, 19} = 2$ and $c_{B, 29} = 1$ and we already computed (up to power of 2) those for $A$. 
Since the Mordell-Weil rank of $C$ is zero, then there is an injection 
$$
B(\Q) / 3B(\Q) \hookrightarrow \Sha(C). 
$$
Finally, we need to check that the degree of the above isogeny $\varphi : A \ra C$ is not 
divisible by 3. To do this, we first compute the kernel of the operator $T_3|_A - (3 + 1)$. It is 
possible to perform the last step in practice, because one knows precisely how 
the Hecke operator acts on the space of modular symbols. The kernel is 
$$
\textrm{ker}(T_3|_A - (3+1)) = 12625812402998886400 = 2^{14} \cdot 5^2 \cdot 5552003^2, 
$$          
which is not divisible by 3. Therefore, by Ribet's theorem 3 does not divide the order of the kernel of the 
isogeny $A_{18} \ra C$, so $\Sha(A_{18})$ contains an element of order 3, which provides evidence for the 
Birch and Swinnerton-Dyer conjecture.    

