Explicit Modular Abelian Varieties over ℚ

William Stein

February 25, 2008

Abstract

We lay foundations for making it possible to create tables like Cremona’s famous tables of elliptic curves, but for all abelian varieties over ℚ of GL_{2}-type with conductor up to some bound. A distinctive feature of our approach is that we do not use explicit defining equations, which allows us to treat abelian varieties of all dimensions uniformly.

1 Introduction

The goal of this paper is to lay algorithmic foundations to make it possible to create tables like [?], but for all abelian varieties over ℚ of GL_{2}-type with conductor up to some bound. A distinctive feature of our approach is that we do not use explicit defining equations, which allows us to treat abelian varieties of all dimensions uniformly. This is in contrast to the approach taken by many previous papers and theses [?, ?] that treat only small dimensions. We also hope that some of the ideas in this paper may be applicable to [?].

An abelian variety A over ℚ is modular if there is a homomorphism A → J_{1}(N) with finite kernel.

Definition 1.1 (GL_{2}-type). Suppose A is a simple abelian variety over ℚ. Then A is of GL_{2}-type if and only if End(A) ⊗ ℚ is a number field of dimension equal to dim(A). More generally an abelian variety is of GL_{2}-type if it is isogenous to a product of copies of simple abelian varieties of GL_{2}-type.

Ribet observed in [?, Thm. 4.4] that every modular abelian variety is of GL_{2}-type. He also proved that Serre’s conjectures [?] on modularity of odd irreducible two-dimensional mod p Galois representations imply the converse. Since Khare and Wintenberger have now completely proved Serre’s conjecture, we have the following theorem.

Theorem 1.2. Every GL_{2}-type abelian variety over ℚ is modular.

Thus for our goal of explicit computation of abelian varieties of GL_{2}-type it suffices to consider modular abelian varieties.

Remark 1.3. Here we will only consider modular abelian varieties defined over ℚ. It would be interesting to use similar methods to treat the general case of modular abelian varieties over a number field K, by which we mean abelian varieties A over K for which there exists a finite degree morphism A → J_{1}(N) over K for some N. The main complication is that the endomorphism ring over \overline{ℚ} of a simple modular abelian variety A over ℚ need not be commutative.

We represent modular abelian varieties over ℚ explicitly as follows. Let J be one of the modular Jacobians J_{0}(N), J_{1}(N), or J_{H}(N) for some subgroup H ⊂ (ℤ/Nℤ)^{∗}. Fix a modular abelian variety A and a finite degree homomorphism A → J. Then there is an isogeny from the image B of A in J back to A whose kernel we denote by G, so A is isomorphic to B/G: \xymatrix{ & & & 0 \\ 0 \ar[r] & G \ar[r] & A \ar[r] & B \ar[r] \ar[u] & 0}In other words we can represent any mod-

ular abelian variety by giving a pair (B, G), both defined over ℚ, where G ⊂ B ⊂ J.

We represent B explicitly as follows. The inclusion B ↪ J induces an inclusion of rational homology H_{1}(B, ℚ) ↪ H_{1}(J, ℚ) and B is determined by the image of H_{1}(B, ℚ) in the ℚ-vector space H_{1}(J, ℚ). We explicitly compute a bases for H_{1}(J, ℤ) and H_{1}(J, ℚ) = H_{1}(J, ℤ) ⊗ ℚ using modular symbols [?], and specify B by giving a basis in reduced echelon form for a subspace V ⊂ H_{1}(J, ℚ). (Of course, not every subspace corresponds to a modular abelian variety.)

We have

J(ℂ) ≅ H_{1}(J_{1}(N), ℝ)/ H_{1}(J_{1}(N), ℤ),

and letting L = H_{1}(J, ℤ) ∩ V we have B(ℂ) ≅ (V ⊗ ℝ)/L. In particular,

B(ℂ)_{tor} ≅ V/L,

