Schottky Algorithms: Classical meets Tropical
Lynn Chua Mario Kummer Bernd Sturmfels
math.AG

[
    [
    December 30, 2023
=====================



 We present a new perspective on the Schottky problem that links numerical computing
with tropical geometry. The task is to decide whether a 
symmetric matrix defines a Jacobian, and, if so, to compute the curve
and its canonical embedding. We offer solutions and their implementations in
genus four, both classically and tropically. 
The locus of cographic matroids arises from tropicalizing
the Schottky–Igusa modular form.




§ INTRODUCTION


The Schottky problem <cit.> concerns the characterization of Jacobians of genus g curves
 among all abelian varieties of dimension g. The latter are parametrized by the
 Siegel upper-half space ℌ_g, i.e. the set of complex symmetric g× g 
 matrices τ with positive definite imaginary part. The Schottky locus
 𝔍_g is the subset of matrices τ in ℌ_g that represent Jacobians.
 Both sets are complex analytic spaces whose dimensions reveal that the inclusion is proper for g ≥ 4:

    dim(𝔍_g)  =   3g -3     and     dim(ℌ_g)  =  g+12.

 For g=4, the dimensions in (<ref>) are 9 and 10,
 so 𝔍_4 is an analytic hypersurface in ℌ_4.
 The equation defining this hypersurface is a polynomial of degree 16 in
 the theta constants. First constructed by Schottky <cit.>,
and further developed by Igusa <cit.>, this modular form
embodies the theoretical solution (cf. <cit.>) to the classical Schottky problem for g=4.

The Schottky problem also exists in tropical geometry <cit.>.
The tropical Siegel space ℌ_g^ trop is the 
cone of positive definite g × g-matrices, endowed with the fan structure given by the
second Voronoi decomposition. The tropical Schottky locus
𝔍_g^ trop is the subfan indexed by cographic matroids <cit.>.
A detailed analysis for g≤ 5 is found in <cit.>.
It is known, e.g. by <cit.>, that the inclusion 
𝔍_g^ trop⊂ℌ_g^ trop correctly
tropicalizes the complex-analytic inclusion
𝔍_g ⊂ℌ_g. However,
 it has been an open problem (suggested in <cit.>) to find
a direct link between the equations that govern these two inclusions.

We here solve this problem, and 
develop computational tools for the Schottky problem,
both classically and tropically.
We distinguish between the Schottky Decision Problem
and the Schottky Recovery Problem. For the former, the input 
is a matrix τ in ℌ_g resp. ℌ_g^ trop,
possibly depending on parameters, and we must decide whether
τ lies in 𝔍_g resp. 𝔍_g^ trop.
For the latter, τ already passed that test, and we 
compute a curve whose Jacobian is given by τ.
The recovery problem also makes sense for g=3,
both classically <cit.> and tropically <cit.>.


This paper is organized as follows. In Section <ref> we tackle the
classical Schottky problem as a task in
numerical algebraic geometry <cit.>. For g=4,
we utilize the software abelfunctions <cit.> to
test whether the Schottky–Igusa modular form vanishes. In the affirmative case, 
we use a numerical version of Kempf's method <cit.> to compute a
canonical embedding into ^3.
Our main results in Section <ref>  are Algorithms <ref> and <ref>.
Based on the work in <cit.>,
these furnish a  computational solution to the tropical Schottky problem.
Key ingredients are  cographic matroids and the f-vectors of Voronoi polytopes.

Section <ref> links the classical and tropical Schottky scenarios.
Theorem <ref> expresses the edge lengths of a 
metric graph in terms of tropical theta constants, and
Theorem <ref> explains what happens to the
Schottky–Igusa modular form in the tropical limit.
We found it especially gratifying to discover how the cographic locus
is encoded in the classical theory.



The software we describe in this paper is made available at the supplementary website

    <http://eecs.berkeley.edu/ chualynn/schottky>

This contains several pieces of code for the tropical Schottky problem,
as well as a more coherent  program 
for the classical Schottky problem that makes calls to
abelfunctions.




§ THE CLASSICAL SCHOTTKY PROBLEM


We fix g=4, and review theta functions and 
Igusa's construction <cit.> of the equation that
cuts out 𝔍_4. 
For any vector m∈ℤ^8 we write
 m= (m',m”) for suitable m',m”∈ℤ^4.
  The Riemann theta function 
with characteristic m is the following function of  τ∈ℌ_4 and
z∈ℂ^4:

    θ[m](τ,z)  =   ∑_n∈ℤ^4exp[πi (n+m'/2)^t τ (n+m'/2)+2πi(n+m'/2)^t(z+m”/2)].

For numerical computations of the theta function one has to make a good choice of lattice points to sum over in order for this series to converge rapidly  <cit.>.
We use the software abelfunctions <cit.>
to evaluate θ[m] for arguments τ and z
with floating point coordinates.

Up to a global multiplicative factor,
the definition (<ref>) depends only on the image of m in
(ℤ/2ℤ)^8.
The sign of the characteristic m is e(m)=(-1)^(m')^t m”.
Namely, m is even if e(m)=1 and odd if e(m) = -1.
A triple {m_1,m_2,m_3}⊂ (ℤ/2ℤ)^8
 is called azygetic if e(m_1)e(m_2)e(m_3)e(m_1+m_2+m_3) = -1.
Suppose that this holds. Then we choose a rank 3 subgroup N of (ℤ/2ℤ)^8 such that all elements of
 (m_1+N) ∪ (m_2+N) ∪ (m_3+N) are even.
 
We  consider the following three products of eight theta constants each:

    π_i     =∏_m∈ m_i+Nθ[m](τ,0)     for   i=1,2,3.

 

 The function ℌ_4 →ℂ that takes
 a symmetric 4 × 4-matrix τ to

    π_1^2+π_2^2+π_3^2-2π_1π_2-2 π_1π_3-2 π_2π_3

is independent of the choices above. It vanishes
if and only if τ lies in the closure of the Schottky locus 𝔍_4.


We refer to the expression (<ref>) as the Schottky–Igusa modular form.
This is a polynomial of degree 16 in the theta constants  θ[m](τ,0). Of course, the
formula is unique only modulo the ideal that defines the embedding of the moduli space 𝒜_4 in
the ^15 of theta constants. 

Our implementation uses the polynomial that is given by the following specific choices:

    m_1=[ 1 1; 0 0; 1 1; 0 0 ], 
    m_2=[ 0 1; 0 0; 0 0; 1 0 ], 
    m_3=[ 0 1; 0 0; 1 1; 1 1 ],  
      n_1=[ 0 1; 0 1; 0 1; 1 0 ], 
      n_2=[ 0 0; 0 0; 1 0; 1 1 ], 
      n_3=[ 0 1; 0 0; 1 1; 0 1 ].

The vectors n_1,n_2,n_3 generate the subgroup N in (ℤ/2ℤ)^8.
One checks that the triple {m_1,m_2,m_3} is azygetic
and that the three cosets m_i + N consist of even elements only.
The computations to be described next were done with the Sage library
abelfunctions <cit.>. 

The algorithm in <cit.> finds the Riemann matrix τ∈𝔍_g of a 
plane curve in  ℂ^2. It is implemented in abelfunctions.  We first check
that (<ref>)  does indeed vanish for such τ.


 The plane curve y^5+x^3-1 = 0 has genus four. Its 
  Riemann matrix τ is
 
    [  0.16913 + 1.41714i -0.81736 - 0.25138i -0.05626 - 0.44830i  0.24724 + 0.36327i; -0.81736 - 0.25138i -0.31319 + 0.67096i -0.02813 - 0.57155i  0.34132 + 0.40334i; -0.05626 - 0.44830i -0.02813 - 0.57155i  0.32393 + 1.44947i -0.96494 - 0.63753i;  0.24724 + 0.36327i  0.34132 + 0.40334i -0.96494 - 0.63753i  0.62362 + 0.73694i ] .

Evaluating the 16 theta constants θ[m](τ,0) numerically with abelfunctions, we find that

    π_1^2+π_2^2+π_3^2   =   -5.13472888270289 + 6.13887870578982i,  
    
     2(π_1π_2+π_1π_3+π_2π_3)   =   -5.13472882638710 + 6.13887931435788i.

We trust that (<ref>) is zero, and conclude that
τ lies in the Schottky locus 𝔍_4, as expected.


Suppose now that we are given a matrix  τ that depends on one or two parameters,
so it traces out a curve or surface in ℌ_4. Then we can use our numerical
method to determine the Schottky locus  inside that curve or surface. Here is an illustration
for a surface in ℌ_4.
 
 
  The following one-parameter family of genus 4 curves is found in <cit.>:
 
    y^6   =   x(x+1)(x-t).

 This is both a Shimura curve and a Teichmüller curve.
Its Riemann matrix is  ρ(t) = Z_2^-1 Z_1 where
Z_1,Z_2 are given in <cit.>.
Consider the following two-parameter family  in ℌ_4:

    τ(s,t)   =   s · diag(2,3,5,7)   +  ρ(t).

We are interested in the restriction of
the Schottky locus 𝔍_4 to the (s,t)-plane.
For our experiment, we assume that the two parameters satisfy
 s ∈ [-0.5,0.5] and λ^-1(t) ∈ [ i,i+1],
 where λ is the function  in <cit.>. 
Using abelfunctions, we computed the absolute value of
the modular form (<ref>)
at 6400 equally spaced rational points in the square
[-0.5,0.5] × [i,i+1]. That graph 
 is shown in Figure <ref>.
For s different from zero, the smallest absolute value of
(<ref>) is 4.3 × 10^-3.
For s=0, all absolute values are below 2.9 × 10^-8.
Based on this numerical evidence, we conclude that the
Schottky locus of our family is the line s=0.





We now come to the Schottky Recovery Problem. Our input is a matrix
τ in 𝔍_4. Our task is to compute a curve whose
Riemann matrix equals τ. We use the following result
from Kempf's paper <cit.>.
The theta divisor in the Jacobian 
ℂ^4/(ℤ^4 + ℤ^4 τ )
is the zero locus Θ^-1(0) of the Riemann theta function
Θ(z) := θ[0](τ,z). For generic τ this divisor is singular at
precisely two points. These represent 3-to-1 maps from
the curve to ^1. We compute a vector z^* ∈ℂ^4 that is
a singular point of Θ^-1(0) by solving the system of five equations

    Θ(z)   =  ∂Θ/∂ z_1(z) = 
     ∂Θ/∂ z_2(z) = 
      ∂Θ/∂ z_3(z) = 
       ∂Θ/∂ z_4(z) =  0.

The Taylor series of the Riemann theta function
Θ at the singular point z^* has the form

    Θ(z^*+x)  =   f_2(x)  +  f_3(x)   +  f_4(x)  +   higher order terms,

where f_s is a homogeneous polynomial of degree s in x = (x_1,x_2,x_3,x_4).


The canonical curve with Riemann matrix τ is the
degree 6 curve in ^3 that is defined by the quadratic equation f_2 = 0
and the cubic equation f_3 = 0.


Thus our algorithm for the Schottky Recovery Problem consists of solving the 
five equations (<ref>) for z^* ∈ℂ^4, followed by
extracting the polynomials f_2 and f_3 in the Taylor series (<ref>). Both of 
these steps can be done numerically using the software abelfunctions <cit.>.

  Let τ∈𝔍_4 be the Riemann matrix of the genus 4 curve C = {x^3 y^3 +x^3 + y^3 = 1}. 
We obtain τ numerically using abelfunctions. We want to recover C from τ. To be precise,
given only τ,  we want to find defining equations
f_2 = f_3 = 0 in ^3 of the canonical embedding of C. For that we use evaluations of Θ(z) and its derivatives in
abelfunctions, combined with a numerical optimization routine in SciPy <cit.>.
We solve the equations (<ref>) starting from random
points z = u + τ v where u,v ∈^4
with entries between 0 and 1. After several tries,
the local method in SciPy converges to the following solution of our equations:

    z^* = (0.55517+0.69801i,  0.53678+0.26881i, -0.50000-0.58958i,  0.55517+0.69801i) .

Using (<ref>), we computed the quadric f_2, which is nonsingular, as well as the cubic f_3:

    f_2(x)     =     
    (-3.044822827 + 21.980542613 i)· x_1^2   +( - 237.95207224  + 252.54744634 i)· x_1 x_2 
           +(- 222.35552015  + 139.95612952 i)· x_1 x_3   +(- 200.66932133  - 16.596272620 i)· x_1 x_4 
          
      + (- 191.16241727 - 85.22650070 i)· x_2^2   + (- 429.11449060 + 167.32094535 i)· x_2 x_3 
           
    +(  - 237.952072 + 252.54744632 i)· x_2 x_4   +(- 206.75896934 + 27.364814282 i)· x_3^2 
           
    +(  222.35552013 + 139.95612953 i)· x_3 x_4   + (- 3.0448227745 + 21.980542601 i)· x_4^2
 
    f_3(x)    =    
    (441.375966486 + 61.14097461986 i)· x_1^3   +(  2785.727151434 + 2303.609067429 i)· x_1^2 x_2 
    
    +   ⋯  ⋯     +    ( 441.3759668263 + 61.14097402189 i)· x_4^3.

As a proof of concept we also computed the 120 tritangent planes numerically directly from τ.
    These planes are indexed by the 120 odd theta characteristics m.
    In analogy to the computation  in <cit.> of the 28 bitangents for g=3,
    their defining equations are

    ∂θ[m](τ,z)/∂ z_1|_z=0· x_1    +   ∂θ[m](τ,z)/∂ z_2|_z=0· x_2    +   ∂θ[m](τ,z)/∂ z_3|_z=0· x_3    +   ∂θ[m](τ,z)/∂ z_4|_z=0· x_4     =     0.

We verified numerically that each such plane
meets {f_2 = f_3 = 0} in three double points.


 On our website (<ref>), we offer a program in Sage whose input is
a symmetric 4 × 4-matrix τ∈ℌ_4, given numerically.
The code decides whether τ lies in 𝔍_4 and, in the affirmative case, it computes
the canonical curve {f_2 = f_3 = 0} and its 120 tritangent planes.




§ THE TROPICAL SCHOTTKY PROBLEM


Curves, their Jacobians, and the Schottky locus have
natural counterparts in the combinatorial setting of tropical geometry.
We review the basics from <cit.>.
The role of a curve is played by a connected metric graph Γ = (V,E,l,w).
This has vertex set V, edge set E, a length function l: E →ℝ_> 0,
and a weight function w : V →ℤ_≥ 0.
The genus of Γ is

    g   =    |E| -|V|  +1  + ∑_v∈ V w(v).

The moduli space ℳ_g^ trop comprises all metric graphs of genus g.
This is a stacky fan of dimension 3g-3.
See <cit.> for a colorful illustration.
The tropical Torelli map ℳ_g^ trop→ℌ_g^ trop
takes Γ to its (symmetric and positive semidefinite)  Riemann matrix Q_Γ.
 
Fix a basis for the integral homology H_1(Γ,ℤ) ≃ℤ^g. 
Beside the usual cycles in Γ, this group has w(v)
generators for the virtual cycles at each vertex v.
Let B denote the g × |E| matrix whose columns
record the coefficients of each edge in the basis vectors.
Let D be the |E| × |E| diagonal matrix whose entries are the edge lengths.
The Riemann matrix of Γ is

    Q_Γ   =    B · D · B^t.

One way to choose a basis is to fix an orientation 
and a spanning tree of Γ.
Each edge not in that tree then determines a cycle
with ± 1-coefficients.
See <cit.> for details and an example.
Changing the basis of H_1(Γ,ℤ)
corresponds to the action of GL_g(ℤ) on
Q_Γ by conjugation.

The matrix Q_Γ has rank g - ∑_v∈ V w(v).
We defined ℌ_g^ trop with positive definite matrices.
Those have rank g.
For that reason, we now
restrict to graphs with
zero weights, i.e. w ≡ 0.

The tropical Schottky locus  𝔍_g^ trop 
is the set of all matrices (<ref>),
where Γ = (V,E,l) runs over graphs
of genus g, and B runs over their cycle bases.
This set is known as the cographic locus
in ℌ_g^ trop, because
the g × |E| matrix B is a representation
of the cographic matroid of Γ.

The Schottky Decision Problem asks for a test of
membership in 𝔍_g^ trop. To be precise,
given a positive definite matrix Q, does there exist
a metric graph Γ such that Q = Q_Γ?

To address this question, we need the polyhedral fan structures
on 𝔍_g^ trop and  ℌ_g^ trop.
Let G = (V,E) be the graph underlying Γ,
with E = {e_1,e_2,…,e_m}. Fix a cycle basis as above.
Let b_1,b_2,…,b_m be the column vectors of the g × m-matrix B.
Formula (<ref>) is equivalent to

    Q_Γ  =   l(e_1) b_1b_1^t + l(e_2) b_2 b_2^t +  ⋯ +  l(e_m)b_m b_m^t.

The cone of all Riemann matrices for the graph G, allowing the edge lengths to vary, is 

    σ_G,B  =  ℝ_>0{ b_1b_1^t,  b_2 b_2^t,  … ,  b_m b_m^t} .

This is a relatively open rational convex polyhedral cone,
 spanned by matrices of rank 1.
The collection of all cones σ_G,B is a polyhedral fan whose support
is the Schottky locus 𝔍_g^ trop.

This fan is a subfan of the
second Voronoi decomposition of the cone ℌ_g^ trop of positive
definite matrices.
 The latter fan is defined as follows. Fix
a Riemann matrix Q ∈ℌ_g^ trop and
consider its quadratic form ℤ^g →ℝ, 
x ↦ x^t Q x. The values of this quadratic form
define a regular polyhedral subdivision of ℝ^g
with vertices at ℤ^g. This is denoted Del(Q) and
known as the Delaunay subdivision of Q.
Dual to Del(Q) is the Voronoi decomposition of
ℝ^g. The cells of the Voronoi decomposition of Q are
the lattice translates of the Voronoi polytope

    {   p∈ℝ^g  :  2 p^t Q x ≤ x^t Q x
        for all  x∈ℤ^g  }.

This is the set of points in ℝ^g for which the origin is the closest lattice point,
in the norm given by Q.
If Q is generic then
the Delaunay subdivision is a triangulation
and the Voronoi polytope (<ref>) is simple.
It is dual to the link of the origin in the simplicial complex Del(Q).

The structures above represent principally polarized abelian varieties
in tropical geometry. A tropical abelian variety is the torus
ℝ^g/ℤ^g together with a quadratic form Q ∈ℌ_g^ trop.
The tropical theta divisor is given by the  codimension one cells in the 
induced Voronoi decomposition of ℝ^g/ℤ^g.
See <cit.> for an introduction with many pictures and many references.

We now fix an arbitrary Delaunay subdivision D of ℝ^g.
Its secondary cone is defined as

    σ_D   =  { Q∈ℌ_g^ trop  |  (Q) = D } .

This is a relatively open convex polyhedral cone. It consists of
positive definite matrices Q whose Voronoi polytopes (<ref>)
have the same normal fan. The group GL_g(ℤ) acts on the
set of secondary cones. In his classical reduction theory for quadratic forms, 
Voronoi <cit.> proved that the cones σ_D form a polyhedral fan,
now known as the second Voronoi decomposition of ℌ_g^ trop,
and that there are only finitely many secondary cones σ_D up to the action
of GL_g(ℤ). The following summarizes  characteristic features for matrices
in the Schottky locus 𝔍_g^ trop.

 
Fix a graph G with metric D,
homology basis B, and Riemann matrix  Q = BDB^t.
The Voronoi polytope (<ref>) is affinely isomorphic to the
zonotope ∑_i=1^m [-b_i,b_i]. 
The secondary cone σ_ Del(Q) is spanned
 by the rank one matrices b_i b_i^t: it equals σ_G,B in
(<ref>).



This can be extracted from Vallentin's thesis <cit.>.
The affine isomorphism is given by the invertible matrix
Q, as explained in item iii) of <cit.>.
The Voronoi polytope being the zonotope 
 ∑_i=1^m [-b_i,b_i] follows from
the discussion on cographic lattices in <cit.>.
The result for the secondary cone is derived from <cit.>.
See <cit.> for many examples.



We now fix g=4. Vallentin <cit.> lists  all 52 combinatorial types of Delaunay subdivisions 
of ℤ^4. His table contains the f-vectors of all 52 Voronoi polytopes. Precisely
16 of these types are cographic, and these comprise the Schottky locus 𝔍_4^ trop.
These are described in rows 3 to 18 of the table in <cit.>. We reproduce 
the relevant data in Table <ref>. The following key lemma is found by
inspecting Vallentin's list of f-vectors.

 The f-vectors of the 16 Voronoi polytopes representing the Schottky locus
𝔍_4^ trop are distinct from the f-vectors of the other 36 Voronoi polytopes,
corresponding to ℌ_4^ trop\𝔍_4^ trop.


This lemma gives rise to the following method for the tropical Schottky decision  problem.




|c|c|c|c|c|c|c|
  Graph G     Riemann matrix Q_Γ     f_0     f_1    
f_2     f_3     Dimension of σ_D 

0pt1.4
[baseline=([yshift=-.5ex]current bounding box.center)] (0,0) circle (1pt) (0,1) circle (1pt)
  (0.5,0.5) circle (1pt) (1,0.5) circle (1pt) (1.5,0) circle (1pt) (1.5,1) circle (1pt); (0,0)–(0,1)–(0.5,0.5)–(0,0) (0,1)–(1.5,1)–(1.5,0)–(0,0) (0.5,0.5)–(1,0.5) (1.5,0)–(1,0.5)–(1.5,1);
   
[  3  1 -1  0;  1  4  1  1; -1  1  4 -1;  0  1 -1  3 ]
      96     198     130     28     9 

 [baseline=([yshift=-.5ex]current bounding box.center)]
  (0,0) circle (1pt) (0,1) circle (1pt) (1,0) circle (1pt) (2,0) circle (1pt)
  (1,0) circle (1pt) (1,1) circle (1pt) (2,1) circle (1pt);(0,0)–(0,1) (0,0)–(1,1) (0,0)–(2,1) (1,0)–(0,1) (1,0)–(1,1) (1,0)–(2,1) (2,0)–(0,1) (2,0)–(1,1) (2,0)–(2,1);
    [  4  2 -2 -1;  2  4 -1 -2; -2 -1  4  2; -1 -2  2  4 ]
      102     216     144     30     9 
 0pt1.4
[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (0,1) circle (1pt) (1,0) circle (1pt)
(1,1) circle (1pt) (0.5,0.5) circle (1pt);
(0,0)–(1,0) (1,1)–(0,1)–(0,0) (0,0)–(0.5,0.5)–(1,1)
(0.5,0.5)–(0,1) (1,0) to [bend left] (1,1) (1,0) to [bend right] (1,1);
 
    [  2  0 -1  0;  0  3  1  1; -1  1  4 -1;  0  1 -1  3 ]     72     150     102     24     8 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (0,1) circle (1pt) (1,0) circle (1pt)
(1,1) circle (1pt) (0.5,0.5) circle (1pt);
(0,0)–(1,0)–(1,1)–(0,1)–(0,0) (0,0)–(0.5,0.5)–(1,1) (1,0)–(0.5,0.5)–(0,1);
 
    [  3  2  1 -1;  2  4  2 -1;  1  2  4  1; -1 -1  1  3 ]     78     168     116     26     8 
 0pt1.4
[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (0,1) circle (1pt) (1,0) circle (1pt)
(1,1) circle (1pt);
(0,0)–(1,0) (0,0)–(0,1) (0,0)–(1,1) (1,0) to [bend left]
(1,1) (1,0) to [bend right] (1,1) (0,1)–(1,1) (0,1)–(1,0);

    [  3  1 -1 -1;  1  3  1  1; -1  1  3  2; -1  1  2  3 ]     60     134     98     24     7 

 [baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (0,1) circle (1pt) (1,0) circle (1pt)
(1,1) circle (1pt);
(0,0)–(1,0) (1,0) to [bend left] (1,1) (1,0) to [bend right]
(1,1) (0,1) to [bend left] (1,1) (0,1) to [bend right] (1,1)
(0,0) to [bend left] (0,1) (0,0) to [bend right] (0,1); 
 
    [  2  0 -1 -1;  0  2 -1 -1; -1 -1  4  3; -1 -1  3  4 ]    
  54     116     84     22     7 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (0,1) circle (1pt) (1,0) circle (1pt)
(1,1) circle (1pt);
(0,0)–(1,0) (0,0)–(0,1) (0,0)–(1,1) (1,0) to [bend left]
(1,1) (1,0) to [bend right] (1,1) (0,1) to [bend left]
(1,1) (0,1) to [bend right] (1,1);
 
    [  2  0 -1  0;  0  2  0 -1; -1  0  3  1;  0 -1  1  3 ]
     54     114     80     20     7 

[baseline=([yshift=1ex]current bounding box.center)]
(0,0) circle (1pt) (0,0.8) circle (1pt) (0.8,0) circle (1pt)
(0.8,0.8) circle (1pt);
(0,0)–(0.8,0) (0,0)–(0,0.8) (0,0)–(0.8,0.8) (0.8,0) (0.8,0)–(0.8,0.8)
(0,0.8)–(0.8,0.8) (0,0.8)–(0.8,0)
(0.8,0) to [in=30,out=-60,distance=8mm] (0.8,0);
     [  3  1 -1  0;  1  3  1  0; -1  1  3  0;  0  0  0  1 ]     48     96     64     16     7 
 0pt1.4
[baseline=([yshift=-.5ex]current bounding box.center)]
(0,1) circle (1pt) (1,1) circle (1pt) (0.5,0) circle (1pt);
(0.5,0) to [bend left] (0,1) (0.5,0) to [bend right] (0,1)
(0.5,0) to [bend left] (1,1) (0.5,0) to [bend right] (1,1) 
(0,1) to [bend left] (1,1) (0,1) to [bend right] (1,1);
 
    [  2  0 -1 -1;  0  2  1  1; -1  1  3  2; -1  1  2  3 ]     46     108     84     22     6 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0,1) circle (1pt) (1,1) circle (1pt) (0.5,0) circle (1pt);
(0.5,0) to [bend left] (0,1) (0.5,0) to [bend right] (0,1)
(0.5,0) to [bend left] (1,1) (0.5,0) to [bend right] (1,1) 
(0,1)–(1,1) (0.5,0)–(1,1);

    [  2 -1 -1 -1; -1  3  2  2; -1  2  3  2; -1  2  2  3 ]     42     94     72     20     6 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0.6) circle (1pt) (0.6,0.6) circle (1pt) (0.3,0) circle (1pt);
(0.3,0) to [bend left] (0,0.6) (0.3,0) to [bend right] (0,0.6)
(0.3,0) to [bend left] (0.6,0.6) (0.3,0) to [bend right] (0.6,0.6) 
(0,0.6)–(0.6,0.6) (0.3,0) to [in=-30,out=-150, distance=8mm] (0.3,0);

    [ 2 1 1 0; 1 3 2 0; 1 2 3 0; 0 0 0 1 ]     36     74     52     14     6 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (0.8,0) circle (1pt) (1.6,0) circle (1pt);
(0,0) to [bend left=40] (0.8,0) (0,0) to [bend right=40] (0.8,0) (0,0)–(0.8,0);
(0.8,0) to [bend left=40] (1.6,0) (0.8,0) to [bend right=40] (1.6,0) (0.8,0)–(1.6,0);

    [ 2 1 0 0; 1 2 0 0; 0 0 2 1; 0 0 1 2 ]     36     72     48     12     6 
 0pt1.4
[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (1,0) circle (1pt);
(0,0) to [bend left=20] (1,0) (0,0) to [bend left=60] (1,0)
(0,0) to [bend right=20] (1,0) (0,0) to [bend right=60] (1,0) (0,0)–(1,0);
 
    [ 2 1 1 1; 1 2 1 1; 1 1 2 1; 1 1 1 2 ]     30     70     60     20     5 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt) (1,0) circle (1pt);
(0,0) to [bend left=20] (1,0) (0,0) to [bend left=60] (1,0)
(0,0) to [bend right=20] (1,0) (0,0) to [bend right=60] (1,0);
(1,0) to[in=50,out=-50, distance=8mm,looseness=50] (1,0);
 
    [ 2 1 1 0; 1 2 1 0; 1 1 2 0; 0 0 0 1 ]     28     62     48     14     5 

[baseline=([yshift=-.5ex]current bounding box.center)]
(0.2,0) circle (1pt) (1,0) circle (1pt);
(0.2,0) to [bend left=40] (1,0) (0.2,0) to [bend right=40] (1,0) (0.2,0)–(1,0);
(1,0) to[in=90,out=0, distance=8mm] (1,0) (1,0) to[in=0,out=-90, distance=8mm] (1,0);
 
     [ 2 1 0 0; 1 2 0 0; 0 0 1 0; 0 0 0 1 ]       24     48     34     10     5 
 [baseline=([yshift=-.5ex]current bounding box.center)]
(0,0) circle (1pt);
(0,0) to[in=0, out=90,distance=8mm] (0,0) (0,0) to[in=90, out=180,distance=8mm](0,0) (0,0) to[in=180, out=270,distance=8mm] (0,0) (0,0) to[in=270, out=0,distance=8mm] (0,0);
 
    [ 1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1 ]     16     32     24     8     4 
 The tropical Schottky locus for g=4




We implemented Algorithm <ref> using existing software 
for polyhedral geometry, namely the  package  
due to Dutour Sikirić <cit.>, as well as Joswig's 
 polymake <cit.>.


The first column of Table <ref> shows all relevant graphs G of genus 4.
The second column gives a representative Riemann matrix.
Here all edges have length 1 and a cycle basis B was chosen.
Using (<ref>), we also  precomputed 
the secondary cones  σ_G,B for the 16
 representatives.

 Using the  package  <cit.> we compute the Voronoi polytope of

    Q  =  [ 14 -9 11  0; -9 11 -2  1; 11 -2 21 11;  0  1 11 14 ].

Its f-vector is (62,142,104,24). This does not appear in
Table <ref>.
Hence Q is not in  𝔍_4^ trop.


We now address the Schottky Recovery Problem.
The input is a matrix Q ∈𝔍_4^ trop.
From Algorithm <ref> we know the f-vector
of the Voronoi polytope. Using Table <ref>,
this uniquely identifies the graph G.
Note that our graphs G are dual to those in <cit.>.
From our precomputed list, we also know the secondary cone σ_G,B
for some choice of basis B.




We implemented this algorithm as follows.
Step 2  can be done using  <cit.>.
This code computes the secondary cone  σ_D containing
a given positive definite matrix Q.
The matrix X ∈ GL_4(ℤ) in Step 3 is also
found by , but with external calls to the package  
due to Plesken and Souvignier <cit.>.
We refer to <cit.> for details.
For Step 4 we note that the rank 1 matrices b_1 b_1^t, …, b_m b_m^t are linearly
independent <cit.>. Indeed, the two 9-dimensional secondary cones σ_G,B at the top of 
Table <ref> are simplicial, and so are their faces.
Hence the multipliers ℓ_1,…,ℓ_m found in Step 4 are unique and positive.
These ℓ_i must agree with the desired edge lengths l(e_i), by the formula
for Q= Q_Γ in (<ref>).

 Consider the Schottky Recovery Problem for the matrix

    Q   =  [ 17  5  3  5;  5 19  7 11;  3  7 23 16;  5 11 16 29 ].

Using , we find that the f-vector of its
Voronoi polytope is (96,198,130,28). This matches the first row in
Table <ref>. Hence Q ∈𝔍_4^ trop,
and G is the triangular prism.
Using  and , we find a matrix that
 maps Q into our preprocessed secondary cone:

    X = [  0  0  0  1;  1  0  0  0;  0  1  1  0; -1 -1  0  0 ] ∈  GL_4(ℤ)     gives    
    Q' = X^tQX = [ 26  9 -9  0;  9 20  7 -2; -9  7 23  3;  0 -2  3 17 ] ∈ σ_G,B.

This Q' is the Riemann matrix of the metric graph in Figure
<ref>, with basis cycles
 e_2+e_6-e_3, -e_1-e_4+e_7+e_2, -e_1-e_5+e_8+e_3, and
e_4+e_9-e_5. These are the rows of the 4 × 9-matrix B.
In Step 4 of Algorithm <ref> we compute
D =  diag(ℓ_1,…,ℓ_9) =  diag(
7,9,9,2,3,8,2,4,12). 
 In Step 5 we output the metric graph in 
Figure <ref>.
Its Riemann matrix equals Q = BDB^t.




It is instructive to compare Algorithms <ref> and
<ref> with Section <ref>.
Our classical solution is not just the abstract
Riemann surface but it consists of a canonical embedding into ^3.

Canonical embeddings also exist for metric graphs Γ, as
explained in <cit.>. However, even computing the
ambient space |K|, that plays the role of ^3, is non-trivial
in that setting. For g=4 this is solved in <cit.>.
An alternative approach is to construct a 
classical curve over a non-archimedean field that tropicalizes to Γ.
See <cit.> for first steps in that direction.

Example <ref> explored the Schottky locus in a
two-parameter family of Riemann matrices.
In the tropical setting, it is natural to intersect 
ℌ_g^ trop with an
affine-linear space L of symmetric matrices.
The intersection  ℌ_g^ trop∩ L
is a spectrahedron.
By the Schottky locus of a spectrahedron
we mean 𝔍_g^ trop∩ L.
This is an infinite periodic polyhedral complex
inside the spectrahedron. For
quartic spectrahedra <cit.>, when g=4,
this locus has codimension one.


[The Schottky locus of a quartic spectrahedron] We consider the matrix

    Q = 
     [     1589 - 2922 s + 960 t              789 - 1322 s     -820 + 660 s - 1350 t -820 + 3260 s +    2550 t;              789 - 1322 s     1589 - 2922 s - 960 t    -820 + 3260 s - 2550 t    -820 + 660 s +  1350 t;     -820 + 660 s - 1350 t    -820 + 3260 s - 2550 t     1665 + 450 s + 3120 t              -25 - 2930 s; -820 + 3260 s +    2550 t     -820 + 660 s + 1350 t              -25 - 2930 s     1665 + 450 s - 3120 t ].

Here s and t are parameters. This defines a plane L in the
space of symmetric 4 × 4-matrices. The left diagram in  Figure <ref>
shows the hyperbolic curve { det(Q)=0}.
The spectrahedron ℌ_g^ trop∩ L is bounded by its inner oval.
The right diagram shows the second Voronoi decomposition.
The Schottky locus  𝔍_g^ trop∩ L 
is a proper subgraph 
of its edge graph. 
It is shown in red. Note that the graph has infinitely many edges and regions.





 We described some computations in GAP and in polymake
that realize Algorithms <ref> and <ref>.
The code for these implementations  is made available on our website (<ref>).










§ TROPICAL MEETS CLASSICAL



In this section we present a second solution to the tropical Schottky problem.
It is new and different from the one in Section <ref>, and it
links directly to  the classical solution in Section <ref>.

Let Q ∈ℌ_g^ trop be a positive definite matrix for arbitrary g. 
Mikhalkin and Zharkov <cit.> define the following analogue
to the Riemann theta function in the max-plus algebra:

    Θ(Q,x)  :=  max_λ∈ℤ^g{λ^t Q x-1/2λ^t Q λ}.

This tropical theta function describes the asymptotic behavior of the 
classical Riemann theta function with Riemann matrix t·τ when t goes to infinity, as long as there are no cancellations.   This is made precise in Proposition <ref>. Here,
the real matrix Q is the imaginary part of τ. 

  Analogously, for u∈ℤ^g, we define the tropical theta constant with characteristic u to be 
  
    Θ_u(Q)  :=  2·Θ(Q,u/2)-1/4 u^t Q u.
 
  In the classical case, characteristics are vectors m = (m',m”) in ℤ^2g. But, only
  u=m'  contributes to the aforementioned asymptotics. 
  Note that Θ_u(Q) depends only on u modulo 2. 

 For any v∈ℤ^g consider the following signed sum of tropical theta constants:

    ϑ_v(Q)    :=∑_u∈(ℤ/2ℤ)^g (-1)^u^t v·Θ_u(Q) .

 The theta matroid M(Q) is the binary matroid represented by the collection of vectors 
 
    {v ∈(ℤ/2ℤ)^g: ϑ_v(Q)≠ 0 }.

 


The tropical theta constants and the theta matroid are invariant under basis changes
S∈GL_g(ℤ). We have
ϑ_u(Q)=ϑ_S^-1 u(S^tQ S) for all 
u∈ℤ^g, and therefore
M(Q) = M(S^tQS).

Here is the promised new approach to the  Schottky problem.
If Q lies in the tropical Schottky locus then
 M(Q) is the desired cographic matroid
 and (<ref>) furnishes edge lengths.


 If Q ∈𝔍_g^ trop then the matroid M(Q) is cographic.
 In that graph, we assign the length
2^3-g·ϑ_v(Q) to the edge labeled v.
The resulting metric graph has Riemann matrix Q.


This says, in particular, that ϑ_v(Q) is non-negative when Q comes from a metric graph.


Since Q ∈𝔍_g^ trop, there exists a unimodular matrix 
B = (b_1,…,b_m) ∈{-1,0,+1}^g × m
and a diagonal matrix D =  diag(ℓ_1,…,ℓ_m) such that Q = B D B^t 
= ∑_i=1^m ℓ_i b_i b_i^t. We claim 

    Θ_u (Q)  =  - 1/4 ·∑_b_i^t u  is odd ℓ_i       for all u∈^g.

 Here the ℓ_i are positive real numbers. First, we note that
 
    Θ_u(Q)  =  max_λ∈ℤ^g { -(λ+u/2)^t Q(λ+u/2) }   ≤   ∑_i=1^m -ℓ_i·min_λ∈ℤ^g{( b_i^t· (λ+u/2) )^2 }.

 If b_i^t u is even, then b_i^t· (λ+u/2)=0 for some  λ∈ℤ^g.
     Otherwise, the absolute value of b_i^t· (λ+u/2) is at least 1/2. 
     This shows that Θ_u(Q)≤-1/4·∑_b_i^t u is oddℓ_i.
To derive the reverse inequality, let I = { i  : 
u_i  is odd}⊂{1,…,g}.
 By a result of Ghouila-Houri <cit.> on unimodular matrices,
 we can find w∈ℤ^g with w_i=±1 if i∈ I and w_i=0 otherwise, 
 such that b_i^t· w∈{0,±1} for all 1≤ i≤ m. 
 The vector λ_0 = 1/2(w-u) lies in ℤ^g.
 One checks that
  
    -(λ_0+u/2)^t Q (λ_0+u/2)
       = ∑_i=1^m -ℓ_i· (b_i^t· (λ_0+u/2))^2
       = -1/4∑_i=1^m ℓ_i· (b_i^t· w)^2
       = -1/4·∑_b_i^t u is oddℓ_i.
 
  Therefore, we also have Θ_u(Q)≥-1/4·∑_b_i^t u is oddℓ_i.
  This establishes the assertion in (<ref>).

We next claim that, under the same hypotheses as above, 
the function in (<ref>)  satisfies

    ϑ_v(Q)  =   2^g-3∑_b_i≡ v   mod 2ℓ_i
         for all   v ∈ℤ^g .

Indeed, substituting the right hand side of (<ref>) for Θ_u(Q) into (<ref>), we find that
  
    ϑ_v(Q)  =  -1/4·∑_u∈(ℤ/2ℤ)^g∑_b_i^t u  is odd 
     (-1)^u^t v·ℓ_i   =  -1/4·∑_i=1^m ℓ_i · (|E_i|-|O_i|),

  where E_i={u∈(ℤ/2ℤ)^g: b_i^t u    odd,  u^t v    even} and 
  O_i={u ∈(ℤ/2ℤ)^g: b_i^t u    odd,   u^t v    odd}. 
    If b_i≡ v   mod 2 then E_i=∅ and |O_i|=2^g-1. Otherwise, |E_i|=|O_i|=2^g-2.
    This proves (<ref>).

Since Q ∈𝔍_g^ trop, this matrix comes from a graph G.
We may assume that G has no 2-valent vertices. This ensures
that any pair is independent in the cographic matroid of G.

The column b_i of the matrix B records the coefficients of the i-th edge
in a cycle basis of the graph G. The residue class of b_i modulo 2 is unique.
For v ∈ℤ^g with b_i ≡ v   mod  2, the sum in
(<ref>) has only term ℓ_i, and we have
ℓ_i = 2^3-gϑ_v(Q). If v ∈ℤ^g is not congruent to b_i
for any i then ϑ_v(Q) = 0. This proves that the theta matroid
M(Q) equals the cographic matroid of G, and the edge lengths ℓ_i
are recovered from Q by the rule in Theorem <ref>.


By Theorem <ref>, the
non-negativity of ϑ_v(Q) is a necessary condition for Q to be in 
 𝔍_g^ trop.
 
 For the matrix Q in Example <ref>, we find ϑ_0001(Q)=-1/2. 
Hence Q ∉𝔍_4^ trop.


This necessary (but not sufficient) condition translates into the following algorithm:



 Let Q be the matrix  in Example <ref>.
For each u ∈ (ℤ/2ℤ)^4, we list
the theta constant Θ_u(Q), the weight 2^-1ϑ_u(Q) 
and the label of the corresponding edge in Figure <ref>:


    u     0001     0010     0011     0100     0101     0110     0111     1000     1001     1010     1011     1100    1101     1110    1111 
    
    -Θ_u    29/4   23/4   5   19/4   13/2    7    31/4   17/4    9    17/2   33/4   13/2   43/4   41/4   21/2
    
       2^-1ϑ_u     9   7   9   8   2   0   4   12   0   0   0   0   2   0   3 
     Edge    e_2     e_1     e_3     e_6     e_7    -    e_8     e_9    -   -   -   -     e_4    -    e_5



We now explain the connection between the classical 
and tropical theta functions. In particular, we will show how 
the process of tropicalization relates
Theorems <ref> and <ref>.


In order to tropicalize the Schottky–Igusa modular form, we must study the order of growth of the theta constants when the entries of the Riemann matrix grow. This information is captured by the tropical theta constants.
 The following proposition makes that precise.

 
Fix Q ∈ℌ_g^ trop, and let P(t) be any real symmetric
g × g-matrix that depends on a parameter t∈.
  For every m∈(/2)^2g there is a constant C ∈ such that

    0   ≤  |  θ[m](P(t)+t·i Q, 0)  |/| exp (t ·π·Θ_m'(Q))  |≤   C    for all t≥0.

Moreover, we can choose P(t) such  that the ratio above does not approach zero for t→∞.


  Here θ[m](τ,0) is the classical theta constant from
   (<ref>), and    Θ_m'(Q) is the tropical theta constant
   defined  in (<ref>).
We use the notation m = (m',m”) for vectors in ℤ^2g as in Section <ref>.


Consider the lattice points λ where the maximum in
(<ref>) for x = m'/2 is attained.
The corresponding summands in (<ref>) with λ = n 
have the same asymptotic behavior as exp (t ·πΘ_m'(Q)) for t→∞.
 The sum over the remaining exponentials tends to zero since it can be bounded by a sum of finitely many Gaussian integrals with variance going to zero for t→∞. We can choose the
 real symmetric matrix P(t) 
 in such a way that no cancellation of highest order terms happens. Then the expression 
 in (<ref>) is bounded away from zero.
 


 On the Siegel upper-half space ℌ_g we have an action by the symplectic group Sp_2g(ℤ). Two matrices from the same orbit under this action correspond to the same abelian variety. However their tropicalizations may vary drastically. Consider for example the case g=1: [  0 -1;  1  k ]∈Sp_2(ℤ)
 sends τ=i to a complex number with imaginary part 1/1+k^2. 


 
We now assume that g=4.
For any subset M⊂ (/2)^8 we write M'={m':  m∈ M} and similarly for M”.
The following lemma concerns the possible choices
 for Theorem <ref>.


 For any azygetic triple {m_1,m_2,m_3} and any matching
subgroup N ⊂ (ℤ/2ℤ)^8,


  (1) there exist indices 1 ≤ i < j ≤ 3 such that (m_i+N)'=(m_j+N)', and 


  (2) if N' =3 and (m_1+N)'=(m_2+N)'≠ (m_3+N)', then m_1',m_2'∈ N'.




This purely combinatorial statement can be proved by exhaustive computation.


For instance, consider the specific choice of m_1,m_2,m_3,N made prior to Example <ref>.
This has N'=2, and Lemma <ref> (1) holds with i= 2, j= 3.
If we exchange the first four coordinates with the last four coordinates, then 
N'=3, m_1',m_3'∈ N' and m_2'∉N'.

Recall from Theorem <ref> that a
 matrix τ∈ℌ_4 is in the Schottky locus if and only if π_1^2+π_2^2+π_3^2-2(π_1π_2+π_1π_3+π_2π_3) vanishes. The tropicalization of this expression equals
 
    max_i,j=1,2,3( π^trop_i+π^trop_j),

 where π^trop_i=∑_m∈ m_i+NΘ_m'(Q)
 is the tropicalization of the product (<ref>), with Q=
  im(τ).
 
 The tropical Schottky–Igusa modular form (<ref>)
defines a piecewise-linear convex function ℌ_4^ trop→.
Its breakpoint locus  is the set of  Riemann matrices Q for which the maximum in (<ref>)
  is attained twice. That set depends on our choice of m_1,m_2,m_3,N.
That choice is called admissible if N⊂ (/2)^8 has rank three, the triple
{m_1,m_2,m_3}⊂ (/2)^8 is azygetic, all elements of m_i+N are even, 
and the group N' ⊂ (/2)^4 also has rank three.
We define the tropical Igusa locus 
in ℌ_g^ trop to be the intersection,
over all admissible choices m_1,m_2,m_3,N, of
the breakpoint loci of the tropical modular forms (<ref>).




A matrix Q ∈ℌ_4^ trop lies in the tropical Igusa locus
if and only if   ϑ_v(Q)≥0 for all v∈^4.
That locus contains
the tropical Schottky locus 𝔍_4^ trop,
but they are not equal.



We are interested in how the maximum in (<ref>) is attained.
By Lemma <ref> (1), after relabeling, π^trop_1=π^trop_2.
   The maximum is attained twice  if and only if π^trop_1≥π^trop_3.
   By Lemma <ref> (2),    this is equivalent to 

    ∑_u∈ N'Θ_u(Q)  ≥  ∑_u∉N'Θ_u(Q).

Let v be the non-zero vector in (/2)^4 that is orthogonal to N'. 
Then (<ref>) is equivalent to 

    ϑ_v(Q)     = 
    ∑_u∈(/2)^4(-1)^u^t vΘ_u(Q) 
       ≥    0 .

This proves the first assertion, if we knew that
 every v arises from some admissible choice.
 
We saw in Theorem <ref>
that ϑ_v(Q) ≥ 0  for all v
whenever Q ∈𝔍_4^ trop.
Hence the tropical Schottky locus 𝔍_4^ trop is contained in the tropical Igusa locus.
The two loci are not equal because the latter contains the 
zonotopal locus of ℌ_4^ trop. This consists of matrices
Q = BDB^t where B represents any unimodular matroid, not necessarily
cographic. By  <cit.>,  the second Voronoi decomposition
of ℌ_4^ trop has a non-cographic 9-dimensional cone in its zonotopal locus.
It is unique modulo GL_4(). We
verified that all 16 tropical modular forms ϑ_v are non-negative on that cone.
This establishes the last assertion in Theorem <ref>.

To finish the proof, we still need that every 
v ∈ (/2)^4\{0} is orthogonal to N'
for some admissible choice m_1,m_2,m_3,N.
By permuting coordinates,
  it suffices to show this for 
  
    v  ∈ {(1,0,0,0)^t, (1,1,0,0)^t, (1,1,1,0)^t, (1,1,1,1)^t}.
 
  For v=(1,0,0,0)^t we take

    m_1=[ 0 1; 0 0; 0 0; 0 1 ], 
    m_2=[ 1 1; 1 0; 1 1; 0 1 ], 
    m_3=[ 0 1; 0 0; 1 0; 1 0 ],  
      n_1=[ 0 1; 1 0; 0 1; 0 1 ], 
      n_2=[ 0 1; 0 0; 1 0; 1 1 ], 
      n_3=[ 0 0; 0 1; 1 0; 0 0 ].
 
For v=(1,1,0,0)^t we take

    m_1=[ 0 1; 0 0; 0 0; 0 1 ], 
    m_2=[ 1 1; 1 0; 1 1; 0 0 ], 
    m_3=[ 1 0; 0 0; 0 0; 0 1 ],  
      n_1=[ 1 1; 1 1; 0 1; 1 0 ], 
      n_2=[ 0 0; 0 1; 1 0; 0 0 ], 
      n_3=[ 0 0; 0 1; 0 0; 1 1 ].
 
For v=(1,1,1,0)^t we take

    m_1=[ 1 0; 0 0; 0 0; 1 0 ], 
    m_2=[ 0 1; 0 1; 0 1; 1 0 ], 
    m_3=[ 0 0; 0 0; 0 0; 1 0 ],  
      n_1=[ 0 0; 0 0; 0 0; 1 1 ], 
      n_2=[ 1 0; 0 0; 1 0; 1 1 ], 
      n_3=[ 1 0; 1 0; 0 0; 0 0 ].

For v=(1,1,1,1)^t we take

    m_1=[ 1 0; 0 1; 0 1; 0 0 ], 
    m_2=[ 0 1; 0 1; 1 0; 1 0 ], 
    m_3=[ 0 1; 0 0; 0 1; 0 1 ],  
      n_1=[ 1 0; 1 1; 0 0; 0 1 ], 
      n_2=[ 1 0; 0 1; 0 1; 1 0 ], 
      n_3=[ 1 1; 0 1; 1 1; 0 0 ].
 
This completes the proof of Theorem <ref>.


We have shown that the tropicalization of the classical Schottky locus
satisfies the constraints coming from the tropical Schottky–Igusa modular forms
in (<ref>). However, these constraints are not yet tight.
The tropical Igusa locus, as we have defined it, is strictly larger than the tropical
Schottky locus. It would be desirable to close this gap, at least for g=4.
One approach might be a more inclusive definition of which choices are “admissible”.



Can the tropical Schottky locus 𝔍_4^ trop be cut out by
additional tropical modular forms, notably those obtained in  (<ref>)
by allowing choices m_1,m_2,m_3,N with N' ≤ 2?


The next question concerns arbitrary genus g.
We ask whether just computing the theta matroid M(Q)
solves the Tropical Schottky Decision problem. Note that we
did not address this subtle issue in Algorithm <ref> because
we had assumed that the input Q lies in 𝔍_g^ trop.




 Let Q be a positive definite g× g matrix such that the 
 matroid M(Q) is cographic with positive weights. Does this imply that Q is in the tropical Schottky locus?


If the answer is affirmative then we can use Tutte's classical algorithm <cit.> as
a subroutine for Schottky Decision. That algorithm can decide whether the
matroid M(Q) is cographic.



We close with a question that pertains to classical Schottky Reconstruction  as in Section <ref>.


How to generalize the results in <cit.> from g=3 to g=4?
Is there a nice tritangent matrix, written explicitly in theta constants, for canonical curves of genus four?







Acknowledgments.
We thank Riccardo Salvati Manni for telling us about Kempf's article <cit.>.
We also had helpful conversations with Christian Klein and Emre Sertöz.
Lynn Chua was supported by a UC Berkeley University Fellowship and the Max Planck Institute for Mathematics in the Sciences, Leipzig.
Bernd Sturmfels received funding from the US National Science
Foundation (DMS-1419018) and the Einstein Foundation Berlin.




10









BBC
B. Bolognese, M. Brandt, and L. Chua.
From curves to tropical Jacobians and back.
In Combinatorial algebraic geometry, volume 80 of Fields
  Inst. Commun., pages 21–45. Fields Inst. Res. Math. Sci., Toronto, ON,
  2017.

BMV S. Brannetti, M. Melo and F. Viviani:
  On the tropical Torelli map, Advances in
  Mathematics 226 (2011) 2546–2586.

chan12 M. Chan: Combinatorics of the tropical
  Torelli map, Algebra and Number Theory 6 (2012) 1133–1169.

bitangents
F. Dalla Piazza, A. Fiorentino and R. Salvati Manni:
 Plane quartics: the universal matrix of bitangents,
 Israel J. Math. 217 (2017) 111–138.

DHBvHS B. Deconinck, M. Heil, A. Bobenko,
M. van Hoeij and M. Schmies: Computing Riemann theta functions,
Math. of Computation 73 (2004) 1417–1442.

DvH
B. Deconinck and M. van Hoeij:
Computing Riemann matrices of algebraic curves,
Advances in nonlinear mathematics and science, Physica D 152/153 (2001) 28–46.
  
sikiric M. Dutour Sikirić: Polyhedral, a GAP package, mathieudutour.altervista.org/Polyhedral, 2013.

sgsw
M. Dutour Sikirić, A. Garber, A. Schürmann and C. Waldmann:
 The complete classification of
  five-dimensional Dirichlet-Voronoi polyhedra of translational
  lattices, Acta Crystallographica A 72 (2016) 673–683.
  
polymake
E. Gawrilow and M. Joswig:
polymake: a framework for analyzing convex polytopes,
 Polytopes–combinatorics and computation (Oberwolfach, 1997), DMV Sem., 29, Birkhäuser, Basel, 2000,
 pp. 43–73.

houri A. Ghouila-Houri: Caractérisation des matrices totalement unimodulaires,
C. R. Acad. Sci. Paris 254 (1962) 1192–1194.

gru S. Grushevsky: The Schottky problem,
Current developments in algebraic geometry, Math. Sci. Res. Inst. Publ., 59, 
Cambridge Univ. Press, 2012, pp. 129–164.




GM
S. Grushevsky and M. Möller.
Explicit formulas for infinitely many Shimura curves in genus 4.
Asian J. Math., 22(2):381–390, 2018.

HMY C. Haase, G. Musiker and J. Yu:
Linear systems on tropical curves, Math. Zeitschrift 270 (2012) 1111–1140. 

HS J. Hauenstein and A. Sommese:
What is numerical algebraic geometry?
   J. Symbolic Computation 79 (2017) 499–507.

igusa J. Igusa:
 On the irreducibility of Schottky's divisor,
  J. Fac. Sci. Univ. Tokyo, Sect. IA Math. 28 (1981) 531–545.

spicy E. Jones, P. Peterson,  et al.: SciPy: Open source scientific tools for Python, 2001-, http://www.scipy.org/.

kempf
G. Kempf: The equations defining a curve of genus 4,
Proc. Amer. Math. Soc. 97 (1986) 219–225.

BoLin
B. Lin: Computing linear systems on metric graphs,
J. Symbolic Computation, in press.

mz G. Mikhalkin and I. Zharkov: Tropical
  curves, their Jacobians and theta functions, Curves and abelian
  varieties, Contemporary Math., vol 465, Amer. Math. Soc., 
     2008, pp. 203–230.

ORSV  J.C. Ottem, K. Ranestad, B. Sturmfels and C. Vinzant:
  Quartic spectrahedra,  Mathematical Programming, series B 151 (2015) 585–612.
 
ps95 W. Plesken and B. Souvignier:  and , 1995, 
published under GPL licence at 

RSSS Q. Ren, G. Schrader, S. Sam and B. Sturmfels:
The universal Kummer threefold, Experimental Mathematics 22 (2013) 327–362. 

Schottky1888
F. Schottky: Zur Theorie der Abelschen Funktionen von vier Variabeln,
J. reine angewandte Mathematik 102 (1888) 304–352.

SD
C. Swierczewski and B. Deconinck:
Computing Riemann theta functions in Sage with applications,
Math. Comput. Simulation 127 (2016) 263–272. 

abelfunctions
C. Swierczewski et. al.: Abelfunctions: A library for computing with Abelian functions,
 Riemann surfaces, and algebraic curves,
github.com/abelfunctions/abelfunctions, 2016.

tutte
W.T. Tutte: An algorithm for determining whether a given binary matroid is graphic,
Proc. Amer. Math. Soc. 11 (1960) 905–917.

frank
F. Vallentin: Sphere Covering, Lattices, and Tilings (in Low Dimensions), PhD thesis, 
TU München, 2003.


voronoi
G. Voronoi: Nouvelles applications des paramètres
  continus à la théorie des formes quadratiques (Deuxième
  mémoire: recherches sur les parallélloèdres primitifs),
Journal für die reine and angewandte Mathematik 134
(1908) 198–287.






Authors' addresses: 

Lynn Chua, UC Berkeley, chualynn@berkeley.edu 

Mario Kummer, TU Berlin, kummer@tu-berlin.de 

Bernd Sturmfels, MPI Leipzig,  bernd@mis.mpg.edu  and UC Berkeley, 


