arb_hypgeom_rising_ui_forward, arb_hypgeom_rising_ui_bs, arb_hypgeom_rising_ui_rs, arb_hypgeom_rising_ui_rec, arb_hypgeom_rising_ui, arb_hypgeom_rising
Synopsis
#include <flint/arb_hypgeom.h>Sets res to the rising factorial , with ; arb_hypgeom_rising allows any real and computes .
The variants differ in the algorithm; see Rising factorials.
arb_hypgeom_rising_ui_forwardmultiplies the factors one by one at a working precision ofprecplus bits, incrementing the factor in place.arb_hypgeom_rising_ui_bsmultiplies the factors in a balanced binary tree, which is efficient when has few bits compared toprec(see Binary splitting and product trees).arb_hypgeom_rising_ui_rsuses rectangular splitting: it groups the factors in blocks of , expands each block as a polynomial in with integer coefficients (one or two words each when they fit, see_arb_hypgeom_rising_coeffs_1) and evaluates it as a dot product with the precomputed powers . Most multiplications of two full-precision numbers become multiplications by small integers [Smi2001; Joh2014b]. The tuning parameter can be given as 0 to choose it automatically (for large , ).arb_hypgeom_rising_ui_recchooses between the three by ,precand the bit length of : the forward recurrence for small (up to 20 below 512 bits, up to otherwise), binary splitting for if has fewer than bits, and rectangular splitting otherwise. It never calls the gamma function, which is why the gamma function itself uses it for argument reduction.arb_hypgeom_rising_uiusesarb_hypgeom_rising_ui_recif , and computes otherwise.arb_hypgeom_risingdoes the same for an exact nonnegative integer in that range and uses the gamma function otherwise.
These are the functions behind arb_rising_ui and arb_rising of arb.
References#
- [Smi2001] D. M. Smith, "Algorithm: Fortran 90 Software for Floating-Point Multiple Precision Arithmetic, Gamma and Related Functions", Transactions on Mathematical Software 27 (2001) 377-387, http://myweb.lmu.edu/dmsmith/toms2001.pdf
- [Joh2014b] F. Johansson, "Evaluating parametric holonomic sequences using rectangular splitting", ISSAC 2014, 256-263. https://doi.org/10.1145/2608628.2608629
Cite this page
The FLINT team, “arb_hypgeom_rising_ui_forward, arb_hypgeom_rising_ui_bs, arb_hypgeom_rising_ui_rs, arb_hypgeom_rising_ui_rec, arb_hypgeom_rising_ui, arb_hypgeom_rising (arb_hypgeom.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/arb_hypgeom/arb_hypgeom_rising_ui_forward.html (generated 2026-11-02).
@misc{flint-doc-arb-hypgeom-arb-hypgeom-rising-ui-forward,
author = {{The FLINT team}},
title = {{arb\_hypgeom\_rising\_ui\_forward, arb\_hypgeom\_rising\_ui\_bs, arb\_hypgeom\_rising\_ui\_rs, arb\_hypgeom\_rising\_ui\_rec, arb\_hypgeom\_rising\_ui, arb\_hypgeom\_rising (arb\_hypgeom.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/arb_hypgeom/arb_hypgeom_rising_ui_forward.html},
note = {Generated 2026-11-02}
}