_gr_poly_preinv_compose_mod, gr_poly_preinv_compose_mod, _gr_poly_preinv_compose_mod_horner, _gr_poly_preinv_compose_mod_brent_kung, _gr_poly_preinv_precompute_matrix, gr_poly_preinv_precompute_matrix, _gr_poly_preinv_compose_mod_brent_kung_precomp, gr_poly_preinv_compose_mod_brent_kung_precomp, _gr_poly_preinv_compose_mod_brent_kung_vec, gr_poly_preinv_compose_mod_brent_kung_vec, _gr_poly_preinv_mod_matrix_rows_evaluate
#include <flint/gr_poly.h>int _gr_poly_preinv_compose_mod(gr_ptr res, gr_srcptr poly1, slong len1, gr_srcptr poly2, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint gr_poly_preinv_compose_mod(gr_poly_t res, const gr_poly_t poly1, const gr_poly_t poly2, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint _gr_poly_preinv_compose_mod_horner(gr_ptr res, gr_srcptr f, slong lenf, gr_srcptr g, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint _gr_poly_preinv_compose_mod_brent_kung(gr_ptr res, gr_srcptr poly1, slong len1, gr_srcptr poly2, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint _gr_poly_preinv_precompute_matrix(gr_mat_t A, gr_srcptr poly1, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint gr_poly_preinv_precompute_matrix(gr_mat_t A, const gr_poly_t poly1, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint _gr_poly_preinv_compose_mod_brent_kung_precomp(gr_ptr res, gr_srcptr poly1, slong len1, const gr_mat_t A, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint gr_poly_preinv_compose_mod_brent_kung_precomp(gr_poly_t res, const gr_poly_t poly1, const gr_mat_t A, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint _gr_poly_preinv_compose_mod_brent_kung_vec(gr_poly_struct * res, const gr_poly_struct * polys, slong lenpolys, slong l, gr_srcptr g, slong glen, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint gr_poly_preinv_compose_mod_brent_kung_vec(gr_poly_struct * res, const gr_poly_struct * polys, slong len1, slong n, const gr_poly_t g, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceint _gr_poly_preinv_mod_matrix_rows_evaluate(gr_ptr res, const gr_mat_t A, gr_srcptr h, slong n, const gr_poly_preinv_t P, gr_ctx_t ctx)sourceModular composition f(g) \bmod h with the precomputed modulus h. The algorithms and conventions are those of the corresponding gr_poly_compose_mod functions and of gr_poly_precompute_matrix below, which are wrappers of these.
The FLINT team, “_gr_poly_preinv_compose_mod, gr_poly_preinv_compose_mod, _gr_poly_preinv_compose_mod_horner, _gr_poly_preinv_compose_mod_brent_kung, _gr_poly_preinv_precompute_matrix, gr_poly_preinv_precompute_matrix, _gr_poly_preinv_compose_mod_brent_kung_precomp, gr_poly_preinv_compose_mod_brent_kung_precomp, _gr_poly_preinv_compose_mod_brent_kung_vec, gr_poly_preinv_compose_mod_brent_kung_vec, _gr_poly_preinv_mod_matrix_rows_evaluate (gr_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_poly/_gr_poly_preinv_compose_mod.html (generated 2026-10-20).
@misc{flint-doc-gr-poly-gr-poly-preinv-compose-mod,
author = {{The FLINT team}},
title = {{\_gr\_poly\_preinv\_compose\_mod, gr\_poly\_preinv\_compose\_mod, \_gr\_poly\_preinv\_compose\_mod\_horner, \_gr\_poly\_preinv\_compose\_mod\_brent\_kung, \_gr\_poly\_preinv\_precompute\_matrix, gr\_poly\_preinv\_precompute\_matrix, \_gr\_poly\_preinv\_compose\_mod\_brent\_kung\_precomp, gr\_poly\_preinv\_compose\_mod\_brent\_kung\_precomp, \_gr\_poly\_preinv\_compose\_mod\_brent\_kung\_vec, gr\_poly\_preinv\_compose\_mod\_brent\_kung\_vec, \_gr\_poly\_preinv\_mod\_matrix\_rows\_evaluate (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_preinv_compose_mod.html},
note = {Generated 2026-10-20}
}