and we specify G ⊂ B(ℂ) by giving a finite list g_{i} of elements of V that generate the elementary factors. More precisely, G ≅ ∑ ℤ/n_{i}ℤ can be written uniquely (up to choice of generators for cyclic factors) as a direct sum of cyclic abelian groups with n_{1} | n_{2} …, and we choose the g_{i} to correspond to the vectors (1, 0, …, 0), …, (0, 0, …, 1) of elements in ∑ ℤ/n_{i}ℤ. [[possibly make more unique somehow??]]

In the rest of this paper we assume without further comment that every modular abelian variety A has been given explicitly as a pair (B, G), where A ≅ B/G and B is given by a vector subspace V ⊂ H_{1}(J, ℚ) and G is specified by a list of elements g_{i} ∈ V.

In this paper we mostly ignore issues of computational complexity, since our goal is to describe how it is practical at all to compute explicitly with modular abelian varieties. Except for [[...?? norm equations]], the algorithm discussed in this paper all amount to linear algebra and have complexity that is polynomial time in the level N of the abelian variety.

1.1 Modular Abelian Varieties

What are they? Standard conjectures? How we represent in computer. Jacobian of Shimura curves...

Acknowledgement: A very early draft of this paper was co-authored with Tseno Tselkov when he was an undergraduate at Harvard University. We thank Allan Steel for discussions about computation of Hermite and Smith normal form and saturation. We thank Frank Calegari for discussions related to enumerating all abelian varieties in an isogeny class, in particular Proposition ??.

2 Explicit Computations with Modular Abelian Varieties

2.1 Enumeration

Algorithm 2.1 (Enumerate Modular Abelian Varieties). 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.

Algorithm 2.2 (Decompose as Product). Given a modular abelian variety A, this algorithm finds simples abelian varieties B_{i} and an isogeny A → ∏ B_{i}.

Proof.

2.2 Isogenies

Algorithm 2.3 (Test if Isogenous). Given two modular abelian varieties A and B, this algorithm decides whether or not A and B are isogenous, and if so returns an isogeny between them.

