FLINT3.7.0-dev

_arb_fmpz_poly_evaluate_arb_horner, arb_fmpz_poly_evaluate_arb_horner, _arb_fmpz_poly_evaluate_arb_rectangular, arb_fmpz_poly_evaluate_arb_rectangular, _arb_fmpz_poly_evaluate_arb, arb_fmpz_poly_evaluate_arb

Synopsis#include <flint/arb_fmpz_poly.h>
void _arb_fmpz_poly_evaluate_arb_horner(arb_t res, const fmpz * poly, slong len, const arb_t x, slong prec)source
void arb_fmpz_poly_evaluate_arb_horner(arb_t res, const fmpz_poly_t poly, const arb_t x, slong prec)source
void _arb_fmpz_poly_evaluate_arb_rectangular(arb_t res, const fmpz * poly, slong len, const arb_t x, slong prec)source
void arb_fmpz_poly_evaluate_arb_rectangular(arb_t res, const fmpz_poly_t poly, const arb_t x, slong prec)source
void _arb_fmpz_poly_evaluate_arb(arb_t res, const fmpz * poly, slong len, const arb_t x, slong prec)source
void arb_fmpz_poly_evaluate_arb(arb_t res, const fmpz_poly_t poly, const arb_t x, slong prec)source

Set res to the value of the integer polynomial (given as a polynomial or as len coefficients) at the real ball x, using Horner's rule, rectangular splitting [PS1973] (which multiplies the integer coefficients by precomputed powers of x in dot products), or an automatic choice.

The default uses rectangular splitting for \mathit{len} \ge \max(6, 5 + 2500 / (\max(\mathit{prec}, 64) + 64)), unless \mathit{prec} > 1024 and the coefficients have more than \mathit{prec}/2 bits, and Horner's rule otherwise.

References#

  • [PS1973] M. S. Paterson and L. J. Stockmeyer, "On the number of nonscalar multiplications necessary to evaluate polynomials", SIAM J. Comput (1973)
Cite this page

The FLINT team, “_arb_fmpz_poly_evaluate_arb_horner, arb_fmpz_poly_evaluate_arb_horner, _arb_fmpz_poly_evaluate_arb_rectangular, arb_fmpz_poly_evaluate_arb_rectangular, _arb_fmpz_poly_evaluate_arb, arb_fmpz_poly_evaluate_arb (arb_fmpz_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/arb_fmpz_poly/_arb_fmpz_poly_evaluate_arb_horner.html (generated 2026-10-20).