FLINT3.7.0-dev

_gr_poly_inv_series, gr_poly_inv_series, _gr_poly_inv_series_basecase_preinv1, _gr_poly_inv_series_basecase, gr_poly_inv_series_basecase, _gr_poly_inv_series_newton, gr_poly_inv_series_newton

Synopsis#include <flint/gr_poly.h>
int _gr_poly_inv_series(gr_ptr res, gr_srcptr A, slong Alen, slong len, gr_ctx_t ctx)source
int gr_poly_inv_series(gr_poly_t res, const gr_poly_t A, slong len, gr_ctx_t ctx)source
int _gr_poly_inv_series_basecase_preinv1(gr_ptr res, gr_srcptr A, slong Alen, gr_srcptr Ainv, slong len, gr_ctx_t ctx)source
int _gr_poly_inv_series_basecase(gr_ptr res, gr_srcptr A, slong Alen, slong len, gr_ctx_t ctx)source
int gr_poly_inv_series_basecase(gr_poly_t res, const gr_poly_t A, slong len, gr_ctx_t ctx)source
int _gr_poly_inv_series_newton(gr_ptr res, gr_srcptr A, slong Alen, slong len, slong cutoff, gr_ctx_t ctx)source
int gr_poly_inv_series_newton(gr_poly_t res, const gr_poly_t A, slong len, slong cutoff, gr_ctx_t ctx)source

Set res to the power series inverse A^{-1} \bmod x^{\mathit{len}}. Returns GR_DOMAIN if the constant term of A is not invertible (for example if A = 0, except in the zero ring).

The basecase computes the coefficients one by one from A \cdot A^{-1} = 1 with dot products, in O(\mathit{Alen} \cdot \mathit{len}) operations; the preinv1 version takes the inverse Ainv of the constant term. The Newton version doubles the precision with B \gets B + B(1 - AB). gr_poly_inv_series calls the ring method GR_METHOD_POLY_INV_SERIES, whose default uses the basecase when \mathit{Alen} \le 8 or the ring has only classical multiplication, and Newton iteration otherwise. The underscore versions require \mathit{Alen} \ge 1, write len coefficients and do not allow aliasing.

Cite this page

The FLINT team, “_gr_poly_inv_series, gr_poly_inv_series, _gr_poly_inv_series_basecase_preinv1, _gr_poly_inv_series_basecase, gr_poly_inv_series_basecase, _gr_poly_inv_series_newton, gr_poly_inv_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_inv_series.html (generated 2026-10-20).