FLINT3.7.0-dev

acb_hypgeom_pfq_sum_forward, acb_hypgeom_pfq_sum_rs, acb_hypgeom_pfq_sum_bs, acb_hypgeom_pfq_sum_fme, acb_hypgeom_pfq_sum

Synopsis#include <flint/acb_hypgeom.h>
void acb_hypgeom_pfq_sum_forward(acb_t s, acb_t t, acb_srcptr a, slong p, acb_srcptr b, slong q, const acb_t z, slong n, slong prec)source
void acb_hypgeom_pfq_sum_rs(acb_t s, acb_t t, acb_srcptr a, slong p, acb_srcptr b, slong q, const acb_t z, slong n, slong prec)source
void acb_hypgeom_pfq_sum_bs(acb_t s, acb_t t, acb_srcptr a, slong p, acb_srcptr b, slong q, const acb_t z, slong n, slong prec)source
void acb_hypgeom_pfq_sum_fme(acb_t s, acb_t t, acb_srcptr a, slong p, acb_srcptr b, slong q, const acb_t z, slong n, slong prec)source
void acb_hypgeom_pfq_sum(acb_t s, acb_t t, acb_srcptr a, slong p, acb_srcptr b, slong q, const acb_t z, slong n, slong prec)source

Sets s=∑k=0n−1T(k)s = \sum_{k=0}^{n-1} T(k) and t=T(n)t = T(n). Requires n≥0n \ge 0. The outputs must not alias the inputs. No truncation error is added.

  • acb_hypgeom_pfq_sum_forward uses the forward recurrence T(k+1)=T(k)∏(ai+k)/∏(bi+k)⋅zT(k+1) = T(k) \prod (a_i + k) / \prod (b_i + k) \cdot z, and stops early if a term is exactly zero.
  • acb_hypgeom_pfq_sum_rs sums in reverse order with rectangular splitting over the powers of zz (Horner's scheme in zmz^m with m≈nm \approx \sqrt n, at most 150), so that only O(n)O(\sqrt n) multiplications by powers of zz are of full cost. It computes only a magnitude bound for tt (the midpoint is zero).
  • acb_hypgeom_pfq_sum_bs uses binary splitting on the 2×22 \times 2 matrix recurrence for (T(k),S(k))(T(k), S(k)), which reduces the bit complexity when zz and the parameters have few bits and also limits the growth of the error bounds of complex balls.
  • acb_hypgeom_pfq_sum_fme uses baby-step giant-step summation with fast multipoint evaluation of the matrix polynomials, for p,q≤3p, q \le 3 (otherwise it falls back to the forward recurrence).
  • acb_hypgeom_pfq_sum uses rectangular splitting if n>4n > 4, prec≥128\mathit{prec} \ge 128 and the parameters have few bits (and binary splitting if in addition prec≥256\mathit{prec} \ge 256 and zz has fewer than prec/100\mathit{prec}/100 bits), fast multipoint evaluation from 1500 bits when n≥30+100000/(prec−1000)n \ge 30 + 100000/(\mathit{prec} - 1000), and otherwise binary splitting for n>8n > 8 and the forward recurrence for n≤8n \le 8.
Cite this page

The FLINT team, “acb_hypgeom_pfq_sum_forward, acb_hypgeom_pfq_sum_rs, acb_hypgeom_pfq_sum_bs, acb_hypgeom_pfq_sum_fme, acb_hypgeom_pfq_sum (acb_hypgeom.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_hypgeom/acb_hypgeom_pfq_sum_forward.html (generated 2026-11-02).