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

Algorithms for Mumford Curves

Ralph Morrison and Qingchun Ren
Abstract.

Mumford showed that Schottky subgroups of PGL(2,K)PGL(2,K) give rise to certain curves, now called Mumford curves, over a non-Archimedean field K. Such curves are foundational to subjects dealing with non-Archimedean varieties, including Berkovich theory and tropical geometry. We develop and implement numerical algorithms for Mumford curves over the field of pp-adic numbers. A crucial and difficult step is finding a good set of generators for a Schottky group, a problem solved in this paper. This result allows us to design and implement algorithms for tasks such as: approximating the period matrices of the Jacobians of Mumford curves; computing the Berkovich skeleta of their analytifications; and approximating points in canonical embeddings. We also discuss specific methods and future work for hyperelliptic Mumford curves.

1. Introduction

Curves over non-Archimedean fields are of fundamental importance to algebraic geometry and number theory. Mumford curves are a family of such curves, and are interesting from both a theoretical and computational perspective. In non-Archimedean geometry, they are quotients of projective space by Schottky groups. In tropical geometry, which looks at the images in n\mathbb{R}^{n} of curves under coordinate-wise valuation, these are balanced graphs with the maximal number of cycles. For instance, the tropicalization of an elliptic Mumford curve can be realized as a plane cubic in honeycomb form [CS].

Let KK be an algebraically closed field complete with respect to a nontrivial non-Archimedean valuation. Unless otherwise stated, |||\cdot| will denote a choice of norm on KK coming from this valuation. Let R={xK|val(x)0}R=\{x\in{}K|\mathrm{val}(x)\geq{}0\} be the valuation ring of KK. This is a local ring with unique maximal ideal M={xK|val(x)>0}M=\{x\in{}K|\mathrm{val}(x)>0\}. Let k=R/Mk=R/M denote the residue field of KK. We are most interested in the field of pp-adic numbers p\mathbb{Q}_{p}, which unfortunately is not algebraically closed. (For this case, R=pR=\mathbb{Z}_{p}, the ring of pp-adic integers, and k=𝔽pk=\mathbb{F}_{p}, the field with pp elements.) Therefore for theoretical purposes we will often consider K=pK=\mathbb{C}_{p}, the complete algebraic closure of p\mathbb{Q}_{p}. (In this case RR is much larger, and kk is the algebraic closure of 𝔽p\mathbb{F}_{p}.) In most of this paper, choosing elements of p\mathbb{C}_{p} that happen to be elements of p\mathbb{Q}_{p} as inputs for algorithms yields an output once again in p\mathbb{Q}_{p}. This “p\mathbb{Q}_{p} in, p\mathbb{Q}_{p} out” property means we may take KK to be p\mathbb{Q}_{p} for our algorithmic purposes, while still considering K=pK=\mathbb{C}_{p} when more convenient for the purposes of theory. Much of the theory presented here works for other non-Archimedean fields, such as the field of Puiseux series {{t}}\mathbb{C}\{\!\{t\}\!\}.

We recall some standard definitions and notation for pp-adic numbers; for further background on the pp-adics, see [Ho]. For a prime pp, the pp-adic valuation valp:\text{val}_{p}:\mathbb{Q}^{*}\rightarrow\mathbb{Z} is defined by valp(pvmn)=v\text{val}_{p}\left(p^{v}\frac{m}{n}\right)=v, where mm and nn are not divisible by pp. The usual pp-adic norm ||p|\cdot|_{p} on \mathbb{Q} is defined for aa\in\mathbb{Q}^{*} by |a|p=1pvalp(a)|a|_{p}=\frac{1}{p^{\text{val}_{p}(a)}} and for 0 by |0|p=0|0|_{p}=0. This means that large powers of pp are small in absolute value, and small powers of pp are large in absolute value. We will usually omit the subscript pp from both ||p|\cdot|_{p} and valp\text{val}_{p}.

The completion of \mathbb{Q} with respect to the pp-adic norm is denoted p\mathbb{Q}_{p}, and is called the field of pp-adic numbers. Each nonzero element bb of p\mathbb{Q}_{p} can be written uniquely as

b=n=vanpn,b=\sum_{n=v}^{\infty}a_{n}p^{n},

where vv\in\mathbb{Z}, av0a_{v}\neq 0 and an{0,1,,p1}a_{n}\in\{0,1,\ldots,p-1\} for all nn. The pp-adic valuation and norm extend to this field, and such a sum will have val(b)=v\text{val}(b)=v and |b|=1pv|b|=\frac{1}{p^{v}}. In analog to decimal expansions, we will sometimes write

b=aNaN1a3a2a1a0.a1a2av,b=\ldots a_{N}a_{N-1}\ldots a_{3}a_{2}a_{1}a_{0}.a_{-1}a_{-2}\ldots a_{v},

where the expression trails to the left since higher powers of pp are smaller in pp-adic absolute value. We may approximate bpb\in\mathbb{Q}_{p} by a finite sum

bn=vNanpn,b\approx\sum_{n=v}^{N}a_{n}p^{n},

which will give an error of size at most 1pN+1\frac{1}{p^{N+1}}.

Consider the group PGL(2,K)PGL(2,K), which acts on 1(K)\mathbb{P}^{1}(K) by treating elements as column vectors. That is, a matrix acts on the point (a:b)1(K)(a:b)\in\mathbb{P}^{1}(K) by acting on the vector (ab)\left(\begin{smallmatrix}a\\ b\end{smallmatrix}\right) on the left. Viewed on an affine patch, the elements of this group act as fractional linear transformations. We are interested in the action of certain subgroups of PGL(2,K)PGL(2,K) called Schottky groups, because a Schottky group minimally generated by g2g\geq 2 elements will give rise to a curve of genus gg.

Definition 1.1.

A 2×22\times{}2 matrix is hyperbolic if it has two eigenvalues with different valuations. A Schottky group ΓPGL(2,K)\Gamma\leq PGL(2,K) is a finitely generated subgroup such that every non-identity element is hyperbolic.

There are many equivalent definitions of Schottky groups, including the following useful characterization.

Proposition 1.2.

A subgroup of PGL(2,K)PGL(2,K) is Schottky if and only if it is free, discrete, and finitely generated. If the generators are elements of p2×2\mathbb{Q}_{p}^{2\times 2}, we may replace “free” with “torsion free.”

Let Γ\Gamma be a Schottky group minimally generated by γ1,,γg\gamma_{1},\ldots,\gamma_{g}. The above proposition implies that each element γΓ\gamma{}\in\Gamma can be written as a unique shortest product h1h2hkh_{1}h_{2}\dotsb{}h_{k}, where each hi{γ,1,γ,gγ,11,γ}g1h_{i}\in{}\{\gamma{}_{1},\dotsc{},\gamma{}_{g},\gamma{}_{1}^{-1},\dotsc{},\gamma{}_{g}^{-1}\}. This product is called the reduced word for γ\gamma.

Let Σ\Sigma be the set of points in 1(K)\mathbb{P}^{1}(K) that are fixed points of elements of Γ\Gamma or limit points of the fixed points. The group Γ\Gamma acts nicely on Ω:=1(K)Σ\Omega:=\mathbb{P}^{1}(K)\setminus\Sigma; for this reason we will sometimes refer to Σ\Sigma as the set of bad points for Γ\Gamma.

Theorem 1.3 (Mumford, [Mu1]).

Let Γ=γ1,,γg\Gamma=\left<\gamma_{1},\ldots,\gamma_{g}\right> and Ω\Omega be as above. Then Ω/Γ\Omega/\Gamma is analytically isomorphic to a curve of genus gg. We call such a curve a Mumford curve.

In a companion paper to [Mu1] (see [Mu2]), Mumford also considered abelian varieties over non-Archimedean fields. He showed that these could be represented as (K)g/Q(K^{*})^{g}/Q, where Q(K)g×gQ\in(K^{*})^{g\times g} is called a period matrix for the abelian variety, and represents the multiplicative subgroup generated by its columns.

Since their initial appearance in the 1970s, a rich theory behind Mumford curves has been developed, largely in the 1980s in such works as [GP]. However, prior to the work in this paper there have been few numerical algorithms for working with them (an exception being a treatment of hyperelliptic Mumford curves, mostly genus 22, in [Ka] from 2007). We have designed and implemented algorithms that accomplish Mumford curve-based tasks over p\mathbb{Q}_{p} previously absent from the realm of computation, and have made many seemingly theoretical and opaque objects hands-on and tractable.

After discussing in Section 2 a technical hypothesis (“good position”) for the input for our algorithms, we present our main algorithms in Section 3. They accomplish the following tasks, where we denote Ω/Γ\Omega/\Gamma by CC:

  • Given a Schottky group Γ\Gamma, find a period matrix QQ for the abelian variety Jac(C)\text{Jac}(C) (Algorithm 3.3).

  • Given a Schottky group Γ\Gamma, find a triple (G,,h)(G,\ell,h), where

    • GG is a graph,

    • \ell is a length function on GG such that the metric graph (G,)(G,\ell) is the abstract tropical curve which is a skeleton of CanC^{an} (the analytification of CC), and

    • hh is a natural equivalence h:RgGh:R^{g}\rightarrow G from the rose graph on gg petals;

    this data specifies a point in the tropical Teichmüller space described in [CMV] (Algorithm 3.9).

  • Given a Schottky group Γ\Gamma, find points in a canonical embedding of the curve CC into g1\mathbb{P}^{g-1} (Algorithm 3.13).

In Section 4, we present an algorithm to achieve the “good position” hypothesis that allows the other algorithms to run efficiently, which in doing so verifies that the input group is Schottky (or proves that the group is not Schottky). This is the most important result of this paper, as the algorithms in Section 3 rely heavily upon it.

We take advantage of a property that makes non-Archimedean valued fields like p\mathbb{Q}_{p} special: |x+y|max{|x|,|y|}|x+y|\leq{}\max\{|x|,|y|\}. As a result, the error does not accumulate in the computation. Thus we avoid a dangerous hazard present in doing numerical computation over \mathbb{R} or \mathbb{C}. The computational problems are hard in nature. Efficient computation for similar problems is not common in the literature even for genus 22 case. Our algorithms are capable of solving genus 22 and some genus 33 examples on a laptop in reasonable time (several minutes). However, they are less efficient for larger cases. The reason is that the running time grows exponentially as the requirement on the precision of the output (in terms of the number of digits) grows. One of the future goals is to find a way to reduce the running time for the algorithms.

Other future goals for Mumford curve algorithms (detailed in Section 5) include natural reversals of the algorithms in Section 3. We are also interested in a particular family of Schottky groups called Whittaker groups, defined in Subsection 5.2. These are the Schottky groups that give rise to hyperelliptic Mumford curves. Some computations for genus 22 curves arising from Whittaker groups were done in [Ka], including computation of Jacobians and finding group representations from ramification points. Two desirable algorithms in this area include:

  • Given a Whittaker group WW, find an affine equation for Ω/W\Omega/W.

  • Given a totally split hyperelliptic curve CC, find a Whittaker group WW such that CΩ/WC\cong\Omega/W.

The first can be accomplished if a particular presentation of WW is available, and a brute force algorithm in [Ka] can compute the second if the ramification points of CC are in a nice position. Future work removing these requirements and improving efficiency would make hyperelliptic Mumford curves very easy to work with computationally.

Acknowledgements

We thank our advisor Bernd Sturmfels for guiding us through this project. We also thank Matthew Baker, Melody Chan, Diane Maclagan and Thomas Scanlon for helpful discussions and communications. Both authors were supported by the National Science Foundation through grant DMS-0968882. Ralph Morrison was also supported in part by UC Berkeley, and in part by the Max Planck Institute for Mathematics in Bonn.

Supplementary Material

We made extensive use of the software package sage [Sage]. Our supplementary files can be found at http://math.berkeley.edu/~ralph42/mumford_curves_supp.html. We have also included the files in the arXiv submission of this paper, and they can be obtained by downloading the source. There are minor changes in the sage implementation from the description of the algorithms in this paper. The changes are made only for convenience in implementation, and they do not affect the behavior of the algorithms.

2. Good fundamental domains in 1\mathbb{P}^{1} and (1)an(\mathbb{P}^{1})^{an}

This section introduces good fundamental domains and the notion of good position for generators, both of which will play key roles in our algorithms for Mumford curves. Our main algorithms in Section 3 require as input Schottky generators in good position, without which the rate of convergence of approximations will drop drastically. For our method of putting generators into good position, see Section 4.

We start with the usual projective line 1\mathbb{P}^{1}, then discuss the analytic projective line (1)an(\mathbb{P}^{1})^{an}. Our treatment of good fundamental domains follows Gerritzen and van der Put [GP]. The notion is also discussed by Kadziela [Ka]. The introduction to the analytic projective line follows Baker, Payne and Rabinoff [BPR].

Definition 2.1.

An open ball in 1\mathbb{P}^{1} is either a usual open ball B(a,r)={xK:|xa|<r}B(a,r)=\{x\in{}K:|x-a|<r\} or the complement of a usual closed ball 1\B(a,r)+={}{xK:|xa|>r}\mathbb{P}^{1}\backslash{}B(a,r)^{+}=\{\infty{}\}\cup{}\{x\in{}K:|x-a|>r\}. A closed ball is either a usual closed ball or the complement of a usual open ball.

The open balls generate a topology on 1\mathbb{P}^{1}. Both open balls and closed balls are simultaneously open and closed in this topology, as is the case for any non-Archimedean field due to the ultrametric inequality |x+y|max{|x|,|y|}|x+y|\leq\max\{|x|,|y|\}. Let |K×||K^{\times}| denote the image of K×K^{\times} under |||\cdot|. If r|K×|r\in{}|K^{\times{}}|, the open ball and the closed ball are distinguished by whether there exist two points x,yx,y in the ball such that |xy||x-y| equals the diameter. The complement of an open ball is a closed ball, and vice versa.

Definition 2.2.

A good fundamental domain F1F\subset\mathbb{P}^{1} corresponding to the generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g} is the complement of 2g2g open balls B1,,Bg,B1,,BgB_{1},\dotsc{},B_{g},B_{1}^{\prime},\dotsc{},B_{g}^{\prime}, such that corresponding closed balls B1+,,Bg+,B1+,,Bg+B_{1}^{+},\dotsc{},B_{g}^{+},B_{1}^{\prime+},\dotsc{},B_{g}^{\prime+} are disjoint, and that γ(1\Bi)i=Bi+\gamma{}_{i}(\mathbb{P}^{1}\backslash{}B_{i}^{\prime})=B_{i}^{+} and γ(1\Bi)i1=Bi+\gamma{}_{i}^{-1}(\mathbb{P}^{1}\backslash{}B_{i})=B_{i}^{\prime+} for all ii. The interior of FF is F=1\(B1+Bg+B1+Bg+)F^{\circ{}}=\mathbb{P}^{1}\backslash{}(B_{1}^{+}\cup{}\dotsb{}\cup{}B_{g}^{+}\cup{}B_{1}^{\prime+}\cup{}\dotsb{}\cup{}B_{g}^{\prime+}). The boundary of FF is F\FF\backslash{}F^{\circ{}}.

The definition above implies that γ(1\Bi+)i=Bi\gamma{}_{i}(\mathbb{P}^{1}\backslash{}B_{i}^{\prime+})=B_{i} and γ(1\Bi+)i1=Bi\gamma{}_{i}^{-1}(\mathbb{P}^{1}\backslash{}B_{i}^{+})=B_{i}^{\prime} for all ii.

Example 2.3.

(1) Let K=3K=\mathbb{C}_{3} and Γ\Gamma{} be the group generated by

γ=1[532835],γ=2[1380843]\gamma{}_{1}=\begin{bmatrix}-5&32\\ -8&35\end{bmatrix},\gamma{}_{2}=\begin{bmatrix}-13&80\\ -8&43\end{bmatrix}

Both matrices have eigenvalues 2727 and 33. The matrix γ1\gamma{}_{1} has left eigenvectors (11)\left(\begin{smallmatrix}1\\ 1\end{smallmatrix}\right) and (41)\left(\begin{smallmatrix}4\\ 1\end{smallmatrix}\right), and γ2\gamma{}_{2} has left eigenvectors (21)\left(\begin{smallmatrix}2\\ 1\end{smallmatrix}\right) and (51)\left(\begin{smallmatrix}5\\ 1\end{smallmatrix}\right). We use the convention that (z1:z2)=z1/z2(z_{1}:z_{2})=z_{1}/z_{2}. Then, F=1\(B1B1B2B2)F=\mathbb{P}^{1}\backslash{}(B_{1}\cup{}B_{1}^{\prime}\cup{}B_{2}\cup{}B_{2}^{\prime}) where B1=B(4,1/9)B_{1}=B(4,1/9), B1=B(1,1/9)B_{1}^{\prime}=B(1,1/9), B2=B(5,1/9)B_{2}=B(5,1/9), B2=B(2,1/9)B_{2}^{\prime}=B(2,1/9) is a good fundamental domain relative to the generators γ1\gamma{}_{1} and γ2\gamma{}_{2}. One can verify as follows. First rewrite

