FLINT3.7.0-dev

_fq_poly_compose_mod_brent_kung_precomp_preinv, fq_poly_compose_mod_brent_kung_precomp_preinv

Synopsis#include <flint/fq_poly.h>
void _fq_poly_compose_mod_brent_kung_precomp_preinv(fq_struct * res, const fq_struct * poly1, slong len1, const fq_mat_t A, const fq_struct * poly3, slong len3, const fq_struct * poly3inv, slong len3inv, const fq_ctx_t ctx)
void fq_poly_compose_mod_brent_kung_precomp_preinv(fq_poly_t res, const fq_poly_t poly1, const fq_mat_t A, const fq_poly_t poly3, const fq_poly_t poly3inv, const fq_ctx_t ctx)

Set res to f(g) \bmod h for f = poly1 with \deg f < \deg h, using the matrix A of powers of g computed by fq_poly_precompute_matrix. This amortises the precomputation over many compositions with the same g, as in the iterated Frobenius computations of factorisation.

Cite this page

The FLINT team, “_fq_poly_compose_mod_brent_kung_precomp_preinv, fq_poly_compose_mod_brent_kung_precomp_preinv (fq_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_poly/_fq_poly_compose_mod_brent_kung_precomp_preinv.html (generated 2026-10-20).