Richelot Isogenies

Let k be a field of characteristic different from 2. We consider a curve of genus 2, given by an equation C:y2=f(x) where f(x) is a square-free polynomial of degree 5 or 6. Let J be the Jacobian of C. In this section we mean by a Richelot isogeny a polarized isogeny Φ: J -> A between principally polarized abelian surfaces, such that the kernel of Φ over the algebraic closure has group structure Z/2Z x Z/2Z. We have that J[Φ]⊂J[2] is maximal isotropic with respect to the Weil-pairing on J[2].

We can represent the points of J[Φ] over the algebraic closure as divisors in the following way. We write f(x)=cQ1(x)Q2(x)Q3(x), where the Qi are degree 2 polynomials if deg(f)=6. If deg(f)=5 then Q2, Q3 are of degree 2 and Q1 is of degree 1 and is considered to represent a degree 2 with a root at x=∞. Then {0, [Q1(x)=0] - [Q2(x)=0], [Q1(x)=0] - [Q3(x)=0], [Q2(x)=0] - [Q3(x)=0] } is the kernel of some Richelot-isogeny and, conversely, any Richelot kernel can be represented in this way.

The Qi do not have to be defined over the ground field individually. One way of specifying such a kernel is to write f(x)=c(Norm)L[x]/k[x] Q(x) where L=k[t]/(h(t)) for some square free cubic polynomial h and Q(x)∈L[x]. If L is totally split and A is the Jacobian of a genus 2 curve then a description the genus 2 curve D such that A=(Jac)(D) is classically known. See [Smi05], Chapter 8 for an exposition that is relatively close to the description given here. See [BD09] for a description of D for general L.

In special cases, the codomain A can be a product of elliptic curves or the Weil-restriction of an elliptic curve with respect to a quadratic extension of k. In that case, the curve C has extra automorphisms that respects the representation f(x)=c(Norm)L[x]/k[x] Q(x). and one can find the relevant elliptic curves as quotients of C.

A double Richelot isogeny varphi between two principally polarized abelian surfaces A and A' (over some base field k) is the composition of two Richelot isogenies A to A" to A' that are individually not defined over k (but varphi is). We exclude the trivial case that varphi is multiplication by 2 (which occurs when the two Richelot isogenies are duals of each other). Then the kernel K of varphi is isomorphic to Z/2Z x Z/2Z x Z/4Z as an abelian group. Twice any of the points of order 4 in the kernel is a point P of order 2 on A, which must be k-rational (it is also the non-trivial element in the annihilator of K ∩A[2] under the Weil pairing). There are three maximally isotropic subspaces of A[2] (with respect to the Weil pairing) that contain P; each of them can be used as the kernel of the first Richelot isogeny. Since none of these Richelot isogenies is defined over k, the absolute Galois group of k has to permute these three spaces transitively. We now assume char(k) != 2 and that A = J is the Jacobian of a curve of the form y2 = f(x, z). Then f(x, z) = q(x, z) h(x, z) qquad in k[x] with a quadratic q and a quartic h whose Galois group is not contained in D4 (which is equivalent to saying that the three factorizations of h into two quadratics are all Galois-conjugate. These factorizations correspond to the maximal isotropic subspaces containing the point P given by q).

We note that if A' is doubly Richelot isogenous to J, then the intermediate abelian surface A" must also be a Jacobian. Since the three possible Richelot isogenies J to A" are Galois-conjugate, the same is true for the three possible A", so they are either all Jacobians or all products of two elliptic curves (at least geometrically). Working over a suitable field extension, we can assume that h(x, z) = x z (x - z) (x - az). Recall that the condition for A" to be split is that the three quadratic factors corresponding to the kernel of J to A" are linearly dependent. If all versions of A" are split, this means that there is some quadratic q(x, z) = r x2 + s xz + t z2 such that the triples of vectors

(r, s, t), (0, 1, 0), (1, - 1 - a, a)

(r, s, t), (1, - 1, 0), (0, 1, - a)

(r, s, t), (1, - a, 0), (0, 1, - 1)

are linearly dependent. Equivalently, the cross products of the last two vectors in each triple all lie in the plane orthogonal to (r, s, t); in particular, these cross products are linearly dependent. But

eqalign( (0, 1, 0) x (1, - 1 - a, a) &= (a, 0, - 1)
(1, - 1, 0) x (0, 1, - a) &= (a, a, 1)
(1, - a, 0) x (0, 1, - 1) &= (a, 1, 1)
)

and |matrix( a & 0 & - 1
a & a & 1
a & 1 & 1
)| = 2 a (a - 1) != 0 .

So we obtain all surfaces doubly Richelot isogenous to J by taking a Richelot isogeny to another Jacobian over a cubic field and composing it with a further Richelot isogeny (over the same field) from that Jaocbian.