1. [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 [[how?? elaborate a lot]].

2. [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 [[how??]] 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.

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 ∼ ∏_{i∈I} A_{i}^{e_{i}} and B ∼ ∏_{i∈I} B_{i}^{e_{i}}, so that A_{i} ∼ B_{i} for all i ∈ I, then we get that the products ∏_{i∈I} A_{i}^{e_{i}} and ∏_{i∈I} B_{i}^{e_{i}} are isogenous, so A and B are also isogenous.

Conversely, suppose that A ∼ B and φ : A → B is some isogeny. Let A ∼ ∏_{i∈I} A_{i}^{e_{i}} and B ∼ ∏_{j∈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 ∈ 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 ϕ_{ij} : A_{i} → B_{j} for all j ∈ J. Since the image of an abelian variety is an abelian variety and all B_{j}’s are simple it follows that φ_{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 φ_{ij}(A_{i}) are zero since that would imply that φ 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}.

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.

2.3 The Endomorphism Ring

We will use the following saturation algorithm later in order to compute End(A) or Hom(A, B) given End(A)⊗ℚ or Hom(A, B)⊗ℚ. [[quick summary of Hermite and smith forms]]

Algorithm 2.4 (Saturate). Given a subgroup L of ℤ^{n}, this algorithm computes the saturation ℚL ∩ ℤ^{n} of L in ℤ^{n}. Let M be a matrix whose rows are a ℤ-basis for L.

1. [Hermite Normal Form] Find the Hermite Normal Form H of M^{t}.

2. [Inverse] Compute S = (H^{t})^{−1}M using the “last big row” trick. Then output S, whose rows are a basis for the saturation of L.

Proof. It suffices to prove that (H^{t})^{−1}M has rows that span the saturation of the row span of M. [...]

Note one could instead replace H by an LLL reduced basis for the rowspace of M^{t}, but this is usually much slower because of the fast p-adic/modular algorithm [?] for computing Hermite normal form.

Proposition 2.5. Let A be a simple abelian variety over a number field K, let Λ_{A} = H_{1}(A, ℤ) and embed End(A/K) in End(Λ_{A}) by the action of endomorphisms on homology. Then

End(A/K) = (End(A/K) ⊗ ℚ) ∩ End(Λ_{A}),

where the intersection takes place in End(Λ_{A}) ⊗ ℚ.

We will use the following lemma in the proof of Proposition ??.

Lemma 2.6. Let K be a number field. If an element x ∈ ℂ is fixed by every element of Aut(ℂ/K), then x ∈ K.

Proof. If x ∈ \overline{K}, this is standard Galois theory. If x ∉ \overline{K}, then x is transcendental. Since x + 1 is also transcendental, the fields \overline{K}(x) and \overline{K}(x + 1) are isomorphic via a map σ sending x to x+1. Every automorphism of a subfield of ℂ extends to ℂ, so σ extends to an automorphism of ℂ that does not fix x.

Proof of Proposition ??. The inclusion of End(A/K) in the right hand side is obvious, so suppose φ ∈ (End(A/K) ⊗ ℚ) ∩ End(Λ_{A}). Then there is a positive integer n such that nφ ∈ End(A/K). Thus nφ ∈ End(A/K) ⊗ ℚ induces a complex-linear endomorphism of Tan(A_{ℂ}), so φ = (1/n)nφ also induces a complex-linear endomorphism of Tan(A_{ℂ}); also, by hypothesis φ preserves Λ_{A}. Thus φ ∈ End(A/ℂ) since an element of End(A/ℂ) is just a complex linear map on Tan(A_{ℂ}) that preserves Λ_{A}.

There is a nonzero integer n such that nφ is defined over K, so for any σ ∈ Gal(ℂ/K), we have σ([n]φ) − [n]φ = 0. But

σ([n]φ) = σ([n])σ(φ) = [n]σ(φ),

so

[n](σ(φ) − φ) = 0,

which implies σ(φ) = φ, since the kernel of [n] is finite and the image of σ(φ)−φ is either infinite or 0. By Lemma ??, φ ∈ End(A/K).

[[This must be after Alg 2.9 to compute the End(A) in the first place.]]

Algorithm 2.7 (Endomorphism Algebra as Field). Given a simple modular abelian variety A over ℚ, this algorithm returns a number field K and an isomorphism End(A) ⊗ ℚ → K.

1. [Choose random endomorphism] Randomly pick [[how??]] an endomorphism φ and compute its minimal polynomial f.

2. [Does endomorphism generate?] If deg f = dim(A), then let K be the number field generated by a root α of f. Otherwise, go to step 1.

3. [Define an isomorphism] Let Ψ be the unique field homomorphism End(A) ⊗ ℚ → K that sends φ to α. Then Ψ is the desired isomorphism.

Proof. By Ribet [...], because A is simple, modular, and defined over ℚ, we know that End(A) ⊗ ℚ is a number field of degree equal to dim(A). (If A were not defined over, then End(A)⊗ℚ could be a non-commutative division algebra. Also we emphasize that End(A) contains only the endomorphisms of A that are defined over ℚ.)

By the primitive element theorem, there exists a φ such that deg(f) = dim(A), where f is the minimal polynomial of φ. Then since deg(f) = dim(A) it follows that the map Ψ is an isomorphism (a nonzero homomorphism between number fields of the same dimension is an isomorphism).

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”

   (http://www.math.clemson.edu/faculty/Gao/papers/prim-ele.pdf)

Algorithm 2.8 (Compute Hom(A, B)). Given modular abelian varieties A and B, this algorithm computes Hom(A, B).

1. [Factorizations] Compute using Algorithm [[??]] factorizations ∏_{i∈I} C_{i}^{e_{i}} and ∏_{i∈I} C_{i}^{f_{i}} of A and B up to isogeny (with explicit isogenies) respectively, where I is some index set, the C′_{i}s are non-isogenous simple abelian varieties, and e_{i}, f_{i} ≥ 0.

2. [Simple case] When A ∼ C^{e} and B ∼ 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}) ⊗ ℚ = M_{e×f}(End(C) ⊗ ℚ).

Then we compute

Hom(A, B) ⊂ Hom(A, B) ⊗ ℚ

using algorithm [...]. [[Also Proposition ?? is relevant.]]

3. [General case] We compute each Hom(C_{i}^{e_{i}}, C_{j}^{f_{j}}) as in step [...] and obtain Hom(C_{i}^{e_{i}}, C_{j}^{f_{j}}) as a block matrix with blocks Hom(C_{i}^{e_{i}}, C_{j}^{f_{j}}). Then we find Hom(A, B) inside Hom(C_{i}^{e_{i}}, C_{j}^{f_{j}}) ⊗ ℚ.

[[Remark: A and B need not be isomorphic to those products of C_{i}. So you have to precompose with the isogeny A → ∏ C_{i}^{e_{i}}, etc.]]

Proof. Suppose first that A ∼ C^{e}, B ∼ D^{f} with C, D simple abelian varieties. When C and D are not isogenous there is no morphism A → B, so Hom(A, B) = 0. When C and D are isogenous, a morphism C^{e} → D^{f} over ℚ is given by an e × f matrix with entries from End(A) ⊗ ℚ, 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) ⊗ ℚ using algorithm [...]. Once we have Hom(A, B) ⊗ ℚ to get Hom(A, B) we only need to apply algorithm [...].

In general, when A = ∏_{i∈I} C_{i}^{e_{i}} and B = ∏_{i∈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).

Algorithm 2.9 (Compute End(A)). Given a simple modular abelian variety A, this algorithm computes End(A).

1. [Find Modular Form] Since A is simple we can find [[how]] a newform f such that A is isogenous to the abelian variety A_{f}.

2. [Initialize] Let d = dim(A_{f}), let n = 1, and let V be the zero subspace of End(A_{f}) ⊗ ℚ.

3. [Compute Hecke operator] Using ... compute the restriction of the Hecke operator T_{n} to A_{f}, as an element of End(A_{f}) ⊗ ℚ.

4. [Increase V] Replace V by V + ℚ · T_{n}.

5. [Finished?] If dim(V) < d, go to step 2.

6. [Saturate] Compute End(A/ℚ) = V ∩ End(Λ_{A_{f}}) using algorithm ....[???] [[note the switch back to A from A_{f}]]

Proof. We need to show that the algorithm terminates, i.e. that the Hecke algebra generates End(A_{f}/ℚ) ⊗ ℚ. But by Theorem 1 of Shimura’s ”On the factors...” the image of T ⊗ ℚ in End(A_{f}/ℚ) ⊗ ℚ 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 ℚ and modular forms” implies that End(A_{f}/ℚ)⊗ℚ also has dimension dim(A_{f}). Thus the Hecke algebra generates End(A_{f}/ℚ) ⊗ ℚ. By Proposition ?? once we have End(A_{f}/ℚ) ⊗ ℚ we apply algorithm [...] to get End(A_{f}/ℚ).

2.4 The Isomorphism Problem for Modular Abelian Varieties

In this section we describe an algorithm to decide whether two simple modular abelian varieties are isomorphic, and if so to give an explicit isomorphism. We do not yet know how to decide whether two nonsimple modular abelian varieties are isomorphic.

Algorithm 2.10 (Norm Equation). Given an order O in a number field K and an element a ∈ ℚ, 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)

