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 Sp2g(Z)\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 YY is positive definite), in which case the outputs are undefined.

On success, new_tau =mat⋅τ= \mathit{mat} \cdot \tau is the reduced matrix and mat the symplectic matrix found by acb_siegel_reduce, ct is the transpose of (γτ+δ)−1(\gamma\tau + \delta)^{-1}, NN is the matrix πiγ⋅ct\pi i \gamma \cdot \mathit{ct} of the exponential factor of the transformation formula, and new_zs holds the vectors ct⋅z\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-11-02).