The DoubleRichelot.. intrinsics below compute a sequence containing all double Richelot isogenous Jacobians (resp., the corresponding curves) for a given genus 2 Jacobian over the rational numbers such that the intermediate Richelot isogenous abelian surface (which will be defined over a cubic number field) is a Jacobian.

Let varphi : J to J' be an isogeny between two Jacobians of genus 2 curves whose degree is a power of 2 (and such that the canonical principal polarizations are compatible via the isogeny). Then varphi factors as a product of Richelot isogenies and double Richelot isogenies defined over the base field. So we can find all J' that are 2-power isogenous to a given J by constructing the connected component of the graph of Richelot and double Richelot isogenies that contains J. The TwoPowerIsogenies intrinsic is provided for this purpose.

Caveat: right now, we cannot guarantee that we really find all isogenous Jacobians (say), since the graph traversal stops at points where we reach a non-Jacobian abelian surface. It might be possible that a 2-power isogenous Jacobian can only be reached via an isogeny to a non-Jacobian.

RichelotIsogenousSurfaces(J) : JacHyp -> List, List
RichelotIsogenousSurfaces(C) : CrvHyp -> List, List
    Kernels: BoolElt                    Default: true
Computes the richelot isogenies defined over the basefield of the given abelian varieties and returns a list of objects representing the codomains. If the codomain is the Jacobian of a genus 2 curve, then that Jacobian is returned or, if a curve is given instead of a Jacobian, the corresponding curve.

If the codomain is a product of elliptic curves, a Cartesian product of elliptic curves is returned. If the codomain is the Weil restriction of an elliptic curve relative to a quadratic extension, then the elliptic curve over the quadratic extension is returned.

If Kernels is specified then a second list is returned, consisting of quadratic polynomials over cubic algebras. Each describes the kernel of the relevant isogeny.

RichelotIsogenousSurface(J, kernel) : JacHyp, RngUPolElt[RngUPolRes] -> .
RichelotIsogenousSurface(C, kernel) : CrvHyp, RngUPolElt[RngUPolRes] -> .
Given a genus 2 Jacobian and a Richelot kernel, return the codomain. The genus 2 curve must be given by a model of the form C:y2=f(x) and the kernel must be a quadratic polynomial Q(x) over a cubic algebra L such that (Norm)L[x]/k[x] Q(x)= cf(x). The elements of the second list returned by RichelotIsogenousSurfaces when given Kernels:=true are valid kernel descriptions. The codomain is returned using the same conventions as for RichelotIsogenousSurfaces.

Example CrvHyp_richelot_isogeny (H134E11)

We will determine the Richelot isogenies on the Jacobian of y2=x5 + x. This Jacobian has the amusing property that there are 3 such isogenies and that each of the types of codomain (Jacobian, Weil restriction, product of elliptic curves) is represented.
> R<x>:=PolynomialRing(Rationals());
> C:=HyperellipticCurve(x^5+x);
> J:=Jacobian(C);
> RichelotIsogenousSurfaces(J);
[*
    Cartesian Product<Elliptic Curve defined by y^2 = x^3 + 5/32*x^2 -
    5/1024*x - 1/32768 over Rational Field, Elliptic Curve defined by
    y^2 = x^3 - 5/32*x^2 - 5/1024*x + 1/32768 over Rational Field>,
    Jacobian of Hyperelliptic Curve defined by y^2 = -2*x^5 - 2*x over
    Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 5/32*$.1*x^2 + 5/1024*x +
        1/32768*$.1 over Number Field with defining polynomial x^2 + 1
    over the Rational Field
*]

We now illustrate how the kernels are represented.

> codomains,kernels:=RichelotIsogenousSurfaces(J:Kernels);
> Q:=kernels[1];
> LX<X>:=Parent(Q);
> L<alpha>:=BaseRing(LX);
> Q;
(-1/2*alpha^2 + 2*alpha)*X^2 + (-1/2*alpha^2 + alpha + 1)*X -
    1/2*alpha^2 + 2*alpha
