_gr_poly_mod_matrix_rows_evaluate
Synopsis
#include <flint/gr_poly.h>int _gr_poly_mod_matrix_rows_evaluate(gr_ptr res, const gr_mat_t A, gr_srcptr h, slong n, gr_srcptr poly3, slong len3, gr_srcptr poly3inv, slong len3inv, gr_ctx_t ctx)sourceThe last step of Brent-Kung composition: sets res to \sum_i c_i h^i \bmod \mathit{poly3}, where the c_i are the rows of A and h (in Brent-Kung composition, g^m) and the rows have n = \mathit{len3} - 1 coefficients. For few rows this is Horner's rule; for many rows it uses rectangular splitting with powers h^0, \ldots, h^k, k \approx \sqrt{r}, and unreduced products, so that only about r/k + k modular reductions are needed for r rows.
Cite this page
The FLINT team, “_gr_poly_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_mod_matrix_rows_evaluate.html (generated 2026-10-20).
@misc{flint-doc-gr-poly-gr-poly-mod-matrix-rows-evaluate,
author = {{The FLINT team}},
title = {{\_gr\_poly\_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_mod_matrix_rows_evaluate.html},
note = {Generated 2026-10-20}
}