This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Listing superspecial curves of genus three by using Richelot isogeny graph

Ryo Ohashi,  Hiroshi Onuki,  Momonari Kudo,
Ryo Yoshizumi   and  Koji Nuida
Abstract.

In algebraic geometry, superspecial curves are important research objects. While the number of superspecial genus-3 curves in characteristic pp is known, the number of hyperelliptic ones among them has not been determined even for small pp. In this paper, in order to compute the latter number, we give an algorithm for computing the Richelot isogeny graph of superspecial abelian threefolds by using theta functions. Our algorithm enables us to efficiently list superspecial genus-3 curves, and we succeeded in counting hyperelliptic curves among them when 11p<10011\leq p<100 by executing our algorithm in Magma.

1. Introduction

Throughout this paper, by a curve we mean a non-singular projective variety of dimension one and isomorphisms between two curves are ones over an algebraically closed field. A curve CC over an algebraically closed field kk of characteristic p>0p>0 is called superspecial if the Jacobian of CC is isomorphic to the product of supersingular elliptic curves. In recent years, superspecial curves have been used for isogeny-based cryptography (e.g. [18], [6], [2] and so on), and studies on such curves are becoming more important.

For given integers gg and pp, it is known that the number of isomorphism classes of superspecial curves of genus gg in characteristic pp is finite, and determining that number is an important problem. This problem was already solved for genus g3g\leq 3; Deuring [12] found the number of all supersingular elliptic curves (i.e. g=1g=1), and the number for g=2g=2 is given by Ibukiyama, Katsura, and Oort [24]. For the case of g=3g=3, Oort [41] and Ibukiyama [23] showed there exists a superspecial curve of genus 33 in arbitrary characteristic p3p\geq 3, and the number of such curves was also computed by Brock [4]. However, the number of a superspecial hyperelliptic curve of genus 3 is not known, and in fact, even the existence of such a curve in arbitrary characteristic p3p\geq 3 has not been shown.

Our aim is to clarify the above problems for superspecial hyperelliptic curves of genus 3 in small characteristic pp. For this, we utilize the connectivity of the Richelot isogeny graph (see Section 2.4 for definitions) of superspecial principally polarized abelian varieties of dimension gg, denoted by 𝒢g(2,p)\mathcal{G}_{g}(2,p). While the graph 𝒢2(2,p)\mathcal{G}_{2}(2,p) can be computed by using known formulae (cf. [6, §3\S 3]), this is not the case where g3g\geq 3 (partial formulae such as those in [50] exist for g=3g=3, but they are not sufficient to compute the entire graph). In this paper, we will describe an explicit algorithm for computing 𝒢3(2,p)\mathcal{G}_{3}(2,p) by using theta functions. Theta functions enable us to compute Richelot isogenies between abelian varieties as outlined in [10, Appendix F], and the case of g=2g=2 is implemented by [11] indeed. One of our contributions is explicitly formulating and implementing this algorithm in the case of g=3g=3.

Our overall strategy for listing superspecial genus-3 curves is as follows: we start from one principally polarized superspecial abelian threefold, and compute vertices connected to it via edges on 𝒢3(2,p)\mathcal{G}_{3}(2,p), repeating this process to generate all vertices. An important point is that the computation of Richelot isogenies, the verification of whether the codomain is isomorphic to the Jacobian of a genus-3 curve, and the reconstruction of those curve can be carried out through theta constants. We note that this process is derived based on discussions over \mathbb{C}, but it also works correctly in characteristic p>7p>7. Consequently, we obtain the following main theorem:

Theorem 1.1.

There exists an algorithm (Algorithm 3.16) for listing superspecial genus-3 curves in characteristic p>7p>7 with O~(p6)\widetilde{O}(p^{6}) operations over 𝔽p4\mathbb{F}_{p^{4}}.

Our algorithm allows us to restore the explicit defining equations of all superspecial curves of genus 3 efficiently, compared to the methods using the Gröbner basis (this complexity would be exponential with respect to pp in worst case).

Executing our algorithm, we succeeded in proving the existence of superspecial hyperelliptic curves of genus 3 in small pp as follows:

Theorem 1.2.

The number of isomorphism classes of superspecial genus-3 hyperelliptic curves of genus 3 for 11p<10011\leq p<100 is summarized in Table 1 of Section 4. Moreover, there exists such a curve in any characteristic pp with 7p<100007\leq p<10000.

We note that the upper bounds on pp in Theorem 1.2 can be increased easily. From our computational results, we obtain a conjecture that there exists a superspecial hyperelliptic curve of genus 3 in arbitrary characteristic p7p\geq 7.

The rest of this paper is organized as follows:  Section 2 is dedicated to reviewing some facts on analytic theta functions. In Section 2.4, we recall the definition and properties of superspecial Richelot isogeny graph 𝒢g(2,p)\mathcal{G}_{g}(2,p). We then explain how to compute the graph 𝒢3(2,p)\mathcal{G}_{3}(2,p) in Section 3, and finally Algorithm 3.16 gives its explicit construction. In Section 4, we state computational results about the existence and the number of superspecial hyperelliptic curves of genus 3 in small pp, obtained by our implementation. At last, we give a concluding remark in Section 5.

2. Preliminaries

In this section, we summarize background knowledge required in later sections. Abelian varieties and isogenies between them before Section 2.3 are defined over \mathbb{C}, but in Section 2.4 we consider those over a field of odd characteristic.

2.1. Abelian varieties and their isogenies

In this subsection, we shall review the theory of complex abelian varieties and isogenies. A complex abelian variety  of dimension gg is isomorphic to g/(g+Ωg)\mathbb{C}^{g}/(\mathbb{Z}^{g}+\varOmega\mathbb{Z}^{g}), where Ω\varOmega is an element of the Siegel upper half-space

g{ΩMatg()tΩ=Ω,ImΩ>0}.\mathcal{H}_{g}\coloneqq\{\varOmega\in{\rm Mat}_{g}(\mathbb{C})\,\mid\,^{t}\varOmega=\varOmega,\,{\rm Im}\,\varOmega>0\}.\vspace{1mm}

Such Ωg\varOmega\in\mathcal{H}_{g} is called a (small) period matrix of the abelian variety. First, we recall a characterization of isomorphisms between abelian varieties:

Definition 2.1.

For a commutative ring RR and an integer g1g\geq 1, we define a group

Sp2g(R){MGL2g(R)MEtM=E},E(0𝟏g𝟏g0).{\rm Sp}_{2g}(R)\coloneqq\{M\in{\rm GL}_{2g}(R)\,\mid\,ME\hskip 0.85358pt^{t}M=E\},\quad E\coloneqq\begin{pmatrix}0&{\mathbf{1}}_{g}\\ -{\mathbf{1}}_{g}&0\end{pmatrix}.\vspace{0.7mm}

We say that a matrix MGL2g(R)M\in{\rm GL}_{2g}(R) is symplectic over RR\hskip 0.56905pt if MSp2g(R)M\in{\rm Sp}_{2g}(R).

The following lemma helps determine whether MM is a symplectic matrix or not:

Lemma 2.2 ([32, Lemma 8.2.1]).

For any (2g×2g)(2g\times 2g)-matrix M=(αβγδ)GL2g(R)M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}\in{\rm GL}_{2g}(R) with α,β,γ,δMatg(R)\alpha,\beta,\gamma,\delta\in{\rm Mat}_{g}(R), the following three statements are equivalent:

  1. (1)

    The matrix MM is symplectic over RR.

  2. (2)

    Two matrices αtβ,γtδ\alpha\hskip 0.56905pt^{t}\beta,\,\gamma\hskip 0.85358pt^{t}\delta are both symmetric and αtδβtγ=𝟏g\alpha\hskip 0.85358pt^{t}\delta-\beta\hskip 1.42262pt^{t}\gamma={\mathbf{1}}_{g}.

  3. (3)

    Two matrices αtγ,tβδ{}^{t}\alpha\hskip 0.85358pt\gamma,\hskip 1.42262pt^{t}\beta\hskip 1.13809pt\delta are both symmetric and αtδtγβ=𝟏g{}^{t}\alpha\hskip 0.85358pt\delta-\hskip 0.28453pt^{t}\gamma\beta={\mathbf{1}}_{g}.

For a matrix M=(αβγδ)Sp2g()M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}\in{\rm Sp}_{2g}(\mathbb{Z}), the action on the Siegel upper half-space

Sp2g()×gg(M,Ω)(αΩ+β)(γΩ+δ)1M.Ω\displaystyle\begin{split}{\rm Sp}_{2g}(\mathbb{Z})\times\mathcal{H}_{g}&\longrightarrow\mathcal{H}_{g}\\[-1.42262pt] (M,\varOmega)&\longmapsto(\alpha\varOmega+\beta)(\gamma\varOmega+\delta)^{-1}\eqqcolon M.\varOmega\end{split}

is well-defined. Moreover, the map

gg;zt(γΩ+δ)1zM.z\mathbb{C}^{g}\longrightarrow\mathbb{C}^{g}\,;\,z\longmapsto^{t}(\gamma\varOmega+\delta)^{-1}z\eqqcolon M.z\vspace{1mm}

induces an isomorphism g/(g+Ωg)g/(g+M.Ωg)\mathbb{C}^{g}/(\mathbb{Z}^{g}+\varOmega\mathbb{Z}^{g})\rightarrow\mathbb{C}^{g}/(\mathbb{Z}^{g}+M.\varOmega\mathbb{Z}^{g}).

Proposition 2.3 ([32, Proposition 8.1.3]).

The principally polarized abelian varieties of dimension gg with period matrices Ω,Ωg\varOmega,\varOmega^{\prime}\in\mathcal{H}_{g} are isomorphic to each other if and only if there exists a symplectic matrix MSp2g()M\in{\rm Sp}_{2g}(\mathbb{Z}) such that Ω=M.Ω\varOmega^{\prime}=M.\varOmega.

An isogeny between abelian varieties is a surjective homomorphism with a finite kernel. If there exists an isogeny ABA\rightarrow B, then the dimensions of AA and BB are equal to each other, and we say that AA and BB are isogenous. Two isogenies ABA\rightarrow B with the same kernel are equivalent up to an automorphism of BB, thus we identify them.

Proposition 2.4.

For an abelian variety AA of dimension gg and a prime integer \ell, the number of maximal isotropic subgroups GG of A[]A[\ell] is equal to

Ng()k=1g(k+1).N_{g}(\ell)\coloneqq\prod_{k=1}^{g}(\ell^{k}+1).\vspace{0.5mm}
Proof.

See [9, Lemma 2] or [5, Lemma 2], for example. ∎

An isogeny whose kernel is such a group GG the above is called an (,,g)(\overbrace{\ell,\dots,\ell}^{g})-isogeny. In particular, one can see that the (,,)(\ell,\ldots,\ell)-isogeny

g/(g+Ωg)g/(g+Ωg)zz\displaystyle\begin{split}\mathbb{C}^{g}/(\mathbb{Z}^{g}+\varOmega\mathbb{Z}^{g})&\longrightarrow\mathbb{C}^{g}/(\mathbb{Z}^{g}+\ell\varOmega\mathbb{Z}^{g})\\[-1.42262pt] z&\longmapsto\ell z\end{split}

has the kernel 1g/g\frac{1}{\ell}\mathbb{Z}^{g}/\mathbb{Z}^{g}.

2.2. Theta functions

The theta function of characteristics a,bga,b\in\mathbb{Q}^{g} is given as

θ[ab](z,Ω)ngexp(πit(n+a)Ω(n+a)+2πit(n+a)(z+b))\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega)\coloneqq\sum_{n\in\mathbb{Z}^{g}}\exp\bigl{(}\pi i\hskip 1.42262pt^{t}(n+a)\hskip 0.56905pt\varOmega\hskip 0.56905pt(n+a)+2\pi i\hskip 1.42262pt^{t}(n+a)(z+b)\bigr{)}\vspace{0.5mm}

for zgz\in\mathbb{C}^{g} and Ωg\varOmega\in\mathcal{H}_{g}. All the characteristics can be considered modulo g\mathbb{Z}^{g}, since one can check that

θ[a+αb+β](z,Ω)=θ[ab](z,Ω)exp(2πitaβ)\theta\bigl{[}\begin{smallmatrix}a+\alpha\\ b+\beta\end{smallmatrix}\bigr{]}(z,\varOmega)=\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega)\exp(2\pi i\hskip 1.42262pt^{t}a\beta)\vspace{0.3mm}

for all α,βg\alpha,\beta\in\mathbb{Z}^{g}. In the following, we shall consider only theta functions θ[ab](z,Ω)\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega) for characteristics a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}.

Lemma 2.5.

For all characteristics a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}, the function θ[ab](z,Ω)\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega) is even with respect to zz if and only if 4tab4\hskip 0.56905pt^{t}ab is an even integer;  otherwise θ[ab](z,Ω)\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega) is odd.

Proof.

The first assertion follows from that

θ[ab](z,Ω)=(1)4tabθ[ab](z,Ω).\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(-z,\varOmega)=(-1)^{4\hskip 0.56905pt^{t}ab}\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega).

The second assertion follows from that 4tab4\hskip 0.56905pt^{t}ab is an integer for all a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}. ∎

The following two formulae are very fundamental and generate many relations:

Theorem 2.6 (Riemann’s theta formula).

Let mk:=(akbk)m_{k}:=\begin{pmatrix}a_{k}\\ b_{k}\end{pmatrix} with ak,bk12g/ga_{k},b_{k}\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}, and we define

(n1n2n3n4)12(𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g𝟏2g)(m1m2m3m4).\begin{pmatrix}n_{1}\\ n_{2}\\ n_{3}\\ n_{4}\end{pmatrix}\coloneqq\hskip 0.85358pt\frac{1}{2}\begin{pmatrix}{\mathbf{1}}_{2g}&\hskip 7.68222pt{\mathbf{1}}_{2g}&\hskip 7.68222pt{\mathbf{1}}_{2g}&\hskip 7.68222pt{\mathbf{1}}_{2g}\\ {\mathbf{1}}_{2g}&\hskip 7.68222pt{\mathbf{1}}_{2g}&-{\mathbf{1}}_{2g}&-{\mathbf{1}}_{2g}\\ {\mathbf{1}}_{2g}&-{\mathbf{1}}_{2g}&\hskip 7.68222pt{\mathbf{1}}_{2g}&-{\mathbf{1}}_{2g}\\ {\mathbf{1}}_{2g}&-{\mathbf{1}}_{2g}&-{\mathbf{1}}_{2g}&\hskip 7.68222pt{\mathbf{1}}_{2g}\end{pmatrix}\begin{pmatrix}m_{1}\\ m_{2}\\ m_{3}\\ m_{4}\end{pmatrix}.

Then, we have the equation

