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.
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).
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.