_fq_zech_poly_compose_mod_brent_kung, fq_zech_poly_compose_mod_brent_kung, _fq_zech_poly_compose_mod_brent_kung_preinv, fq_zech_poly_compose_mod_brent_kung_preinv
#include <flint/fq_zech_poly.h>void _fq_zech_poly_compose_mod_brent_kung(fq_zech_struct * res, const fq_zech_struct * poly1, slong len1, const fq_zech_struct * poly2, const fq_zech_struct * poly3, slong len3, const fq_zech_ctx_t ctx)void fq_zech_poly_compose_mod_brent_kung(fq_zech_poly_t res, const fq_zech_poly_t poly1, const fq_zech_poly_t poly2, const fq_zech_poly_t poly3, const fq_zech_ctx_t ctx)void _fq_zech_poly_compose_mod_brent_kung_preinv(fq_zech_struct * res, const fq_zech_struct * poly1, slong len1, const fq_zech_struct * poly2, const fq_zech_struct * poly3, slong len3, const fq_zech_struct * poly3inv, slong len3inv, const fq_zech_ctx_t ctx)void fq_zech_poly_compose_mod_brent_kung_preinv(fq_zech_poly_t res, const fq_zech_poly_t poly1, const fq_zech_poly_t poly2, const fq_zech_poly_t poly3, const fq_zech_poly_t poly3inv, const fq_zech_ctx_t ctx)Modular composition f(g) \bmod h by the Brent–Kung algorithm: the powers g^i \bmod h for i < m = \lceil \sqrt{\mathit{lenf}} \rceil are computed, f is split into m blocks, the block compositions are obtained by one m \times m by m \times \deg h matrix product, and the results are combined by Horner's rule in g^m. Requires \deg f < \deg h and g reduced modulo h; the _preinv versions also require the inverse of the reversal of h. No aliasing in the underscore versions.
Generated from the same template as _fq_poly_compose_mod_brent_kung, whose documentation has the details.
The FLINT team, “_fq_zech_poly_compose_mod_brent_kung, fq_zech_poly_compose_mod_brent_kung, _fq_zech_poly_compose_mod_brent_kung_preinv, fq_zech_poly_compose_mod_brent_kung_preinv (fq_zech_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_zech_poly/_fq_zech_poly_compose_mod_brent_kung.html (generated 2026-10-20).
@misc{flint-doc-fq-zech-poly-fq-zech-poly-compose-mod-brent-kung,
author = {{The FLINT team}},
title = {{\_fq\_zech\_poly\_compose\_mod\_brent\_kung, fq\_zech\_poly\_compose\_mod\_brent\_kung, \_fq\_zech\_poly\_compose\_mod\_brent\_kung\_preinv, fq\_zech\_poly\_compose\_mod\_brent\_kung\_preinv (fq\_zech\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fq_zech_poly/_fq_zech_poly_compose_mod_brent_kung.html},
note = {Generated 2026-10-20}
}