1. [Class Group] Find the class group of K.

2. [Ideals of bounded norm] Use linear programming [[huh??]] to find all ideals of norm up to some bound.

3. [Solve] Deduce all solutions to the norm equation up to units.

Proof.

Complexity: need bound on number of Hecke operators needed to generate. Will come from Sturm’s paper.

Algorithm 2.11 (Test if Isomorphic). 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.

1. [Equal?] If A = B, return “yes” and the identity map.

2. [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 → A be an isogeny.

3. [Degree of isogeny] Compute d = deg(f) using [..]. If d is not a square, return “no”.

4. [Endomorphism algebra] Compute the number field K = End(A) ⊗ ℚ, and an explicit embedding of End(A) into K using [...].

5. [Hom space] Explicitly compute Hom(A, B) using ...

6. [Image of Hom space] Compute the image H_{f} of Hom(A, B) in End(A) got by composing with f...

7. [Endomorphism ring] Compute the order O in K generated by End(A) [...].

8. [Solve norm equation] Find solutions (up to units of O) of the norm equations Norm(x) = ±\sqrt{d} in O. If there are no solutions, return “no”.

9. [Lift to H_{f}?] For each solution (up to units), check whether it lies in H_{f}.

10. [Isomorphic?] If a solution x lies in H_{f}, then return “yes” and x ∘ f^{−1}.

11. [Not isomorphic?] If none of the solutions lies in H_{f}, return “no”.

Proof. Let f : B → A be an isogeny and denote its degree by d. Define

H_{f} = {f ∘ g : g ∈ Hom(A, B)} ⊂ 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) ⊗ ℚ and let O be the order in K generated by End(A). By Proposition 12.12 in Milne’s ”Abelian Varieties” for x ∈ K we have Norm(x)^{2} = deg(x). Thus, finding an element of degree d in H_{f} is equivalent to finding x ∈ O with Norm(x) = ±\sqrt{d}, such that x ∈ 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) = ±\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 ∈ H_{f} if and only if xu ∈ H_{f}, where u is any unit of O. If x = f ∘ g for some g ∈ Hom(A, B), then xu = f ∘ (g ∘ u) is in H_{f} since g ∘ u ∈ Hom(A, B). Conversely, if xu ∈ H_{f}, then by what we have just shown x = xuu^{−1} ∈ H_{f}.