γz1=5z+328z+35=4+27(z1)818(z1)+27.\gamma{}_{1}z=\frac{-5z+32}{-8z+35}=4+\frac{27(z-1)-81}{-8(z-1)+27}.

Suppose that zB1=B(1,1/9)z\in{}B_{1}^{\prime}=B(1,1/9). Then, val(27(z1))=3+val(z1)3+2=5\mathrm{val}(27(z-1))=3+\mathrm{val}(z-1)\geq{}3+2=5, and val(81)=4\mathrm{val}(81)=4. So val(27(z1)81)=4\mathrm{val}(27(z-1)-81)=4. Also, val(8(z1)+27)min(val(8(z1)),val(27))>min(2,3)=2\mathrm{val}(-8(z-1)+27)\geq{}\min{}(\mathrm{val}(8(z-1)),\mathrm{val}(27))>\min{}(2,3)=2. So,

|γz14|=|27(z1)818(z1)+27|>3432=1/9.|\gamma{}_{1}z-4|=\left|\frac{27(z-1)-81}{-8(z-1)+27}\right|>\frac{3^{-4}}{3^{-2}}=1/9.

So γ(B1)11\B1+\gamma{}_{1}(B_{1}^{\prime})\subset{}\mathbb{P}^{1}\backslash{}B_{1}^{+}. The other three conditions can be verified similarly.

(2) Let K=3K=\mathbb{C}_{3} and Γ\Gamma{} be the group generated by

γ=1[7916080161],γ=2[319160080401]\gamma{}_{1}=\begin{bmatrix}-79&160\\ -80&161\end{bmatrix},\gamma{}_{2}=\begin{bmatrix}-319&1600\\ -80&401\end{bmatrix}

Both matrices have eigenvalues 8181 and 11. The matrix γ1\gamma{}_{1} has left eigenvectors (11)\left(\begin{smallmatrix}1\\ 1\end{smallmatrix}\right) and (21)\left(\begin{smallmatrix}2\\ 1\end{smallmatrix}\right), and the matrix γ2\gamma{}_{2} has left eigenvectors (41)\left(\begin{smallmatrix}4\\ 1\end{smallmatrix}\right) and (51)\left(\begin{smallmatrix}5\\ 1\end{smallmatrix}\right). Then, F=1\(B1B1B2B2)F=\mathbb{P}^{1}\backslash{}(B_{1}\cup{}B_{1}^{\prime}\cup{}B_{2}\cup{}B_{2}^{\prime}) where B1=B(2,1/9)B_{1}=B(2,1/9), B1=B(1,1/9)B_{1}^{\prime}=B(1,1/9), B2=B(5,1/9)B_{2}=B(5,1/9), B2=B(4,1/9)B_{2}^{\prime}=B(4,1/9) is a good fundamental domain relative to the generators γ1\gamma{}_{1} and γ2\gamma{}_{2}.

(3) Let K=3K=\mathbb{C}_{3}, and let Γ\Gamma{} be the group generated by

γ=1[1211204039],γ=2[1212402039],γ=3[401160080319].\gamma{}_{1}=\begin{bmatrix}121&-120\\ 40&-39\end{bmatrix},\gamma{}_{2}=\begin{bmatrix}121&-240\\ 20&-39\end{bmatrix},\gamma{}_{3}=\begin{bmatrix}401&-1600\\ 80&-319\end{bmatrix}.

All three generators have eigenvalues 11 and 343^{4}. The element γ1\gamma{}_{1} has eigenvectors (11)\left(\begin{smallmatrix}1\\ 1\end{smallmatrix}\right) and (31)\left(\begin{smallmatrix}3\\ 1\end{smallmatrix}\right). The element γ2\gamma{}_{2} has eigenvectors (21)\left(\begin{smallmatrix}2\\ 1\end{smallmatrix}\right) and (61)\left(\begin{smallmatrix}6\\ 1\end{smallmatrix}\right). The element γ3\gamma{}_{3} has eigenvectors (41)\left(\begin{smallmatrix}4\\ 1\end{smallmatrix}\right) and (51)\left(\begin{smallmatrix}5\\ 1\end{smallmatrix}\right). Then, F=1\(B1B1B2B2B3B3)F=\mathbb{P}^{1}\backslash{}(B_{1}\cup{}B_{1}^{\prime}\cup{}B_{2}\cup{}B_{2}^{\prime}\cup{}B_{3}\cup{}B_{3}^{\prime}) where B1=B(1,1/9)B_{1}=B(1,1/9), B1=B(3,1/9)B_{1}^{\prime}=B(3,1/9), B2=B(2,1/9)B_{2}=B(2,1/9), B2=B(6,1/9)B_{2}^{\prime}=B(6,1/9), B3=B(4,1/9)B_{3}=B(4,1/9), B3=B(5,1/9)B_{3}^{\prime}=B(5,1/9) is a good fundamental domain relative to the generators γ1\gamma{}_{1}, γ2\gamma{}_{2} and γ3\gamma{}_{3}.

The following lemma follows from Definition 2.2 by induction (see [Ka, Theorem 6.2]).

Lemma 2.4.

Let FF and γ1,,γg\gamma_{1},\ldots,\gamma_{g} be as in Definition 2.2, and let γΓ{(1001)}\gamma\in\Gamma\setminus\{\left(\begin{smallmatrix}1&0\\ 0&1\end{smallmatrix}\right)\} and b1(K)b\in\mathbb{P}^{1}(K). Write the reduced word for γ\gamma{} as h1h2hkh_{1}h_{2}\dotsb{}h_{k}, where k1k\geq{}1 and hi{γ1±,,γg±}h_{i}{}\in{}\{\gamma_{1}^{\pm},{}\ldots,{}\gamma_{g}^{\pm}\} for all ii. Assume that bBjb\notin{}B_{j}^{\prime} if hk=γjh_{k}=\gamma{}_{j} and bBjb\notin{}B_{j} if hk=γj1h_{k}=\gamma{}_{j}^{-1}. Then we have

γb{Bi+,if h1=γi,Bi+,if h1=γi1.\gamma{}b\in{}\begin{cases}B_{i}^{+},\text{if $h_{1}=\gamma{}_{i}$},\\ B_{i}^{\prime+},\text{if $h_{1}=\gamma{}_{i}^{-1}$}.\end{cases}
Proof.

To simplify notation we’ll outline the proof for the case where hi{γ1,,γg}h_{i}\in\{\gamma_{1},\ldots,\gamma_{g}\} for all ii, and then describe how to generalize to the case of hi{γ1±,,γg±}h_{i}\in\{\gamma_{1}^{\pm},\ldots,\gamma_{g}^{\pm}\}.

Write hi=γaih_{i}=\gamma_{a_{i}} for each ii. Since hk=γakh_{k}=\gamma_{a_{k}}, we know by assumption that bBakb\notin B^{\prime}_{a_{k}}. By Definition 2.2 we have γak(1Bak)=Bak+\gamma_{a_{k}}(\mathbb{P}^{1}\setminus B^{\prime}_{a_{k}})=B_{a_{k}}^{+}, so hkbBak+h_{k}b\in B_{a_{k}}^{+}. By the disjointness of the 2g2g closed balls, we know that hkbBak1h_{k}b\notin B_{a_{k-1}}^{\prime}, and since γak1(1Bak1)=Bak1+\gamma_{a_{k-1}}(\mathbb{P}^{1}\setminus B_{a_{k-1}}^{\prime})=B_{a_{k-1}}^{+}, we have hk1hkbBak1+h_{k-1}h_{k}b\in B_{a_{k-1}}^{+}. We may continue in this fashion until we find that h1h2hkbBa1+h_{1}h_{2}\ldots h_{k}b\in B_{a_{1}}^{+}.

The only possible obstruction to the above argument in the case of hi{γ1±,,γg±}h_{i}\in\{\gamma_{1}^{\pm},\ldots,\gamma_{g}^{\pm}\} occurs if hihkbBai+h_{i}\ldots h_{k}b\in B_{a_{i}}^{\prime+} and hi1=γaih_{i-1}=\gamma_{a_{i}} (or, similarly, if hihkbBai+h_{i}\ldots h_{k}b\in B_{a_{i}}^{+} and hi1=γai1)h_{i-1}=\gamma_{a_{i}}^{-1}), since the above argument needs γai\gamma_{a_{i}} to act on 1Bai+\mathbb{P}^{1}\setminus{B^{\prime}}_{a_{i}}^{+}. However, this situation arises precisely when hi=γai1=hi11h_{i}=\gamma_{a_{i}}^{-1}=h_{i-1}^{-1}, meaning that the word is not reduced. Since we’ve assumed h1hkh_{1}\ldots h_{k} is reduced, we have the desired result. ∎

For a fixed set of generators of Γ\Gamma{}, there need not exist a good fundamental domain. If there exists a good fundamental domain for some set of free generators of Γ\Gamma{}, we say that the generators are in good position. Gerritzen and van der Put [GP, §I.4] proved that there always exists a set of generators in good position. They also proved the following desirable properties for good fundamental domains.

Theorem 2.5.

Let Γ\Gamma{} be a Schottky group, Σ\Sigma{} its set of bad points, and Ω=1\Σ\Omega{}=\mathbb{P}^{1}\backslash{}\Sigma{}.

(1) There exists a good fundamental domain for some set of generators γ1,,γg\gamma_{1},\ldots,\gamma_{g} of Γ\Gamma.

Let FF be a good fundamental domain for γ1,,γg\gamma_{1},\ldots,\gamma_{g}, and let γΓ\gamma\in\Gamma.

(2) If γid\gamma{}\neq{}\mathrm{id}, then γFF=ϕ\gamma{}F^{\circ{}}\cap{}F=\phi{}.

(3) If γ{id,γ,1,γ,gγ,11,γ}g1\gamma{}\notin{}\{\mathrm{id},\gamma{}_{1},\dotsc{},\gamma{}_{g},\gamma{}_{1}^{-1},\dotsc{},\gamma{}_{g}^{-1}\}, then γFF=\gamma{}F\cap{}F=\emptyset{}.

(4) γΓγF=Ω\cup_{\gamma{}\in{}\Gamma{}}\gamma{}F=\Omega{}.

The statements (2), (3), and (4) imply that Ω/Γ\Omega{}/\Gamma{} can be obtained from FF by glueing the boundary of FF. More specifically, Bi+\BiB_{i}^{+}\backslash{}B_{i} is glued with Bi+\BiB_{i}^{\prime+}\backslash{}B_{i}^{\prime} via the action of γi\gamma{}_{i}. We have designed the following subroutine, which takes any point pp in Ω\Omega{} and finds a point qq in FF such that they are equivalent modulo the action of Γ\Gamma{}. This subroutine is useful in developing the algorithms in Section 3 and 4.

Subroutine 2.6 (Reducing a point into a good fundamental domain).
1:Matrices γ1,γg\gamma_{1},\ldots\gamma_{g} generating a Schottky group Γ\Gamma, a good fundamental domain F=1\(B1BgB1Bg)F=\mathbb{P}^{1}\backslash{}(B_{1}\cup{}\dotsb{}\cup{}B_{g}\cup{}B_{1}^{\prime}\cup{}\dotsb{}\cup{}B_{g}^{\prime}) associated to these generators, and a point pΩp\in{}\Omega{}.
2:A point qFq\in{}F and an element γΓ\gamma{}\in{}\Gamma{} such that q=γpq=\gamma{}p.
3:Let qpq\leftarrow{}p and γid\gamma{}\leftarrow{}\mathrm{id}.
4:while pFp\notin{}F do
5:  If qBiq\in{}B_{i}^{\prime}, let qγqiq\leftarrow{}\gamma{}_{i}q and γγγi\gamma{}\leftarrow{}\gamma{}_{i}\gamma{}.
6:  Otherwise, if qBiq\in{}B_{i}, let qγqi1q\leftarrow{}\gamma{}_{i}^{-1}q and γγγi1\gamma{}\leftarrow{}\gamma{}_{i}^{-1}\gamma{}.
7:end while
8:return qq and γ\gamma{}.
Proof.

The correctness of this subroutine is clear. It suffices to prove that the algorithm always terminates. Given pΩp\in{}\Omega{}, if pFp\notin{}F, by Theorem 2.5, there exists γ=h1h2hkΓ\gamma{}^{\circ{}}=h_{1}h_{2}\dotsb{}h_{k}\in{}\Gamma{} (where each hjh_{j} is γi\gamma_{i} or γi1\gamma_{i}^{-1} for some ii) such that γpF\gamma{}^{\circ{}}p\in{}F. Without loss of generality, we may assume that γ\gamma{}^{\circ{}} is chosen such that kk is the smallest. Steps 3,4 and Lemma 2.4 make sure that we always choose qhkqq\leftarrow{}h_{k}q and γhkγ\gamma{}\leftarrow{}h_{k}\gamma{}. Therefore, this subroutine terminates with γ=γ\gamma{}=\gamma{}^{\circ{}}. ∎

We can extend the definition of good fundamental domains to the analytic projective line (1)an(\mathbb{P}^{1})^{an}. In general, analytification of an algebraic variety is defined in terms of multiplicative seminorms. For our special case (1)an(\mathbb{P}^{1})^{an}, there is a simpler description. As detailed in [Ba], (1)an(\mathbb{P}^{1})^{an} consists of four types of points:

  • Type 1 points are just the usual points of 1\mathbb{P}^{1}.

  • Type 2 points correspond to closed balls B(a,r)+B(a,r)^{+} where r|K×|r\in{}|K^{\times{}}|.

  • Type 3 points correspond to closed balls B(a,r)+B(a,r)^{+} where r|K×|r\notin{}|K^{\times{}}|.

  • Type 4 points correspond to equivalence classes of sequences of nested closed balls B1+B2+B_{1}^{+}\supset{}B_{2}^{+}\supset{}\dotsb{} such that their intersection is empty.

There is a metric on the set of Type 2 and Type 3 points, defined as follows: let P1P_{1} and P2P_{2} be two such points and let B(a1,r1)+B(a_{1},r_{1})^{+} and B(a2,r2)+B(a_{2},r_{2})^{+} be the corresponding closed balls.

  • (1)

    If one of them is contained in the other, say B(a1,r1)+B(a_{1},r_{1})^{+} is contained in B(a2,r2)+B(a_{2},r_{2})^{+}, then the distance d(P1,P2)d(P_{1},P_{2}) is logp(r2/r1)\log_{p}(r_{2}/r_{1}).

  • (2)

    In general, there is a unique smallest closed ball B(a3,r3)+B(a_{3},r_{3})^{+} containing both of them. Let P3P_{3} be the corresponding point. Then, d(P1,P2)d(P_{1},P_{2}) is defined to be d(P1,P3)+d(P3,P2)d(P_{1},P_{3})+d(P_{3},P_{2}).

The metric can be extended to Type 4 points.

This metric makes (1)an(\mathbb{P}^{1})^{an} a tree with infinite branching, as we now describe. There is a unique path connecting any two points P1P_{1} and P2P_{2}. In case (1) above, the path is defined by the isometry tB(a1,pt)+t\mapsto{}B(a_{1},p^{t})^{+}, t[log(r1),log(r2)]t\in{}[\log{}(r_{1}),\log{}(r_{2})]. It is straightforward to check that B(a1,r2)+=B(a2,r2)+B(a_{1},r_{2})^{+}=B(a_{2},r_{2})^{+}. In case (2) above, the path is the concatenation of the paths from P1P_{1} to P3P_{3} and from P3P_{3} to P2P_{2}. Then, Type 1 points become limits of Type 2 and Type 3 points with respect to this metric. More precisely, if xx\neq{}\infty{}, then it lies at the limit of the path tB(x,pt)+t\mapsto{}B(x,p^{-t})^{+}, t[0,+)t\in{}[0,+\infty{}). Type 1 points behave like leaves of the tree at infinity. For any two Type 1 points x,yx,y, there is a unique path in (1)an(\mathbb{P}^{1})^{an} connecting them, which has infinite length.

Definition 2.7.

Let Σ\Sigma{} be a discrete subset in 1\mathbb{P}^{1}. The subtree of (1)an(\mathbb{P}^{1})^{an} spanned by Σ\Sigma{}, denoted T(Σ)T(\Sigma{}), is the union of all paths connecting all pairs of points in Σ\Sigma{}.

