_gr_poly_taylor_shift, gr_poly_taylor_shift, _gr_poly_taylor_shift_horner, gr_poly_taylor_shift_horner, _gr_poly_taylor_shift_divconquer, gr_poly_taylor_shift_divconquer, _gr_poly_taylor_shift_convolution, gr_poly_taylor_shift_convolution
#include <flint/gr_poly.h>int _gr_poly_taylor_shift_horner(gr_ptr res, gr_srcptr poly, slong len, gr_srcptr c, gr_ctx_t ctx)sourceint gr_poly_taylor_shift_horner(gr_poly_t res, const gr_poly_t poly, gr_srcptr c, gr_ctx_t ctx)sourceint _gr_poly_taylor_shift_divconquer(gr_ptr res, gr_srcptr poly, slong len, gr_srcptr c, gr_ctx_t ctx)sourceint gr_poly_taylor_shift_divconquer(gr_poly_t res, const gr_poly_t poly, gr_srcptr c, gr_ctx_t ctx)sourceint _gr_poly_taylor_shift_convolution(gr_ptr res, gr_srcptr poly, slong len, gr_srcptr c, gr_ctx_t ctx)sourceint gr_poly_taylor_shift_convolution(gr_poly_t res, const gr_poly_t poly, gr_srcptr c, gr_ctx_t ctx)sourceSet res to the Taylor shift f(x + c). The horner version uses an optimised Horner scheme with O(\mathit{len}^2) additions and multiplications by c; the divconquer version splits f in halves and multiplies by powers of x + c, in O(M(\mathit{len}) \log \mathit{len}) operations; the convolution version uses one multiplication of length len, f(x + c) = \sum_k \frac{x^k}{k!} \sum_i (i! f_i) \frac{c^{i-k}}{(i-k)!}, which requires division by 1, \ldots, \mathit{len} - 1. The underscore versions allow aliasing.
gr_poly_taylor_shift calls the ring method GR_METHOD_POLY_TAYLOR_SHIFT, whose default uses Horner's scheme for \mathit{len} \le 20 and divide-and-conquer otherwise; fmpz uses _fmpz_poly_taylor_shift, and arb and acb the Taylor shifts of arb_poly and acb_poly. See Taylor shifts.
The FLINT team, “_gr_poly_taylor_shift, gr_poly_taylor_shift, _gr_poly_taylor_shift_horner, gr_poly_taylor_shift_horner, _gr_poly_taylor_shift_divconquer, gr_poly_taylor_shift_divconquer, _gr_poly_taylor_shift_convolution, gr_poly_taylor_shift_convolution (gr_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_poly/_gr_poly_taylor_shift.html (generated 2026-10-20).
@misc{flint-doc-gr-poly-gr-poly-taylor-shift,
author = {{The FLINT team}},
title = {{\_gr\_poly\_taylor\_shift, gr\_poly\_taylor\_shift, \_gr\_poly\_taylor\_shift\_horner, gr\_poly\_taylor\_shift\_horner, \_gr\_poly\_taylor\_shift\_divconquer, gr\_poly\_taylor\_shift\_divconquer, \_gr\_poly\_taylor\_shift\_convolution, gr\_poly\_taylor\_shift\_convolution (gr\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/gr_poly/_gr_poly_taylor_shift.html},
note = {Generated 2026-10-20}
}