[[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 denomi-

nates...)

[[Discuss how non-simple case appears very difficult.]]

2.5 Determining the 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]]

Algorithm 2.12 (Minimal Isogeny). Given 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 → B together with an isogeny of that degree.

1. [Equal?] If A = B, return 1 and the identity map.

2. [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 → A be some isogeny.

3. [Degree of some isogeny] Compute deg(f) using [..]. Write deg(f) as ab^{2}, where a is squarefree.

4. [Endomorphism algebra] Compute the number field K = End(A) ⊗ ℚ, and an explicit embedding of End(A) into K using [...].

5. [Hom space] Explicitly compute Hom(A, B) using ...

6. [Image of Hom space] Compute the image H_{f} of Hom(A, B) in End(A) got by composing with f...

7. [Endomorphism ring] Compute the order O in K generated by End(A) [...].

8. [Initialize] Let i = 0.

9. [Solve norm equation] Increase i by one and find the solutions (up to units of O) of the norm equations Norm(x) = ±abi in O. If there are no solutions, repeat this step.

10. [Lift to H_{f}?] For each solution (up to units), check whether it lies in H_{f}.

11. [Isogenous of degree ai^{2}?] If a solution x lies in H_{f}, then return ai^{2} and x ∘ f^{−1}.

12. [Should try isogeny of higher degree] If none of the solutions lies in H_{f}, return to step [...].

Proof. Let f : A → B be an isogeny and denote its degree by d = ab^{2}, where a is squarefree. Define H_{f} = {ϕ ∘ f : ϕ ∈ Hom(B, A)} ⊂ End(A). Since degree is multiplicative, B and A are isogenous with isogeny of degree d′ if and only if H_{f} contains an element of degree dd′. Embed End(A) into K = End(A) ⊗ ℚ and let O be the order in K generated by End(A). By Proposition 12.12. in Milne’s ”Abelian Varieties” for x ∈ K we have Norm^{2}(x) = deg(x). Thus, finding an element of degree dd′ in H_{f} is equivalent to finding x ∈ O with Norm(x) = ±\sqrt{dd′}, such that x actually comes from H_{f}. Hence, the possible values for d′ are ai^{2} for i ∈ N. We can find all x such that Norm(x) = ±\sqrt{dd′} up to units of O. The proof that this suffices is the same as the end of the proof of Algorithm ??.

3 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. [[move all this stuff into the paper itself – or at least have lots of copious cross referencing.]]

3.1 Level 35

It’s not obvious that A_{f} is iso. to its dual.

[35, 2, 2, 1, 6, x^4 + 2*x^3 - 7*x^2 - 8*x + 16],

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 (ℤ/2ℤ)^{2}, which is not ker([2]) = (ℤ/2ℤ)^{4}.

> 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 ]