An analytic open ball B(a,r)anB(a,r)^{an} is a subset of (1)an(\mathbb{P}^{1})^{an} whose set of Type 1 points is just B(a,r)B(a,r) and whose Type 2, 3, and 4 points correspond to closed balls B(a,r)+B(a,r)B(a^{\prime},r^{\prime})^{+}\subset{}B(a,r) and the limit of sequences of such closed balls. An analytic closed ball is similar, with B(a,r)B(a,r) replaced with B(a,r)+B(a,r)^{+}. Just as in the case of balls in 1\mathbb{P}^{1}, the analytic closed ball (B+)an(B^{+})^{an} is not the closure of BanB^{an} in the metric topology of (1)an(\mathbb{P}^{1})^{an}. The complement of an analytic open ball is an analytic closed ball, and vice versa. In an analytic closed ball (B(a,r)+)an(B(a,r)^{+})^{an} such that r|K×|r\in{}|K^{\times}{}|, the Gaussian point is the Type 2 point corresponding to B(a,r)+B(a,r)^{+}. An analytic annulus is B\BB\backslash{}B^{\prime}, where BB and BB^{\prime} are analytic balls such that BBB^{\prime}\subsetneqq{}B. If BB is an analytic open (resp. closed) ball and BB^{\prime} is an analytic closed (resp. open) ball, then B\BB\backslash{}B^{\prime} is an analytic open annulus (resp. analytic closed annulus). A special case of analytic open annulus is the complement of a point in an analytic open ball.

Any element of PGL(2,K)PGL(2,K) sends open balls to open balls and closed balls to closed balls. Thus, there is a well defined action of PGL(2,K)PGL(2,K) on (1)an(\mathbb{P}^{1})^{an}.

Definition 2.8.

A good fundamental domain F(1)anF\subset(\mathbb{P}^{1})^{an} corresponding to the generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g} is the complement of 2g2g analytic open balls B1an,,Bgan,B1an,,BganB_{1}^{an},\dotsc{},B_{g}^{an},B_{1}^{\prime an},\dotsc{},B_{g}^{\prime an}, such that the corresponding analytic closed balls (B1+)an,,(Bg+)an,(B1+)an,,(Bg+)an(B_{1}^{+})^{an},\dotsc{},(B_{g}^{+})^{an},(B_{1}^{\prime+})^{an},\dotsc{},(B_{g}^{\prime+})^{an} are disjoint, and that γ((1)an\Bian)i=(Bi+)an\gamma{}_{i}((\mathbb{P}^{1})^{an}\backslash{}B_{i}^{\prime an})=(B_{i}^{+})^{an} and γ((1)an\Bian)i1=(Bi+)an\gamma{}_{i}^{-1}((\mathbb{P}^{1})^{an}\backslash{}B_{i}^{an})=(B_{i}^{\prime+})^{an}. The interior of FF is F=(1)an\((B1+)an(Bg+)an(B1+)an(Bg+)an)F^{\circ{}}=(\mathbb{P}^{1})^{an}\backslash{}((B_{1}^{+})^{an}\cup{}\dotsc{}\cup{}(B_{g}^{+})^{an}\cup{}(B_{1}^{\prime+})^{an}\cup{}\dotsc{}\cup{}(B_{g}^{\prime+})^{an}). The boundary of FF is F\FF\backslash{}F^{\circ{}}.

Definition 2.8 implies that γ((1)an\(Bi+)an)i=Bian\gamma{}_{i}((\mathbb{P}^{1})^{an}\backslash{}(B_{i}^{\prime+})^{an})=B_{i}^{an} and γ((1)an\(Bi+)an)i1=Bian\gamma{}_{i}^{-1}((\mathbb{P}^{1})^{an}\backslash{}(B_{i}^{+})^{an})=B_{i}^{\prime an}.

We now argue that there is a one-to-one correspondence between good fundamental domains in 1\mathbb{P}^{1} and good fundamental domains in (1)an(\mathbb{P}^{1})^{an}. (This fact is well-known, though seldom explicitly stated in the literature; for instance, it’s taken for granted in the later chapters of [GP].) If 1\(B1BgB1Bg)\mathbb{P}^{1}\backslash{}(B_{1}\cup{}\dotsb{}\cup{}B_{g}\cup{}B_{1}^{\prime}\cup{}\dotsb{}\cup{}B_{g}^{\prime}) is a good fundamental domain in 1\mathbb{P}^{1}, then (1)an\(B1anBganB1anBgan)(\mathbb{P}^{1})^{an}\backslash{}(B_{1}^{an}\cup{}\dotsb{}\cup{}B_{g}^{an}\cup{}B_{1}^{\prime an}\cup{}\dotsb{}\cup{}B_{g}^{\prime an}) is a good fundamental domain in (1)an(\mathbb{P}^{1})^{an}. Indeed, since the closed balls B1+,,Bg+,B1+,,Bg+B_{1}^{+},\dotsc{},B_{g}^{+},B_{1}^{\prime+},\dotsc{},B_{g}^{\prime+} are disjoint, and the corresponding analytic closed balls consist of points corresponding to closed balls contained in B1+,,Bg+,B1+,,Bg+B_{1}^{+},\dotsc{},B_{g}^{+},B_{1}^{\prime+},\dotsc{},B_{g}^{\prime+} and their limits, the analytic closed balls are also disjoint. Conversely, if (1)an\(B1anBganB1anBgan)(\mathbb{P}^{1})^{an}\backslash{}(B_{1}^{an}\cup{}\dotsb{}\cup{}B_{g}^{an}\cup{}B_{1}^{\prime an}\cup{}\dotsb{}\cup{}B_{g}^{\prime an}) is a good fundamental domain in (1)an(\mathbb{P}^{1})^{an}, then 1\(B1BgB1Bg)\mathbb{P}^{1}\backslash{}(B_{1}\cup{}\dotsb{}\cup{}B_{g}\cup{}B_{1}^{\prime}\cup{}\dotsb{}\cup{}B_{g}^{\prime}) is a good fundamental domain in 1\mathbb{P}^{1}, because the classical statement can be obtained from the analytic statement by considering only Type 1 points. This correspondence allows us to abuse notation by not distinguishing the classical case and the analytic case. Theorem 2.5 is also true for analytic good fundamental domains.

Another analytic object of interest to us is the minimal skeleton of the analytification of the genus gg curve Ω/Γ\Omega/\Gamma{} (a task that is part of Algorithm 3.9), so we close this section with background information on this object. The following definitions are taken from Baker, Payne and Rabinoff [BPR], with appropriate simplification.

Definition 2.9.
  • (1)

    The skeleton of an open annulus B\BB\backslash{}B^{\prime} is the straight path between the Gaussian point of BB and the Gaussian point of BB^{\prime}.

  • (2)

    Let CC be a smooth curve over KK. A semistable vertex set VV is a finite set of Type 2 points in CanC^{an} such that Can\VC^{an}\backslash{}V is the disjoint union of open balls and open annuli. The skeleton corresponding to VV is the union of VV with all skeleta of these open annuli.

  • (3)

    If genus(C)2\mathrm{genus}(C)\geq{}2, then CanC^{an} has a unique minimal skeleton. The minimal skeleton is the intersection of all skeleta. If genus(C)2\mathrm{genus}(C)\geq{}2 and CC is complete, then the minimal skeleton is a finite metric graph. We sometimes call this minimal skeleton the abstract tropical curve of CanC^{an}.

Definition 2.10.

An algebraic semistable model of a smooth curve CC over KK is a scheme XX over RR whose generic fiber XKX_{K} is isomorphic to CC and whose special fiber XkX_{k} satisfies

  • XkX_{k} is a connected and reduced curve, and

  • all singularities of XkX_{k} are ordinary double points.

Work towards algorithmic computation of semistable models is discussed in such works as [AW, §1.2] and [BW, §3.1], though such computation is in general a hard problem.

Semistable models are related to skeleta in the following way: take a semistable model XX of CC. Associate a vertex for each irreducible component of XkX_{k}. For each ordinary intersection of two irreducible components in XkX_{k}, connect an edge between the two corresponding vertices. The resulting graph is combinatorially a skeleton of CanC^{an}.

3. Algorithms Starting With a Schottky Group

If we have a Schottky group Γ=γ1,,γg\Gamma=\left<\gamma_{1},\ldots,\gamma_{g}\right> in terms of its generators, there are many objects we wish to compute for the corresponding curve Ω/Γ\Omega/\Gamma, such as the Jacobian of the curve, the minimal skeleton of the analytification of the curve, and a canonical embedding for the curve. In this section we present algorithms for numerically computing these three objects, given the input of a Schottky group with generators in good position. For an algorithm that puts arbitrary generators of a Schottky group into good position, see Section 4.

Remark 3.1.

Several results in this section are concerned with the accuracy of numerical approximations. Most of our results will be of the form

|estimateactual1|=size of error term  a small real number of the form pN,\left|\frac{\text{estimate}}{\text{actual}}-1\right|=\text{size of error term $\leq$ a small real number of the form $p^{-N}$},

where we think of N0N\gg 0. This is equivalent to

estimateactual1=error term = a p-adic number of the form bpN,\frac{\text{estimate}}{\text{actual}}-1=\text{error term $=$ a $p$-adic number of the form $bp^{N}$},

where |b|1|b|\leq 1. So, since |pN|=pN|p^{N}|=p^{-N}, the size of the error term is a small power of pp, while the error term itself is a large power of pp (possibly with a constant that doesn’t matter much).

Rearranging the second equation gives

estimate=actual+actualbpN,\text{estimate}=\text{actual}+\text{actual}\cdot bp^{N},

meaning that we are considering not the absolute precision of our estimate, but rather the relative precision. In this case we would say that our estimate is of relative precision O(pN)O(p^{N}). So if we desire relative precision O(pN)O(p^{N}), we want the actual error term to be pNp^{N} (possibly with a constant term with nonnegative valuation), and the size of the error term to be at most pNp^{-N}.

3.1. The Period Matrix of the Jacobian

Given a Schottky group Γ=γ1,,γg\Gamma=\left<\gamma_{1},\ldots,\gamma_{g}\right>, we wish to find a period matrix QQ so that Jac(Ω/Γ)(K)g/Q\text{Jac}(\Omega/\Gamma)\cong(K^{*})^{g}/Q. First we’ll set some notation. For any parameters a,bΩa,b\in\Omega, we introduce the following analytic function in the unknown zz, called a theta function:

Θ(a,b;z):=γΓzγazγb.\Theta{}(a,b;z):=\prod_{\gamma{}\in{}\Gamma{}}\frac{z-\gamma{}a}{z-\gamma{}b}.

Note that if Γ\Gamma is defined over p\mathbb{Q}_{p} and a,b,zpa,b,z\in\mathbb{Q}_{p}, then Θ(a,b;z)p{}\Theta(a,b;z)\in\mathbb{Q}_{p}\cup\{\infty\}. (This is an instance of “p\mathbb{Q}_{p} in, p\mathbb{Q}_{p} out.”) For any αΓ\alpha\in\Gamma and aΩa\in\Omega, we can specialize to

uα(z):=Θ(a,αa;z).u_{\alpha{}}(z):=\Theta{}(a,\alpha{}a;z).

It is shown in [GP, II.3] that the function uα(z)u_{\alpha}(z) is in fact independent of the choice of aa. This is because for any choice of a,bΩa,b\in\Omega we have

Θ(a,αa;z)Θ(b,αb;z)=\displaystyle\frac{\Theta{}(a,\alpha{}a;z)}{\Theta{}(b,\alpha{}b;z)}= γΓ(zγazγαazγαbzγb)=γΓ(zγazγbzγαbzγαa)\displaystyle\prod_{\gamma\in\Gamma}\left(\frac{z-\gamma{}a}{z-\gamma{}\alpha a}\frac{z-\gamma{}\alpha b}{z-\gamma{}b}\right)=\prod_{\gamma\in\Gamma}\left(\frac{z-\gamma{}a}{z-\gamma{}b}\frac{z-\gamma{}\alpha b}{z-\gamma\alpha{}a}\right)
=\displaystyle= γΓzγazγbγΓzγαbzγαa=γΓzγazγbγΓzγbzγa\displaystyle\prod_{\gamma\in\Gamma}\frac{z-\gamma{}a}{z-\gamma{}b}\cdot\prod_{\gamma\in\Gamma}\frac{z-\gamma{}\alpha b}{z-\gamma\alpha{}a}=\prod_{\gamma\in\Gamma}\frac{z-\gamma{}a}{z-\gamma{}b}\cdot\prod_{\gamma\in\Gamma}\frac{z-\gamma{}b}{z-\gamma{}a}
=\displaystyle= Θ(a,b;z)Θ(b,a;z)=1.\displaystyle\Theta(a,b;z)\cdot\Theta(b,a;z)=1.

From [GP, VI.2] we have a formula for the period matrix QQ of Jac(Ω/Γ)\text{Jac}(\Omega/\Gamma):

Theorem 3.2.

The period matrix QQ for Jac(Ω/Γ)\text{Jac}(\Omega/\Gamma) is given by

Qij=uγi(z)uγi(γzj),Q_{ij}=\frac{u_{\gamma{}_{i}}(z)}{u_{\gamma{}_{i}}(\gamma{}_{j}{}z)},

where zz is any point in Ω\Omega.

As shown in [GP, II.3], the choice of zz does not affect the value of QijQ_{ij}.

Theorem 3.2 implies that in order to compute each QijQ_{ij}, it suffices to find a way to compute Θ(a,b;z)\Theta{}(a,b;z). Since a theta function is defined as a product indexed by the infinite group Γ\Gamma, approximation will be necessary. Recall that each element γ\gamma{} in the free group generated by γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g} can be written in a unique shortest product h1h2hkh_{1}h_{2}\dotsb{}h_{k} called the reduced word, where each hi{γ,1,γ,gγ,11,γ}g1h_{i}\in{}\{\gamma{}_{1},\dotsc{},\gamma{}_{g},\gamma{}_{1}^{-1},\dotsc{},\gamma{}_{g}^{-1}\}. We can approximate Θ(a,b;z)\Theta{}(a,b;z) by replacing the product over Γ\Gamma{} with a product over Γm\Gamma{}_{m}, the set of elements of Γ\Gamma{} whose reduced words have length m\leq{}m. More precisely, we approximate Θ(a,b;z)\Theta{}(a,b;z) with

Θ(a,b;z)m:=γΓmzγazγb,\Theta{}_{m}(a,b;z):=\prod_{\gamma{}\in{}\Gamma{}_{m}}\frac{z-\gamma{}a}{z-\gamma{}b},

where

Γm={h1h2hk| 0km,hi{γ1±,γg±},hihi+11 for any i}.\Gamma_{m}=\{h_{1}h_{2}\ldots h_{k}\,|\,0\leq k\leq m,h_{i}\in\{\gamma_{1}^{\pm},\ldots\gamma_{g}^{\pm}\},h_{i}\neq h_{i+1}^{-1}\text{ for any i}\}.

With this approximation method, we are ready to describe an algorithm for computing QQ.

Algorithm 3.3 (Period Matrix Approximation).
1:Matrices γ1,γgp2×2\gamma_{1},\ldots\gamma_{g}\in\mathbb{Q}_{p}^{2\times 2} generating a Schottky group Γ\Gamma in good position, and an integer nn to specify desired relative precision.
2:An approximation for a period matrix QQ for Jac(Ω/Γ)\text{Jac}(\Omega/\Gamma) up to relative precision O(pn)O(p^{n}).
3:Choose suitable pp-adic numbers aa and zz as described in Theorem 3.6.
4:Based on nn, choose a suitable positive integer mm as described in Remark 3.7.
5:for 1i,jg1\leq i,j\leq g do
6:  Compute Qij=Θm(a,γi(a);z)/Θm(a,γi(a);γj(z))Q_{ij}=\Theta_{m}(a,\gamma_{i}(a);z)/\Theta_{m}(a,\gamma_{i}(a);\gamma_{j}(z))
7:end for
8:return QQ.

The complexity of this algorithm is in the order of the number of elements in Γm\Gamma{}_{m}, which is exponential in mm. The next issue is that to achieve certain precision in the final result, we need to know how large mm needs to be. Given a good fundamental domain FF for the generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g}, we are able to give an upper bound on the error in our estimation of Θ\Theta{} by Θm\Theta{}_{m}. (Algorithm 3.3 would work even if the given generators were not in good position, but would in general require a very large mm to give the desired convergence. See Example 3.8(4).)

To analyze the convergence of the infinite product

Θ(a,γi(a);z)=γΓzγazγγai,\Theta{}(a,\gamma_{i}(a);z)=\prod_{\gamma{}\in{}\Gamma{}}\frac{z-\gamma{}a}{z-\gamma{}\gamma{}_{i}a},

