This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
 Documentation / Mathematica / Add-ons / Standard Packages / NumberTheory  /

NumberTheory`SiegelTheta`

The Siegel theta function

is defined as


where is a symmetric complex matrix with imaginary part positive definite, is a complex vector of dimension , and is an integer vector of dimension that ranges over the entire

-dimensional lattice of integers. This function was initially investigated by Riemann and Weierstrass and further studies were done by Frobenius and Poincaré. These investigations represent some of the most significant accomplishments of nineteenth century mathematics.


The Siegel theta function.

  • This loads the package.
  • In[1]:= << NumberTheory`SiegelTheta`

  • This evaluates

    for particular arguments in 2-space.
  • In[2]:= SiegelTheta[{{1+I,2+I}, {2+I,-1+4I}}, {1.2, 2.3+.3I}]

    Out[2]=

  • This is a slow, brute force way to get the same answer. (The tails beyond

    10 and 10 die off quickly.)
  • In[3]:= Sum[E^(Pi I {t1,t2}.{{1+I,2+I}, {2+I,-1+4I}}.{t1,t2} +
    2 Pi I {t1,t2} . {1.2, 2.3+.3I}),
    {t1, -10, 10}, {t2, -10, 10}]

    Out[3]=

  • If the imaginary part of is not positive definite,

    is not defined.
  • In[4]:= SiegelTheta[{{1+I,2+I}, {2+I,-1-4I}}, {1.2, 2.3+.3I}]

    SiegelTheta::npd: The imaginary part of the matrix {{1 + I, 2 + I}, {2 + I, -1 - 4 I}} is not positive definite.

    Out[4]=