There is a solution, and it gives an iso.

3.2 Level 69: The first A_{f} that is not isomorphic to A_{f}^{∨}

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^{∨} because there are no solutions to the norm equation

this = that.

(Pell equation???) A minimal isogeny between A and A^{∨} is of degree 4 and is given on the integral homology by

(\begin{matrix}1 & 0 & 2 & −2 \\ 0 & 1 & 0 & 0 \\ −2 & 1 & 0 & 2 \\ 4 & −2 & 2 & −4 \end{matrix})

3.3 Level 195: An A_{f} not isomorphic to its dual, though there are solutions to the 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.

4 Future Directions

Polarization, enumerating the isogeny class, working over number fields, isomorphism testing in the non-simple case.

4.1 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(\overline{ℚ}/ℚ)-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, Shimura subgroup, cut out using Hecke operators when the dimension is bigger than 1, etc.)

Example 4.1. We show that the ℚ-isogeny class of 43B contains at least three non-isomorphic abelian varieties.

> 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 ]

Ways to get abelian varieties isogenous to A:

1. Quotient out by any subgroup of the cuspidal subgroup.

2. Quotient out by any subgroup of the Shimura subgroup Σ. The Shimura subgroup is by definition the kernel of the natural map J_{0}(N) → J_{1}(N) induced by X_{1}(N) → X_{0}(N). Paper Ling and Oesterlé that explicitly describes Σ in computable terms directly at level N.

3. Suppose A, B ⊂ J_{0}(M) are simple and non-isogenous, for some M. Then A/(A ∩ B) is isogenous to A.

[Hecke operators??? ]

Question 4.2. Do the three operations above suffice to enumerate all elements of any isogeny class? What happens for elliptic curves?

4.2 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 ℤ-algebra generated by the coefficients of f and consider H = Pic(O). Let S = {𝔮_{i}} be a set of representatives for H such that 𝔮_{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.

Proposition 4.3. Let φ : A → A′ be an isogeny whose kernel has support outside the Eisenstein primes and primes of residual characteristic 2. Then A′ ≃ A/A[𝔮] for some 𝔮 ∈ H.

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[𝔮] for various q ∈ 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.

5 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}^{∨} 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 � (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.]]

6 Polarization

We can decide whether A is isomorphic to A^{∨}. Can we decide if A is principally polarized!? The point is that a principal polarization is an isomorphism that arises from a divisor class...

References

[Cre97] J. E. Cremona, Algorithms for modular elliptic curves, second ed., Cambridge University Press, Cambridge, 1997,

         http://www.maths.nott.ac.uk/personal/jec/book/.

[Edi06] Bas Edixhoven, On the computation of the coefficients of a modular form, Algorithmic number theory, Lecture Notes in Comput. Sci., vol. 4076, Springer, Berlin, 2006, pp. 30–39. MR MR2282913 (2007k:11085)

[FpS^{+}01] E. V. Flynn, F. Leprévost, E. F. Schaefer, W. A. Stein, M. Stoll, and J. L. Wetherell, Empirical evidence for the Birch and Swinnerton-Dyer conjectures for modular Jacobians of genus 2 curves, Math. Comp. 70 (2001), no. 236, 1675–1697 (electronic). MR 1 836 926

[Rib92] K. A. Ribet, Abelian varieties over Q and modular forms, Algebra and topology 1992 (Taejŏn), Korea Adv. Inst. Sci. Tech., Taejŏn, 1992, pp. 53–79. MR 94g:11042

[Ser87] J-P. Serre, Sur les représentations modulaires de degré 2 de Gal(\overline{Q}/Q), Duke Math. J. 54 (1987), no. 1, 179–230.

[Ste07] William Stein, Modular forms, a computational approach, Graduate Studies in Mathematics, vol. 79, American Mathematical Society, Providence, RI, 2007, With an appendix by Paul E. Gunnells. MR MR2289048

