Implementation of theta-functions using trigonometric series.
They're the special functions of two variables. Described very well at Wikipedia article.
Library exports four theta-functions and a small helper to calculate their second parameter.
Theta functions are functions of Complex variables, FYI.
thetaN n q u
where N is a number from 1 to 4,
n is a quantization factor,
q is a theta-functions special parameter, and
u is an actual argument of function.
q should be calculated with the helper function
qpar, which accepts real numbers as argument:
qpar itself returns Complex value. This helper is used to draw the library closer to the definition of theta-functions provided in the books.
Never call theta1..4 with
u > pi. Theta-functions are raising very rapidly (maybe it's because of trigonometric series representing them), so with large values of argument they overflow badly and return incorrect results.