we need to know where γa\gamma{}a and γγai\gamma{}\gamma{}_{i}a lie. We can determine this by taking the metric of (1)an(\mathbb{P}^{1})^{an} into consideration. Assume that \infty{} lies in the interior of FF. Let S={P1,,Pg,P1,,Pg}S=\{P_{1},\dotsc{},P_{g},P_{1}^{\prime},\dotsc{},P_{g}^{\prime}\} be the set of points corresponding to the set of closed balls {B1+,,Bg+,B1+,,Bg+}\{B_{1}^{+},\dotsc{},B_{g}^{+},B_{1}^{\prime+},\dotsc{},B_{g}^{\prime+}\} from the characterization of the good fundamental domain. Let cc be the smallest pairwise distance between these points. This distance cc will be key for determining our choice of mm in the algorithm.

Proposition 3.4.

Let FF, SS, and cc be as above. Suppose the reduced word for γ\gamma{} is h1h2hkh_{1}h_{2}\dotsb{}h_{k}, where k0k\geq{}0. Then d(γPi,S)kcd(\gamma{}P_{i},S)\geq{}kc for all ii unless hk=γi1h_{k}=\gamma{}_{i}^{-1}, and d(γPi,S)kcd(\gamma{}P_{i}^{\prime},S)\geq{}kc unless hk=γih_{k}=\gamma{}_{i}.

Proof.

We will prove this proposition by induction. If k=0k=0, there is nothing to prove. Let k>0k>0, and assume that the claim holds for all integers nn with 0n<k0\leq n<k. Without loss of generality, we may assume h1=γ1h_{1}=\gamma{}_{1}. Let B+B^{+} be the closed disk corresponding to PiP_{i}. By Lemma 2.4, we have γ(B+)B1\gamma{}(B^{+})\subset{}B_{1}. This means P1P_{1} lies on the unique path from γPi\gamma{}P_{i} to \infty{}. Since we assumed F\infty{}\in{}F, p1p_{1} lies on the unique path from γPi\gamma{}P_{i} to any point in SS. Thus,

d(γPi,S)\displaystyle d(\gamma{}P_{i},S) =d(γPi,P1)\displaystyle=d(\gamma{}P_{i},P_{1})
=d(γγ11Pi,γP111)\displaystyle=d(\gamma{}_{1}^{-1}\gamma{}P_{i},\gamma{}_{1}^{-1}P_{1})
=d(h2h3hkPi,P1).\displaystyle=d(h_{2}h_{3}\dotsb{}h_{k}P_{i},P_{1}^{\prime}).

Let P=PjP=P_{j} if h2=γjh_{2}=\gamma{}_{j} and P=PjP=P_{j}^{\prime} if h2=γj1h_{2}=\gamma{}_{j}^{-1}. By the same argument as above, PP lies on the unique path from h2h3hkPih_{2}h_{3}\dotsb{}h_{k}P_{i} to P1P_{1}^{\prime}. The reducedness of the word h1h2hkh_{1}h_{2}\dotsc{}h_{k} guarantees that PP1P\neq{}P_{1}^{\prime}. So

d(γPi,S)\displaystyle d(\gamma{}P_{i},S) =d(h2h3hkPi,P1)\displaystyle=d(h_{2}h_{3}\dotsb{}h_{k}P_{i},P_{1}^{\prime})
=d(h2h3hkPi,P)+d(P,P1)\displaystyle=d(h_{2}h_{3}\dotsb{}h_{k}P_{i},P)+d(P,P_{1}^{\prime})
(k1)c+c=kc.\displaystyle\geq{}(k-1)c+c=kc.

The last step follows from the inductive hypothesis. The proof of the second part of this proposition is similar. ∎

Proposition 3.5.

Let FF, SS, and cc be as above. Let zFz\in{}F and aBi+\Bia\in{}B_{i}^{\prime+}\backslash{}B_{i}^{\prime} such that aa, zz, and \infty{} are distinct modulo the action of Γ\Gamma{}. Suppose the reduced word for γΓ\gamma{}\in\Gamma is h1h2hkh_{1}h_{2}\dotsb{}h_{k}. If k2k\geq{}2 and hkγi1h_{k}\neq{}\gamma{}_{i}^{-1}, then

|zγazγγai1|pc(k1).\left|\frac{z-\gamma{}a}{z-\gamma{}\gamma{}_{i}a}-1\right|\leq{}p^{-c(k-1)}.
Proof.

Our choice of aa guarantees that both aa and γai\gamma{}_{i}a are in FF. Without loss of generality, we may assume that hk=γ1h_{k}=\gamma{}_{1}. Then, both hkah_{k}a and hkγaih_{k}\gamma{}_{i}a are in B1+B_{1}^{+}. So both γa\gamma{}a and γγai\gamma{}\gamma{}_{i}a lie in h1h2hk1B1+h_{1}h_{2}\dotsb{}h_{k-1}B_{1}^{+}, which is contained in some B=BjB=B_{j} or BjB_{j}^{\prime}. By Proposition 3.4, the points in (1)an(\mathbb{P}^{1})^{an} corresponding to the disks h1h2hk1B1+h_{1}h_{2}\dotsb{}h_{k-1}B_{1}^{+} and B+B^{+} have distance at least c(k1)c(k-1). This implies diam(h1h2hk1B1+)pc(k1)diam(B+)\mathrm{diam}(h_{1}h_{2}\dotsb{}h_{k-1}B_{1}^{+})\leq{}p^{-c(k-1)}\mathrm{diam}(B^{+}). Therefore, |γaγγai|pc(k1)diam(B+)|\gamma{}a-\gamma{}\gamma{}_{i}a|\leq{}p^{-c(k-1)}\mathrm{diam}(B^{+}). On the other hand, since zBz\notin{}B and γγaiB\gamma{}\gamma{}_{i}a\in{}B, we have |zγγai|diam(B+)|z-\gamma{}\gamma{}_{i}a|\geq{}\mathrm{diam}(B^{+}). This means that

|zγazγγai1|=|γγaiγazγγai|pc(k1)diam(B+)diam(B+)=pc(k1),\left|\frac{z-\gamma{}a}{z-\gamma{}\gamma{}_{i}a}-1\right|=\left|\frac{\gamma{}\gamma{}_{i}a-\gamma{}a}{z-\gamma{}\gamma{}_{i}a}\right|\leq\frac{p^{-c(k-1)}\text{diam}(B^{+})}{\text{diam}(B^{+})}=p^{-c(k-1)},

as claimed. ∎

We are now ready to prove our approximation theorem, which is a new result that allows one to determine the accuracy of an approximation of a ratio of theta functions. It is similar in spirit to [Ka, Theorem 6.10], which is an approximation result for a particular subclass of Schottky groups called Whittaker groups (see Subsection 5.2 of this paper for more details). Our result is more general, as there are many Schottky groups that are not Whittaker.

Theorem 3.6.

Suppose that the given generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g} of Γ\Gamma are in good position, with corresponding good fundamental domain FF and disks B1,,Bg,B1,,BgB_{1},\dotsc{},B_{g},B_{1}^{\prime},\dotsc{},B_{g}^{\prime}. Let m1m\geq{}1. In Algorithm 3.3, if we choose aBi+\Bia\in{}B_{i}^{\prime+}\backslash{}B_{i}^{\prime} and zBj+\Bjz\in{}B_{j}^{\prime+}\backslash{}B_{j}^{\prime} such that aza\neq{}z, then

|Θm(a,γi(a);z)/Θm(a,γi(a);γj(z))Θ(a,γi(a);z)/Θ(a,γi(a);γj(z))1|pcm,\left|\frac{\Theta_{m}(a,\gamma_{i}(a);z)/\Theta_{m}(a,\gamma_{i}(a);\gamma_{j}(z))}{\Theta{}(a,\gamma_{i}(a);z)/\Theta{}(a,\gamma_{i}(a);\gamma_{j}(z))}-1\right|\leq{}p^{-cm},

where cc is the constant defined above.

Proof.

Our choice of zz guarantees that both zz and γzj\gamma{}_{j}z are in FF. Thus, if \infty{} lies in the interior of FF, then this theorem follows directly from Proposition 3.5. The last obstacle is to remove the assumption on \infty{}. We observe that QijQ_{ij} is a product of cross ratios:

Θ(a,γia;z)Θ(a,γia;γjz)=γΓ(zγa)(γzjγγai)(zγγai)(γzjγa).\frac{\Theta{}(a,\gamma_{i}a;z)}{\Theta(a,\gamma_{i}a;\gamma_{j}z)}=\prod_{\gamma{}\in{}\Gamma{}}\frac{(z-\gamma{}a)(\gamma{}_{j}z-\gamma{}\gamma{}_{i}a)}{(z-\gamma{}\gamma{}_{i}a)(\gamma{}_{j}z-\gamma{}a)}.

Therefore, each term is invariant under any projective automorphism of 1\mathbb{P}^{1}. Under such an automorphism, any point in the interior of FF can be sent to \infty{}. ∎

As a special case of this approximation theorem, suppose that we want to compute the period matrix for the tropical Jacobian of CC, which is the matrix (val(Qij))g×g(\mathrm{val}(Q_{ij}))_{g\times{}g}. We need only to compute QijQ_{ij} up to relative precision O(1)O(1). Thus, setting m=0m=0 suffices. In this case, each of the products Θm(a,γi(a);z)\Theta_{m}(a,\gamma_{i}(a);z), Θm(a,γi(a);γj(z))\Theta_{m}(a,\gamma_{i}(a);\gamma_{j}(z)) has only one term.

Remark 3.7.

If we wish to use Algorithm 3.3 to compute a period matrix QQ with relative precision O(pn)O(p^{n}) (meaning that we want pcmpnp^{-cm}\leq p^{-n} in Theorem 3.6), we must first compute cc. As above, cc is defined to be the minimum distance between pairs of the points P1,,Pg,P1,,Pg(1)anP_{1},\ldots,P_{g},P_{1}^{\prime},\ldots,P_{g}^{\prime}\in(\mathbb{P}^{1})^{an} corresponding to the balls B1,,Bg,B1,,BgB_{1},\ldots,B_{g},B_{1}^{\prime},\ldots,B_{g}^{\prime} that characterize our good fundamental domain. Once we have computed cc (perhaps by finding a good fundamental domain using the methods of Section 4), then by Theorem 3.6 we must choose mm such that cmncm\geq n, so m=n/cm=\lceil n/c\rceil will suffice.

Example 3.8.

(1) Let Γ\Gamma{} be the Schottky group in Example 2.3(1). Choose the same good fundamental domain, with B1=B(4,1/9)B_{1}=B(4,1/9), B1=B(1,1/9)B_{1}^{\prime}=B(1,1/9), B2=B(5,1/9)B_{2}=B(5,1/9), and B2=B(2,1/9)B_{2}^{\prime}=B(2,1/9). The four balls correspond to four points in the tree (1)an(\mathbb{P}^{1})^{an}. We need to find the pairwise distances between the points P1P_{1}, P1P^{\prime}_{1}, P2P_{2}, and P2P^{\prime}_{2} in (1)an(\mathbb{P}^{1})^{an}. Since the smallest ball containing both B1+B^{+}_{1} and B1+B^{\prime+}_{1} is B+(1,1/3)B^{+}(1,1/3), both P1P_{1} and P1P_{1}^{\prime} are distance val((1/3)/(1/9))=val(3)=1\text{val}((1/3)/(1/9))=\text{val}(3)=1 from the point corresponding to B+(1,1/3)B^{+}(1,1/3), so P1P_{1} and P1P_{1}^{\prime} are distance 22 from one another. Similar calculations give distances of 22 between P2P_{2} and P2P_{2}^{\prime}, and of 44 between P1P_{1} or P1P_{1}^{\prime} and P2P_{2} or P2P_{2}^{\prime}. In fact, the distance between PiP_{i} and PiP_{i}^{\prime} equals the difference in the valuations of the two eigenvalues of γi\gamma{}_{i}. This allows us to construct the subtree of (1)an(\mathbb{P}^{1})^{an} spanned by P1,P2,P1,P2P_{1},P_{2},P_{1}^{\prime},P_{2}^{\prime} as illustrated in Figure 1. The minimum distance between them is c=2c=2. To approximate Q11Q_{11}, we take a=10a=10 and z=19z=19. To compute QQ up to relative precision O(p10)O(p^{10}), we need 2m102m\geq 10 (this is the equation cmncm\geq n from Remark 3.7), so choosing m=5m=5 works. The output of the algorithm is Q11=(220200000100)3Q_{11}=(\dotsc{}220200000100)_{3}. Similarly, we can get the other entries in the matrix QQ:

Q=[(220200000100)3(0101010101)3(0101010101)3(220200000100)3].Q=\begin{bmatrix}(\dotsc{}220200000100)_{3}&(\dotsc{}0101010101)_{3}\\ (\dotsc{}0101010101)_{3}&(\dotsc{}220200000100)_{3}\end{bmatrix}.

(2) Let Γ\Gamma{} be the Schottky group in Example 2.3(2). Choose the same good fundamental domain. Again, we need m=5m=5 for relative precision O(p10)O(p^{10}). The algorithm outputs

Q=[(12010021010000)3(002000212200)3(002000212200)3(12010021010000)3].Q=\begin{bmatrix}(\dotsc{}12010021010000)_{3}&(\dotsc{}002000212200)_{3}\\ (\dotsc{}002000212200)_{3}&(\dotsc{}12010021010000)_{3}\end{bmatrix}.

(3) Let Γ\Gamma{} be the Schottky group in Example 2.3(3). Choose the same good fundamental domain. The minimum distance between the corresponding points in (1)an(\mathbb{P}^{1})^{an} is 22, so we may take m=10/2=5m=10/2=5 to have relative precision up to O(p10)O(p^{10}). Our algorithm outputs

Q=[(11201000010000)3(12020022210)3(20020002120)3(12020022210)3(10101010010000)3(020201120.1)3(20020002120)3(020201120.1)3(21010100010000)3].Q=\begin{bmatrix}(\dotsc{11201000010000})_{3}&(\dotsc{12020022210})_{3}&(\dotsc{20020002120})_{3}\\ (\dotsc{12020022210})_{3}&(\dotsc{10101010010000})_{3}&(\dotsc{020201120.1})_{3}\\ (\dotsc{20020002120})_{3}&(\dotsc{020201120.1})_{3}&(\dotsc{21010100010000})_{3}\end{bmatrix}.

(4) Let K=3K=\mathbb{C}_{3} and Γ\Gamma{} be the group generated by

γ=1[532835],γ=2γ[1380843]1100\gamma{}_{1}=\begin{bmatrix}-5&32\\ -8&35\end{bmatrix},\gamma{}_{2}=\gamma{}_{1}^{100}\begin{bmatrix}-13&80\\ -8&43\end{bmatrix}

The group is the same as in part (1) of this set of examples, but the generators are not in good position. To achieve the same precision, mm needs to be up to 100100 times greater than in part (1), because the γ2\gamma{}_{2} in part (1) now has a reduced word of length 101101. Since the running time grows exponentially in mm, it is not feasible to approximate QQ using Algorithm 3.3 with these generators as input.

3.2. The Abstract Tropical Curve

This subsection deals with the problem of constructing the corresponding abstract tropical curve of a Schottky group over KK, together with some data on its homotopy group. This is a relatively easy task, assuming that the given generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g} are in good position, and that we are also given a fundamental domain F=1\(B1BgB1Bg)F=\mathbb{P}^{1}\backslash{}(B_{1}\cap{}\dotsb{}\cap{}B_{g}\cap{}B_{1}^{\prime}\cap{}\dotsb{}\cap{}B_{g}^{\prime}). Without loss of generality, we may assume that F\infty{}\in{}F^{\circ{}}. Let P1,,Pg,P1,,Pg(1)anP_{1},\dotsc{},P_{g},P_{1}^{\prime},\dotsc{},P_{g}^{\prime}\in(\mathbb{P}^{1})^{an} be the Gaussian points of the disks B1,,Bg,B1,,BgB_{1},\dotsc{},B_{g},B_{1}^{\prime},\dotsc{},B_{g}^{\prime}.

Let RgR_{g} be the rose graph on gg leaves (with one vertex and gg loops), and let r1,,rgr_{1},\ldots,r_{g} be the loops. A homotopy equivalence h:RgGh:R^{g}\rightarrow G must map r1,,rgr_{1},\ldots,r_{g} to gg loops of GG that generate π1(G)\pi_{1}(G), so to specify hh it will suffice to label gg such loops of GG with {s1,,sg}\{s_{1},\ldots,s_{g}\} and orientations. It is for this reason that we call hh a marking of GG.