k=14θ[mk](0,Ω)=12gα,β12g/g(1)4taβk=14θ[nk+γα,β](0,Ω)\prod_{k=1}^{4}\theta[m_{k}](0,\varOmega)=\frac{1}{2^{g}}\sum_{\alpha,\beta\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}}(-1)^{4\hskip 0.56905pt^{t}a\beta}\prod_{k=1}^{4}\theta[n_{k}+\gamma_{\alpha,\beta}](0,\varOmega)\vspace{0.7mm}

where γα,β\gamma_{\alpha,\beta} denotes (αβ)\begin{pmatrix}\alpha\\ \beta\end{pmatrix} with α,β12g/g\alpha,\beta\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}.

Proof.

Apply [26, Chapter IV, Theorem 1] for z1=z2=z3=z4=0z_{1}=z_{2}=z_{3}=z_{4}=0. ∎

Theorem 2.7 (Duplication formula).

For all a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}, we have

θ[ab](z,Ω)2=12gβ12g/g(1)4taβθ[0b](z,Ω/2)θ[0b+β](z,Ω/2).\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega)^{2}=\frac{1}{2^{g}}\hskip 0.56905pt\sum_{\beta\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}}(-1)^{4\hskip 0.56905pt^{t}a\beta}\hskip 0.85358pt\theta\bigl{[}\begin{smallmatrix}0\\ b\end{smallmatrix}\bigr{]}(z,\varOmega/2)\theta\bigl{[}\begin{smallmatrix}0\\ b+\beta\end{smallmatrix}\bigr{]}(z,\varOmega/2).
Proof.

Apply [26, Chapter IV, Theorem 2] for m1=m2m_{1}=m_{2} and z1=z2=zz_{1}=z_{2}=z. ∎

Especially if a matrix Ωg\varOmega\in\mathcal{H}_{g} is written as

Ω=(Ω100Ω2)whereΩ1g1,Ω2g2\varOmega=\begin{pmatrix}\varOmega_{1}&0\\ 0&\varOmega_{2}\end{pmatrix}\ \,{\rm where}\ \,\varOmega_{1}\in\mathcal{H}_{g_{1}},\ \varOmega_{2}\in\mathcal{H}_{g_{2}}

with g1+g2=gg_{1}+g_{2}=g, then we have the following lemma:

Lemma 2.8 ([10, Lemma F.3.1]).

With the above notations, we write z(z1,z2)z\coloneqq(z_{1},z_{2}) where z1g1,z2g2z_{1}\in\mathbb{C}^{g_{1}},\,z_{2}\in\mathbb{C}^{g_{2}}. Then, we have the equation

θ[a1a2b1b2](z,Ω)=θ[a1b1](z1,Ω1)θ[a2b2](z2,Ω2)\theta\bigl{[}\begin{smallmatrix}a_{1}&a_{2}\\ b_{1}&b_{2}\end{smallmatrix}\bigr{]}(z,\varOmega)=\theta\bigl{[}\begin{smallmatrix}a_{1}\\ b_{1}\end{smallmatrix}\bigr{]}(z_{1},\varOmega_{1})\hskip 0.85358pt\theta\bigl{[}\begin{smallmatrix}a_{2}\\ b_{2}\end{smallmatrix}\bigr{]}(z_{2},\varOmega_{2})\vspace{1mm}

for all characteristics a1,b112g1/g1a_{1},b_{1}\in\frac{1}{2}\mathbb{Z}^{g_{1}}/\mathbb{Z}^{g_{1}} and a2,b212g2/g2a_{2},b_{2}\in\frac{1}{2}\mathbb{Z}^{g_{2}}/\mathbb{Z}^{g_{2}}.

Let us return to cases with a general (not necessarily diagonal) matrix Ωg\varOmega\in\mathcal{H}_{g}. For any symplectic matrix M=(αβγδ)Sp2g()M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}\in{\rm Sp}_{2g}(\mathbb{Z}) and characteristics a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}, we define a scalar

k(M,a,b):=(atδbtγ)t(btαatβ+(αtβ)0)atbk(M,a,b):=(a\hskip 0.85358pt^{t}\delta-b\hskip 1.13809pt^{t}\gamma)\hskip 1.42262pt\cdot\hskip 0.85358pt^{t}(b\hskip 1.42262pt^{t}\alpha-a\hskip 0.85358pt^{t}\beta+(\alpha\hskip 0.85358pt^{t}\beta)_{0})-a\hskip 0.85358pt^{t}b\vspace{0.5mm}

and two vectors

(2.1) M.a:=atδbtγ+12(γtδ)0,M.b:=btαatβ+12(αtβ)0,M.a:=a\hskip 0.85358pt^{t}\delta-b\hskip 1.13809pt^{t}\gamma+\frac{1}{2}(\gamma\hskip 1.42262pt^{t}\delta)_{0},\quad M.b:=b\hskip 1.42262pt^{t}\alpha-a\hskip 0.85358pt^{t}\beta+\frac{1}{2}(\alpha\hskip 0.85358pt^{t}\beta)_{0},\vspace{0.5mm}

where (αtβ)0,(γtδ)0(\alpha\hskip 0.85358pt^{t}\beta)_{0},(\gamma\hskip 1.42262pt^{t}\delta)_{0} denote the row vector of the diagonal elements of (αtβ),(γtδ)(\alpha\hskip 0.85358pt^{t}\beta),(\gamma\hskip 1.42262pt^{t}\delta). Then, the matrix MM acts on the theta function in the following way:

Theorem 2.9 (Theta transformation formula).

For all a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}, we have

θ[M.aM.b](M.z,M.Ω)=ceπik(M,a,b)θ[ab](z,Ω),\theta\bigl{[}\begin{smallmatrix}M.a\\ M.b\end{smallmatrix}\bigr{]}(M.z,M.\varOmega)=c\cdot e^{\pi ik(M,a,b)}\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(z,\varOmega),\vspace{0.7mm}

where c×c\in\mathbb{C}^{\times} is a constant which does not depend aa or bb.

Proof.

This follows from [32, Theorem 8.6.1]. ∎

Let n1n\geq 1 be an integer and we define

Γn\displaystyle\varGamma_{n} :={M=(αβγδ)Sp2g()αδ𝟏g,βγ𝟎g(modn)},\displaystyle:=\bigl{\{}M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}\in{\rm Sp}_{2g}(\mathbb{Z})\,\mid\,\alpha\equiv\delta\equiv{\mathbf{1}}_{g},\ \beta\equiv\gamma\equiv{\mathbf{0}}_{g}\pmod{n}\bigr{\}},
Γn,2n\displaystyle\varGamma_{n,2n} :={M=(αβγδ)Γndiag(tαγ)diag(tβδ)0(mod2n)},\displaystyle:=\bigl{\{}M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}\in\varGamma_{n}\,\mid\,{\rm diag}(\hskip 0.85358pt^{t}\alpha\gamma)\equiv{\rm diag}(\hskip 0.85358pt^{t}\beta\hskip 0.85358pt\delta)\equiv 0\pmod{2n}\},

which are both subgroups of Sp2g(){\rm Sp}_{2g}(\mathbb{Z}).

Corollary 2.10.

For all characteristics a,b12g/ga,b\in\frac{1}{2}\mathbb{Z}^{g}/\mathbb{Z}^{g}, we have

θ[ab](0,M.Ω)4θ[00](0,M.Ω)4\displaystyle\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,M.\varOmega)^{4}}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,M.\varOmega)^{4}} =θ[ab](0,Ω)4θ[00](0,Ω)4ifMΓ2,\displaystyle=\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,\varOmega)^{4}}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,\varOmega)^{4}}\quad{\rm if}\ M\in\varGamma_{2},
θ[ab](0,M.Ω)2θ[00](0,M.Ω)2\displaystyle\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,M.\varOmega)^{2}}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,M.\varOmega)^{2}} =θ[ab](0,Ω)2θ[00](0,Ω)2ifMΓ2,4,\displaystyle=\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,\varOmega)^{2}}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,\varOmega)^{2}}\quad{\rm if}\ M\in\varGamma_{2,4},
θ[ab](0,M.Ω)θ[00](0,M.Ω)\displaystyle\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,M.\varOmega)}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,M.\varOmega)} =θ[ab](0,Ω)θ[00](0,Ω)ifMΓ4,8.\displaystyle=\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,\varOmega)}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,\varOmega)}\quad\ \,{\rm if}\ M\in\varGamma_{4,8}.
Proof.

It follows from Theorem 2.9 that

θ[ab](0,M.Ω)θ[00](0,M.Ω)=θ[ab](0,Ω)θ[00](0,Ω)exp(πiatβδtaπibtγαtb2πia(tα𝟏g)tb).\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,M.\varOmega)}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,M.\varOmega)}=\frac{\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,\varOmega)}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,\varOmega)}\exp\bigl{(}\pi ia\hskip 0.85358pt^{t}\beta\hskip 0.85358pt\delta\hskip 1.42262pt^{t}a-\pi ib\hskip 0.85358pt^{t}\gamma\hskip 0.85358pt\alpha\hskip 1.42262pt^{t}b-2\pi ia(\hskip 0.56905pt^{t}\alpha-\mathbf{1}_{g})\hskip 0.56905pt^{t}b\bigr{)}.

Hence, we obtain this assertion by simple computations. ∎

2.3. Theta functions for abelian threefolds

In this subsection, we focus only on the case that AA is a principally polarized abelian threefold, and we discuss theta functions associated to AA. Thanks to [32, Corollary 11.8.2], such AA is classified into one of the following four types:

