acb_modular_theta_transform
#include <flint/acb_modular.h>Computes the data of the transformation formula expressing theta functions at \tau through theta functions at \tau' = g\tau: integers R_i, S_i (arrays of length 4) and C \in \{0, 1\} such that for i = 0, 1, 2, 3
where z' = z and A = B = 1 if C = 0, and if C = 1
A is well defined with the principal square root since A^2 = i/(c\tau + d) lies in the right half-plane.
If c = 0, then C = 0: \theta_i(z, \tau) = e^{-\pi i b / 4} \theta_i(z, \tau+b) for i = 1, 2, while \theta_3 and \theta_4 are unchanged when b is even and swap places when b is odd.
For c > 0, C = 1 and the general transformations are given by Rademacher [Rad1973] (whose formulas contain typos and have the transformed and untransformed variables exchanged). With \theta_{m,n} defined for m, n \in \mathbb{Z} by
we have
where the \varepsilon_i are 8th roots of unity. With \varepsilon(a,b,c,d) = \exp(\pi i R(a,b,c,d) / 12) the 24th root of unity of the eta transformation (acb_modular_epsilon_arg),
References#
- [Rad1973] H. Rademacher, Topics in analytic number theory, Springer, 1973.
The FLINT team, “acb_modular_theta_transform (acb_modular.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_modular/acb_modular_theta_transform.html (generated 2026-10-20).
@misc{flint-doc-acb-modular-acb-modular-theta-transform,
author = {{The FLINT team}},
title = {{acb\_modular\_theta\_transform (acb\_modular.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/acb_modular/acb_modular_theta_transform.html},
note = {Generated 2026-10-20}
}