FLINT3.7.0-dev

arb_zeta_ui_vec_borwein

Synopsis#include <flint/arb.h>
void arb_zeta_ui_vec_borwein(arb_ptr z, ulong start, slong num, ulong step, slong prec)source

Sets z to \zeta(s) for s = \mathit{start}, \mathit{start} + \mathit{step}, \ldots (num values), \mathit{start} \ge 2, by Borwein's algorithm [Bor2000; GS2003], organised for multi-evaluation.

For efficiency the largest s should be at most about prec; beyond that, the Euler product is better. Arguments near WORD_MAX overflow. For a single s the algorithm is essentially that of MPFR [MPFR2012]: the sum is evaluated backwards to avoid storing more than one coefficient d_k, in integer arithmetic since the terms are slightly larger than 2^{\mathit{prec}}. The only error in the main loop comes from the division by k^s, at most one unit per term; for multi-evaluation the terms are divided repeatedly by k^{\mathit{step}}, and by induction the error per term stays below two units.

References#

Cite this page

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