_gr_poly_revert_series, gr_poly_revert_series, _gr_poly_revert_series_lagrange, gr_poly_revert_series_lagrange, _gr_poly_revert_series_lagrange_fast, gr_poly_revert_series_lagrange_fast, _gr_poly_revert_series_newton, gr_poly_revert_series_newton
#include <flint/gr_poly.h>int _gr_poly_revert_series_lagrange(gr_ptr res, gr_srcptr f, slong flen, slong n, gr_ctx_t ctx)sourceint _gr_poly_revert_series_lagrange_fast(gr_ptr res, gr_srcptr f, slong flen, slong n, gr_ctx_t ctx)sourceThe lagrange version uses the Lagrange inversion formula, the lagrange_fast version the baby-step giant-step form of it from [Joh2015b], and the newton version Newton iteration on f(h) = x with power series compositions [BrentKung1978]. The Lagrange versions divide by 2, \ldots, n - 1 and return GR_UNABLE in too small characteristic. The default version uses Newton iteration from five times the composition cutoff of _gr_poly_compose_series on (when Kinoshita-Li composition makes it faster), and lagrange_fast otherwise, falling back to Newton iteration when the latter fails with GR_UNABLE. The underscore versions do not allow aliasing.
References#
- [Joh2015b] F. Johansson, "A fast algorithm for reversion of power series", Math. Comp. 84 (2015), 475-484, http://doi.org/10.1090/S0025-5718-2014-02857-3
- [BrentKung1978] Brent, R. P. and Kung, H. T. : Fast Algorithms for Manipulating Formal Power Series, J. ACM 25:4 (1978) 581–595
The FLINT team, “_gr_poly_revert_series, gr_poly_revert_series, _gr_poly_revert_series_lagrange, gr_poly_revert_series_lagrange, _gr_poly_revert_series_lagrange_fast, gr_poly_revert_series_lagrange_fast, _gr_poly_revert_series_newton, gr_poly_revert_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_revert_series.html (generated 2026-10-20).
@misc{flint-doc-gr-poly-gr-poly-revert-series,
author = {{The FLINT team}},
title = {{\_gr\_poly\_revert\_series, gr\_poly\_revert\_series, \_gr\_poly\_revert\_series\_lagrange, gr\_poly\_revert\_series\_lagrange, \_gr\_poly\_revert\_series\_lagrange\_fast, gr\_poly\_revert\_series\_lagrange\_fast, \_gr\_poly\_revert\_series\_newton, gr\_poly\_revert\_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_revert_series.html},
note = {Generated 2026-10-20}
}