Algorithm 3.9 (Abstract Tropical Curve Construction).
1:Matrices γ1,γgp2×2\gamma_{1},\ldots\gamma_{g}\in\mathbb{Q}_{p}^{2\times 2} generating a Schottky group Γ\Gamma, together with a good fundamental domain F=1\(B1BgB1BgF=\mathbb{P}^{1}\backslash{}(B_{1}\cap{}\dotsb{}\cap{}B_{g}\cap{}B_{1}^{\prime}\cap{}\dotsb{}\cap{}B_{g}^{\prime}).
2:The triple (G,,h)(G,\ell,h) with (G,)(G,\ell) the abstract tropical curve as a metric graph with a hh a marking presented as gg labelled oriented loops of GG.
3:Construct the subtree in (1)an(\mathbb{P}^{1})^{an} spanned by P1,,Pg,P1,,PgP_{1},\dotsc{},P_{g},P_{1}^{\prime},\dotsc{},P_{g}^{\prime}, including lengths.
4:Label the unique shortest path from PiP_{i} to PiP_{i}^{\prime} as sis_{i}, remembering orientation.
5:Identify each PiP_{i} with PiP_{i}^{\prime}, and declare the length of the new edge containing Pi=PiP_{i}=P_{i}^{\prime} to be the sum of the lengths of the edges that were joined to form it.
6:Define hh by the labels sis_{i}, with each sis_{i} now an oriented loop.
7:return the resulting labeled metric graph (G,,h)(G,\ell,h).
Proof.

The proof is essentially given in [GP, I 4.3]. ∎

Remark 3.10.

It’s worth noting that this algorithm can be done by hand if a good fundamental domain is known. If P1,P2(1)anP_{1},P_{2}\in(\mathbb{P}^{1})^{an} are the points corresponding to the disjoint closed balls B(a1,r1)+B(a_{1},r_{1})^{+} and B(a2,r2)+B(a_{2},r_{2})^{+}, then the distance between P1P_{1} and P2P_{2} is just the sum of their distances from P3P_{3} corresponding to B(a3,r3)+B(a_{3},r_{3})^{+}, where B(a3,r3)+B(a_{3},r_{3})^{+} is the smallest closed ball containing both a1a_{1} and a2a_{2}. The distance between PiP_{i} and P3P_{3} is just val(r3/ri)\text{val}(r_{3}/r_{i}) for i=1,2i=1,2. Once all pairwise distances are known, constructing (G,)(G,\ell) is simple. Finding hh is simply a matter of drawing the orientation on the loops formed by each pair (Pi,Pi)(P_{i},P_{i}^{\prime}) and labeling that loop sis_{i}. This process is illustrated three times in Example 3.12.

Remark 3.11.

The space parameterizing labelled metric graphs (G,,h)(G,\ell,h) (identifying those with markings that are homotopy equivalent) is called Outer space, and is denoted XgX_{g}. It is shown in [CMV] that XgX_{g} sits inside tropical Teichmüller space as a dense open set, so Algorithm 3.9 can be viewed as computing a point in tropical Teichmüller space.

Example 3.12.

(1) Let Γ\Gamma{} be the Schottky group in Example 2.3(1). Choose the same good fundamental domain, with B1=B(4,1/9)B_{1}=B(4,1/9), B1=B(1,1/9)B_{1}^{\prime}=B(1,1/9), B2=B(5,1/9)B_{2}=B(5,1/9), and B2=B(2,1/9)B_{2}^{\prime}=B(2,1/9). We have constructed the subtree of (1)an(\mathbb{P}^{1})^{an} spanned by P1,P2,P1,P2P_{1},P_{2},P_{1}^{\prime},P_{2}^{\prime} as illustrated in Figure 1 in Example 3.8(1). After identifying P1P_{1} with P1P_{1}^{\prime} and P2P_{2} with P2P_{2}^{\prime}, we get the “dumbbell” graph shown in Figure 1, with both loops having length 22 and the connecting edge having length 22.

(2) Let Γ\Gamma{} be the Schottky group in Example 2.3(2). Choose the same good fundamental domain. The subtree of (1)an(\mathbb{P}^{1})^{an} spanned by P1,P2,P1,P2P_{1},P_{2},P_{1}^{\prime},P_{2}^{\prime} is illustrated in Figure 2. After identifying P1P_{1} with P1P_{1}^{\prime} and P2P_{2} with P2P_{2}^{\prime}, we get the “theta” graph shown in Figure 2, with two edges of length 22 and one edge of length 22.

(3) Let Γ\Gamma be the Schottky group in Example 2.3(3). The subtree of (1)an(\mathbb{P}^{1})^{an} spanned by P1,P2,P3,P1,P2,P3P_{1},P_{2},P_{3},P_{1}^{\prime},P_{2}^{\prime},P_{3}^{\prime} is illustrated in Figure 3. After identifying P1P_{1} with P1P_{1}^{\prime}, P2P_{2} with P2P_{2}^{\prime} and P3P_{3} with P3P_{3}^{\prime}, we get the “honeycomb” graph shown in Figure 3, with interior edges of length 11 and exterior edges of length 22.

Figure 1. The tree in Example 3.12(1), and the abstract tropical curve.
Refer to caption
Refer to caption
Figure 2. The tree in Example 3.12(2), and the abstract tropical curve.
Refer to caption
Refer to caption
Figure 3. The tree in Example 3.12(3), and the abstract tropical curve.
Refer to caption
Refer to caption

3.3. Canonical Embeddings

From [GP, VI.4], we have that

ω(z)i:=wi(z)dz=uγi(z)uγi(z)dz\omega{}_{i}(z):=w_{i}(z)dz=\frac{u_{\gamma{}_{i}}^{\prime}(z)}{u_{\gamma{}_{i}}(z)}dz

are gg linearly independent analytic differentials on Ω\Omega that are invariant under the action of Γ\Gamma{}. Therefore, they define gg linearly independent differentials on C=Ω/ΓC=\Omega/\Gamma{}. Gerritzen and van der Put [GP, VI.4] also state that these form a basis of the space of Γ\Gamma{}-invariant analytic differentials. Since the space of algebraic differentials on CC has dimension gg, it must be generated by these gg differentials. Therefore, the canonical embedding has the following form:

C\displaystyle C g1,\displaystyle\to{}\mathbb{P}^{g-1},
z\displaystyle z (uγ1(z)uγ1(z)::uγg(z)uγg(z)).\displaystyle\mapsto{}\left(\frac{u_{\gamma{}_{1}}^{\prime}(z)}{u_{\gamma{}_{1}}(z)}:\dotsc{}:\frac{u_{\gamma{}_{g}}^{\prime}(z)}{u_{\gamma{}_{g}}(z)}\right).

It therefore suffices to approximate the derivative uα(z)u_{\alpha{}}^{\prime}(z). A naïve approach is to consider the approximation

uα(z)uα(z+h)uα(z)h.u_{\alpha{}}^{\prime}(z)\approx{}\frac{u_{\alpha{}}(z+h)-u_{\alpha{}}(z)}{h}.

We can do better by taking advantage of the product form of uα(z)u_{\alpha{}}(z):

uα(z)\displaystyle u_{\alpha{}}^{\prime}(z) =ddzγΓzγazγαa\displaystyle=\frac{d}{dz}\prod_{\gamma{}\in{}\Gamma{}}\frac{z-\gamma{}a}{z-\gamma{}\alpha{}a}
=γΓ(ddz(zγazγαa)γΓ,γγzγazγαa)\displaystyle=\sum_{\gamma{}\in{}\Gamma{}}\left(\frac{d}{dz}\left(\frac{z-\gamma{}a}{z-\gamma{}\alpha{}a}\right)\prod_{\gamma{}^{\prime}\in{}\Gamma{},\gamma{}^{\prime}\neq{}\gamma{}}\frac{z-\gamma{}^{\prime}a}{z-\gamma{}^{\prime}\alpha{}a}\right)
=uα(z)γΓddz(zγazγαa)(zγazγαa)1\displaystyle=u_{\alpha{}}(z)\sum_{\gamma{}\in{}\Gamma{}}\frac{d}{dz}\left(\frac{z-\gamma{}a}{z-\gamma{}\alpha{}a}\right)\left(\frac{z-\gamma{}a}{z-\gamma{}\alpha{}a}\right)^{-1}
=uα(z)γΓγaγαa(zγa)(zγαa).\displaystyle=u_{\alpha{}}(z)\sum_{\gamma{}\in{}\Gamma{}}\frac{\gamma{}a-\gamma{}\alpha{}a}{(z-\gamma{}a)(z-\gamma{}\alpha{}a)}.
Algorithm 3.13 (Canonical Embedding).
1:Matrices γ1,,γgp2×2\gamma_{1},\ldots,\gamma_{g}\in\mathbb{Q}_{p}^{2\times 2} generating a Schottky group Γ\Gamma in good position, an element zKz\in{}K, and an integer nn to determine precision.
2:An approximation for the image of zz under the canonical embedding Ω/Γg1\Omega{}/\Gamma{}\to{}\mathbb{P}^{g-1} determined by the choice of generators.
3:Based on nn, choose a suitable positive integer mm as described in Remark 3.15.
4:for i=1i=1 to gg do
5:  Choose a suitable element aKa\in{}K as described in Proposition 3.14.
6:  Compute
wi=γΓmγaγγai(zγa)(zγγai).w_{i}=\sum_{\gamma{}\in{}\Gamma{}_{m}}\frac{\gamma{}a-\gamma{}\gamma{}_{i}a}{(z-\gamma{}a)(z-\gamma{}\gamma{}_{i}a)}.
7:end for
8:return (w1::wg)(w_{1}:\dotsb{}:w_{g}).

With appropriate choice of aa, we can provide a lower bound on the precision of the result in terms of mm. Fortunately, we can choose different values of aa to approximate

γΓγaγγai(zγa)(zγγai)\sum_{\gamma{}\in{}\Gamma{}}\frac{\gamma{}a-\gamma{}\gamma{}_{i}a}{(z-\gamma{}a)(z-\gamma{}\gamma{}_{i}a)}

for different γi\gamma{}_{i}. As in Proposition 3.5, we choose aBi+\Bia\in{}B_{i}^{\prime+}\backslash{}B_{i}^{\prime} to ensure that both aa and γai\gamma{}_{i}a are in FF.

Proposition 3.14.

If we choose aBi+\Bia\in{}B_{i}^{\prime+}\backslash{}B_{i}^{\prime} in Algorithm 3.13, and assuming zFz\in{}F, then

|γΓmγaγγai(zγa)(zγγai)uγi(z)uγi(z)|pmclogp(d),\left|\sum_{\gamma{}\in{}\Gamma{}_{m}}\frac{\gamma{}a-\gamma{}\gamma{}_{i}a}{(z-\gamma{}a)(z-\gamma{}\gamma{}_{i}a)}-\frac{u_{\gamma{}_{i}}^{\prime}(z)}{u_{\gamma{}_{i}}(z)}\right|\leq{}p^{-mc-\log_{p}(d)},

where cc is the minimum pairwise distance between P1,,Pg,P1,,PgP_{1},\dotsc{},P_{g},P_{1}^{\prime},\dotsc{},P_{g}^{\prime}, and dd is the minimum diameter of B1,,Bg,B1,,BgB_{1},\dotsc{},B_{g},B_{1}^{\prime},\dotsc{},B_{g}^{\prime}.

Proof.

Let γΓ\gamma{}\in{}\Gamma{} have reduced word γ=h1h2hk\gamma{}=h_{1}h_{2}\dotsb{}h_{k}. We have seen in the proof of Proposition 3.5 that |γaγγai|p(k1)cdiam(B+)|\gamma{}a-\gamma{}\gamma{}_{i}a|\leq{}p^{-(k-1)c}\mathrm{diam}(B^{+}), |zγa|diam(B+)|z-\gamma{}a|\geq{}\mathrm{diam}(B^{+}) and |zγγai|diam(B+)|z-\gamma{}\gamma{}_{i}a|\geq{}\mathrm{diam}(B^{+}), where BB is one of B1,,Bg,B1,,BgB_{1},\dotsc{},B_{g},B_{1}^{\prime},\dotsc{},B_{g}^{\prime}. Thus,

|γaγγai(zγa)(zγγai)|\displaystyle\left|\frac{\gamma{}a-\gamma{}\gamma{}_{i}a}{(z-\gamma{}a)(z-\gamma{}\gamma{}_{i}a)}\right| p(k1)cdiam(B+)diam(B+)2\displaystyle\leq{}\frac{p^{-(k-1)c}\mathrm{diam}(B^{+})}{\mathrm{diam}(B^{+})^{2}}
p(k1)cd1\displaystyle\leq{}p^{-(k-1)c}d^{-1}
=p(k1)clogp(d).\displaystyle=p^{-(k-1)c-\log_{p}(d)}.

Since the difference between our approximation and the true value is the sum over terms where γ\gamma{} has reduced words of length m+1\geq{}m+1, we conclude that the error has absolute value at most pmclogp(d)p^{-mc-\log_{p}(d)}. ∎

In the last proposition, we assumed zFz\in{}F. If zFz\notin{}F, we can do an extra step and replace zz by some γz\gamma{}z such that γzF\gamma{}z\in{}F, with the help of Subroutine 2.6. This step does not change the end result because the theta functions are invariant under the action of Γ\Gamma{}.

Remark 3.15.

If we wish to use Algorithm 3.13 to compute a period matrix QQ with accuracy up to the nthn^{th} pp-adic digit, we must first compute cc and dd. Recall that cc is defined to be the minimum distance between pairs of the points P1,,Pg,P1,,Pg(1)anP_{1},\ldots,P_{g},P_{1}^{\prime},\ldots,P_{g}^{\prime}\in(\mathbb{P}^{1})^{an} corresponding to the balls B1+,,Bg+,B1+,Bg+B^{+}_{1},\ldots,B^{+}_{g},B^{\prime+}_{1}\ldots,B^{\prime+}_{g} that characterize our good fundamental domain, and dd is the minimum diameter of B1,,Bg,B1,,BgB_{1},\ldots,B_{g},B_{1}^{\prime},\ldots,B_{g}^{\prime}. Once we have computed cc and dd, then by Proposition 3.14 we must choose mm such that pmcd1pnp^{-mc}d^{-1}\leq p^{-n}. We could also think of it as choosing mm such that mc+logp(d)nmc+\log_{p}(d)\geq n.

Remark 3.16.

As was the case with Algorithm 3.3, we may run Algorithm 3.13 even if the input generators are not in good position, and it will approximate images of points in the canonical embedding. However, we will not have control over the rate of convergence, which will in general be very slow.

Example 3.17.

Let Γ\Gamma{} be the Schottky group in Example 2.3(3). Choose the same good fundamental domain. We will compute the image of the field element 1717 under the canonical embedding (we have chosen 1717 as it is in Ω\Omega for this particular Γ\Gamma). The minimum diameter is d=1/9d=1/9, and the minimum distance is c=2c=2. To get absolute precision to the order of p10p^{-10}, we need pmcd1p10p^{-mc}d^{-1}\leq{}p^{-10}, i.e. m6m\geq{}6. Applying Algorithm 3.13 with m=6m=6 gives us the following point in 2\mathbb{P}^{2}:

((2100012121)3:(2211022001.1)3:(2221222111.1)3).((\dotsc{}2100012121)_{3}:(\dotsc{}2211022001.1)_{3}:(\dotsc{}2221222111.1)_{3}).

This point lies on the canonical embedding of the genus 33 Mumford curve Ω/Γ\Omega/\Gamma. Any genus 33 curve is either a hyperelliptic curve or a smooth plane quartic curve. However, it is impossible for a hyperelliptic curve to have the skeleton in Figure 3 (see [Ch, Theorem 4.15]), so Ω/Γ\Omega/\Gamma must be a smooth plane quartic curve. Its equation has the form

C1x4+C2x3y+C3x3z+C4x2y2+C5x2yz+C6x2z2\displaystyle C_{1}x^{4}+C_{2}x^{3}y+C_{3}x^{3}z+C_{4}x^{2}y^{2}+C_{5}x^{2}yz+C_{6}x^{2}z^{2}
C7xy3+C8xy2z+C9xyz2+C10xz3+C11y4+C12y3z+C13y2z2+C14yz3+C15z4.\displaystyle\quad{}C_{7}xy^{3}+C_{8}xy^{2}z+C_{9}xyz^{2}+C_{10}xz^{3}+C_{11}y^{4}+C_{12}y^{3}z+C_{13}y^{2}z^{2}+C_{14}yz^{3}+C_{15}z^{4}.

Using linear algebra over 3\mathbb{Q}_{3}, we can solve for its 1515 coefficients by computing 1414 points on the curve and plugging them into the equation. The result is

C1=1,C2=(11101)3,C3=(00211)3,C4=(1020.2)3,C5=(110.21)3,C6=(1002.1)3,C7=(122)3,C8=(222.02)3,C9=(222.02)3,C10=(21101)3,C11=(2122)3,C12=(2201)3,C13=(0202.2)3,C14=(10102)3,C15=(01221)3.\begin{array}[]{lll}C_{1}=1,&C_{2}=(\dotsc{}11101)_{3},&C_{3}=(\dotsc{}00211)_{3},\\ C_{4}=(\dotsc{}1020.2)_{3},&C_{5}=(\dotsc{}110.21)_{3},&C_{6}=(\dotsc{}1002.1)_{3},\\ C_{7}=(\dotsc{}122)_{3},&C_{8}=(\dotsc{}222.02)_{3},&C_{9}=(\dotsc{}222.02)_{3},\\ C_{10}=(\dotsc{}21101)_{3},&C_{11}=(\dotsc{}2122)_{3},&C_{12}=(\dotsc{}2201)_{3},\\ C_{13}=(\dotsc{}0202.2)_{3},&C_{14}=(\dotsc{}10102)_{3},&C_{15}=(\dotsc{}01221)_{3}.\end{array}

For the Newton subdivision and tropicalization of this plane quartic, see the following subsection, in which we consider the interactions of the three algorithms of Section 3.

3.4. Reality Check: Interactions Between The Algorithms

We close Section 3 by checking that the three algorithms give results consistent with one another and with some mathematical theory. We will use our running example of a genus 3 Mumford curve from Examples 3.8(3), 3.12(3), and 3.17, for which we have computed a period matrix of the Jacobian, the abstract tropical curve, and a canonical embedding.

First we will look at the period matrix and the abstract tropical curve, and verify that these outputs are consistent. Recall that for the period matrix QQ of Jac(Ω/Γ)\text{Jac}(\Omega/\Gamma), we have

Qij=uγi(z)uγi(γjz).Q_{ij}=\frac{u_{\gamma_{i}}(z)}{u_{\gamma_{i}}(\gamma_{j}z)}.

Motivated by this, we define

Q:Γ×ΓK\displaystyle Q:\Gamma\times\Gamma\rightarrow K^{*}
(α,β)uα(z)uα(βz),\displaystyle(\alpha,\beta)\mapsto\frac{u_{\alpha}(z)}{u_{\alpha}(\beta z)},

where our choice of zΩz\in\Omega does not affect the value of Q(α,β)Q(\alpha,\beta). (Note that Qij=Q(γi,γj)Q_{ij}=Q(\gamma_{i},\gamma_{j}).) As shown in [GP, VI, 2], the kernel of QQ is the commutator subgroup [Γ,Γ][\Gamma,\Gamma] of Γ\Gamma, and QQ is symmetric and positive definite (meaning |Q(α,α)|<1|Q(\alpha,\alpha)|<1 for any α[1001]mod[Γ,Γ]\alpha\not\equiv\left[\begin{matrix}1&0\\ 0&1\end{matrix}\right]\mod[\Gamma,\Gamma]). Moreover, the following theorem holds (see [Pu2, Theorem 6.4]).

Theorem 3.18.

Let GG be the abstract tropical curve of Ω/Γ\Omega/\Gamma, and let π1(G)\pi_{1}(G) be its homotopy group, treating GG as a topological space. There is a canonical isomorphism ϕ:Γabπ(G)ab1\phi{}\colon{}\Gamma{}^{ab}\to{}\pi{}_{1}(G)^{ab} such that val(Q(γ,γ))=ϕ(γ),ϕ(γ)\text{val}(Q(\gamma{},\gamma{}^{\prime}))=\langle{}\phi{}(\gamma{}),\phi{}(\gamma{}^{\prime})\rangle{}, where p1,p2\langle p_{1},p_{2}\rangle{} denotes the shared edge length of the oriented paths p1p_{1} and p2p_{2}.

The map ϕ\phi is made very intuitive by considering the construction of GG in Algoirthm 3.9: a generator γi\gamma_{i} of Γ\Gamma yields two points Pi,Pi(1)anP_{i},P_{i}^{\prime}\in(\mathbb{P}^{1})^{an} (corresponding to balls containing the eigenvalues of γi\gamma_{i}), and these points are glued together in constructing GG. So γi\gamma_{i} corresponds to a loop around the cycle resulting from this gluing; after abelianization, this intuition is made rigorous.

Consider the matrix QQ computed in Example 3.8(3). Worrying only about valuations, we have

val(Q)=[411141114].\text{val}(Q)=\left[\begin{matrix}4&1&1\\ 1&4&-1\\ 1&-1&4\end{matrix}\right].

For i=1,2,3i=1,2,3, let sis_{i} be the oriented loop in GG arising from gluing PiP_{i} and PiP_{i}^{\prime}. In light of Theorem 3.18, we expect to find shared edge lengths

s1,s1=s2,s2=s3,s3=4,\left<s_{1},s_{1}\right>=\left<s_{2},s_{2}\right>=\left<s_{3},s_{3}\right>=4,
s1,s2=s1,s3=1,\left<s_{1},s_{2}\right>=\left<s_{1},s_{3}\right>=1,

and

s2,s3=1.\left<s_{2},s_{3}\right>=-1.

That is, each cycle length should be 44, and the common edge of each distinct pair of cycles should have length 11, with the orientation of s1s_{1} agreeing with the orientation of s2s_{2} (respectively, s3s_{3}) on the shared edge and the orientation of s2s_{2} disagreeing with the orientation of s3s_{3} on the shared edge. This is indeed what we found in Example 3.12(3), with edge lengths and orientations shown in Figure 3. This example has shown how the outputs of Algorithms 3.3 and 3.9 can be checked against one another.

We will now consider the relationship between the abstract tropical curve and the canonical embedding for this example. In particular, we will compute a tropicalization of the curve from the canonical embedding and see how this relates to the abstract tropical curve.

To compute the tropicalization of the curve, we will start with the quartic planar equation computed in Example 3.17. The Newton polytope of this quartic is a triangle with side length 44. We label each integral point inside or on the boundary of the Newton polytope by the valuation of the coefficient of the corresponding term, ignoring the variable zz. For example, the point (1,2)(1,2) is labeled 2-2 because the valuation of the coefficient of xy2zxy^{2}z is val(C8)=2\mathrm{val}(C_{8})=-2. We then take the lower convex hull, giving a subdivision of the Newton polytope as shown in Figure 4. The tropicalization of the curve is combinatorially the dual graph of this polytope, and using the max convention of tropical geometry it sits in 2\mathbb{R}^{2} as shown in Figure 4, with the common point of the three cycles at (0,0)(0,0).

Let us compare the cycles in the tropicalization with the cycles in the abstract tropical curve. We know from [BPR, §6.23] that this tropicalization is faithful since all vertices are trivalent and are adjacent to at least one edge of weight one. This means that lattice lengths on the tropicalization should agree with lengths of the abstract tropical curve. Each cycle in the tropicalization has five edges, and for each cycle two edges are length 12\frac{1}{2} and three are length 11. This gives a length of 44, as we’d expect based on Example 3.12(3). Moreover, each shared edge has lattice length 11, as was the case in the abstract tropical curve. Thus we have checked the outputs of Algorithms 3.9 and 3.13 against one another.

Figure 4. The Newton polytope of the plane quartic curve in Example 3.17, and the corresponding tropical curve in 2\mathbb{R}^{2} (drawn using the max convention). Each edge of infinite length has weight 22, and all other edges have weight 11.
Refer to caption
Refer to caption

4. From Generators in Bad Position to Generators in Good Position

The previous section describes several algorithms that compute various objects from a set of free generators of a Schottky group, assuming that the generators are in good position, and (in Algorithm 3.9) that a good fundamental domain is given together with the generators. This content of this section is what allows us to make this assumption. We give an algorithm (Algorithm 4.8) that takes an arbitrary set of free generators of a Schottky group and outputs a set of free generators that are in good position, together with a good fundamental domain. This algorithm can be modified as described in Remark 4.10 to perform a “Schottky test”; in particular, given a set of gg invertible matrices generating a group Γ\Gamma, the modified algorithm will either

  • return a set of gg free generators of Γ\Gamma in good position together with a good fundamental domain, which is a certificate that Γ\Gamma is Schottky;

  • return a relation satisfied by the input matrices, which is a certificate that the generators do not freely generate the group; or

  • return a non-hyperbolic, non-identity matrix γΓ\gamma\in\Gamma, which is a certificate that Γ\Gamma is not Schottky.

Before presenting Algorithm 4.8, we will first develop some theory for trees, and then define useful subroutines. Our starting point is a remark in Gerritzen and van der Put’s book:

Proposition 4.1.

[GP, III 2.12.3] Let Γ\Gamma{} be Schottky and Σ\Sigma{} and Ω\Omega{} be as usual. Let T(Σ)T(\Sigma{}) be the subtree of (1)an(\mathbb{P}^{1})^{an} spanned by Σ\Sigma{}. Then the minimal skeleton of Ω/Γ\Omega{}/\Gamma{} is isomorphic to T(Σ)/ΓT(\Sigma{})/\Gamma{}.

This statement is essential for our algorithm, because it helps reducing problems involving (1)an(\mathbb{P}^{1})^{an} to problems involving the much simpler tree T(Σ)T(\Sigma{}). Though T(Σ)T(\Sigma{}) is not finite, it is a finitely branching tree: it consists of vertices and edges such that each vertex is connected with finitely many edges. A good fundamental domain in (1)an(\mathbb{P}^{1})^{an} can be obtained from a good fundamental domain in T(Σ)T(\Sigma{}), defined as follows:

Definition 4.2.

A principal subtree TT of T(Σ)T(\Sigma{}) is a connected component of T(Σ)\{e}T(\Sigma{})\backslash{}\{e\} for some edge ee of T(Σ)T(\Sigma{}). An extended principal subtree is T+=T{e}T^{+}=T\cup{}\{e\}.

Definition 4.3.

A good fundamental domain SS in T(Σ)T(\Sigma{}) for a set of free generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g} of Γ\Gamma{} is the complement of 2g2g principal subtrees T1,,Tg,T1,,TgT_{1},\dotsc{},T_{g},T_{1}^{\prime},\dotsc{},T_{g}^{\prime}, such that T1+,,Tg+,T_{1}^{+},\dotsc{},T_{g}^{+}, T1+,,Tg+T_{1}^{\prime+},\dotsc{},T_{g}^{\prime+} are disjoint, and that γ(T(Σ)\Ti+)i=Ti\gamma{}_{i}(T(\Sigma{})\backslash{}T_{i}^{\prime+})=T_{i} and γ(T(Σ)\Ti+)i1=Ti\gamma{}_{i}^{-1}(T(\Sigma{})\backslash{}T_{i}^{+})=T_{i}^{\prime}. The interior of SS is S=T(Σ)\(T1+Tg+T1+Tg+)S^{\circ{}}=T(\Sigma{})\backslash{}(T_{1}^{+}\cup{}\dotsb{}\cup{}T_{g}^{+}\cup{}T_{1}^{\prime+}\cup{}\dotsb{}\cup{}T_{g}^{\prime+}). The boundary of SS is S\SS\backslash{}S^{\circ{}}.