{Type 1:AJac(C)whereCis a smooth plane quartic,Type 2:AJac(C)whereCis a hyperelliptic curve of genus 3,Type 3:AE×Jac(C)whereEandC is a genus-1 and genus-2 curve,Type 4:AE1×E2×E3whereE1,E2 and E3 are elliptic curves.\begin{split}\left\{\begin{array}[]{l}{\rm Type\ 1\!:\ }\,A\cong{\rm Jac}(C)\ \text{where}\ C\ \text{is\ a\ smooth\ plane\ quartic},\\[1.42262pt] {\rm Type\ 2\!:\ }\,A\cong{\rm Jac}(C)\ \text{where}\ C\ \text{is\ a\ hyperelliptic\ curve\ of\ genus\ }3,\\[1.42262pt] {\rm Type\ 3\!:\ }\,A\cong E\times{\rm Jac}(C)\ \text{where}\ E\ \text{and}\ C\text{\ is\ a genus-1 and genus-2 curve},\\[1.42262pt] {\rm Type\ 4\!:\ }\,A\cong E_{1}\times E_{2}\times E_{3}\ \text{where}\ E_{1},E_{2}\text{\ and\ }E_{3}\text{\ are\ elliptic\ curves}.\end{array}\right.\vspace{0.5mm}\end{split}

First of all, we introduce the following notations for the sake of simplicity.

Definition 2.11.

For a period matrix Ω3\varOmega\in\mathcal{H}_{3} of AA, we write

ϑi(z,Ω):=θ[a1a2a3b1b2b3](z,Ω),i:=2b1+4b2+8b3+16a1+32a2+64a3,\vartheta_{i}(z,\varOmega):=\theta\bigl{[}\begin{smallmatrix}a_{1}&a_{2}&a_{3}\\ b_{1}&b_{2}&b_{3}\end{smallmatrix}\bigr{]}(z,\varOmega),\quad i:=2b_{1}+4b_{2}+8b_{3}+16a_{1}+32a_{2}+64a_{3},\vspace{0.8mm}

where a1,a2,a3,b1,b2a_{1},a_{2},a_{3},b_{1},b_{2}, and b3b_{3} belong to {0,1/2}\{0,1/2\}. Note that ii runs over {0,,63}\{0,\ldots,63\}. For each ii, the value ϑi(0,Ω)\vartheta_{i}(0,\varOmega) is written as ϑi\vartheta_{i}, and called the ii-th theta constant.

We consider a principally polarized abelian threefold A3/(3+Ω3)A\cong\mathbb{C}^{3}/(\mathbb{Z}^{3}+\varOmega\mathbb{Z}^{3}), then the projective value

[ϑ02:ϑ12::ϑ632]63()[\vartheta_{0}^{2}:\vartheta_{1}^{2}:\cdots:\vartheta_{63}^{2}]\in\mathbb{P}^{63}(\mathbb{C})\vspace{1mm}

is called a (level 2) theta null-point of AA. We remark that there are different theta null-points, even for isomorphic principally polarized abelian threefolds.

Definition 2.12.

We define the sets

Ieven{0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 20, 21, 24, 27, 28,31, 32, 33, 34, 35, 40, 42, 45, 47, 48, 49, 54, 55, 56, 59, 61, 62}I_{\rm even}\coloneqq\left\{\begin{array}[]{l}0,\,1,\,2,\,3,\,4,\,5,\,6,\,7,\,8,\,10,\,12,\,14,\,16,\,17,\,20,\,21,\,24,\,27,\,28,\\ 31,\,32,\,33,\,34,\,35,\,40,\,42,\,45,\,47,\,48,\,49,\,54,\,55,\,56,\,59,\,61,\,62\end{array}\right\}

and Iodd{0,,63}IevenI_{\rm odd}\coloneqq\{0,\ldots,63\}\smallsetminus I_{\rm even}. Here, we remark that #Ieven=36\#I_{\rm even}=36 and #Iodd=28\#I_{\rm odd}=28.

It follows from Lemma 2.5 that ϑi(z)\vartheta_{i}(z) is even (resp. odd) if and only if iIeveni\in I_{\rm even} (resp. iIoddi\in I_{\rm odd}). Therefore, we have that ϑi=0\vartheta_{i}=0 for all iIoddi\in I_{\rm odd}.

Definition 2.13.

Let SvanS_{\rm van} be the set of vanishing indices iIeveni\in I_{\rm even}, that is,

Svan{iIevenϑi=0}.S_{\rm van}\coloneqq\{\hskip 0.56905pti\in I_{\rm even}\mid\vartheta_{i}=0\}.\vspace{0.3mm}

In addition, we denote by NvanN_{\rm van} the cardinality of the set SvanS_{\rm van}.

Lemma 2.14.

The value NvanN_{\rm van} in Definition 2.13 is invariant for isomorphic principally polarized abelian threefolds.

Proof.

This follows from Theorem 2.9 together with Proposition 2.3. ∎

Then, we can identify by NvanN_{\rm van} which of the above 4 types AA corresponds to (note that this does not depend on a period matrix Ω\varOmega of AA by the above lemma).

Proposition 2.15.

The possible values of NvanN_{\rm van} are 0,1,6,90,1,6,9 and moreover

{Nvan=0AJac(C)whereCis a smooth plane quartic,Nvan=1AJac(C)whereCis a hyperelliptic curve of genus 3,Nvan=6AE×Jac(C)whereEandC is a genus-1 and genus-2 curve,Nvan=9AE1×E2×E3whereE1,E2 and E3 are elliptic curves.\left\{\begin{array}[]{l}N_{\rm van}=0\ \Leftrightarrow\,A\cong{\rm Jac}(C)\ \text{where}\ C\ \text{is\ a\ smooth\ plane\ quartic},\\[1.42262pt] N_{\rm van}=1\ \Leftrightarrow\,A\cong{\rm Jac}(C)\ \text{where}\ C\ \text{is\ a\ hyperelliptic\ curve\ of\ genus\ }3,\\[1.42262pt] N_{\rm van}=6\ \Leftrightarrow\,A\cong E\times{\rm Jac}(C)\ \text{where}\ E\ \text{and}\ C\text{\ is\ a genus-1 and genus-2 curve},\\[1.42262pt] N_{\rm van}=9\ \Leftrightarrow\,A\cong E_{1}\times E_{2}\times E_{3}\ \text{where}\ E_{1},E_{2}\text{\ and\ }E_{3}\text{\ are\ elliptic\ curves}.\end{array}\right.\vspace{-0.3mm}
Proof.

The first assertion follows from [20, Theorem 3.1] (the cases where Nvan>9N_{\rm van}>9 correspond to singular abelian threefolds). Also, for the second assertion, the cases where Nvan=0,1N_{\rm van}=0,1 follows from [42, Theorem 2]. Note that these results are proved over \mathbb{C}, but valid over an algebraically closed field of characteristic 2\neq 2 as stated in Pieper’s paper [43, Remark 6.3]. In the following, we show the remaining cases.

Let AA be a principally polarized abelian threefold isomorphic to the (principally polarized) product of an elliptic curve A1A_{1} and an abelian surface A2A_{2}. Denote Ω1,Ω2\varOmega_{1},\varOmega_{2}, and Ω\varOmega to be the period matrices of A1,A2A_{1},A_{2}, and AA respectively. Theorem 2.3 shows that there exists MSp6()M\in{\rm Sp}_{6}(\mathbb{Z}) such that M.Ω=diag(Ω1,Ω2)M.\varOmega={\rm diag}(\varOmega_{1},\varOmega_{2}), hence we may assume that Ω=diag(Ω1,Ω2)\varOmega={\rm diag}(\varOmega_{1},\varOmega_{2}) using Lemma 2.14. Then, it follows from Lemma 2.8 that

θ[a1a2a3b1b2b3](z,Ω)=θ[a1b1](z1,Ω1)θ[a2a3b2b3](z2,Ω2),z(z1,z2).\theta\bigl{[}\begin{smallmatrix}a_{1}&a_{2}&a_{3}\\ b_{1}&b_{2}&b_{3}\end{smallmatrix}\bigr{]}(z,\varOmega)=\theta\bigl{[}\begin{smallmatrix}a_{1}\\ b_{1}\end{smallmatrix}\bigr{]}(z_{1},\varOmega_{1})\hskip 0.85358pt\theta\bigl{[}\begin{smallmatrix}a_{2}&a_{3}\\ b_{2}&b_{3}\end{smallmatrix}\bigr{]}(z_{2},\varOmega_{2}),\quad z\coloneqq(z_{1},z_{2}).\vspace{1mm}

As known in [34, Remark 3.5] or [46, §16.4\S 16.4], a simple (resp. not simple) principally polarized abelian surface has no (resp. exactly one) vanishing even theta constant. This shows that Nvan=6N_{\rm van}=6 if A2A_{2} is simple and Nvan=9N_{\rm van}=9 otherwise, as desired. ∎

In the rest of this subsection, suppose that AA corresponds to a genus-3 curve CC. Let us review how to restore a defining equation of CC from theta constants of AA.

Proposition 2.16.

We assume that Svan={61}S_{\rm van}=\{61\} for a period matrix Ω3\varOmega\in\mathcal{H}_{3} of AA. Then AA is isomorphic to the Jacobian of a genus-3 hyperelliptic curve

C:y2=x(x1)(xλ1)(xλ2)(xλ3)(xλ4)(xλ5),C:y^{2}=x(x-1)(x-\lambda_{1})(x-\lambda_{2})(x-\lambda_{3})(x-\lambda_{4})(x-\lambda_{5}),\vspace{-0.2mm}

where

(2.2) λ1ϑ422ϑ22ϑ52ϑ452,λ2ϑ422ϑ32ϑ42ϑ452,λ3ϑ272ϑ422ϑ452ϑ282,λ4ϑ22ϑ492ϑ542ϑ52,λ5ϑ32ϑ02ϑ72ϑ42.\lambda_{1}\coloneqq\frac{\vartheta_{42}^{2}\vartheta_{2}^{2}}{\vartheta_{5}^{2}\vartheta_{45}^{2}},\ \,\lambda_{2}\coloneqq\frac{\vartheta_{42}^{2}\vartheta_{3}^{2}}{\vartheta_{4}^{2}\vartheta_{45}^{2}},\ \,\lambda_{3}\coloneqq\frac{\vartheta_{27}^{2}\vartheta_{42}^{2}}{\vartheta_{45}^{2}\vartheta_{28}^{2}},\ \,\lambda_{4}\coloneqq\frac{\vartheta_{2}^{2}\vartheta_{49}^{2}}{\vartheta_{54}^{2}\vartheta_{5}^{2}},\ \,\lambda_{5}\coloneqq\frac{\vartheta_{3}^{2}\vartheta_{0}^{2}}{\vartheta_{7}^{2}\vartheta_{4}^{2}}.
Proof.

Apply [51, Theorem 1.1] for g=3g=3, or see [47, Theorem 4]. ∎

On the other hand, even in the case that CC is a plane quartic, we can also restore a defining equation of CC as follows: Taking a period matrix Ω3\varOmega\in\mathcal{H}_{3} of A=Jac(C)A={\rm Jac}(C), it follows from Proposition 2.15 that ϑi0\vartheta_{i}\neq 0 holds for all iIeveni\in I_{\rm even}. Then, we define the following non-zero values

a11\displaystyle a_{11} ϑ12ϑ5ϑ40ϑ33,\displaystyle\coloneqq\frac{\vartheta_{12}\vartheta_{5}}{\vartheta_{40}\vartheta_{33}}, a21\displaystyle\quad a_{21} ϑ27ϑ5ϑ40ϑ54,\displaystyle\coloneqq\frac{\vartheta_{27}\vartheta_{5}}{\vartheta_{40}\vartheta_{54}}, a31\displaystyle\quad a_{31} ϑ27ϑ12ϑ33ϑ54,\displaystyle\coloneqq-\frac{\vartheta_{27}\vartheta_{12}}{\vartheta_{33}\vartheta_{54}},
(2.3) a12\displaystyle a_{12} ϑ21ϑ28ϑ49ϑ56,\displaystyle\coloneqq\frac{\vartheta_{21}\vartheta_{28}}{\vartheta_{49}\vartheta_{56}}, a22\displaystyle\quad a_{22} ϑ2ϑ28ϑ49ϑ47,\displaystyle\coloneqq\frac{\vartheta_{2}\vartheta_{28}}{\vartheta_{49}\vartheta_{47}}, a32\displaystyle\quad a_{32} ϑ2ϑ21ϑ56ϑ47,\displaystyle\coloneqq\frac{\vartheta_{2}\vartheta_{21}}{\vartheta_{56}\vartheta_{47}},
a13\displaystyle a_{13} ϑ7ϑ14ϑ35ϑ42,\displaystyle\coloneqq\frac{\vartheta_{7}\vartheta_{14}}{\vartheta_{35}\vartheta_{42}}, a23\displaystyle\quad a_{23} ϑ16ϑ14ϑ35ϑ61,\displaystyle\coloneqq\frac{\vartheta_{16}\vartheta_{14}}{\vartheta_{35}\vartheta_{61}}, a33\displaystyle\quad a_{33} ϑ16ϑ7ϑ42ϑ61\displaystyle\coloneqq\frac{\vartheta_{16}\vartheta_{7}}{\vartheta_{42}\vartheta_{61}}

computed as in [15, p. 15]. Then, there exist k1,k2,k3,λ1,λ2,λ3×k_{1},k_{2},k_{3},\lambda_{1},\lambda_{2},\lambda_{3}\in\mathbb{C}^{\times} such that

(2.5) (λ1a11λ2a21λ3a31λ1a12λ2a22λ3a32λ1a13λ2a23λ3a33)(k1k2k3)=(1/a111/a211/a311/a121/a221/a321/a131/a231/a33)(λ1λ2λ3)=(111).\begin{pmatrix}\lambda_{1}a_{11}&\lambda_{2}a_{21}&\lambda_{3}a_{31}\\[1.42262pt] \lambda_{1}a_{12}&\lambda_{2}a_{22}&\lambda_{3}a_{32}\\[1.42262pt] \lambda_{1}a_{13}&\lambda_{2}a_{23}&\lambda_{3}a_{33}\end{pmatrix}\begin{pmatrix}k_{1}\\[1.42262pt] k_{2}\\[1.42262pt] k_{3}\end{pmatrix}=\begin{pmatrix}1/a_{11}&1/a_{21}&1/a_{31}\\[1.42262pt] 1/a_{12}&1/a_{22}&1/a_{32}\\[1.42262pt] 1/a_{13}&1/a_{23}&1/a_{33}\end{pmatrix}\begin{pmatrix}\lambda_{1}\\[1.42262pt] \lambda_{2}\\[1.42262pt] \lambda_{3}\end{pmatrix}=\begin{pmatrix}-1\\[1.42262pt] -1\\[1.42262pt] -1\end{pmatrix}\!.
Theorem 2.17 (Weber’s formula).

In the above situation, there exist three homogeneous linear polynomials ξ1,ξ2,ξ3[x,y,z]\xi_{1},\xi_{2},\xi_{3}\in\mathbb{C}[x,y,z] such that

{ξ1+ξ2+ξ3+x+y+z=0,ξ1ai1+ξ2ai2+ξ3ai3+ki(ai1x+ai2y+ai3z)=0,foralli{1,2,3}.\left\{\begin{array}[]{l}\xi_{1}+\xi_{2}+\xi_{3}+x+y+z=0,\\[1.42262pt] \displaystyle\frac{\xi_{1}}{a_{i1}}+\frac{\xi_{2}}{a_{i2}}+\frac{\xi_{3}}{a_{i3}}+k_{i}(a_{i1}x+a_{i2}y+a_{i3}z)=0,\quad{\rm for\ all}\ i\in\{1,2,3\}.\end{array}\right.

Then AA is isomorphic to the Jacobian of a plane quartic

C:(ξ1x+ξ2yξ3z)24ξ1ξ2xy=0.C:(\xi_{1}x+\xi_{2}y-\xi_{3}z)^{2}-4\xi_{1}\xi_{2}xy=0.
Proof.

See [54, §15\S 15], [39, Theorem 3.1], or [15, Proposition 2]. ∎

2.4. Superspecial Richelot isogeny graph

Unlike the previous subsections, let us consider abelian varieties over an algebraically closed field of characteristic p3p\geq 3 in this subsection. An elliptic curve EE is called supersingular if E[p]={0}E[p]=\{0\}.

Definition 2.18.

An abelian variety AA is called superspecial if AA is isomorphic to the product of supersingular elliptic curves (without a polarization). A superspecial curve is a curve whose Jacobian is a superspecial abelian variety.

We note that if two curves C,CC,C^{\prime} are not isomorphic to each other, then neither are their Jacobians (as principally polarized abelian varieties), by Torelli’s theorem. Let Λg,p\Lambda_{g,p} be the list of isomorphism classes (over 𝔽¯p\overline{\mathbb{F}}_{p}) of superspecial genus-gg curves. The numbers #Λg,p\#\Lambda_{g,p} for g3g\leq 3 are given by [12], [24], and [21], respectively (see [30] for a survey). However, it is not known how many of those curves are hyperelliptic for genus g=3g=3. In the following, we explain how to generate the list Λg,p\Lambda_{g,p}, by using the isogeny graph of superspecial abelian varieties:

Definition 2.19.

Let \ell be a prime integer. The superspecial isogeny graph 𝒢g(,p)\mathcal{G}_{g}(\ell,p) is the directed multigraph with the following properties

  • The vertices are isomorphism classes of all principally polarized superspecial abelian varieties of dimension gg over 𝔽¯p\overline{\mathbb{F}}_{p}.

  • The edges are (,,)(\ell,\ldots,\ell)-isogenies defined over 𝔽¯p\overline{\mathbb{F}}_{p} between two vertices.

Then, the graph 𝒢g(,p)\mathcal{G}_{g}(\ell,p) is a Ng()N_{g}(\ell)-regular multigraph by Proposition 2.4.

The fact that the Pizer’s graph 𝒢1(,p)\mathcal{G}_{1}(\ell,p) is connected is well-known (cf. [44]), but more surprisingly, the same assertion holds for 𝒢g(,p)\mathcal{G}_{g}(\ell,p) as a generalization:

Theorem 2.20.

The graph 𝒢g(,p)\mathcal{G}_{g}(\ell,p) is connected.

Proof.

See [27, Theorem 34] or [1, Corollary 2.8]. ∎

In the following, we discuss the case where =2\ell=2, then the graph 𝒢g(2,p)\mathcal{G}_{g}(2,p) is often called the superspecial Richelot isogeny graph. Then, the list Λ2,p\Lambda_{2,p} can be generated by using 𝒢2(2,p)\mathcal{G}_{2}(2,p) as in the following pseudocode (cf. [31, Algorithm 5.1]).

1:A prime integer p>5p>5 and the list Λ1,p\Lambda_{1,p} of isom. classes of s.sing. ell. curves
2:The list Λ2,p\Lambda_{2,p} of isom. classes of s.sp. genus-2 curves
3:Let \mathcal{L} be the list of isom. classes of E1×E2E_{1}\times E_{2} with E1,E2Λ1,pE_{1},E_{2}\in\Lambda_{1,p}, and set k1k\leftarrow 1
4:repeat
5:     Let AA be the kk-th abelian surface of \mathcal{L}
6:     for all abelian surfaces AA^{\prime} which are (2,2)(2,2)-isogenous to AA do
7:         if AA^{\prime} is not isomorphic to any abelian surface of \mathcal{L} then
8:              Add AA^{\prime} to the end of \mathcal{L}
9:         end if
10:     end for
11:     Set kk+1k\leftarrow k+1
12:until k>#k>\#\mathcal{L}
13:return  the list of genus-2 curves whose Jacobian belongs to \mathcal{L}
Algorithm 2.21 ListUpSspGenus2Curves

In Algorithm 2.21, one can compute the codomains of Richelot isogenies of line 4 using formulae in [22, Proposition 4] and [49, Chapter 8]. In addition, isomorphism tests in line 5 can be done using Igusa invariants of a genus-2 curve (cf. [25]).

Remark 2.22.

The structure of the graph 𝒢2(2,p)\mathcal{G}_{2}(2,p) was studied by many authors (e.g. [28], [17]). Importantly, it is known (cf. [16, Theorem 7.2]) that its Jacobians’ subgraph 𝒥2(2,p)\mathcal{J}_{2}(2,p) is also connected. Here 𝒥g(,p)\mathcal{J}_{g}(\ell,p) is defined to be

  • The vertices are isomorphism classes of Jacobians of superspecial curves of genus gg over 𝔽¯p\overline{\mathbb{F}}_{p}.

  • The edges are (,,)(\ell,\ldots,\ell)-isogenies defined over 𝔽¯p\overline{\mathbb{F}}_{p} between two vertices.

The above mentioned research may enable us to construct a more efficient algorithm for listing superspecial genus-2 curves rather than Algorithm 2.21.

Similarly to the case of g=2g=2, we want to list superspecial curves of genus g3g\geq 3. However, no explicit formula is known for the computations of (2,,2)(2,\ldots,2)-isogenies in general, unlike the genus-2 case. In the next section, we will propose an algorithm for computing (2,2,2)(2,2,2)-isogenies using theta functions.

3. Computing the Richelot isogeny graph of dimension 3

In this section, we give an explicit algorithm (Algorithm 3.16) for listing superspecial genus-3 curves. For this purpose, we describe the following subroutines in the next three sections:

  • Section 3.1: For a given theta null-point of an abelian threefold AA, compute a theta null-point of one AA^{\prime} which is (2,2,2)(2,2,2)-isogenous to AA.

  • Section 3.2: For a given theta null-point of an abelian threefold AA, compute theta null-points of all AA^{\prime}, which are (2,2,2)(2,2,2)-isogenous to AA.

  • Section 3.3: For a given theta null-point of AA^{\prime} corresponding to a curve of genus 3, restore the defining equation of it.

These computations use the theta constants introduced in Section 2.3, but they are still valid over a field of odd characteristic p3p\geq 3, thanks to the algebraic theory by Mumford [37]. In Section 3.4, we show that our main algorithm can be performed over 𝔽p4\mathbb{F}_{p^{4}}, and provide a proof of Theorem 1.1 finally.

3.1. How to compute one path from the vertex

In this subsection, let AA be a complex abelian threefold, and Ω3\varOmega\in\mathcal{H}_{3} be a period matrix of AA. First, we shall prepare the following fact about a theta null-point of AA.

Lemma 3.1.

For a matrix Ω3\varOmega\in\mathcal{H}_{3}, the equation

ϑ0ϑ1ϑ2ϑ3ϑ4ϑ5ϑ6ϑ7=ϑ32ϑ33ϑ34ϑ35\vartheta_{0}\vartheta_{1}\vartheta_{2}\vartheta_{3}-\vartheta_{4}\vartheta_{5}\vartheta_{6}\vartheta_{7}=\vartheta_{32}\vartheta_{33}\vartheta_{34}\vartheta_{35}\vspace{0.5mm}

holds with the notation in Definition 2.11.

Proof.

Applying Theorem 2.6 for four matrices

m1\displaystyle m_{1} (000000),\displaystyle\coloneqq\begin{pmatrix}0&0&0\\ 0&0&0\end{pmatrix},\quad m2\displaystyle m_{2} (0001/200),\displaystyle\coloneqq\begin{pmatrix}0&0&0\\ 1/2&0&0\end{pmatrix},
m3\displaystyle m_{3} (00001/20),\displaystyle\coloneqq\begin{pmatrix}0&0&0\\ 0&1/2&0\end{pmatrix},\quad m4\displaystyle m_{4} (0001/21/20),\displaystyle\coloneqq\begin{pmatrix}0&0&0\\ 1/2&1/2&0\end{pmatrix},\vspace{0.3mm}

then we obtain this lemma. ∎

We assume that a theta null-point [ϑ02:ϑ12::ϑ632]63()[\vartheta_{0}^{2}:\vartheta_{1}^{2}:\cdots:\vartheta_{63}^{2}]\in\mathbb{P}^{63}(\mathbb{C}) of AA is obtained. Squaring both sides of the equation in Lemma 3.1, we have

(3.6) 2ϑ0ϑ1ϑ2ϑ3ϑ4ϑ5ϑ6ϑ7=ϑ02ϑ12ϑ22ϑ32+ϑ42ϑ52ϑ62ϑ72ϑ322ϑ332ϑ342ϑ352,2\vartheta_{0}\vartheta_{1}\vartheta_{2}\vartheta_{3}\vartheta_{4}\vartheta_{5}\vartheta_{6}\vartheta_{7}=\vartheta_{0}^{2}\vartheta_{1}^{2}\vartheta_{2}^{2}\vartheta_{3}^{2}+\vartheta_{4}^{2}\vartheta_{5}^{2}\vartheta_{6}^{2}\vartheta_{7}^{2}-\vartheta_{32}^{2}\vartheta_{33}^{2}\vartheta_{34}^{2}\vartheta_{35}^{2},\vspace{0.5mm}

which means that the value of j=07ϑj\prod_{j=0}^{7}\vartheta_{j} is determined by the given theta null-point. On the other hand, we can take any square root of ϑj2{\vartheta_{j}}^{2} for all j{0,,7}j\in\{0,\ldots,7\} so that the equation (3.6) holds, by the following proposition:

Proposition 3.2.

We suppose that ϑ00\vartheta_{0}\neq 0 and let kk be an integer with 1k61\leq k\leq 6. Then, there exists a symplectic matrix MSp6()M\in{\rm Sp}_{6}(\mathbb{Z}) such that

ϑj(0,M.Ω)ϑ0(0,M.Ω)={ϑj/ϑ0ifj=kor 7,ϑj/ϑ0otherwise\frac{\vartheta_{j}(0,M.\varOmega)}{\vartheta_{0}(0,M.\varOmega)}=\left\{\begin{array}[]{l}-\vartheta_{j}/\vartheta_{0}\quad{\rm if}\ j=k\ {\rm or}\ 7,\\ \vartheta_{j}/\vartheta_{0}\quad\hskip 7.96677pt{\rm otherwise}\end{array}\right.\vspace{1mm}

for all j{1,,7}j\in\{1,\ldots,7\}.

Proof.

It follows from Corollary 2.10 that all symplectic matrix in Γ4,8\varGamma_{4,8} (resp. Γ2,4\varGamma_{2,4}) leave the values (resp. squares) of ϑj/ϑ0\vartheta_{j}/\vartheta_{0} for all jj. Let us construct MΓ2,4Γ4,8M\in\varGamma_{2,4}\!\smallsetminus\!\varGamma_{4,8} which changes the signs of only ϑk/ϑ0\vartheta_{k}/\vartheta_{0} and ϑ7/ϑ0\vartheta_{7}/\vartheta_{0}. We define

(c11,c12,c13,c22,c23,c33):={(1,1,1,0,0,0)if k=1,(0,1,0,1,1,0)if k=2,(0,1,0,0,0,0)if k=3,(0,0,1,0,1,1)if k=4,(0,0,1,0,0,0)if k=5,(0,0,0,0,1,0)if k=6(c_{11},c_{12},c_{13},c_{22},c_{23},c_{33}):=\left\{\begin{array}[]{l}(1,1,1,0,0,0)\quad\text{if }\,k=1,\\[1.42262pt] (0,1,0,1,1,0)\quad\text{if }\,k=2,\\[1.42262pt] (0,1,0,0,0,0)\quad\text{if }\,k=3,\\[1.42262pt] (0,0,1,0,1,1)\quad\text{if }\,k=4,\\[1.42262pt] (0,0,1,0,0,0)\quad\text{if }\,k=5,\\[1.42262pt] (0,0,0,0,1,0)\quad\text{if }\,k=6\end{array}\right.

and M=(αβγδ)M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix} where

α𝟏3,β𝟎3,γ(4c112c122c132c124c222c232c132c234c33),δ𝟏3.\alpha\coloneqq\mathbf{1}_{3},\quad\beta\coloneqq\mathbf{0}_{3},\quad\gamma\coloneqq\begin{pmatrix}4c_{11}&2c_{12}&2c_{13}\\ 2c_{12}&4c_{22}&2c_{23}\\ 2c_{13}&2c_{23}&4c_{33}\end{pmatrix},\quad\delta\coloneqq\mathbf{1}_{3}.\vspace{0.5mm}

It is obvious that αtβ=𝟎3,γtδ=γ\alpha\hskip 0.56905pt^{t}\beta={\mathbf{0}}_{3},\,\gamma\hskip 0.85358pt^{t}\delta=\gamma are both symmetric and αtδβtγ=𝟏3\alpha\hskip 0.85358pt^{t}\delta-\beta\hskip 1.42262pt^{t}\gamma={\mathbf{1}}_{3} holds, hence MM belongs to Sp6(){\rm Sp}_{6}(\mathbb{Z}) by Lemma 2.2. Moreover, one can check that MM is the desired matrix since

θ[0b](0,M.Ω)θ[00](0,M.Ω)=θ[0b](0,Ω)θ[00](0,Ω)exp(πibγtb).\frac{\theta\bigl{[}\begin{smallmatrix}0\\ b\end{smallmatrix}\bigr{]}(0,M.\varOmega)}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,M.\varOmega)}=\frac{\theta\bigl{[}\begin{smallmatrix}0\\ b\end{smallmatrix}\bigr{]}(0,\varOmega)}{\theta\bigl{[}\begin{smallmatrix}0\\ 0\end{smallmatrix}\bigr{]}(0,\varOmega)}\exp(-\pi ib\gamma\hskip 1.42262pt^{t}b).\vspace{0.5mm}

by Theorem 2.9. ∎

Summarizing the above discussions, we can compute [ϑ0:ϑ1::ϑ7]7()[\vartheta_{0}:\vartheta_{1}:\cdots:\vartheta_{7}]\in\mathbb{P}^{7}(\mathbb{C}), from a given theta null-point of AA. Note that if there exists an index j{0,,7}j\in\{0,\ldots,7\} such that ϑj2=0{\vartheta_{j}}^{2}=0, then we can take any square root of ϑk2\vartheta_{k}^{2} for all k{0,,7}{j}k\in\{0,\ldots,7\}\!\smallsetminus\!\{j\}. Now, in the following, we consider the (2,2,2)(2,2,2)-isogeny

A=3/(3+Ω3)3/(3+2Ω3)=Bz2z\displaystyle\begin{split}A=\mathbb{C}^{3}/(\mathbb{Z}^{3}+\varOmega\mathbb{Z}^{3})&\longrightarrow\mathbb{C}^{3}/(\mathbb{Z}^{3}+2\varOmega\mathbb{Z}^{3})=B\\[-1.42262pt] z&\longmapsto 2z\end{split}

whose kernel is 123/3\frac{1}{2}\mathbb{Z}^{3}/\mathbb{Z}^{3}, and we explain how to compute a theta null-point of the codomain BB. Applying Theorem 2.7 for z=0z=0 and Ω2Ω\varOmega\mapsto 2\varOmega, we obtain

(3.7) θ[ab](0,2Ω)2=123β123/3(1)4taβθ[0b](0,Ω)θ[0b+β](0,Ω)\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,2\varOmega)^{2}=\frac{1}{2^{3}}\hskip 0.56905pt\sum_{\beta\in\frac{1}{2}\mathbb{Z}^{3}/\mathbb{Z}^{3}}(-1)^{4\hskip 0.56905pt^{t}a\beta}\hskip 0.85358pt\theta\bigl{[}\begin{smallmatrix}0\\ b\end{smallmatrix}\bigr{]}(0,\varOmega)\theta\bigl{[}\begin{smallmatrix}0\\ b+\beta\end{smallmatrix}\bigr{]}(0,\varOmega)\vspace{0.7mm}

for all characteristics a,b123/3a,b\in\frac{1}{2}\mathbb{Z}^{3}/\mathbb{Z}^{3}. Since the right-hand side of (3.7) is obtained by the values ϑ0,,ϑ7\vartheta_{0},\ldots,\vartheta_{7}, one can compute a theta null-point of BB. As a summary of the statements in this subsection, we give an explicit algorithm (Algorithm 3.3) to compute a null-point of the codomain of a (2,2,2)(2,2,2)-isogeny:

1:A theta null-point [ϑ02:ϑ12::ϑ632]63[\vartheta_{0}^{2}:\vartheta_{1}^{2}:\cdots:\vartheta_{63}^{2}]\in\mathbb{P}^{63} of an abelian threefold AA
2:A theta null-point of BB, one of abelian threefolds (2,2,2)(2,2,2)-isogenous to AA
3:if any of ϑ02,,ϑ72\vartheta_{0}^{2},\ldots,\vartheta_{7}^{2} is non-zero then
4:     Choose a square root of (ϑk/ϑ0)2(\vartheta_{k}/\vartheta_{0})^{2} for all k{1,,6}k\in\{1,\ldots,6\}
5:     Compute ϑ7/ϑ0\vartheta_{7}/\vartheta_{0} from the equation (3.6)
6:else
7:     Find an index j{0,,7}j\in\{0,\ldots,7\} such that ϑj20{\vartheta_{j}}^{2}\neq 0
8:     Choose a square root of (ϑk/ϑj)2(\vartheta_{k}/\vartheta_{j})^{2} for all k{0,,7}{j}k\in\{0,\ldots,7\}\!\smallsetminus\!\{j\}
9:end if
10:for i{0,,63}i\hskip 0.85358pt\in\{0,\ldots,63\} do
11:     Write i=a3a2a1b3b2b1(2)i={a_{3}a_{2}a_{1}b_{3}b_{2}b_{1}}_{(2)} as a binary and initialize ϑi20{\vartheta^{\prime}}_{\!\!i}^{2}\leftarrow 0
12:     for j{0,,7}j\in\{0,\ldots,7\} do
13:         Write j=β3β2β1(2)j={\beta_{3}\beta_{2}\beta_{1}}_{(2)} and set ki+j(mod8)k\leftarrow i+j\pmod{8}
14:         Let ϑi2ϑi2+(1)a1β1+a2β2+a3β3ϑjϑk{\vartheta^{\prime}}_{\!\!i}^{2}\leftarrow{\vartheta^{\prime}}_{\!\!i}^{2}+(-1)^{a_{1}\beta_{1}+a_{2}\beta_{2}+a_{3}\beta_{3}}\cdot\vartheta_{j}\vartheta_{k}
15:     end for
16:end for
17:return [ϑ02:ϑ12::ϑ632]63[{\vartheta^{\prime}}_{\!\!0}^{2}:{\vartheta^{\prime}}_{\!\!1}^{2}:\cdots:{\vartheta^{\prime}}_{\!\!63}^{2}]\in\mathbb{P}^{63}
Algorithm 3.3  ComputeOneRichelotIsogeny

We remark that there exists an index j{0,,7}j\in\{0,\ldots,7\} such that ϑj20{\vartheta_{j}}^{2}\neq 0 in Step 5.
Indeed if ϑ0=ϑ1==ϑ7=0\vartheta_{0}=\vartheta_{1}=\cdots=\vartheta_{7}=0, then it follows from (3.7) that θ[ab](0,2Ω)2=0\theta\bigl{[}\begin{smallmatrix}a\\ b\end{smallmatrix}\bigr{]}(0,2\varOmega)^{2}=0 for all characteristics a,b123/3a,b\in\frac{1}{2}\mathbb{Z}^{3}/\mathbb{Z}^{3}, which contradicts Proposition 2.15.

Remark 3.4.

It suffices to do the loops in lines 8–14 only for iIeveni\in I_{\rm even}, since we have that ϑi2=0{\vartheta^{\prime}}_{\!\!i}^{2}=0 for all iIoddi\in I_{\rm odd}, in fact.

3.2. How to compute all paths from the vertex

We continue to assume that a theta null-point of a complex abelian threefold AA with the period matrix Ω3\varOmega\in\mathcal{H}_{3} is given, and let P,Q,RAP,Q,R\in A as follows:

A\textstyle{A\ignorespaces\ignorespaces\ignorespaces\ignorespaces}\scriptstyle{\cong}3/(3+Ω3)\textstyle{\mathbb{C}^{3}/(\mathbb{Z}^{3}+\varOmega\mathbb{Z}^{3})}P,Q,R\textstyle{P,\hskip 0.85358ptQ,R\ignorespaces\ignorespaces\ignorespaces\ignorespaces}(1/2,0,0),(0,1/2,0),(0,0,1/2)\textstyle{(1/2,0,0),\,(0,1/2,0),\,(0,0,1/2)}

Then, the (2,2,2)(2,2,2)-isogeny computed in Algorithm 3.3 has the kernel G=P,Q,RG=\langle P,\hskip 0.85358ptQ,R\rangle, which is determined by a given theta null-point of AA. To compute different (2,2,2)(2,2,2)-isogenies, we have to act an appropriate matrix MSp6()M\in{\rm Sp}_{6}(\mathbb{Z}) on the theta null-point. Specifically, if we write M=(αβγδ)M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix} and let M.P,M.Q,M.RAM.P,M.Q,M.R\in A corresponding to

(α1j/2,α2j/2,α3j/2)+Ω(γ1j/2,γ2j/2,γ3j/2),whereα=(αij),γ=(γij)(\alpha_{1j}/2,\alpha_{2j}/2,\alpha_{3j}/2)+\varOmega(\gamma_{1j}/2,\gamma_{2j}/2,\gamma_{3j}/2),\quad{\rm where}\ \alpha=(\alpha_{ij}),\ \gamma=(\gamma_{ij})\vspace{0.5mm}

for j{1,2,3}j\in\{1,2,3\} respectively, then we can compute the (2,2,2)(2,2,2)-isogeny whose kernel is given as M.GM.P,M.Q,M.RM.G\coloneqq\langle M.P,M.Q,M.R\rangle after acting MM on the theta null-point. Here, to state a necessary and sufficient condition that M.G=GM.G=G, we define as follows:

Definition 3.5.

For an integer n1n\geq 1, the set

{M=(αβγδ)Sp6()γ𝟎3(modn)}\bigl{\{}M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}\in{\rm Sp}_{6}(\mathbb{Z})\mid\gamma\equiv\mathbf{0}_{3}\!\pmod{n}\bigr{\}}\vspace{0.3mm}

is a subgroup of Sp6(){\rm Sp}_{6}(\mathbb{Z}), and we denote it by Γ0(n)\varGamma_{0}(n).

For a symplectic matrix MSp6()M\in{\rm Sp}_{6}(\mathbb{Z}), it is well-known (cf. [7, §2.3.2\S 2.3.2]) that GG is invariant (i.e. M.G=GM.G=G) under the action by MM if and only if MΓ0(2)M\in\varGamma_{0}(2). Hence, we need to act an element of Sp6()/Γ0(2){\rm Sp}_{6}(\mathbb{Z})/\varGamma_{0}(2) on the theta null-point of AA in order to obtain a different (2,2,2)(2,2,2)-isogeny from AA.

Remark 3.6.

There exist exactly N3(2)=135N_{3}(2)=135 different (2,2,2)(2,2,2)-isogenies from AA by Proposition 2.4, and therefore the order of Sp6()/Γ0(2){\rm Sp}_{6}(\mathbb{Z})/\varGamma_{0}(2) is equal to 135135. Indeed, Tsuyumine [52, §V.21\S{\rm V}.21] described all the actions by 135135 elements of Sp6()/Γ0(2){\rm Sp}_{6}(\mathbb{Z})/\varGamma_{0}(2).

For the reader’s convinience, we give a concrete algorithm for generating the list consisting of all different elements of Sp6()/Γ0(2){\rm Sp}_{6}(\mathbb{Z})/\varGamma_{0}(2) as follows:

1:None
2:The list consisting of all different elements of Sp6()/Γ0(2){\rm Sp}_{6}(\mathbb{Z})/\varGamma_{0}(2)
3:Initialize \mathcal{M}\leftarrow\emptyset
4:repeat
5:     Generate a symplectic matrix MSp6()M\in{\rm Sp}_{6}(\mathbb{Z}) randomly
6:     if MN1Γ0(2)MN^{-1}\notin\varGamma_{0}(2) for all NN\in\mathcal{M} then
7:         Add MM to the list \mathcal{M}
8:     end if
9:until #=135\#\mathcal{M}=135
10:return \mathcal{M}
Algorithm 3.7  CollectSymplecticMatrices
Remark 3.8.

This list \mathcal{M} does not depend on the characteristic pp of a field or an abelian threefold AA. Hence, we only need to run Algorithm 3.7 once, and the result can be used many times thereafter.

In the following, let \mathcal{M} be the output of the function CollectSymplecticMatrices. Then, we can compute theta null-points of 135135 abelian threefolds (2,2,2)(2,2,2)-isogenous to AA by using Theorem 2.9 as in the following algorithm:

1:A theta null-point [ϑ02:ϑ12::ϑ632]63[\vartheta_{0}^{2}:\vartheta_{1}^{2}:\cdots:\vartheta_{63}^{2}]\in\mathbb{P}^{63} of an abelian threefold AA
2:A list of theta null-points of all abelian threefolds (2,2,2)(2,2,2)-isogenous to AA
3:Initialize \mathcal{B}\leftarrow\emptyset
4:for all MM\in\mathcal{M} do
5:     Write M=(αβγδ)M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix} where α,β,γ\alpha,\beta,\gamma and δ\delta are all (3×3)(3\times 3)-matrices
6:     for iIeveni\in I_{\rm even} do
7:         Let ϑi2{\vartheta^{\prime}}_{\!\!i}^{2} be the value determined from the action in Theorem 2.9
8:     end for
9:     Add ComputeOneRichelotIsogeny([ϑi2]i)([{\vartheta^{\prime}}_{\!\!i}^{2}]_{i}) to the list \mathcal{B}
10:end for
11:return \mathcal{B}
Algorithm 3.9  ComputeAllRichelotIsogenies

3.3. How to restore a defining equation of a genus-3 curve

In Section 2.3, we introduced some relations between a genus-3 curve CC and a theta null-point of the Jacobian of CC. However, these are not enough to recover CC from a given theta null-point. Specifically, there are the following problems as it stands:

  • If Nvan=1N_{\rm van}=1 and Svan{61}S_{\rm van}\neq\{61\}, how should we restore a defining equation of the corresponding genus-3 curve?

  • If Nvan=0N_{\rm van}=0, we have to take some square roots of ϑk2\vartheta_{k}^{2} to use Theorem 2.17. How should we determine them?

In this subsection, we explain in detail how to do this.

Definition 3.10.

For each iIeveni\in I_{\rm even}, we write ϑi=θ[a1a2a3b1b2b3](0,Ω)\vartheta_{i}=\theta\bigl{[}\begin{smallmatrix}a_{1}&a_{2}&a_{3}\\ b_{1}&b_{2}&b_{3}\end{smallmatrix}\bigr{]}(0,\varOmega) and define

Pi(𝟏3βiγi𝟏3),P_{i}\coloneqq\begin{pmatrix}\mathbf{1}_{3}&\beta_{i}\\[-0.85358pt] \gamma_{i}&\mathbf{1}_{3}\end{pmatrix},\vspace{-0.8mm}

where

  • If i{27,31,45,47,54,55,59,61,62}i\notin\{27,31,45,47,54,55,59,61,62\}, then

    βidiag(b1,b2,b3),γidiag(a1,a2,a3).\beta_{i}\coloneqq{\rm diag}(b_{1},b_{2},b_{3}),\quad\gamma_{i}\coloneqq{\rm diag}(a_{1},a_{2},a_{3}).\vspace{0.6mm}
  • Otherwise, we define as follows:

    β27(110110000),γ27(110110000).{\small\mbox{$\beta_{27}\coloneqq\begin{pmatrix}1&1&0\\ 1&1&0\\ 0&0&0\end{pmatrix}$}},\quad\gamma_{27}\coloneqq{\small\begin{pmatrix}1&-1&0\\ -1&1&0\\ 0&0&0\end{pmatrix}}.
    β31(111111111),γ31(110110000).\beta_{31}\coloneqq{\small\begin{pmatrix}1&1&1\\ 1&1&1\\ 1&1&1\end{pmatrix}},\quad\gamma_{31}\coloneqq{\small\begin{pmatrix}1&-1&0\\ -1&1&0\\ 0&0&0\end{pmatrix}}.
    β45(101000101),γ45(101000101).\beta_{45}\coloneqq{\small\begin{pmatrix}1&0&1\\ 0&0&0\\ 1&0&1\end{pmatrix}},\quad\gamma_{45}\coloneqq{\small\begin{pmatrix}1&0&-1\\ 0&0&0\\ -1&0&1\end{pmatrix}}.
    β47(111111111),γ47(101000101).\beta_{47}\coloneqq{\small\begin{pmatrix}1&1&1\\ 1&1&1\\ 1&1&1\end{pmatrix}},\quad\gamma_{47}\coloneqq{\small\begin{pmatrix}1&0&-1\\ 0&0&0\\ -1&0&1\end{pmatrix}}.
    β54(000011011),γ54(000011011).\beta_{54}\coloneqq{\small\begin{pmatrix}0&0&0\\ 0&1&1\\ 0&1&1\end{pmatrix}},\quad\gamma_{54}\coloneqq{\small\begin{pmatrix}0&0&0\\ 0&1&-1\\ 0&-1&1\end{pmatrix}}.
    β55(111111111),γ55(000011011).\beta_{55}\coloneqq{\small\begin{pmatrix}1&1&1\\ 1&1&1\\ 1&1&1\end{pmatrix}},\quad\gamma_{55}\coloneqq{\small\begin{pmatrix}0&0&0\\ 0&1&-1\\ 0&-1&1\end{pmatrix}}.
    β59(110110000),γ59(111111111).{\small\beta_{59}\coloneqq\begin{pmatrix}1&-1&0\\ -1&1&0\\ 0&0&0\end{pmatrix}},\quad\gamma_{59}\coloneqq{\small\begin{pmatrix}1&1&1\\ 1&1&1\\ 1&1&1\end{pmatrix}}.
    β61(101000101),γ61(111111111).\beta_{61}\coloneqq{\small\begin{pmatrix}1&0&-1\\ 0&0&0\\ -1&0&1\end{pmatrix}},\quad\gamma_{61}\coloneqq{\small\begin{pmatrix}1&1&1\\ 1&1&1\\ 1&1&1\end{pmatrix}}.
    β62(000011011),γ62(111111111).\beta_{62}\coloneqq{\small\begin{pmatrix}0&0&0\\ 0&1&-1\\ 0&-1&1\end{pmatrix}},\quad\gamma_{62}\coloneqq{\small\begin{pmatrix}1&1&1\\ 1&1&1\\ 1&1&1\end{pmatrix}}.\vspace{0.3mm}
Lemma 3.11.

For each iIeveni\in I_{\rm even}, the matrix PiP_{i} defined as above belongs to Sp6(){\rm Sp}_{6}(\mathbb{Z}). In addition, if we suppose that ϑ0=0\vartheta_{0}=0, then we obtain ϑi(0,Pi.Ω)=0\vartheta_{i}(0,P_{i}\hskip 0.85358pt.\hskip 0.28453pt\varOmega)=0.

Proof.

One can check that βi,γi\beta_{i},\gamma_{i} are both symmetric matrices and βiγi=γiβi=𝟎3\beta_{i}\gamma_{i}=\gamma_{i}\beta_{i}=\mathbf{0}_{3}, which means that PiSp6()P_{i}\in{\rm Sp}_{6}(\mathbb{Z}) by Lemma 2.2. In addition for a=b=0a=b=0, we have

Pi.a\displaystyle P_{i}\hskip 0.85358pt.\hskip 0.56905pta =atδibtγi+12(γitδi)0=12(γitδi)0=(a1,a2,a3),\displaystyle=a\hskip 0.85358pt^{t}\delta_{i}-b\hskip 1.13809pt^{t}\gamma_{i}+\frac{1}{2}(\gamma_{i}\hskip 0.28453pt^{t}\delta_{i})_{0}=\frac{1}{2}(\gamma_{i}\hskip 0.28453pt^{t}\delta_{i})_{0}=(a_{1},a_{2},a_{3}),
Pi.b\displaystyle P_{i}\hskip 0.85358pt.\hskip 0.56905ptb =btαiatβi+12(αitβi)0=12(αitβi)0=(b1,b2,b3)\displaystyle=b\hskip 1.42262pt^{t}\alpha_{i}-a\hskip 0.85358pt^{t}\beta_{i}+\frac{1}{2}(\alpha_{i}\hskip 0.28453pt^{t}\beta_{i})_{0}=\frac{1}{2}(\alpha_{i}\hskip 0.28453pt^{t}\beta_{i})_{0}=(b_{1},b_{2},b_{3})

by the equation (2.1). Then, this lemma follows from Theorem 2.9. ∎

In the following, let AA be a principally polarized abelian threefold isomorphic to the Jacobian of a genus-3 hyperelliptic curve CC and suppose that a theta null-point of AA is given. By Proposition 2.15, there uniquely exists iIeveni\in I_{\rm even} such that ϑi=0\vartheta_{i}=0. If i=61i=61, we can apply Proposition 2.16 for restoring a defining equation of CC, but otherwise not. Here, let M:=P61Pi1Sp6()M:=P_{61}{P_{i}}^{-1}\in{\rm Sp}_{6}(\mathbb{Z}) and [ϑi2]i[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i} be the theta null-point after acting MM on given [ϑi2]i[\vartheta_{i}^{2}]_{i}, and we have ϑ61=0{\vartheta^{\prime}}_{\!\!61}=0 by Lemma 3.11. Then one can apply Proposition 2.16 to [ϑi2]i[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i}, which enables us to recover CC as follows:

1:A theta null-point [ϑi2]i63[\vartheta_{i}^{2}]_{i}\in\mathbb{P}^{63} with Nvan=1N_{\rm van}=1 of a p.p.a.v. AA of dim=3\dim=3
2:A hyperelliptic curve CC of genus 33 such that AJac(C)A\cong{\rm Jac}(C)
3:Let iIeveni\in I_{\rm even} such that ϑi2=0\vartheta_{i}^{2}=0 and define M:=P61Pi1M:=P_{61}{P_{i}}^{-1}
4:Write M=(αβγδ)M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix} where α,β,γ\alpha,\beta,\gamma and δ\delta are all (3×3)(3\times 3)-matrices
5:for iIeveni\in I_{\rm even} do
6:     Let ϑi2{\vartheta^{\prime}}_{\!\!i}^{2} be the value determined from the action in Theorem 2.9
7:end for
8:Compute λ1,,λ5\lambda_{1},\ldots,\lambda_{5} from the theta null-point [ϑi2]i63[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i}\in\mathbb{P}^{63} by the equation (2.2)
9:return the curve y2=x(x1)k=15(xλk)y^{2}=x(x-1)\prod_{k=1}^{5}(x-\lambda_{k})
Algorithm 3.12  RestoreHyperellipticCurve

Next, we suppose that a theta null-points of A=Jac(C)A={\rm Jac}(C) is given, where CC is a smooth plane quartic. In the following, we explain how to recover CC according to the method in [35, §6.4\S 6.4]. It follows from Theorem 2.6 that

(3.8) {ϑ0ϑ16ϑ45ϑ61=ϑ5ϑ21ϑ40ϑ56ϑ12ϑ28ϑ33ϑ49,ϑ12ϑ21ϑ33ϑ56=ϑ5ϑ28ϑ40ϑ49ϑ2ϑ27ϑ47ϑ54,ϑ3ϑ20ϑ32ϑ55=ϑ2ϑ21ϑ33ϑ54+ϑ12ϑ27ϑ47ϑ56,\left\{\begin{array}[]{l}\vartheta_{0}\vartheta_{16}\vartheta_{45}\vartheta_{61}=\vartheta_{5}\vartheta_{21}\vartheta_{40}\vartheta_{56}-\vartheta_{12}\vartheta_{28}\vartheta_{33}\vartheta_{49},\\ \vartheta_{12}\vartheta_{21}\vartheta_{33}\vartheta_{56}=\vartheta_{5}\vartheta_{28}\vartheta_{40}\vartheta_{49}-\vartheta_{2}\vartheta_{27}\vartheta_{47}\vartheta_{54},\\ \vartheta_{3}\vartheta_{20}\vartheta_{32}\vartheta_{55}=\vartheta_{2}\vartheta_{21}\vartheta_{33}\vartheta_{54}+\vartheta_{12}\vartheta_{27}\vartheta_{47}\vartheta_{56},\end{array}\right.
(3.9) {ϑ7ϑ14ϑ35ϑ42=ϑ5ϑ12ϑ33ϑ40ϑ21ϑ28ϑ49ϑ56,ϑ14ϑ16ϑ35ϑ61=ϑ2ϑ28ϑ47ϑ49ϑ5ϑ27ϑ40ϑ54,ϑ7ϑ16ϑ42ϑ61=ϑ2ϑ21ϑ47ϑ56ϑ12ϑ27ϑ33ϑ54\left\{\begin{array}[]{l}\vartheta_{7}\vartheta_{14}\vartheta_{35}\vartheta_{42}=\vartheta_{5}\vartheta_{12}\vartheta_{33}\vartheta_{40}-\vartheta_{21}\vartheta_{28}\vartheta_{49}\vartheta_{56},\\ \vartheta_{14}\vartheta_{16}\vartheta_{35}\vartheta_{61}=\vartheta_{2}\vartheta_{28}\vartheta_{47}\vartheta_{49}-\vartheta_{5}\vartheta_{27}\vartheta_{40}\vartheta_{54},\\ \vartheta_{7}\vartheta_{16}\vartheta_{42}\vartheta_{61}=\vartheta_{2}\vartheta_{21}\vartheta_{47}\vartheta_{56}-\vartheta_{12}\vartheta_{27}\vartheta_{33}\vartheta_{54}\end{array}\right.

for appropriate inputs m1,m2,m3,m4m_{1},m_{2},m_{3},m_{4}. Squaring both sides of (3.8), we obtain

(3.10) 2ϑ5ϑ12ϑ21ϑ28ϑ33ϑ40ϑ49ϑ56=ϑ52ϑ212ϑ402ϑ562+ϑ122ϑ282ϑ332ϑ492ϑ02ϑ162ϑ452ϑ612,2ϑ2ϑ5ϑ27ϑ28ϑ40ϑ47ϑ49ϑ54=ϑ52ϑ282ϑ402ϑ492+ϑ22ϑ272ϑ472ϑ542ϑ122ϑ212ϑ332ϑ562,2ϑ2ϑ12ϑ21ϑ27ϑ33ϑ47ϑ54ϑ56=ϑ32ϑ202ϑ322ϑ552ϑ22ϑ212ϑ332ϑ542ϑ122ϑ272ϑ472ϑ562.\displaystyle\begin{split}2\vartheta_{5}\vartheta_{12}\vartheta_{21}\vartheta_{28}\vartheta_{33}\vartheta_{40}\vartheta_{49}\vartheta_{56}&=\vartheta_{5}^{2}\vartheta_{21}^{2}\vartheta_{40}^{2}\vartheta_{56}^{2}+\vartheta_{12}^{2}\vartheta_{28}^{2}\vartheta_{33}^{2}\vartheta_{49}^{2}-\vartheta_{0}^{2}\vartheta_{16}^{2}\vartheta_{45}^{2}\vartheta_{61}^{2},\\ 2\vartheta_{2}\vartheta_{5}\vartheta_{27}\vartheta_{28}\vartheta_{40}\vartheta_{47}\vartheta_{49}\vartheta_{54}&=\vartheta_{5}^{2}\vartheta_{28}^{2}\vartheta_{40}^{2}\vartheta_{49}^{2}+\vartheta_{2}^{2}\vartheta_{27}^{2}\vartheta_{47}^{2}\vartheta_{54}^{2}-\vartheta_{12}^{2}\vartheta_{21}^{2}\vartheta_{33}^{2}\vartheta_{56}^{2},\\ 2\vartheta_{2}\vartheta_{12}\vartheta_{21}\vartheta_{27}\vartheta_{33}\vartheta_{47}\vartheta_{54}\vartheta_{56}&=\vartheta_{3}^{2}\vartheta_{20}^{2}\vartheta_{32}^{2}\vartheta_{55}^{2}-\vartheta_{2}^{2}\vartheta_{21}^{2}\vartheta_{33}^{2}\vartheta_{54}^{2}-\vartheta_{12}^{2}\vartheta_{27}^{2}\vartheta_{47}^{2}\vartheta_{56}^{2}.\end{split}

By using these equations, we can restore a defining equation of a plane quartic CC, as follows:

1:A theta null-point [ϑi2]i63[\vartheta_{i}^{2}]_{i}\in\mathbb{P}^{63} with Nvan=0N_{\rm van}=0 of a p.p.a.v. AA of dim=3\dim=3
2:A plane quartic CC of genus 33 such that AJac(C)A\cong{\rm Jac}(C)
3:Compute a112,a122,a132{a_{11}}^{\!\!\!2},\,{a_{12}}^{\!\!\!2},\,{a_{13}}^{\!\!\!2} by the equation (2.3) and choose their square roots
4:Compute ϑ5ϑ12ϑ33ϑ40,ϑ5ϑ27ϑ40ϑ54,ϑ12ϑ27ϑ33ϑ54\vartheta_{5}\vartheta_{12}\vartheta_{33}\vartheta_{40},\,\vartheta_{5}\vartheta_{27}\vartheta_{40}\vartheta_{54},\,\vartheta_{12}\vartheta_{27}\vartheta_{33}\vartheta_{54} from values a11,a21,a31a_{11},a_{21},a_{31}
5:Compute ϑ21ϑ28ϑ49ϑ56,ϑ2ϑ28ϑ47ϑ49,ϑ2ϑ12ϑ33ϑ56\vartheta_{21}\vartheta_{28}\vartheta_{49}\vartheta_{56},\,\vartheta_{2}\vartheta_{28}\vartheta_{47}\vartheta_{49},\,\vartheta_{2}\vartheta_{12}\vartheta_{33}\vartheta_{56} from the equation (3.10)
6:Compute ϑ7ϑ14ϑ35ϑ42,ϑ14ϑ16ϑ35ϑ61,ϑ7ϑ16ϑ42ϑ61\vartheta_{7}\vartheta_{14}\vartheta_{35}\vartheta_{42},\,\vartheta_{14}\vartheta_{16}\vartheta_{35}\vartheta_{61},\,\vartheta_{7}\vartheta_{16}\vartheta_{42}\vartheta_{61} from the equation (3.9)
7:Compute a12,a13,a22,a23,a32,a_{12},a_{13},a_{22},a_{23},a_{32}, and a33a_{33} from the equation (2.3)
8:Compute k1,k2,k3k_{1},k_{2},k_{3} from the equation (2.5)
9:Compute homogenous linear polynomials ξ1,ξ2,ξ3\xi_{1},\xi_{2},\xi_{3} from Theorem 2.17
10:return the curve (ξ1x+ξ2yξ3z)24ξ1ξ2xy=0(\xi_{1}x+\xi_{2}y-\xi_{3}z)^{2}-4\xi_{1}\xi_{2}xy=0
Algorithm 3.13  RestorePlaneQuartic

3.4. Algorithm for listing superspecial genus-3 curves

Let p>2p>2 be a prime integer, and all principally polarized abelian varieties considered in this subsection are defined over a field of positive characteristic pp. We emphasize that, even in this situation, all the algorithms until the previous subsection still work, thanks to the Mumford’s theory [37] (see also [11, §2\S 2]). First, we prepare the following theorem:

Theorem 3.14.

Let C\hskip 0.56905ptC be a superspecial genus-gg curve in odd characteristic p>2p>2. Then, the theta null-point of its Jacobian is 𝔽p2\mathbb{F}_{p^{2}}-rational.

Proof.

First, recall from [45, Corollary 2.11.4] that a theta null-point of a principally polarized abelian variety AA of dimension gg is 𝔽p2\mathbb{F}_{p^{2}}-rational if and only if there exists a symplectic basis (e1,,eg,e1,,eg)A[2](e_{1},\ldots,e_{g},{e^{\prime}}_{1},\ldots,{e^{\prime}}_{g})\in A[2] such that

  • (i)

    all ei,eie_{i},{e^{\prime}}_{i} are 𝔽p2\mathbb{F}_{p^{2}}-rational, and

  • (ii)

    eT,2(ei,ei)=eT,2(ei,ei)=1e_{T,2}(e_{i},e_{i})=e_{T,2}({e^{\prime}}_{i},{e^{\prime}}_{i})=1 where eT,2e_{T,2} denotes the 22-Tate pairing.

Here, it is well-known (cf. [29, Theorem 2.6]) that a superspecial curve CC descends to a curve CC^{\prime} over 𝔽p2\mathbb{F}_{p^{2}} where the p2p^{2}-power Frobenius map πp2\pi_{p^{2}} is equal to ±p\pm p. Then, it follows from Theorem 2.9 that it suffices to show that the theta null-point of Jac(C){\rm Jac}(C^{\prime}) is 𝔽p2\mathbb{F}_{p^{2}}-rational, since 1\sqrt{-1} belongs to 𝔽p2\mathbb{F}_{p^{2}}.

By Ekedahl’s result [14, Proposition 1.2], there is an isomorphism Jac(C)Eg{\rm Jac}(C^{\prime})\cong E^{g} over 𝔽p2\mathbb{F}_{p^{2}} as a non-polarized abelian variety where EE is a supersingular elliptic curve. Since all the 22-torsion points of EE are 𝔽p2\mathbb{F}_{p^{2}}-rational, all ei,eie_{i},{e^{\prime}}_{i} are 𝔽p2\mathbb{F}_{p^{2}}-rational for any symplectic basis (e1,,eg,e1,,eg)Jac(C)[2](e_{1},\ldots,e_{g},{e^{\prime}}_{1},\ldots,{e^{\prime}}_{g})\in{\rm Jac}(C^{\prime})[2]. Moreover, if we write 2fi=ei2f_{i}=e_{i} with fiJac(C)[4]f_{i}\in{\rm Jac}(C^{\prime})[4] for each i{1,,g}i\in\{1,\ldots,g\}, we have that

eT,2(ei,ei)\displaystyle e_{T,2}(e_{i},e_{i}) =eW,2(ei,πp2(fi)fi)\displaystyle=e_{W,2}(e_{i},\pi_{p^{2}}(f_{i})-f_{i})
=eW,2(ei,(±p1)fi)=eW,2(ei,ei)(±p1)/2=1\displaystyle=e_{W,2}(e_{i},(\pm p-1)f_{i})=e_{W,2}(e_{i},e_{i})^{(\pm p-1)/2}=1

where eW,2e_{W,2} denotes the 22-Weil pairing. In the same way, we obtain eT,2(ei,ei)=1e_{T,2}({e^{\prime}}_{i},{e^{\prime}}_{i})=1. Since Jac(C){\rm Jac}(C^{\prime}) satisfies the two previous conditions, and hence its theta null-point is 𝔽p2\mathbb{F}_{p^{2}}-rational. This completes the proof of the theorem. ∎

Corollary 3.15.

The theta null-point [ϑ02:ϑ12::ϑ632]63[\vartheta_{0}^{2}:\vartheta_{1}^{2}:\cdots:\vartheta_{63}^{2}]\in\mathbb{P}^{63} of any superspecial principally polarized abelian threefold is 𝔽p2\mathbb{F}_{p^{2}}-rational.

Proof.

Recall from the beginning of Section 2.3 that every superspecial principally polarized abelian threefold is isomorphic to the Jacobian of a superspecial curve or a product of them. In the former case, the theta null-point is 𝔽p2\mathbb{F}_{p^{2}}-rational by using Theorem 3.14. In the latter case as well, the assertion follows from Lemma 2.8. ∎

Now, we can list all superspecial genus-3 curves in characteristic p>7p>7 as in the following Algorithm 3.16 (as inputs Λ1,p\Lambda_{1,p} and Λ2,p\Lambda_{2,p}).

1:A prime integer p>7p>7 and the two lists Λ1,p\Lambda_{1,p} and Λ2,p\Lambda_{2,p}
2:The list Λ3,p\Lambda_{3,p} of isom. classes of s.sp. genus-3 curves
3:Initialize 1,2\mathcal{L}_{1}\leftarrow\emptyset,\,\mathcal{L}_{2}\leftarrow\emptyset, and 𝒮\mathcal{S}\leftarrow\emptyset
4:Let 4\mathcal{L}_{4} be the list of isom. classes of E1×E2×E3E_{1}\times E_{2}\times E_{3} with E1,E2,E3Λ1,pE_{1},E_{2},E_{3}\in\Lambda_{1,p}
5:Let 3\mathcal{L}_{3} be the list of isom. classes of E×Jac(C)E\times{\rm Jac}(C) with EΛ1,pE\in\Lambda_{1,p} and CΛ2,pC\in\Lambda_{2,p}
6:Let 𝒮\mathcal{S} be the list of theta null-points of threefolds in 34\mathcal{L}_{3}\sqcup\mathcal{L}_{4}, and set k1k\leftarrow 1
7:repeat
8:     Let [ϑi2]i[\vartheta^{2}_{i}]_{i} be the kk-th theta null-point of 𝒮\mathcal{S}
9:     for all [ϑi2]i[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i}\in\hskip 2.27621ptComputeAllRichelotIsogenies([ϑi2]i[\vartheta^{2}_{i}]_{i}do
10:         Compute the number NvanN_{\rm van} of indices iIeveni\in I_{\rm even} such that ϑi2=0{\vartheta^{\prime}}_{\!\!i}^{2}=0
11:         if Nvan=0N_{\rm van}=0 then
12:              Let invinv^{\prime} be the Dixmier-Ohno invariant of 𝖱𝖾𝗌𝗍𝗈𝗋𝖾𝖯𝗅𝖺𝗇𝖾𝖰𝗎𝖺𝗋𝗍𝗂𝖼([ϑi2]i){\sf RestorePlaneQuartic}([{\vartheta^{\prime}}_{\!\!i}^{2}]_{i})
13:              if inv1inv^{\prime}\notin\mathcal{L}_{1} then
14:                  Add invinv^{\prime} to the list 1\mathcal{L}_{1} and [ϑi2]i[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i} to the end of 𝒮\mathcal{S}
15:              end if
16:         else if Nvan=1N_{\rm van}=1 then
17:              Let invinv^{\prime} be the Shioda invariant of 𝖱𝖾𝗌𝗍𝗈𝗋𝖾𝖧𝗒𝗉𝖾𝗋𝖾𝗅𝗅𝗂𝗉𝗍𝗂𝖼𝖢𝗎𝗋𝗏𝖾([ϑi2]i){\sf RestoreHyperellipticCurve}([{\vartheta^{\prime}}_{\!\!i}^{2}]_{i})
18:              if inv2inv^{\prime}\notin\mathcal{L}_{2} then
19:                  Add invinv^{\prime} to the list 2\mathcal{L}_{2} and [ϑi2]i[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i} to the end of 𝒮\mathcal{S}
20:              end if
21:         end if
22:     end for
23:     Set kk+1k\leftarrow k+1
24:until k>#𝒮k\hskip 0.56905pt>\#\mathcal{S}
25:return  the list of genus-3 curves whose invariants belong to 12\mathcal{L}_{1}\sqcup\mathcal{L}_{2}
Algorithm 3.16  ListUpSspGenus3Curves

In the following, we provide some notes regarding the above Algorithm 3.16.

  • In line 4, we need compute theta null-points of all superspecial principally polarized abelian threefolds of Types 3 and 4. We explain how to get them: The theta null-point of an elliptic curve y2=x(x1)(xt)y^{2}=x(x-1)(x-t) can be given as [1:t:1t:0]3[1:\sqrt{t}:\sqrt{1-t}:0]\in\mathbb{P}^{3} using Thomae’s formula (cf. [38, Theorem 8.1]). Also, applying formulae in [19, §7.5\S 7.5] or [8, §5.1\S 5.1], one can compute the theta null-point of the Jacobian of a genus-2 curve. Then, Lemma 2.8 enables us to compute the theta null-point of their product.

Remark 3.17.

To generate the list Λ2,p\Lambda_{2,p}, we can also use theta functions (without going into detail), instead of Algorithm 2.21. If we use such a method, then we get theta null-points of all superspecial abelian surfaces in process, and we do not need to use formulas in [19, §7.5\S 7.5] or [8, §5.1\S 5.1].

  • In lines 7–20, we compute all the 135135 edges starting from a vertex in turn. If the codomain corresponds to an abelian threefold of Type 1, we compute the Dixmier-Ohno invariants (cf. [13][40]) of the underlying plane quartic. If the codomain corresponds to a Type 2 one, then we compute the Shioda invariants (cf. [48]) of the underlying hyperelliptic curve of genus 3. These invariants are given by polynomials of degree bounded by constants, thus these can be computed in constant time. We note that there is no need to do anything for the codomain of Type 3 or 4 since they have already been obtained in lines 2–3.

Remark 3.18.

If smooth plane quartics CC and CC^{\prime} over an algebraically closed field have different Dixmier-Ohno invariants, then they are not isomorphic to each other. It is proven that the converse holds when the characteristic is 0, and it is suspected that this similarly holds in the case of characteristic p>7p>7, see [33] for details. This is the main reason why we assume that p>7p>7 in Algorithm 3.16.

  • In line 22, the condition k>#𝒮k\hskip 0.56905pt>\#\mathcal{S} can be replaced by #1+#2=#Λ3,p\#\mathcal{L}_{1}+\#\mathcal{L}_{2}=\#\Lambda_{3,p}, where #Λ3,p\#\Lambda_{3,p} denotes the number of superspecial genus-3 curves, which can be obtained from Brock [4, Theorem 3.10]. The algorithm terminates faster with the modified condition; however, in our computational experiment, we ran Algorithm 3.16 with the original condition for reasons explained later.

Finally let us show Theorem 1.1, which asserts the complexity of Algorithm 3.16. (even if the condition in line 22 is replaced, the complexity remains the same).

Proof of Theorem 1.1.

It follows from Corollary 3.15 that all the theta null-points appearing in Algorithm 3.16 are 𝔽p2\mathbb{F}_{p^{2}}-rational. In lines 7 and 10, it is necessary to take their square roots to obtain theta constants, which belong to 𝔽p4\mathbb{F}_{p^{4}}. Then, one can see that all the computations in Algorithm 3.16 can be done over 𝔽p4\mathbb{F}_{p^{4}}.

It follows from

#Λ1,p=O(p),#Λ2,p=O(p3)and#Λ3,p=O(p6)\#\Lambda_{1,p}=O(p),\quad\#\Lambda_{2,p}=O(p^{3})\quad{\rm and}\quad\#\Lambda_{3,p}=O(p^{6})

that the complexity of line 2 and line 3 is given by O~(p3)\widetilde{O}(p^{3}) and O~(p4)\widetilde{O}(p^{4}), respectively. Next, lines 6–20 are repeated O(p6)O(p^{6}) times since ultimately #𝒮\#\mathcal{S} equals the number of isomorphism classes of superspecial principally polarized abelian threefolds. For each loop, lines 8–19 are executed exactly 135135 times, and hence all operations can be performed in polynomial time of logp\log{p}. Therefore, Algorithm 3.16 can be done with O~(p6)\widetilde{O}(p^{6}) operations over 𝔽p4\mathbb{F}_{p^{4}}. ∎

4. Computational results

In this section, we give some computational results obtained by executing main algorithm. We implemented the algorithms with Magma V2.26-10 and ran it on a machine with an AMD EPYC 77427742 CPU and 22 TB of RAM.

4.1. Enumeration of superspecial hyperelliptic genus-3 curves

In this subsection, we enumerate superspecial hyperelliptic genus-3 curves in characteristics pp with 11p<10011\leq p<100. For this, we only need to modify Algorithm 3.16 to output the cardinalities of lists 1,2,3\mathcal{L}_{1},\mathcal{L}_{2},\mathcal{L}_{3}, and 4\mathcal{L}_{4}. We note that #1\#\mathcal{L}_{1} (resp. #2\#\mathcal{L}_{2}) is equal to the number of isomorphism classes of non-hyperelliptic (resp. hyperelliptic) curves of genus 3.

Remark 4.1.

For the cardinalities of 3\mathcal{L}_{3} and 4\mathcal{L}_{4}, we have

#3=#Λ1,p#Λ2,p,#4=(#Λ1,p+23).\#\mathcal{L}_{3}=\#\Lambda_{1,p}\cdot\#\Lambda_{2,p},\quad\#\mathcal{L}_{4}=\binom{\#\Lambda_{1,p}+2}{3}.\vspace{0.3mm}

Here, the numbers #Λ1,p\#\Lambda_{1,p} and #Λ2,p\#\Lambda_{2,p} are obtained by [12] and [24].

The following table (Table 1) shows the cardinalities of four lists 1,2,3,4\mathcal{L}_{1},\mathcal{L}_{2},\mathcal{L}_{3},\mathcal{L}_{4}, and the time it took. As mentioned earlier, the time can be shortened by changing the condition k>#𝒮k\hskip 0.56905pt>\#\mathcal{S} in line 22 to #1+#2=#Λ3,p\#\mathcal{L}_{1}+\#\mathcal{L}_{2}=\#\Lambda_{3,p}. However, for the purpose of verifying that our result are consistent with Brock’s result [4, Theorem 3.10], we executed it without changing the condition in the following experiment:

char.   #1\#\mathcal{L}_{1}   #2\#\mathcal{L}_{2}   #3\#\mathcal{L}_{3}   #4\#\mathcal{L}_{4} total compl Time (sec)
p=11p=11 10 1 4 4 19 7 9.660
p=13p=13 18 1 3 1 23 5 7.790
p=17p=17 54 2 10 4 70 24 19.320
p=19p=19 87 4 14 4 109 48 29.860
p=23p=23 213 9 30 10 262 70 66.070
p=29p=29 681 10 54 10 755 249 189.090
p=31p=31 950 27 60 10 1047 249 258.710
p=37p=37 2448 35 93 10 2586 591 615.930
p=41p=41 4292 54 160 20 4526 1754 1070.190
p=43p=43 5567 82 180 20 5849 2685 1385.360
p=47p=47 9138 125 285 35 9583 3277 2295.400
p=53p=53 18032 153 390 35 18610 6663 4484.100
p=59p=59 33204 299 624 56 34183 11964 8719.060
p=61p=61 40259 262 565 35 41121 13015 10670.860
p=67p=67 69132 451 870 56 70509 25780 19646.600
p=71p=71 96717 647 1190 84 98638 30861 29135.890
p=73p=73 113778 582 1098 56 115514 35823 34888.620
p=79p=79 180273 942 1596 84 182895 51592 59625.370
p=83p=83 240755 1136 2080 120 244091 70445 83296.450
p=89p=89 362720 1402 2528 120 366770 122626 134065.830
p=97p=97 602062 2002 3200 120 607384 208415 230401.380
Table 1. The cardinalities of lists 1,2,3\mathcal{L}_{1},\mathcal{L}_{2},\mathcal{L}_{3} and 4\mathcal{L}_{4}

Notably, the final results obtained show that #1+#2=#Λ3,p\#\mathcal{L}_{1}+\#\mathcal{L}_{2}=\#\Lambda_{3,p}, and therefore our result is consistent with Brock’s result.

Here, the column total (resp. compl) indicates the number of times lines 6–21 are performed until the condition k>#𝒮k\hskip 0.56905pt>\#\mathcal{S} (resp. #1+#2=#Λ3,p\#\mathcal{L}_{1}+\#\mathcal{L}_{2}=\#\Lambda_{3,p}) is satisfied. Note that 𝚝𝚘𝚝𝚊𝚕{\tt total} is equal to the sum of #1,#2,#3\#\mathcal{L}_{1},\#\mathcal{L}_{2},\#\mathcal{L}_{3}, and #4\#\mathcal{L}_{4}. As can be seen in Table 1, the ratio 𝚌𝚘𝚖𝚙𝚕/𝚝𝚘𝚝𝚊𝚕{\tt compl}/{\tt total} is approximately equal to 1/31/3 for each pp. Hence, if the termination condition is changed to #1+#2=#Λ3,p\#\mathcal{L}_{1}+\#\mathcal{L}_{2}=\#\Lambda_{3,p}, and then the time required is considered to be only 1/31/3 of the time written in Table 1. For example, listing up all superspecial genus-3 curves in characteristic p=97p=97 takes about a day.

4.2. The existence of a superspecial hyperellitptic genus-3 curve

In this subsection, we check that there exists at least one superspecial hyperelliptic curve of genus 33 in characteristic pp with 7p<100007\leq p<10000.

Remark 4.2.

Moriya-Kudo’s method [36] is more efficient for finding such curves, but their method can only generate curves whose automorphism groups contain the Klein 44-group. Even if their approach cannot find such a curve for some pp, there is a possibility that our approach will find them.

First, the sufficient condition for the characteristic pp for such a curve to exist is given by the following proposition:

Theorem 4.3 ([4, Theorem 3.15] or [53, Theorem 2]).
  1. (1)

    The curve y2=x71y^{2}=x^{7}-1 is superspecial if and only if p6(mod7)p\equiv 6\pmod{7}.

  2. (2)

    The curve y2=x7xy^{2}=x^{7}-x is superspecial if and only if p3(mod4)p\equiv 3\pmod{4}.

  3. (3)

    The curve y2=x81y^{2}=x^{8}-1 is superspecial if and only if p7(mod8)p\equiv 7\pmod{8}.

By the above theorem, there exists a superspecial hyperelliptic curve of genus 33 if p6(mod7)p\equiv 6\pmod{7} or p3(mod4)p\equiv 3\pmod{4}. To investigate the other cases, we implemented the probabilistic algorithm (Algorithm 4.4) which outputs such a curve:

1:A prime integer p7p\geq 7
2:A superspecial hyperelliptic curve of genus 33 in characteristic pp
3:Generate a supersingular elliptic curve EE and 𝖢𝗈𝗅𝗅𝖾𝖼𝗍𝖲𝗒𝗆𝗉𝗅𝖾𝖼𝗍𝗂𝖼𝖬𝖺𝗍𝗋𝗂𝖼𝖾𝗌()\mathcal{M}\leftarrow{\sf CollectSymplecticMatrices}()
4:Compute a theta null-point [ϑi2]i[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i} of E3E^{3} by using Lemma 2.8
5:repeat
6:     Set [ϑi2]i[ϑi2]i[\vartheta_{i}^{2}]_{i}\leftarrow[{\vartheta^{\prime}}_{\!\!i}^{2}]_{i} and choose a symplectic matrix MM\in\mathcal{M} randomly
7:     Write M=(αβγδ)M=\begin{pmatrix}\alpha&\beta\\[-0.85358pt] \gamma&\delta\end{pmatrix}, where α,β,γ\alpha,\beta,\gamma, and δ\delta are (3×3)(3\times 3)-matrices
8:     for iIeveni\in I_{\rm even} do
9:         Let ϑi2{\vartheta^{\prime}}_{\!\!i}^{2} be the value determined from the action in Theorem 2.9
10:     end for
11:     Compute the number NvanN_{\rm van} of indices iIeveni\in I_{\rm even} such that ϑi2=0{\vartheta^{\prime}}_{\!\!i}^{2}=0
12:until Nvan=1N_{\rm van}=1
13:return 𝖱𝖾𝗌𝗍𝗈𝗋𝖾𝖧𝗒𝗉𝖾𝗋𝖾𝗅𝗅𝗂𝗉𝗍𝗂𝖼𝖢𝗎𝗋𝗏𝖾([ϑi2]i){\sf RestoreHyperellipticCurve}([{\vartheta^{\prime}}_{\!\!i}^{2}]_{i})
Algorithm 4.4  GenerateSingleSSpHypGenus3Curve

Then, one can obtain a superspecial hyperelliptic genus-3 curve as follows:

  • If p6(mod7)p\equiv 6\pmod{7}, then output the curve y2=x71y^{2}=x^{7}-1.

  • If p3(mod4)p\equiv 3\pmod{4}, then output the curve y2=x7xy^{2}=x^{7}-x.

  • Otherwise, execute the Algorithm 4.4.

We remark that Algorithm 4.4 may return different outputs depending on randomness in lines 11 and 44.

Executing the above procedure, we have checked that a superspecial hyperelliptic genus-3 curve exists for all characteristic 7p<100007\leq p<10000. As Algorithm 4.4 performs a random walk on 𝒢3(2,p)\mathcal{G}_{3}(2,p), the time to output such a curve varies, but we will list them below for reference:

  • For each 7p<100007\leq p<10000, the above procedure ends within 10,000 seconds. Moreover for almost pp, it took less than 3,600 seconds.

  • It took 9,952 seconds for p=8893p=8893, which is the maximal time for p<10000p<10000.

  • It took very short time for some pp (e.g. about 3030 seconds for p=9209p=9209).

4.3. Drawing the graph 𝒢3(2,p)\mathcal{G}_{3}(2,p) for small pp

By slightly modifying main algorithm, one can draw the graph 𝒢3(2,p)\mathcal{G}_{3}(2,p) for small pp as follows:

Refer to caption
Figure 1. The graph 𝒢3(2,11)\mathcal{G}_{3}(2,11)
Refer to caption
Figure 2. The graph 𝒢3(2,13)\mathcal{G}_{3}(2,13)
Refer to caption
Figure 3. The graph 𝒢3(2,17)\mathcal{G}_{3}(2,17)
Refer to caption
Figure 4. The graph 𝒢3(2,19)\mathcal{G}_{3}(2,19)

In the above figures, we write abelian threefolds of Types 11, 22, 33, and 44 are written as blue, green, yellow, and red vertices respectively. Moreover, to improve visibility, we draw all the graphs as undirected graphs.

5. Concluding remarks

We proposed an algorithm (Algorithm 3.16) for computing the Richelot isogeny graph of superspecial abelian threefolds in characteristic p>7p>7. As applications of this algorithm, we succeeded in listing up superspecial genus-3 curves for p<100p<100 (Section 4.1), and finding one superspecial hyperelliptic curve of genus 3 for all pp with 7p<100007\leq p<10000 (Section 4.2). Our implementation with the Magma algebraic system [3] for listing up superspecial genus-3 curves is available at

https://github.com/Ryo-Ohashi/sspg3list.

The complexity of our algorithm is estimated as O~(p6)\widetilde{O}(p^{6}) operations in the field 𝔽p4\mathbb{F}_{p^{4}}. However, in our computational experiments, all the operations were performed over the field 𝔽p2\mathbb{F}_{p^{2}} in practice, and hence it may be possible to assert something stronger from Theorem 1.1.

As other future works, it would be interesting to list up superspecial curves of genus 33 in characteristic p>100p>100. However, since enumerating in p=97p=97 took about a day, enumerating even in p=199p=199 can be expected to take more than two months. Hence, improving the algorithm in Section 4.1 is an important task. This requires an efficient search to obtain new nodes on the graph 𝒢3(2,p)\mathcal{G}_{3}(2,p), and then we need to investigate the structure of 𝒢3(2,p)\mathcal{G}_{3}(2,p) in detail.

On the other hand, we can expect from the results in Table 1 that

Expectation 5.1.

The number of isomorphism classes of superspecial hyperelliptic curves of genus 33 in characteristic pp is O(p4)O(p^{4}).

Recall that the order of magnitude of all superspecial genus-3 curves is O(p6)O(p^{6}), then the proportion of hyperelliptic ones among them can be estimated to be about 1/p21/p^{2} under this expectation. A theoretical proof of it is also one of our future works.

Acknowledgements

The authors are grateful to Damien Robert and Everett Howe for their helpful comments on earlier version of this paper. This research was conducted under a contract of “Research and development on new generation cryptography for secure wireless communication services” among “Research and Development for Expansion of Radio Wave Resources (JPJ000254)”, which was supported by the Ministry of Internal Affairs and Communications, Japan. This work was also supported by JSPS Grant-in-Aid for Young Scientists 20K14301 and 23K12949, and WISE program (MEXT) at Kyushu University.

References

  • [1] Y. Aikawa, R. Tanaka and T. Yamauchi: Isogeny graphs on superspecial abelian varieties: Eigenvalues and connection to Bruhat-Tits buildings, preprint, arXiv: 2201.04293.
  • [2] A. Basso, L. Maino and G. Pope: FESTA: Fast encryption from supersingular torsion attacks, Asiacrypt 2023, LNCS 14444, 98–126, 2023.
  • [3] W. Basso, J. Cannon and C. Playoust: The MAGMA algebra system. I. The user language, Journal of Symbolic Computation 24, 235–265, 1997.
  • [4] B. W. Brock: Superspecial curves of genera two and three, Ph.D. thesis, Princeton University, 1993.
  • [5] W. Castryck and T. Decru: Multiradical isogenies, Contemp. Math. 779, 57–89, 2022.
  • [6] W. Castryck, T. Decru and B. Smith: Hash functions from superspecial genus-2 curves using Richelot isogenies, J. Math. Cryptol. 14, 268–292, 2020.
  • [7] R. CossetApplications des fonctions thêta à la cryptographie sur courbes hyperelliptiques, Ph.D. thesis, Université Henri Poincaré, 2011.
  • [8] R. Cosset and D. Robert: Computing (,)(\ell,\ell)-isogenies in polynomial time on Jacobians of genus 2 curves, Math. Comput. 84, 1953–1975, 2014.
  • [9] C. Costello and B. Smith: The supersingular isogeny problem in genus 2 and beyond, PQCrypto 2020, LNCS 12100, 151–168, 2020.
  • [10] P. Dartois, A. Leroux, D. Robert and B. Wesolowski: SQISignHD: New dimensions in cryptography, preprint, https://ia.cr/2023/436.
  • [11] P. Dartois, L. Maino, G. Pope, and D. Robert: An algorithmic approach to (2,2)(2,2)-isogenies in the theta model and applications to isogeny-based cryptography, preprint, https://ia.cr/2023/1747.
  • [12] M. Deuring: Die Typen der Multiplikatorenringe elliptischer Funktionenkörper, Abh. Math. Sem. Univ. Hamburg 14(1), 197–272, 1941.
  • [13] J. Dixmier: On the projective invariants of quartic plane curves, Adv. Math. 64, 279–304, 1987.
  • [14] T. Ekedahl: On supersingular curves and abelian varieties, Math. Scand. 60, 1987, 151–178.
  • [15] A. Fiorentino: Weber’s formula for the bitangents of a smooth plane quartic, Publ. Math. Besançon, Algèbre Théor. Nombres 2019(2), 5–17, 2019.
  • [16] E. Florit and B. Smith: Automorphisms and isogeny graphs of abelian varieties, with applications to the superspecial Richelot isogeny graph, Contemp. Math. 779, 103-132, 2022.
  • [17] E. Florit and B. SmithAn atlas of the Richelot isogeny graph, RIMS Kôkyûroku Bessatsu B90, 195–219, 2022.
  • [18] E. V. Flynn and Y. B. Ti: Genus two isogeny cryptography, PQCrypto 2019, LNCS 11505, 286–306, 2019.
  • [19] P. Gaudry: Fast genus 2 arithmetic based on Theta functions, J. Math. Crypt. 1, 243–265, 2007.
  • [20] J. P. Glass: Theta constants of genus three, Compositio Math. 40, 123–137, 1980.
  • [21] K. Hashimoto: Class numbers of positive definite ternary quaternion Hermitian forms, Proc. Japan Acad. 59, Ser. A, 490–493, 1983.
  • [22] E. W. Howe, F. Leprévost and B. Poonen: Large torsion subgroups of split Jacobians of curves of genus two or three, Forum Math. 12, 315–364, 2000.
  • [23] T. Ibukiyama: On rational points of curves of genus 3 over finite fields, Tohoku Math. J. 45, 311–329, 1993.
  • [24] T. Ibukiyama, T. Katsura and F. Oort: Supersingular curves of genus two and class numbers, Compositio Math. 57(2), 127–152, 1986.
  • [25] J. IgusaArithmetic variety of moduli for genus two, Ann. Math. 72(2), 612–649, 1960.
  • [26] J. IgusaTheta functions, Grundlehren der mathematischen Wissenschaften 194, Springer–Verlag, 1972.
  • [27] B. W. Jordan and Y. ZaytmanIsogeny graphs of superspecial abelian varieties and Brandt matrices, preprint, arXiv: 2005.09031.
  • [28] T. Katsura and K. Takashima: Counting Richelot isogenies between superspecial abelian surfaces, The Open Book Series 4(1), 283–300, 2020.
  • [29] A. Kazemifard, A. R. Naghipour and S. Tafazolian: A note on superspecial and maximal curves, Bull. Iran. Math. Soc. 39(3): 405–413, 2013.
  • [30] M. Kudo: Counting isomorphism classes of superspecial curves, RIMS Kôkyûroku Bessatsu B90, 77–95, 2022.
  • [31] M. Kudo, S. Harashita and E. W. Howe: Algorithms to enumerate superspecial Howe curves of genus 4, The Open Book Series 4(1), 301–316, 2020.
  • [32] H. Lange and Ch. Birkenhake:  Complex Abelian Varieties,  Grundlehren der mathematischen Wissenschaften 302, Springer–Verlag, 2004.
  • [33] R. Lercier, Q. Liu, E. L. García, C. Ritzenthaler: Reduction type of smooth quartics, Algebra Number Theory 15 (6), 1429–1468, 2021.
  • [34] D. Lubicz and D. Robert: Arithmetic on abelian and Kummer varieties, Finite Fields Appl. 39, 130–158, 2016.
  • [35] E. Milio: Computing isogenies between Jacobians of curves of genus 2 and 3, Math. Comput. 89, No. 323, 1331–1364, 2020.
  • [36] T. Moriya and M. Kudo: Some explicit arithmetics on curves of genus three and their applications, preprint, arXiv: 2209.02926.
  • [37] D. Mumford: On the equations defining abelian varieties. I, Invent. math. 1, 287–354, 1966.
  • [38] D. MumfordTata Lectures on Theta II, Progress in Mathematics 43, Birkhäuser, 1984.
  • [39] E. Nart and C. Ritzenthaler: A new proof of a Thomae-like formula for non hyperelliptic genus 3 curves, Contemp. Math. 686, 137–155, 2017.
  • [40] T. Ohno: The graded ring of invariants of ternary quartics I, 2007, unpublished.
  • [41] F. Oort: Hyperelliptic supersingular curves, Prog. Math. 89, 247–284, 1991.
  • [42] E. Oyono: Non-hyperelliptic modular Jacobians of dimension 3, Math. Comput. 78, No. 266, 1173–1191, 2009.
  • [43] A. Pieper: Theta nullvalues of supersingular abelian varieties, J. Symb. Comput. 123, Article ID: 102296, 2024.
  • [44] A. K. Pizer: Ramanujan graphs, AMS/IP Stud. Adv. Math. 7, 159–178, 1998.
  • [45] D. Robert: Efficient algorithms for abelian varieties and their moduli spaces, HDR, 2021.
  • [46] D. Robert: Some notes on algorithms for abelian varieties, preprint, https://ia.cr/2024/406.
  • [47] T. Shaska and G. S. Wijesiri: Theta functions and algebraic curves with automorphisms, New Challenges in digital communications, NATO Advanced Study Institute, 193–237, 2009.
  • [48] T. Shioda: On the graded ring of invariants of binary octavics, Amer. J. Math. 89(4), 1022–1046, 1967.
  • [49] B. Smith: Explicit endomorphisms and correspondences, Ph.D. thesis, University of Sydney, 2005.
  • [50] B. Smith: Isogenies and the discrete logarithm problem in Jacobians of genus 3 hyperelliptic curves, J. Cryptol. 22, 505–529, 2009.
  • [51] K. Takase: A generalization of Rosenhain’s normal form for hyperelliptic curves with an application, Proc. Japan Acad. 72, Ser. A, 162–165, 1996.
  • [52] S. Tsuyumine: On Siegel modular forms of degree three, Amer. J. Math. 108(4), 755–862, 1986.
  • [53] R. C. Valentini: Hyperelliptic curves with zero Hasse-Witt matrix, Manuscripta Math. 86, 185–194, 1995.
  • [54] H. Weber: Theorie der Abelschen Functionen vom Geschlecht drei, Berlin: Druck und Verlag von Georg Reimer, 1876.

Ryo Ohashi: Graduate School of Information Science and Technology, The University of Tokyo — 7-3-1 Hongo, Bunkyo-ku, Tokyo, 113-0033, Japan.

E-mail address: [email protected].


Hiroshi Onuki: Graduate School of Information Science and Technology, The University of Tokyo — 7-3-1 Hongo, Bunkyo-ku, Tokyo, 113-0033, Japan.

E-mail address: [email protected].


Momonari Kudo: Fukuoka Institute of Technology — 3-30-1 Wajiro-higashi, Higashi-ku, Fukuoka, 811-0295, Japan.

E-mail address: [email protected].


Ryo Yoshizumi: Joint Graduate Program of Mathematics for Innovation, Kyushu University — 744 Motooka, Nishi-ku, Fukuoka 819-0395, Japan.

E-mail address: [email protected].


Koji Nuida: Institute of Mathematics for Industry, Kyushu university — 744 Motooka, Nishi-ku, Fukuoka 819-0395, Japan / National Institute of Advanced Industrial Science and Technology (AIST) — 2-3-26 Aomi, Koto-ku, Tokyo, 135-0064, Japan.

E-mail address: [email protected].