FLINT3.7.0-dev

_padic_poly_evaluate_padic, padic_poly_evaluate_padic

Synopsis#include <flint/padic_poly.h>
void _padic_poly_evaluate_padic(fmpz_t u, slong * v, slong N, const fmpz * poly, slong val, slong len, const fmpz_t a, slong b, const padic_ctx_t ctx)source
void padic_poly_evaluate_padic(padic_t y, const padic_poly_t poly, const padic_t a, const padic_ctx_t ctx)source

Set y=pvuy = p^v u to the value of poly at a=pba′a = p^b a', reduced modulo pNp^N (the precision of yy). padic_poly_evaluate_padic allows yy to be the same object as aa.

For b≥0b \ge 0 the integer polynomial is evaluated at pba′p^b a' by Horner's rule modulo pN−valp^{N - val}. For b<0b < 0 the polynomial p−nbf(x)p^{-nb} f(x) with n=len−1n = len - 1 is integral at x=a′x = a' after the substitution, so p−nbf(pba′)p^{-nb} f(p^b a') is evaluated modulo pN−val−nbp^{N - val - nb} and the valuation adjusted by nbnb. If poly and aa are only known to precision NN and b<0b < 0, the value is only known to precision N+nbN + nb; this is not taken into account.

Cite this page

The FLINT team, “_padic_poly_evaluate_padic, padic_poly_evaluate_padic (padic_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/padic_poly/_padic_poly_evaluate_padic.html (generated 2026-11-02).