In other words, SS is a connected finite subtree of T(Σ)T(\Sigma{}) with 2g2g boundary edges (Ri,Qi)(R_{i},Q_{i}) and (Ri,Qi)(R_{i}^{\prime},Q_{i}^{\prime}), where Qi,QiSQ_{i},Q_{i}^{\prime}\notin{}S, such that γ(Ri,Qi)i=(Qi,Ri)\gamma{}_{i}(R_{i}^{\prime},Q_{i}^{\prime})=(Q_{i},R_{i}). Given this data, the principal subtree TiT_{i} (resp. TiT_{i}^{\prime}) is the connected component of T(Σ)\(Ri,Qi)T(\Sigma{})\backslash{}(R_{i},Q_{i}) (resp. T(Σ\(Ri,Qi)T(\Sigma{}\backslash{}(R_{i}^{\prime},Q_{i}^{\prime})) that is disjoint from SS. Given a good fundamental domain SS in T(Σ)T(\Sigma{}), one can find a good fundamental domain in (1)an(\mathbb{P}^{1})^{an} as follows. Without loss of generality, we may assume that the retraction of \infty{} to T(Σ)T(\Sigma{}) is in the interior of SS. Then, QiQ_{i} and RiR_{i} correspond to two nested balls B(ai,ri)+B(ai,Ri)+B(a_{i},r_{i})^{+}\subset{}B(a_{i},R_{i})^{+}. Define Bi=B(ai,riRi)B_{i}=B(a_{i},\sqrt{r_{i}R_{i}}). Define BiB_{i}^{\prime} similarly.

Proposition 4.4.

Let Bi,BiB_{i},B_{i}^{\prime} be as above. Then F=(1)an\(B1BgB1Bg)F=(\mathbb{P}^{1})^{an}\backslash{}(B_{1}\cup{}\dotsb{}\cup{}B_{g}\cup{}B_{1}^{\prime}\cup{}\dotsb{}\cup{}B_{g}^{\prime}) is a good fundamental domain.

Proof.

Let Qi,RiQ_{i},R_{i} be as above. Let PiP_{i} be the midpoint of the segment of the boundary edge (Qi,Ri)(Q_{i},R_{i}). Then, PiP_{i} corresponds to the ball Bi+B_{i}^{+}. Let π\pi{} denote the retraction from (1)an(\mathbb{P}^{1})^{an} to T(Σ)T(\Sigma{}). Again, we may assume π()\pi{}(\infty{}) is in the interior of SS. For any PBi+P\in{}B_{i}^{+}, the unique path from PP to \infty{} passes through PiP_{i}. Therefore, π(P)\pi{}(P) lies on the union of TiT_{i} with the segment (Pi,Qi)(P_{i},Q_{i}), which is a subset of Ti+T_{i}^{+}. Hence, the condition that Ti+T_{i}^{+} and Ti+T_{i}^{\prime+} are disjoint implies that the retraction of the Bi+B_{i}^{+} and the Bi+B_{i}^{\prime+} are disjoint. Thus, the Bi+B_{i}^{+} and Bi+B_{i}^{\prime+} are disjoint.

Let (Qi,Ri)(Q_{i}^{\prime},R_{i}^{\prime}) be the boundary edge of TiT_{i}^{\prime}, and let PiP_{i}^{\prime} be its midpoint. Since γ(Qi,Ri)i=(Ri,Qi)\gamma{}_{i}(Q_{i}^{\prime},R_{i}^{\prime})=(R_{i},Q_{i}), it sends the midpoint PiP_{i}^{\prime} to PiP_{i}. Since BiB_{i}^{\prime} is a connected component in (1)an\{Pi}(\mathbb{P}^{1})^{an}\backslash{}\{P_{i}^{\prime}\}, the element γi\gamma{}_{i} must send BiB_{i}^{\prime} to a connected component of (1)an\{Pi}(\mathbb{P}^{1})^{an}\backslash{}\{P_{i}\}. One of the connected components in (1)an\{Pi}(\mathbb{P}^{1})^{an}\backslash{}\{P_{i}\} is (1)an\Bi+(\mathbb{P}^{1})^{an}\backslash{}B_{i}^{+}. Since γi\gamma{}_{i} sends QiBiQ_{i}^{\prime}\in{}B_{i}^{\prime} to Ri(1)an\Bi+R_{i}\in{}(\mathbb{P}^{1})^{an}\backslash{}B_{i}^{+}, it must send BiB_{i}^{\prime} to (1)an\Bi+(\mathbb{P}^{1})^{an}\backslash{}B_{i}^{+}. Similarly, γi1\gamma{}_{i}^{-1} sends BiB_{i} to (1)an\Bi+(\mathbb{P}^{1})^{an}\backslash{}B_{i}^{\prime+}. Thus FF is a good fundamental domain in (1)an(\mathbb{P}^{1})^{an}. ∎

One can establish properties of SS similar to Theorem 2.5. They can be derived either combinatorially or from Proposition 4.4.

The following algorithm constructs a good fundamental domain SS in T(Σ)T(\Sigma{}).

Subroutine 4.5 (Good Fundamental Domain Construction).
1:An “agent” knowing all vertices and edges of T=T(Σ)T=T(\Sigma{}), and the map T(Σ)T(Σ)/ΓT(\Sigma{})\to{}T(\Sigma{})/\Gamma{}, where Γ\Gamma is defined over p\mathbb{Q}_{p}.
2:A good fundamental domain SS in T(Σ)T(\Sigma{}).
3:Choose a vertex PP of TT. Let P1,,PkP_{1},\dotsc{},P_{k} be all neighbors of PP in TT.
4:Let V{P}V\leftarrow{}\{P\}, EE\leftarrow{}\emptyset{}, O{(P,P1),,(P,Pk)}O\leftarrow{}\{(P,P_{1}),\dotsc{},(P,P_{k})\}, II\leftarrow{}\emptyset{}, AA\leftarrow{}\emptyset{}.
5:while OϕO\neq{}\phi{} do
6:  Choose (Q,Q)O(Q,Q^{\prime})\in{}O, remove it from OO and add it to EE.
7:  Let Q,Q1,,QkQ,Q_{1},\dotsc{},Q_{k} be all neighbors of QQ^{\prime} in TT.
8:  Add QQ^{\prime} to VV.
9:  for each QkQ_{k} do
10:   With the help of the “agent” in the input, determine if (Qk,Q)(Q_{k},Q^{\prime}) is conjugate to some edge (R,R)O(R,R^{\prime})\in{}O, i.e. γQk=R\gamma{}Q_{k}=R and γQ=R\gamma{}Q^{\prime}=R^{\prime} for some γΓ\gamma{}\in{}\Gamma{}.
11:   if so then
12:     Remove (R,R)(R,R^{\prime}) from OO.
13:     Add (Q,Qk),(R,R)(Q^{\prime},Q_{k}),(R,R^{\prime}) to II.
14:     Add γ\gamma{} to AA.
15:   else
16:     Add (Qk,Q)(Q_{k},Q^{\prime}) to OO.
17:   end if
18:  end for
19:end while
20:return S=VEIS=V\cup{}E\cup{}I. (The edges in II are the boundary edges, and AA is a set of free generators of Γ\Gamma{} in good position.)
Proof.

Consider the map from T(Σ)T(\Sigma{}) to G=T(Σ)/ΓG=T(\Sigma{})/\Gamma{}. Let PP be as in Step (1). Suppose that a “fire” starts at PT(Σ)P\in{}T(\Sigma{}) and the image of PP in GG. In each step, when we choose the edge (Q,Q)(Q,Q^{\prime}) in Step (4) and add a vertex QQ^{\prime} to VV in Step (5), we “propagate” the fire from QQ to QQ^{\prime}, and “burn” QQ^{\prime} together with halves of all edges connecting to QQ^{\prime}. Also, we “burn” the corresponding part in GG. Suppose two fires meet each other in GG. In this case, both halves of an edge in GG are burned, but it corresponds to two half burned edges in T(Σ)T(\Sigma{}). If so, we stop the fire by removing the edges from OO and adding them to II (Step (9)). The algorithm terminates when the whole graph GG is burned. The burned part SS^{\prime} of T(Σ)T(\Sigma{}) is a lifting of GG. Then, VV is the set of vertices of SS^{\prime}, EE is the set of whole edges in SS^{\prime}, and II is the set of half edges in SS^{\prime}. The fact that they form a good fundamental domain follows from the method in the proof of [GP, I (4.3)]. ∎

This algorithm requires an “agent” knowing everything about T(Σ)T(\Sigma{}). It is hard to construct such an “agent” because T(Σ)T(\Sigma) is infinite. Therefore, we approximate T(Σ)T(\Sigma{}) by a finite subtree. One candidate is T(Σ)mT(\Sigma{}_{m}), where Σm\Sigma{}_{m} is the set of fixed points of elements of Γm\Gamma{}_{m}. Recall that Γm\Gamma{}_{m} is the set of elements of Γ\Gamma{} whose reduced words in terms of the given generators have lengths at most mm. We take one step further: we approximate T(Σ)T(\Sigma{}) by T(Γam)T(\Gamma{}_{m}a), where aa is any point in Σ\Sigma{}.

Lemma 4.6.

For any aKa\in{}K, we have T(Γa)T(Σ)T(\Gamma{}a)\supset{}T(\Sigma{}). Furthermore, if aΣa\in{}\Sigma{}, then T(Γa)=T(Σ)T(\Gamma{}a)=T(\Sigma{}).

Proof.

For any gΓg\in{}\Gamma{}, the fixed point corresponding to the eigenvalue with larger absolute value is the limit of the sequence a,ga,g2a,a,ga,g^{2}a,\dotsc{}. The other fixed point is the limit of the sequence a,g1a,g2a,a,g^{-1}a,g^{-2}a,\dotsc{}. Therefore, every point in Σ\Sigma{} is either in Γa\Gamma{}a or a limit point of Γa\Gamma{}a. Therefore, T(Γa)T(Σ)T(\Gamma{}a)\supset{}T(\Sigma{}). The second statement is clear. ∎

We can construct a complete list of vertices and edges in T(Γam)T(\Gamma{}_{m}a). Then, the map from T(Γam)T(\Gamma{}_{m}a) to T(Σ)/ΓT(\Sigma{})/\Gamma{} can be approximated in the following way: for each pair of vertices P,QP,Q (resp. edges e,fe,f in T(Γam)T(\Gamma{}_{m}a) and each given generator γi\gamma{}_{i}, check if γPi=Q\gamma{}_{i}P=Q (resp. γei=f\gamma{}_{i}e=f). If so, then we identify them. Note that this method may not give the correct map, because two vertices PP and QQ in T(Γam)T(\Gamma{}_{m}a) may be conjugate via the action of some h1h2hkΓh_{1}h_{2}\dotsb{}h_{k}\in{}\Gamma{}, where some intermediate step hlhl+1hkPT(Γam)h_{l}h_{l+1}\dotsb{}h_{k}P\notin{}T(\Gamma{}_{m}a). Due to this flaw, we need a way to certify the correctness of the output.

Subroutine 4.7 (Good Fundamental Domain Certification).
1:Generators γ,1,γgp2×2\gamma{}_{1},\dotsc{},\gamma{}_{g}\in\mathbb{Q}_{p}^{2\times 2} of a Schottky group Γ\Gamma{}, and a quadruple (V,E,I,A)(V,E,I,A), where VV is a set of vertices in T(Σ)T(\Sigma{}), EE and II are sets of edges of T(Σ)T(\Sigma{}), II contains kk pairs of edges (Pi,Qi),(Pi,Qi)(P_{i},Q_{i}),(P_{i}^{\prime},Q_{i}^{\prime}), where Pi,PiVP_{i},P_{i}^{\prime}\in{}V, Qi,QiVQ_{i},Q_{i}^{\prime}\notin{}V, and AA contains kk elements aia_{i} in Γ\Gamma{}.
2:TRUE if S=VEIS=V\cup{}E\cup{}I is a good fundamental domain in T(Σ)T(\Sigma{}) for the set of generators AA, and II is the set of boundary edges. FALSE otherwise.
3:If kgk\neq{}g, return FALSE.
4:If SS is not connected, return FALSE.
5:If any element of II is not a terminal edge of SS, return FALSE.
6:If any (Pi,Qi)ai(Qi,Pi)(P_{i},Q_{i})\neq{}a_{i}(Q_{i}^{\prime},P_{i}^{\prime}), return FALSE.
7:Choose PP in the interior of SS.
8:for h{γ,1,γ,gγ,11,γ}g1h\in{}\{\gamma{}_{1},\dotsc{},\gamma{}_{g},\gamma{}_{1}^{-1},\dotsc{},\gamma{}_{g}^{-1}\} do
9:  Using a variant of Subroutine 2.6, find point PSP^{\prime}\in{}S and group element γa1,,ak\gamma{}\in{}\langle{}a_{1},\dotsc{},a_{k}\rangle{} such that P=γ(hP)P^{\prime}=\gamma{}(hP).
10:  If PPP\neq{}P^{\prime}, return FALSE.
11:end for
12:return TRUE.
Proof.

Steps 1–4 verify that SS satisfies the definition of a good fundamental domain in T(Σ)T(\Sigma{}) for the set of generators a1,,aga_{1},\dotsc{},a_{g}. In addition, we need to verify that a1,,aga_{1},\dotsc{},a_{g} generate the same group as the given generators γ,1,γg\gamma{}_{1},\dotsc{},\gamma{}_{g}. This is done by Steps 5–9. If P=PP=P^{\prime} in Step 8, then there exists γa1,,ak\gamma{}\in{}\langle{}a_{1},\dotsc{},a_{k}\rangle{} such that γhP=P\gamma{}hP=P. We are assuming aiΓa_{i}\in{}\Gamma{} in the input, so γhΓ\gamma{}h\in{}\Gamma{}. Since the action of Γ\Gamma{} on (1)an\Σ(\mathbb{P}^{1})^{an}\backslash{}\Sigma{} is free, we have γh=id\gamma{}h=\mathrm{id}. Thus, ha1,,akh\in{}\langle{}a_{1},\dotsc{},a_{k}\rangle{}. If P=PP=P^{\prime} for all hh, then Γ=a1,,ak\Gamma{}=\langle{}a_{1},\dotsc{},a_{k}\rangle{}.

Otherwise, if PPP\neq{}P^{\prime} in Step 8 for some hh, then there exists γΓ\gamma{}^{\prime}\in{}\Gamma{} such that γP=P\gamma{}^{\prime}P=P^{\prime}. For any γa1,,ak\gamma{}\in{}\langle{}a_{1},\dotsc{},a_{k}\rangle{} other than identity, we have γPs\gamma{}P^{\prime}\notin{}s^{\circ} by a variant of Lemma 2.4. Therefore, Γa1,,ak\Gamma{}\neq{}\langle{}a_{1},\dotsc{},a_{k}\rangle{}. ∎

If the certification fails, we choose a larger mm and try again, until it succeeds. We are ready to state our main algorithm for this section:

Algorithm 4.8 (Turning Arbitrary Generators into Good Generators).
1:Free generators γ,1,γgp2×2\gamma{}_{1},\dotsc{},\gamma{}_{g}\in\mathbb{Q}_{p}^{2\times 2} of a Schottky group Γ\Gamma{}.
2:Free generators a1,,aga_{1},\dotsc{},a_{g} of Γ\Gamma{}, together with a good fundamental domain F=(1)an\(B1BgB1Bg)F=(\mathbb{P}^{1})^{an}\backslash{}(B_{1}\cup{}\dotsb{}\cup{}B_{g}\cup{}B_{1}^{\prime}\cup{}\dotsb{}\cup{}B_{g}^{\prime}) for this set of generators.
3:Let m=1m=1.
4:Let aa be a fixed point of some γi\gamma{}_{i}.
5:Compute all elements in Γam\Gamma{}_{m}a.
6:Find all vertices and edges of T(Γam)T(\Gamma{}_{m}a).
7:Approximate the map T(Γam)T(Σ)/ΓT(\Gamma{}_{m}a)\to{}T(\Sigma{})/\Gamma{}.
8:Use Subroutine 4.5 to construct a subgraph S=VEIS=V\cup{}E\cup{}I of T(Γam)T(\Gamma{}_{m}a) and a subset AΓA\subset{}\Gamma{}.
9:Use Subroutine 4.7 to determine if S=VEIS=V\cup{}E\cup{}I is a good fundamental domain in T(Σ)T(\Sigma{}).
10:If not, increment mm and go back to Step 2.
11:Compute BiB_{i} and BiB_{i}^{\prime} from SS using the method in Proposition 4.4.
12:return generators AA and good fundamental domain F=(1)an\(B1BgB1Bg)F=(\mathbb{P}^{1})^{an}\backslash{}(B_{1}\cup{}\dotsb{}\cup{}B_{g}\cup{}B_{1}^{\prime}\cup{}\dotsb{}\cup{}B_{g}^{\prime}).
Proof.

The correctness of the algorithm follows from the proof of Subroutine 4.7. It suffices to prove that the algorithm eventually terminates. Assume that we have the “agent” in Subroutine 4.5. Since Subroutine 4.5 terminates in a finite number of steps, the computation involves only finitely many vertices and edges in T(Σ)T(\Sigma{}). If mm is sufficiently large, T(Σ)mT(\Sigma{}_{m}) will contain all vertices and edges involved in the computation. Moreover, for any pair of vertices or edges in T(Σ)mT(\Sigma{}_{m}) that are identified in T(Σ)/ΓT(\Sigma{})/\Gamma{}, there exists a sequence of actions by the given generators of Γ\Gamma{} that sends one of them to the other, so there are finitely many intermediate steps. If we make mm even larger so that T(Σ)mT(\Sigma{}_{m}) contains all these intermediate steps, we get the correct approximation of the map T(Σ)T(Σ)/ΓT(\Sigma{})\to{}T(\Sigma{})/\Gamma{}. This data is indistinguishable from the “agent” in the computation of Subroutine 4.5. Thus, it will output the correct good fundamental domain. ∎

Remark 4.9.

The performance of the algorithm depends on how “far” the given generator is from a set of generators in good position, measured by the lengths of the reduced words of the good generators in terms of the given generators. If the given generators is close to a set of generators in good position, then a relatively small mm is sufficient for T(Γam)T(\Gamma{}_{m}a) to contain all relevant vertices. Otherwise, a larger mm is needed. For example, in the genus 22 case, this algorithm terminates in a few minutes for our test cases where each given generator has a reduced word of length 4\leq{}4 in a set of good generators. However, the algorithm is not efficient on Example 3.8 (4), where one of the given generators has a reduced word of length 101101. One possible way of speeding up the algorithm is to run the non-Euclidean Euclidean algorithm developed by Gilman [Gi] on the given generators.

Remark 4.10.

We may relax the requirement that the input matrices freely generate a Schottky group by checking that every element in Γm\Gamma{}_{m} not coming from the empty word is hyperbolic before Step 3. If the group is Schottky and freely generated by the input matrices, the algorithm will terminate with a good fundamental domain. Otherwise, Step 7 will never certify a correct good fundamental domain, but the hyperbolic test will eventually fail when a non-hyperbolic matrix is generated. In particular, if the identity matrix is generated by a nonempty word, the generators are not free (though they may or may not generate a Schottky group); and if a non-identity hyperbolic matrix is generated, the group is not Schottky. Thus, Algorithm 4.8 is turned into a Schottky test algorithm. Again, the non-Euclidean Euclidean algorithm in [Gi] is a possible ingredient for a more efficient Schottky test algorithm.

5. Future Directions: Reverse Algorithms and Whittaker Groups

In this section we describe further computational questions about Mumford curves. Algorithms answering these questions would be highly desirable.

5.1. Reversing The Algorithms in Section 3

Many of our main algorithms answer questions of the form “Given AA, find BB”, which we can reverse to “Given B, find AA.” For instance:

  • Given a period matrix QQ, determine if the abelian variety (K)g/Q(K^{*})^{g}/Q is the Jacobian of a Mumford curve, and if it is approximate the corresponding Schottky group.

  • Given an abstract tropical curve GG, find a Schottky group whose Mumford curve has GG as its abstract tropical curve.

  • Given a polynomial representation of a curve, determine if it is a Mumford curve, and if it is approximate the corresponding Schottky group.

A particular subclass of Schottky groups called Whittaker groups are likely a good starting point for these questions.

5.2. Whittaker Groups

We will outline the construction of Whittaker groups (see [Pu1] for more details), and discuss possible algorithms for handling computations with them. We are particularly interested in going from a matrix representation to a polynomial representation, and vice versa.

If sPGL(2,K)s\in PGL(2,K) is an element of order 22, then ss will have two fixed points, aa and bb, and is in fact determined by the pair {a,b}\{a,b\} as

s=[ab11][1001][ab11]1,s=\left[\begin{matrix}a&b\\ 1&1\end{matrix}\right]\left[\begin{matrix}1&0\\ 0&-1\end{matrix}\right]\left[\begin{matrix}a&b\\ 1&1\end{matrix}\right]^{-1},

as long as a,b\infty\neq a,b. Let s0,,sgs_{0},\ldots,s_{g} be g+1g+1 elements of PGL(2,K)PGL(2,K) of order 22. Write their fixed points as {a0,b0},,{ag,bg}\{a_{0},b_{0}\},\ldots,\{a_{g},b_{g}\}, and assume without loss of generality that ai,bi\infty\neq a_{i},b_{i} for all ii. Let B0,,BgB_{0},\ldots,B_{g} denote the smallest open balls containing each pair, and assume that the corresponding closed balls B0+,,Bg+B_{0}^{+},\ldots,B_{g}^{+} are all disjoint. Then the group Γ:=s0,,sg\Gamma:=\left<s_{0},\ldots,s_{g}\right> is in fact the free product s0sg\left<s_{0}\right>*\cdots*\left<s_{g}\right>.

Note that Γ\Gamma is not a Schottky group, since its generators are not hyperbolic. However, we can still consider its action upon 1Σ=Ω\mathbb{P}^{1}\setminus\Sigma=\Omega. To fix some notation, we will choose a,bΩa,b\in\Omega such that aΓba\notin\Gamma b and ΓaΓb\infty\notin\Gamma a\cup\Gamma b and will define

G(z):=Θ(a,b;z)=γΓzγ(a)zγ(b).G(z):=\Theta(a,b;z)=\prod_{\gamma\in\Gamma}\frac{z-\gamma(a)}{z-\gamma(b)}.

(In our previous definition of theta functions, we took Γ\Gamma to be Schottky, but the definition works fine for this Γ\Gamma as well.) If we choose aa and bb such that |G()G(s0)|<1/2|G(\infty)-G(s_{0}\infty)|<1/2, then GG will be invariant under Γ\Gamma, which gives a morphism Ω/Γ1\Omega/\Gamma\rightarrow\mathbb{P}^{1}. This will have only one pole, so it is an isomorphism.

Now, let WW be the kernel of the map φ:Γ/2\varphi:\Gamma\rightarrow\mathbb{Z}/2\mathbb{Z} defined by φ(si)=1\varphi(s_{i})=1 for all ii. Then W=s0s1,s0s2,,s0sgW=\left<s_{0}s_{1},s_{0}s_{2},\ldots,s_{0}s_{g}\right>, and is in fact free on those generators. One can show that WW is a Schottky group of rank gg, and we call a group that arises in this way a Whittaker group. We already know that Ω/W\Omega/W is a curve of genus gg; in fact, we have more than that.

Theorem 5.1 (Van der Put, [Pu1]).

If WW is a Whittaker group, then Ω/W\Omega/W is a totally split hyperelliptic curve of genus gg, with affine equation y2=i=0g(xG(ai))(xG(bi))y^{2}=\prod_{i=0}^{g}(x-G(a_{i}))(x-G(b_{i})). Conversely, if XX be a totally split hyperelliptic curve of genus gg over KK, then there exists a Whittaker group WW such that XΩ/WX\cong\Omega/W, and this WW is unique up to conjugation in PGL(2,K)PGL(2,K).

Remark 5.2.

There is a natural map Ω/WΩ/Γ1\Omega/W\rightarrow\Omega/\Gamma\cong\mathbb{P}^{1}. This is the expected morphism of degree 22 from the hyperelliptic curve to projective space, ramified at 2g+22g+2 points.

If we are content with an algorithm taking s0,s1,,sgs_{0},s_{1},\ldots,s_{g} as the input representing a Whittaker group WW (so that W=s0s1,,s0sgW=\left<s_{0}s_{1},\ldots,s_{0}s_{g}\right>), the above theorem tells us how to compute the ramification points of the hyperelliptic Mumford curve Ω/W\Omega/W.

Example 5.3.

Let’s construct an example of a Whittaker group of genus 22 with K=3K=\mathbb{Q}_{3}. We need to come up with matrices s0,s1,s2s_{0},s_{1},s_{2} of order 22 with fixed points sitting inside open balls whose corresponding closed balls are disjoint. We will choose them so that the fixed points of s0s_{0} are 0 and 99; of s1s_{1} are 11 and 1010; and of s2s_{2} are 22 and 1111. (The smallest open balls containing each pair of points has radius 13\frac{1}{3}, and the corresponding closed balls of radius 13\frac{1}{3} are disjoint.) The eigenvalues will be 11 and 1-1, and the eigenvectors are the fixed points (written projectively), so we can take

s0=[0911]1[1001][0911]=[10291]s_{0}=\left[\begin{matrix}0&9\\ 1&1\end{matrix}\right]^{-1}\left[\begin{matrix}1&0\\ 0&-1\end{matrix}\right]\left[\begin{matrix}0&9\\ 1&1\end{matrix}\right]=\left[\begin{matrix}-1&0\\ -\frac{2}{9}&1\end{matrix}\right]
s1=[11011]1[1001][11011]=[11920929119]s_{1}=\left[\begin{matrix}1&10\\ 1&1\end{matrix}\right]^{-1}\left[\begin{matrix}1&0\\ 0&-1\end{matrix}\right]\left[\begin{matrix}1&10\\ 1&1\end{matrix}\right]=\left[\begin{matrix}-\frac{11}{9}&\frac{20}{9}\\ -\frac{2}{9}&\frac{11}{9}\end{matrix}\right]
s2=[21111]1[1001][21111]=[13944929139].s_{2}=\left[\begin{matrix}2&11\\ 1&1\end{matrix}\right]^{-1}\left[\begin{matrix}1&0\\ 0&-1\end{matrix}\right]\left[\begin{matrix}2&11\\ 1&1\end{matrix}\right]=\left[\begin{matrix}-\frac{13}{9}&\frac{44}{9}\\ -\frac{2}{9}&\frac{13}{9}\end{matrix}\right].

So the group

Γ=[10291],[11920929119],[13944929139]\Gamma=\left<\left[\begin{matrix}-1&0\\ -\frac{2}{9}&1\end{matrix}\right],\left[\begin{matrix}-\frac{11}{9}&\frac{20}{9}\\ -\frac{2}{9}&\frac{11}{9}\end{matrix}\right],\left[\begin{matrix}-\frac{13}{9}&\frac{44}{9}\\ -\frac{2}{9}&\frac{13}{9}\end{matrix}\right]\right>

is generated by those three elements of order 22 (and is in fact the free product of the groups s0\left<s_{0}\right>, s1\left<s_{1}\right>, and s2\left<s_{2}\right>), and its subgroup

W=s0s1,s0s2=[5981209481119],[2981449881139]W=\left<s_{0}s_{1},s_{0}s_{2}\right>=\left<\left[\begin{matrix}\frac{59}{81}&\frac{20}{9}\\ -\frac{4}{81}&\frac{11}{9}\end{matrix}\right],\left[\begin{matrix}\frac{29}{81}&\frac{44}{9}\\ -\frac{8}{81}&\frac{13}{9}\end{matrix}\right]\right>

is a Whittaker group of rank 22.

The quotient Ω/W\Omega/W is a hyperelliptic curve of genus 22, with six points of ramification G(0),G(1),,G(5)G(0),G(1),\ldots,G(5), where GG is the theta function for Γ\Gamma with suitably chosen aa and bb.

Question 1.

As long as we know the 22-torsion matrices s0,s1,,sgs_{0},s_{1},\ldots,s_{g} that go into making a Whittaker group, we can find the ramification points of the corresponding hyperelliptic curve. But what if we don’t have that data?

  • If we are given W=γ1,,γgW=\left<\gamma_{1},\ldots,\gamma_{g}\right>, can we algorithmically determine whether or not WW is Whittaker?

  • If we know W=γ1,,γgW=\left<\gamma_{1},\ldots,\gamma_{g}\right>, can we algorithmically find s0,s1,,sgs_{0},s_{1},\ldots,s_{g} from γ1,,γg\gamma_{1},\ldots,\gamma_{g}?

  • If we know WW is Whittaker but cannot find s0,s1,,sgs_{0},s_{1},\ldots,s_{g}, is there another way to find the ramification points of Ω/W\Omega/W?

A good first family of examples to consider is Schottky groups generated by two elements. These give rise to genus 22 curves, which are hyperelliptic, so the groups must in fact be Whittaker.

Having discussed going from a Whittaker group to a set of ramification points, we now consider the other direction: going from the ramification points of a totally split hyperelliptic curve and finding the corresponding Whittaker group. This more difficult, though a brute force method was described by Kadziela in [Ka], and was used to compute several genus 22 examples over 5\mathbb{Q}_{5}. We will outline his approach.

After a projective transformation, we may assume that the set of fixed points of the group Γ\Gamma is of the form

S={0,b0,a1,b1,ag1,bg1,1,},S=\{0,b_{0},a_{1},b_{1},\ldots a_{g-1},b_{g-1},1,\infty\},

where

0<|b0|<|a1||bg1|<1,0<|b_{0}|<|a_{1}|\leq\ldots\leq|b_{g-1}|<1,

and where the generators of Γ\Gamma are the 22-torsion matrices sis_{i} with fixed points {ai,bi}\{a_{i},b_{i}\} (taking a0=0a_{0}=0, ag=1a_{g}=1, and bg=b_{g}=\infty). Let us choose parameters for the theta function associated to Γ\Gamma as 0 and 11, and write

G(z)=Θ(0,1;z)=n=0Ln(z),G(z)=\Theta(0,1;z)=\prod_{n=0}^{\infty}L_{n}(z),

where

Ln(z):=γΓ,(γ)=nzγ(0)zγ(1)L_{n}(z):=\prod_{\gamma\in\Gamma,\ell(\gamma)=n}\frac{z-\gamma(0)}{z-\gamma(1)}

is the sub product of Θ\Theta over all matrices in Γ\Gamma with reduced length exactly nn.

Theorem 5.4 (Kadziela’s Main Approximation Theorem, [Ka]).

Assume SS and GG are as above, and let π\pi denote the uniformizer. Then

G(0)=0,G(1)=,G()=1,G(0)=0,G(1)=\infty,G(\infty)=1,

and for zS{0,1,}z\in S-\{0,1,\infty\},

  • G(z)0modπG(z)\equiv 0\mod\pi

  • G(z){4b0modπ2 if z=b0,2zmodπ2 if zb0G(z)\equiv\begin{cases}-4b_{0}\mod\pi^{2}\text{ if $z=b_{0}$},\\ -2z\mod\pi^{2}\text{ if $z\neq b_{0}$}\end{cases}

  • G(z)modπti=0t2Li(z)modπt=i=0t2Li(zmodπt)G(z)\mod\pi^{t}-\prod_{i=0}^{t-2}L_{i}(z)\mod\pi^{t}=\prod_{i=0}^{t-2}L_{i}(z\mod\pi^{t}) for t3t\geq 3.

Let XX be a totally split hyperelliptic curve of genus gg, which after projective transformation we may assume has its set of ramification points in the form

R={0,r0,,r2g2,1,}R=\{0,r_{0},\ldots,r_{2g-2},1,\infty\}

where 0<|r0|<|r1||r2g2|<10<|r_{0}|<|r_{1}|\leq\ldots\leq|r_{2g-2}|<1. We know XΩ/WX\cong\Omega/W for some Whittaker group WW. To find WW it will suffice to find the fixed points SS of the corresponding group Γ\Gamma, so given RR we wish to find SS. We know S=Θ1(R)S=\Theta^{-1}(R), but Θ\Theta is defined by SS, and we cannot immediately invert a function we do not yet know. This means we must gradually approximate candidates for both SS and Θ\Theta that give the desired property that Θ(S)=R\Theta(S)=R. To simplify notation, we will sometimes write S={0,x0,x1,,x2g2,1,}S=\{0,x_{0},x_{1},\ldots,x_{2g-2},1,\infty\} instead of in terms of aia_{i}’s and bib_{i}’s.

The following algorithm follows the description in [Ka, §6]. Although we have not implemented it, Kadziela used a Magma implementation of it to compute several genus 22 examples over 5\mathbb{Q}_{5}.

Algorithm 5.5 (From Ramification Points to Whittaker Group).
1:Set of ramification points R={0,r0,,r2g2,1,}p{}R=\{0,r_{0},\ldots,r_{2g-2},1,\infty\}\subset\mathbb{Q}_{p}\cup\{\infty\}, and desired degree of precision d3d\geq 3
2:The set of fixed points S={x0,,x2g2,1,}S=\{x_{0},\ldots,x_{2g-2},1,\infty\} of Γ\Gamma, approximated modπd\mod\pi^{d}, such that Ω/W\Omega/W has ramification points RR for the corresponding Whittaker group of Γ\Gamma.
3:Sort r0,,r2g1r_{0},\ldots,r_{2g-1} in increasing absolute value and rename.
4:if |r0|=|r1||r_{0}|=|r_{1}| then
5:  return “NOT VALID”
6:end if
7:Define xi=0x_{i}=0 for 0i2g20\leq i\leq 2g-2. (Approximation modπ\mod\pi.)
8:Let m=max{k|rk0modπ2}m=\max\{k\,|\,r_{k}\equiv 0\mod\pi^{2}\}.
9:Set =0\ell=0 and GOOD=FALSE
10:while GOOD=FALSE do
11:  Set x0=14rimodπ2x_{0}=-\frac{1}{4}r_{i}\mod\pi^{2}, and all other xjx_{j}’s to the 12rkmodπ2-\frac{1}{2}r_{k}\mod\pi^{2}.
12:  Test if ii is the right choice using Theorem 5.4; if it is, set GOOD=TRUE
13:  Set =+1\ell=\ell+1.
14:end while
15:for 3td3\leq t\leq d do
16:  Set DONE=FALSE.
17:  while DONE=FALSE do
18:   Choose v¯(𝒪K/𝔪𝒪K)2g1\overline{v}\in(\mathcal{O}_{K}/\mathfrak{m}\mathcal{O}_{K})^{2g-1}, set x¯=(x¯modπt1)+v¯πt\overline{x}=\left(\overline{x}\mod\pi^{t-1}\right)+\overline{v}\pi^{t}.
19:   Compute n=0t2Ln(xi)\prod_{n=0}^{t-2}L_{n}(x_{i}) for 0i2g20\leq i\leq 2g-2.
20:   if this set equals {r0modπt,r2g1modπt}\{r_{0}\mod\pi^{t},\ldots r_{2g-1}\mod\pi^{t}\} then
21:     Set DONE=TRUE.
22:   else
23:     Set DONE=FALSE.
24:   end if
25:  end while
26:end for
27:return x0,x2g1x_{0},\ldots x_{2g-1}.

This algorithm is in some sense a brute force algorithm, as for each digit’s place from 3rd3^{rd} to dthd^{th} it might in principal try every element of (𝒪K/𝔪𝒪K)2g1(\mathcal{O}_{K}/\mathfrak{m}\mathcal{O}_{K})^{2g-1}, essentially guessing the xix_{i}’s digit by digit (lines 13 through 24). It is nontrivial that such a brute force method could even work, but this is made possible by Theorem 5.4 as it tells us how to check whether a choice of element in (𝒪K/𝔪𝒪K)2g1(\mathcal{O}_{K}/\mathfrak{m}\mathcal{O}_{K})^{2g-1} is valid modπm\mod\pi^{m}. As with the other algorithms presented in this paper, future algorithms improving the efficiency would be greatly desirable.

References

  • [AW] K. Arzdorf and S. Wewers: Another proof of the Semistable Reduction Theorem, arxiv: 1211.4624.
  • [Ba] M. Baker: An introduction to Berkovich analytic spaces and non-archimedean potential theory on curves, notes from the 2007 Arizona Winter School on pp-adic geometry, http://people.math.gatech.edu/~mbaker/pdf/aws07mb_v4.pdf.
  • [BPR] M. Baker, S. Payne and J. Rabinoff: Non-archimedean geometry, tropicalization, and metrics on curves, arxiv: 1104.0320.
  • [BW] I. Bouw and S. Wewers: Computing LL-functions and semistable reduction of superelliptic curves, arxiv: 1211.4459.
  • [Ch] M. Chan: Tropical Hyperelliptic Curves, J. of Alg. Comb. Volume 37, Issue 2 (2013): 331-359.
  • [CMV] M. Chan, M. Melo and F. Viviani: Tropical Teichmüller and Siegel spaces, Proc. of the CIEM workshop in tropical geometry, AMS Contemporary Mathematics 589 (2013), 45-85.
  • [CS] M. Chan and B. Sturmfels: Elliptic curves in honeycomb form, Proc. of the CIEM workshop in tropical geometry, AMS Contemporary Mathematics 589 (2013), 87-107.
  • [GP] L. Gerritzen and M. van der Put: Schottky groups and Mumford curves, Lect. Notes in Math. 817 (1980).
  • [Gi] J. Gilman: The non-Euclidean Euclidean algorithm, arxiv: 1207.1062.
  • [Ho] J. Holly: Pictures of ultra metric spaces, the pp-adic numbers, and valued fields, Amer. Math. Monthly 108.8 (2001), 721-728.
  • [Ka] S. Kadziela: Rigid analytic uniformization of hyperelliptic curves, PhD Thesis, University of Illinois at Urbana Champaign (2007).
  • [Mu1] D. Mumford: An analytic construction of degenerating curves over complete local rings, Composito Math. 24.2 (1972), 129-174.
  • [Mu2] D. Mumford: An analytic construction of degenerating abelian varieties over complete local rings, Composito Math. 24.3 (1972), 239-272.
  • [Pu1] M. van der Put: pp-adic Whittaker groups, Groupe de travail d’analyse ultramétrique 6.15 (1978-1979), 1-6.
  • [Pu2] M. van der Put: Discrete groups, Mumford curves and Theta Functions, Annales de la faculté des sciences de Toulouse 6.1 (1992), 399-438.
  • [Sage] W. A. Stein et al.: Sage Mathematics Software (Version 5.9), The Sage Development Team, 2013, http://www.sagemath.org.