_gr_poly_exp_series, gr_poly_exp_series, _gr_poly_exp_series_generic, _gr_poly_exp_series_basecase, gr_poly_exp_series_basecase, _gr_poly_exp_series_basecase_mul, gr_poly_exp_series_basecase_mul, _gr_poly_exp_series_newton, gr_poly_exp_series_newton
#include <flint/gr_poly.h>int _gr_poly_exp_series_basecase_mul(gr_ptr f, gr_srcptr h, slong hlen, slong n, gr_ctx_t ctx)sourceint _gr_poly_exp_series_newton(gr_ptr f, gr_ptr g, gr_srcptr h, slong hlen, slong n, slong cutoff, gr_ctx_t ctx)sourceint gr_poly_exp_series_newton(gr_poly_t f, const gr_poly_t h, slong n, slong cutoff, gr_ctx_t ctx)sourceSet to .
The basecase version uses the recurrence from , with operations and divisions by . The basecase_mul version computes the low third with the recurrence and corrects the rest with two truncated products, using for divisible by . The newton version uses the iteration with the simultaneous iteration for of [HZ2004; Ber2008], starting from the basecase below cutoff; if g is not NULL, the underscore version also writes to it.
_gr_poly_exp_series calls the ring method GR_METHOD_POLY_EXP_SERIES (overridden by nmod), whose default _gr_poly_exp_series_generic uses the basecase for , or rings with classical multiplication, the basecase_mul version for when is nearly as long as , and Newton iteration with cutoff 30 otherwise.
References#
- [HZ2004] G. Hanrot and P. Zimmermann, "Newton Iteration Revisited" (2004), http://www.loria.fr/~zimmerma/papers/fastnewton.ps.gz
- [Ber2008] D. J. Bernstein, "Fast multiplication and its applications", in Algorithmic Number Theory, MSRI Publications 44 (2008), 325–384
The FLINT team, “_gr_poly_exp_series, gr_poly_exp_series, _gr_poly_exp_series_generic, _gr_poly_exp_series_basecase, gr_poly_exp_series_basecase, _gr_poly_exp_series_basecase_mul, gr_poly_exp_series_basecase_mul, _gr_poly_exp_series_newton, gr_poly_exp_series_newton (gr_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_poly/_gr_poly_exp_series.html (generated 2026-11-02).
@misc{flint-doc-gr-poly-gr-poly-exp-series,
author = {{The FLINT team}},
title = {{\_gr\_poly\_exp\_series, gr\_poly\_exp\_series, \_gr\_poly\_exp\_series\_generic, \_gr\_poly\_exp\_series\_basecase, gr\_poly\_exp\_series\_basecase, \_gr\_poly\_exp\_series\_basecase\_mul, gr\_poly\_exp\_series\_basecase\_mul, \_gr\_poly\_exp\_series\_newton, gr\_poly\_exp\_series\_newton (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_exp_series.html},
note = {Generated 2026-11-02}
}