> L;
Univariate Quotient Polynomial Algebra in alpha over Rational Field
with modulus alpha^3 - 4*alpha^2 + 2*alpha
Let us check that the norm of Q gives us x5 + x again and that calling RichelotIsogenousSurface allows us to recreate the corresponding codomain.
> _,swp:=SwapExtension(LX);
> Norm(swp(Q));
x^5 + x
We can use Q to recreate the corresponding codomain.
> codomains[1] eq RichelotIsogenousSurface(J,Q);
true
Finally, to verify that the computed abelian surfaces are all isogenous, we verify that their L-series over Q are equal. For each type of return value we have to create the L-Series in a slightly different way, but once done, we can easily check that their coefficients agree.
> LC:=LSeries(C : LocalData:="Ogg");
> myL:=func< A|
>     case<Type(A) | SetCart : LSeries(A[1])*LSeries(A[2]),
>                    JacHyp : LSeries(Curve(A) : LocalData:="Ogg"),
>                    CrvEll : LSeries(A),
>                    default : false>>;
> cfs:=[c: c in LGetCoefficients(LC,1000)];
> [[c: c in LGetCoefficients(myL(A),1000)] eq cfs : A in codomains];
[ true, true, true ]
DoubleRichelotIsogenies(J) : JacHyp -> SeqEnum
Given a genus 2 Jacobian J, this finds Jacobians J' related to J by a "double Richelot isogeny", i.e., an isogeny with kernel isomorphic to Z/2 x Z/2 x Z/4, but which does not factor into two Richelot isogenies over Q. A sequence containing these Jacobians J' is returned.
DoubleRichelotIsogenies(C) : CrvHyp -> SeqEnum
This finds curves C' such that the Jacobians of (genus 2) C and C' have a "double Richelot isogeny" between them, i.e., an isogeny with kernel isomorphic to Z/2 x Z/2 x Z/4, but which does not factor into two Richelot isogenies over Q. A sequence containing these curves C' is returned.
TwoPowerIsogenies(J) : JacHyp -> SeqEnum, SeqEnum, SeqEnum
For a genus 2 Jacobian J over Q, determine (hopefully) all principally polarized Jacobians and some other principally polyarized abelian surfaces over Q up to isomorphism that are isogenous to J (with compatible polarization) by an isogeny of degree a power of 2. This returns a sequence whose elements are isogenous Jacobians (other than J), a sequence whose elements are products of two elliptic curves over Q and a sequence whose elements are elliptic curves over quadratic fields (whose restriction of scalars down to Q are isogenous to J).

Example CrvHyp_richelot_double_isogeny (H134E12)

We consider the Jacobian of the curve y2 + (x3 + 1) y = x2 + x (this is curve 249.a.249.1 in the LMFDB). There are no Richelot isogenous abelian surfaces, but there are some double Richelot isogenous Jacobians.
> R<x>:=PolynomialRing(Rationals());
> C:=HyperellipticCurve(x^2+x, x^3+1);
> J:=Jacobian(C);
> RichelotIsogenousSurfaces(J);
[* *]
> DoubleRichelotIsogenies(J);
[
    Jacobian of Hyperelliptic Curve defined by y^2 = -15*x^6 - 220*x^5 - 960*x^4
        - 770*x^3 + 1780*x^2 - 780*x + 105 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = x^6 - 4*x^5 + 6*x^3 + 4*x^2
        + 12*x + 9 over Rational Field
]

Now we look at the curve y2 = (x - 2)(x - 1)x(x + 1)(x + 2) and its Jacobian. The Jacobian has full rational 2-torsion, so there are many Richelot isogenies. There are no double Richelot isogenies, but there are some additional 2-power isogenous abelian surfaces.

