During the Mathematics of Klee and Grunbaum conference Bernard and I had the pleasure of sitting down with Bernd Sturmfels and his student Cynthia Vinzant to discuss Bernard's work on computing Riemann theta functions and their use in Bernd and Cyntia's work. Bernd was genuinely excited about computing Riemann theta functions and was curious about who the "target audience" was for the software package written by Bernard and Mark van Hoeij. Sturmfels brought up the question often enough to warrant the creation of a "guide" as to why this function and its computation is important.

Here, I'll give a short introduction to the Riemann theta function, mention some issues concerning computing the function (which is what some of my work is on), applications in non-linear waves and number theory, and finally how it relates to Bernd and Cynthia's work.

The Riemann Theta Function

Given an algebraic curve, $f(x,y) = 0, x,y \in \mathbb{C}$, the associated Riemann theta function is given in terms of a $g$-tuple Fourier series $$\theta(z \vert \Omega) = \sum_{n \in \mathbb{Z}^g} e^{2\pi i \left( \frac{1}{2} \langle n, \Omega n \rangle + \langle n , z \rangle \right)}$$ where $g$ is the genus of the curve and $\Omega$ is the associated Riemann matrix. In short, the Riemann matrix encodes information about homology group of the curve's Riemann surface. We'll not discuss the details here but it is an important creature in this topic; for example, it is the subject of the Schottky problem. Methods of computing $\Omega$ is given in [1].

It is shown that this Fourier series definition of the Riemann theta function converges absolutely and uniformly on compact sets in $z \in \mathbb{C}$ and $\Omega$ in the space of Riemann matrices. Even when given facts about convergence of Fourier series, for large genus curves it's not at all obvious how to compute this expansion up to a desired accuracy. See [2] for details on this problem.

Applications

The Riemann theta function appears in a surprisingly diverse range of applications.

Non-Linear Waves

An important application of the Riemann theta function is in solving the Kadomtsev-Petviashvili (KP) equation $$(-4u_t + 6uu_x + u_{xxx})_x + 3u_{yy} = 0$$ which is used to describe the propagation of two-dimensional shallow water waves. What's particularly amazing is that the function $$u(x,y,t) = c + 2 \frac{\partial^2}{\partial x^2} \log( \theta(kx + ly + \omega t \vert \Omega))$$ solves this equation for all time $t \geq 0$. Exact (analytic) solutions to nonlinear partial differential equations are difficult to come by. Usually, approximate numerical methods or perturbation analysis is used to study their behavior.

Applications of the Riemann theta function have been found for integrable equations in general in fields such as fluid mechanics, magnetic monopoles, and string theory. For example, the nonlinear Schrodinger equation and the Kortewrg-de Vries equation.

Number Theory

The Jacobi theta function is key in studying elliptic curves, modular forms and the Riemann zeta function; the zeroes of which are the subject of one of the Clay Math Institute's Millennium Problems. The Riemann theta function is the n-dimensional analogue of the Jacobi theta function. Additionally, several problems involving sums of squares of integers involve the Jacobi theta function. Perhaps more results can be derived using the higher-dimensional analogue and I'm certainly interested in investigating this further.

Bernd's Applications

Bernd wanted to discuss many topics surrounding $\theta(z | \Omega)$ and unfortunately due to time constraints we really were only able to touch upon one desired application: computing bitangents on quartic curves.

A general canonical curve is determined uniquely by the set of its bitangents. Furthermore, an incredible fact is that every real, quartic curve has exactly 28 bitangents in the complex projective plane. A refinement of this fact by Plucker in 1839 shows that either 28, 16, or fewer than 10 of these can be real - meaning that if one were to draw the real projection of the curve then it's entirely possible that we can actually draw some of the bitangents along with it. The Trott curve is an example of such a real quartic with 28 real bitangents.

Amazingly, one can find all of these bitangents using the Riemann theta function associated with the curve. (Considering, of course, the curve to be a complex curve rather than a real one.) Before we can describe how to do so we need the concept of a Riemann theta function with characteristic. Let $\alpha,\beta \in \mathbb{R}^g$ and define $$\theta[\alpha,\beta](z | \Omega) = \sum_{n \in \mathbb{Z}^g} e^{2\pi i \left( \frac{1}{2} \langle n+\alpha, \Omega (n+\alpha) \rangle + \langle n + \alpha , z + \beta \rangle \right)} $$ $$\hspace{3cm} = e^{2\pi i ( \frac{1}{2} \langle \alpha, \Omega \alpha \rangle + \langle \alpha, z + \beta \rangle )} \theta(z + \Omega \alpha + \beta | \Omega) $$ Note by the second equality that the theta functions with characteristic correspond to a translation of the Riemann theta function multiplied by an exponential factor. Because the expansion is taken over all integer $g$-tuples the only interesting characteristics are those with $\alpha,\beta \in [0,1)^{g}$. Such characteristics whole elements are either 0 or 1/2 are called half-period characteristics and essentially correspond to a translation by half of a period. (By definition the Riemann theta function $g$-fold periodic.) Note for $g=1$ the half period characteristics of the Riemann theta function give the classical theta functions. (Ref)

Furthermore, we require the definition of an odd characteristic. Given $\alpha,\beta \in \{0,\frac{1}{2}\}^g$, the characteristic $[\alpha,\beta]$ is odd if $2 \langle \alpha, \beta \rangle \pmod{2} = 1$. That is, if the inner product of the two vectors is non-integral. We can now finally state the main theorem of this discussion:

Theorem. Given a curve on $\mathbb{P}^2\mathbb{C}$, its bitangents are given by the linear term of the Taylor series expansion of each of the odd characteristic Riemann theta function corresponding to the curve.

For example, consider a non-degenerate, non-singular quartic curve. (Such as the Trott curve.) As mentioned previously we should expect 28 bitangent lines; some of which may be real but are all at least complex. Now, by a simple combinatorial argument there are $2^{2g}$ half-period characteristics. A non-degenerate, non-singular quartic is genus 3 so there are a total of 64 half-period characteristics. Another combinatorial argument shows there are 28 odd characteristics, as expected: find the number of pairs of three-tuples $\alpha, \beta \in \{ 0,\frac{1}{2} \}^3$ such that $2 \langle \alpha, \beta \rangle \pmod{2} = 1$.

Current Goals

My first goal is to implement Bernard and Mark's Maple code natively into Sage starting with the calculation of the Riemann matrix, $\Omega$. Much of the theory behind the calculations is now familiar to me and a great summary of the necessary mathematics is found in [1]. I just need to understand how the theory is implemented algorithmically. After that, [2] describes how to compute the Theta function series up to a desired accuracy.

In the meantime, Bernard and I might meet with Bernd at UC Berkeley to further discuss applications in computing bitangents. I'm also attending an ICMS conference on "The higher-genus sigma function and applications" this October. As described on the conference website, " In classical complex analysis, Weierstrass' $\sigma$-function plays a central role because it captures both the algebraic (addition rule) and the transcendental properties of elliptic curves, with consequent applications." Presumably, the Riemann theta function plays a role in this subject and I'm excited to see how this theory is connected with other branches of mathematics; particularly number theory since my undergraduate work was on elliptic curves.

[1] Deconinck, van Hoeij. Computing Riemann matrices of algebraic curves. Physica D. 152-153, 2001, pp 28-46

[2] Deconinck, Heil, Bobenko , van Hoeij, Schmies. Computing Riemann Theta Functions. Mathematics of Computation, 73, 2004, 1417-1442