7 [Diary (omit from final paper)]

7.1 06-21-2004

done Modify MAGMA code to utilize norm equation in orders, so it will always

answer “yes” or “no”. done Make sure Tseno has easy access to this new code. done Try, using Tseno’s account, to do some IsIsomorphic computations. done Set up computation of a table. done First draft of precise description of algorithm (high level).

7.2 06-23-2004

ok Show me result of trying to compute a table. done List what other algorithms the main algorithm depends on. Modify mod-

abvar.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):

• IsIsogenous,

• IsSimple,

• NaturalMap,

• IsField,

• Hom,

• End,

• Generators,

• Degree,

• Dimension,

• NormEquation.

• Order

• Saturation of a submodule of ℤ^{n}, which is basically how to compute

the kernel of a matrix over Z. I also modified modabvar.m to show us how it makes its decision. Here are the possible outcomes:

• 1 - not isogenous

• 2 - same variety

• 3 - endomorphism ring is not a field • 4 - the degree is not a perfect square

• 5 - no solution to the norm equation

• 6 - alright, we got to the very end done Precisely define “explicit modular abelian variety”.

ok Discuss examples in which interesting things happen.

Today @ 1pm.

7.3 06-23-2004

1. Write more about the algorithm for computing End(A_{f}). 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.

ok Look at Ribet’s paper. done Investigate the examples in more detail.

Look at the file examples details.txt 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.

7.4 06-30-2004

1. 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.

(a) Find echelon form of basis of lattice.

(b) Write down matrix over ℤ that has saturation of lattice as kernel.

(c) Find the kernel using algorithm 2.7.2 of Cohen’s book (Kernel over ℤ using LLL).

Complexity? Probably dominated by LLL step... ?? BAD.

2. 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?

3. 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^{∨} for factors A = A_{f} of J_{0}(N), for N ≤ 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 ≤ 100.

(d) Determine whether A is isomorphic to A^{∨} for factors A = A_{f} of J_{1}(N), for N ≤ 50 and dim(A_{f}) < 10.

4. Generating up isogeny class systematically.

(a) How to compute the Shimura subgroup Σ?!: Definition: Σ = Ker(J_{0}(N) → J_{1}(N)).

i. kernel to higher level ii. ling-oesterle (****) iii. Compute kernel directly?

(b) Suppose G is a subgroup of J_{0}(N) defined over ℚ. Then we get abelian varieties isogenous to A from A/(A[n] ∩ G) for any integer n. For example A^{⊥} is got from G = A ∩ B, where B is the Hecke-stable complement of A in J_{0}(N).

(c) Sources of G:

i. Quotient by subgroups of cuspidal subgroup ii. Shimura subgroup, iii. intersecting with other abvars iv. dual. v. Map to higher level then intersection with other abelian varieties

of higher level.

(d) 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/⟨(3) − (1/7)⟩, or B = A/(A ∩ A_{g}), where g is another newform. B = A/Σ[2].

5. Write up something about finding minimal degree of isogeny. square free part business....

7.5 07-24-2004

1. Look over new proofs.

2. 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.

3. 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.)

4. 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,...

5. Norm equation – how much to write up. References. Search MSN. Look in book... ???

6. Figure out exactly what else we need to do to completely finish this paper. Assign tasks:

(a) (Stein) Write introduction.

(b) (Stein) Write enumerating section.

(c) (Stein) Say something about complexity somewhere???

(d) (Tseno) Rewrite proof of isogeny testing algorithm.

7. 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.

7.6 02-20-2008

1. (Done) Read through paper and make corrections.

2. (Done) Type in corrections.

7.7 02-20-2008 to 02-24-2008

1. (done) Investigate what sage does with modabvars now compared to what it needs to do. Bring doctest coverage to 100%.

7.8 02-25-2008

1. Another read through and markup.

2. Make corrections.

3. Structure contents of paper – make sections for everything we need to do.

4. Implement computing intersection groups.

5. Implement solving norm equations in Sage.