acb_modular_fundamental_domain_approx
#include <flint/acb_modular.h>void acb_modular_fundamental_domain_approx(acb_t w, psl2z_t g, const acb_t z, const arf_t one_minus_eps, slong prec)sourceSets g to a transformation that should map the midpoint of z to the fundamental domain or just outside it, and w to gz evaluated in ball arithmetic. The output g is always valid, but the caller must check that w is close enough to the domain.
If \operatorname{Im}(z) \ge 1, only the translation is applied. Otherwise acb_modular_fundamental_domain_approx_d is tried first (when 2^{-40} < \operatorname{Im}(z) and |\operatorname{Re}(z)| < 2^{40}), and if its result is not good enough, acb_modular_fundamental_domain_approx_arf is used at precision prec. If z is not finite, not in the upper half-plane, or has real part larger than 2^{\mathit{prec}}, g is set to the identity.
The FLINT team, “acb_modular_fundamental_domain_approx (acb_modular.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_modular/acb_modular_fundamental_domain_approx.html (generated 2026-10-20).
@misc{flint-doc-acb-modular-acb-modular-fundamental-domain-approx,
author = {{The FLINT team}},
title = {{acb\_modular\_fundamental\_domain\_approx (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_fundamental_domain_approx.html},
note = {Generated 2026-10-20}
}