Theta Functions

One of the main tools for working with analytic Jacobians is the theta function. For instance it is used by FromAnalyticJacobian and RosenhainInvariants. For c ∈R2g let c' be the first g entries and c" the second g entries of c. For such a c, z ∈Cg and τ an element of Siegel upper half-space the classical multi-variable theta function is defined by

θ[c](z, τ) = ∑m ∈Zg exp (π i ()t(m + c')τ(m + c') + 2π i ()t(m + c')(z + c")). The vector c is called the characteristic of the theta function.

Theta(char, z, tau) : Mtrx, Mtrx, Mtrx -> FldComElt
This computes the multidimensional theta function with characteristic char (a 2g x 1 matrix) at z (a g x 1 matrix) and τ (a symmetric g x g matrix with positive definite imaginary part).
Theta(char, z, A) : Mtrx, Mtrx, AnHcJac -> FldComElt
This computes the multidimensional theta function with characteristic char (a 2g x 1 matrix) at z (a g x 1 matrix) and τ, the small period matrix of the analytic Jacobian A. This function caches the values of theta null values (z = 0) at half-integer characteristics.
V2.28, 13 July 2023