> R<x>:=PolynomialRing(Rationals());
> C:=HyperellipticCurve((x-2)*(x-1)*x*(x+1)*(x+2));
> J:=Jacobian(C);
> RichelotIsogenousSurfaces(J);
[*
    Jacobian of Hyperelliptic Curve defined by y^2 = -40*x^6 + 280*x^5 - 60*x^4
        - 1520*x^3 - 120*x^2 + 1120*x - 320 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -10*x^6 + 70*x^5 - 60*x^4 -
        170*x^3 - 210*x^2 - 80*x + 40 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -8*x^5 + 60*x^4 - 80*x^3 -
        120*x^2 - 32*x over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -35*x^6 + 112*x^5 + 105*x^4
        - 350*x^3 + 210*x^2 + 448*x - 280 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -15*x^6 + 40*x^5 - 15*x^4 +
        10*x^3 + 30*x^2 + 160*x + 120 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -5*x^6 - 20*x^5 + 105*x^4 -
        170*x^3 + 120*x^2 + 280*x + 80 over Rational Field,
    Elliptic Curve defined by y^2 = x^3 - 35/256*$.1*x^2 + 35/32768*x -
        1/8388608*$.1 over Number Field with defining polynomial x^2 - 2 over
    the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 5/256*$.1*x^2 + 45/32768*x +
        729/8388608*$.1 over Number Field with defining polynomial x^2 + 2 over
    the Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -18*x^5 - 90*x^3 - 72*x
    over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 35*x^6 + 112*x^5 - 105*x^4
        - 350*x^3 - 210*x^2 + 448*x + 280 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 15*x^6 + 40*x^5 + 15*x^4 +
        10*x^3 - 30*x^2 + 160*x - 120 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 5*x^6 - 20*x^5 - 105*x^4 -
        170*x^3 - 120*x^2 + 280*x - 80 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 40*x^6 + 280*x^5 + 60*x^4 -
        1520*x^3 + 120*x^2 + 1120*x + 320 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 10*x^6 + 70*x^5 + 60*x^4 -
        170*x^3 + 210*x^2 - 80*x - 40 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -8*x^5 - 60*x^4 - 80*x^3 +
        120*x^2 - 32*x over Rational Field
*]
> DoubleRichelotIsogenies(J);
[]
> TwoPowerIsogenies(J);
[
    Jacobian of Hyperelliptic Curve defined by y^2 = -10*x^6 + 70*x^5 - 15*x^4 -
        380*x^3 - 30*x^2 + 280*x - 80 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -10*x^6 + 70*x^5 - 60*x^4 -
        170*x^3 - 210*x^2 - 80*x + 40 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -2*x^5 + 15*x^4 - 20*x^3 -
        30*x^2 - 8*x over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -35*x^6 + 112*x^5 + 105*x^4
        - 350*x^3 + 210*x^2 + 448*x - 280 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -15*x^6 + 40*x^5 - 15*x^4 +
        10*x^3 + 30*x^2 + 160*x + 120 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 5*x^6 - 35*x^5 + 30*x^4 +
        85*x^3 + 105*x^2 + 40*x - 20 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = x^5 + 5*x^3 + 4*x over
    Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 35*x^6 + 112*x^5 - 105*x^4
        - 350*x^3 - 210*x^2 + 448*x + 280 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 15*x^6 + 40*x^5 + 15*x^4 +
        10*x^3 - 30*x^2 + 160*x - 120 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -5*x^6 - 35*x^5 - 30*x^4 +
        85*x^3 - 105*x^2 + 40*x + 20 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 10*x^6 + 70*x^5 + 15*x^4 -
        380*x^3 + 30*x^2 + 280*x + 80 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 10*x^6 + 70*x^5 + 60*x^4 -
        170*x^3 + 210*x^2 - 80*x - 40 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -2*x^5 - 15*x^4 - 20*x^3 +
        30*x^2 - 8*x over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 105*x^6 + 20440*x^5 -
        6930*x^4 - 81760*x^3 - 13860*x^2 + 81760*x + 840 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = 45*x^6 - 680*x^5 + 2970*x^4
        - 2720*x^3 - 5940*x^2 - 2720*x - 360 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -105*x^6 + 20440*x^5 +
        6930*x^4 - 81760*x^3 + 13860*x^2 + 81760*x - 840 over Rational Field,
    Jacobian of Hyperelliptic Curve defined by y^2 = -45*x^6 - 680*x^5 -
        2970*x^4 - 2720*x^3 + 5940*x^2 - 2720*x + 360 over Rational Field
]
[]
[
    Elliptic Curve defined by y^2 = x^3 - 35/256*$.1*x^2 + 35/32768*x -
        1/8388608*$.1 over Number Field with defining polynomial x^2 - 2 over
    the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 5/256*$.1*x^2 + 45/32768*x +
        729/8388608*$.1 over Number Field with defining polynomial x^2 + 2 over
    the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 1/64*(-635*$.1 - 285)*x^2 +
    1/4096*(-29350*$.1 + 41725)*x + 1/262144*(-625*$.1 + 875) over Number Field
    with defining polynomial x^2 - 2 over the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 1/128*(415*$.1 + 930)*x^2 +
    1/8192*(28650*$.1 + 45075)*x + 1/1048576*(455625*$.1 + 182250) over Number
    Field with defining polynomial x^2 + 2 over the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 1/128*(-1645*$.1 + 2310)*x^2 +
    1/8192*(-114170*$.1 - 161455)*x + 1/1048576*(-2401*$.1 - 3430) over Number
    Field with defining polynomial x^2 - 2 over the Rational Field,
    Elliptic Curve defined by y^2 = x^3 - 5/256*$.1*x^2 - 45/32768*x +
        729/8388608*$.1 over Number Field with defining polynomial x^2 - 2 over
    the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 35/256*$.1*x^2 - 35/32768*x -
        1/8388608*$.1 over Number Field with defining polynomial x^2 + 2 over
    the Rational Field,
    Elliptic Curve defined by y^2 = x^3 + 1/128*(415*$.1 - 930)*x^2 +
    1/8192*(-28650*$.1 + 45075)*x + 1/1048576*(455625*$.1 - 182250) over Number
    Field with defining polynomial x^2 + 2 over the Rational Field
]
V2.28, 13 July 2023