acb_theta_ql_nb_steps
#include <flint/acb_theta.h>Decides how many duplication steps to perform at precision prec and when to switch to lower dimensions, and stores the decision in pattern (of length ): roughly, entry is the number of steps such that is of the order of prec, where is the -th diagonal entry of the Cholesky matrix of . The flag cst should be nonzero when only theta constants () are needed. Returns 0 if the Cholesky matrix is indeterminate or too extreme, and 1 otherwise.
After duplications the ellipsoid of the summation at has width in direction . For reduced , pattern is expected to be roughly decreasing. The rough values are adjusted by rules obtained from timings with the profiling program p-ql_exact (in src/acb_theta/profile): dimension-lowering is forced or avoided depending on how many steps have already been done, a few steps are removed in genus 1, and the result is made nonincreasing and nonnegative. This function is the main place to tune the algorithm.
Guides#
The FLINT team, “acb_theta_ql_nb_steps (acb_theta.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_theta/acb_theta_ql_nb_steps.html (generated 2026-11-02).
@misc{flint-doc-acb-theta-acb-theta-ql-nb-steps,
author = {{The FLINT team}},
title = {{acb\_theta\_ql\_nb\_steps (acb\_theta.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/acb_theta/acb_theta_ql_nb_steps.html},
note = {Generated 2026-11-02}
}