FLINT3.7.0-dev

acb_theta_reduce_tau

Synopsis#include <flint/acb_theta.h>
int acb_theta_reduce_tau(acb_ptr new_zs, acb_mat_t new_tau, fmpz_mat_t mat, acb_mat_t N, acb_mat_t ct, acb_ptr exps, acb_srcptr zs, slong nb, const acb_mat_t tau, slong prec)source

Reduces \tau under \mathrm{Sp}_{2g}(\mathbb{Z}) and transforms the nb vectors in zs accordingly. Returns 1 on success and 0 on failure (malformed input, or a precision too low to see that Y is positive definite), in which case the outputs are undefined.

On success, new_tau = \mathit{mat} \cdot \tau is the reduced matrix and mat the symplectic matrix found by acb_siegel_reduce, ct is the transpose of (\gamma\tau + \delta)^{-1}, N is the matrix \pi i \gamma \cdot \mathit{ct} of the exponential factor of the transformation formula, and new_zs holds the vectors \mathit{ct} \cdot z. The vector exps (of length nb) is used as workspace.

Cite this page

The FLINT team, “acb_theta_reduce_tau (acb_theta.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_theta/acb_theta_reduce_tau.html (generated 2026-10-20).