acb_dirichlet_platt_multieval, acb_dirichlet_platt_multieval_threaded
#include <flint/acb_dirichlet.h>void acb_dirichlet_platt_multieval(arb_ptr out, const fmpz_t T, slong A, slong B, const arb_t h, const fmpz_t J, slong K, slong sigma, slong prec)sourcevoid acb_dirichlet_platt_multieval_threaded(arb_ptr out, const fmpz_t T, slong A, slong B, const arb_t h, const fmpz_t J, slong K, slong sigma, slong prec)sourceSet out to the values of acb_dirichlet_platt_scaled_lambda on the same grid as acb_dirichlet_platt_scaled_lambda_vec, all at once with discrete Fourier transforms, in the notation of [Pla2017]: h is the width of the Gaussian, J the number of terms of the Dirichlet series, K the number of Taylor terms and sigma an odd integer used in the error bounds. The threaded version uses flint_get_num_threads() threads; the default version decides whether to use threads.
The default version computes the sums over j \le J (the bulk of the work) with _dfloat_platt_smk_dd (Sieved power sums and Platt's multi-evaluation) when prec is at most \log_2 T + 110 bits, which gives a grid about as accurate as the ball arithmetic version at \log_2 T + 106 bits; setting acb_dirichlet_platt_use_dfloat to 0 forces ball arithmetic. In both versions, the part after these sums works at \text{prec} - \log_2 T + 16 bits (its inputs, of size about 1, carry that accuracy), generates the rows of the gamma factor table for each group of four values of k from N stored factors and bases instead of storing KN entries, and sums the K convolutions in the frequency domain, in parallel over the groups with one group per thread at a time. The result does not depend on the number of threads.
References#
- [Pla2017] D. J. Platt, "Isolating some non-trivial zeros of zeta", Mathematics of Computation 86 (2017), 2449-2467, https://doi.org/10.1090/mcom/3198
The FLINT team, “acb_dirichlet_platt_multieval, acb_dirichlet_platt_multieval_threaded (acb_dirichlet.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_dirichlet/acb_dirichlet_platt_multieval.html (generated 2026-10-20).
@misc{flint-doc-acb-dirichlet-acb-dirichlet-platt-multieval,
author = {{The FLINT team}},
title = {{acb\_dirichlet\_platt\_multieval, acb\_dirichlet\_platt\_multieval\_threaded (acb\_dirichlet.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/acb_dirichlet/acb_dirichlet_platt_multieval.html},
note = {Generated 2026-10-20}
}