nmod_mpoly_compose_nmod_mpoly, nmod_mpoly_compose_nmod_mpoly_horner, nmod_mpoly_compose_nmod_mpoly_geobucket
#include <flint/nmod_mpoly.h>int nmod_mpoly_compose_nmod_mpoly(nmod_mpoly_t A, const nmod_mpoly_t B, nmod_mpoly_struct * const * C, const nmod_mpoly_ctx_t ctxB, const nmod_mpoly_ctx_t ctxAC)sourceint nmod_mpoly_compose_nmod_mpoly_horner(nmod_mpoly_t A, const nmod_mpoly_t B, nmod_mpoly_struct * const * C, const nmod_mpoly_ctx_t ctxB, const nmod_mpoly_ctx_t ctxAC)sourceint nmod_mpoly_compose_nmod_mpoly_geobucket(nmod_mpoly_t A, const nmod_mpoly_t B, nmod_mpoly_struct * const * C, const nmod_mpoly_ctx_t ctxB, const nmod_mpoly_ctx_t ctxAC)sourceSet A to B evaluated at the polynomials C[0], C[1], ..., one per variable of ctxB, where A and the C[i] belong to ctxAC. A must not alias B or any C[i]. Return 1 for success and 0 if the result would be too large to compute. If every C[i] is zero or a monomial with coefficient 1, nmod_mpoly_compose_nmod_mpoly only transforms the exponent vectors by a matrix; otherwise it uses a Horner scheme (if some C[i] has more than one term) or a geobucket sum of the powered terms.
Guides#
The FLINT team, “nmod_mpoly_compose_nmod_mpoly, nmod_mpoly_compose_nmod_mpoly_horner, nmod_mpoly_compose_nmod_mpoly_geobucket (nmod_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_mpoly/nmod_mpoly_compose_nmod_mpoly.html (generated 2026-10-20).
@misc{flint-doc-nmod-mpoly-nmod-mpoly-compose-nmod-mpoly,
author = {{The FLINT team}},
title = {{nmod\_mpoly\_compose\_nmod\_mpoly, nmod\_mpoly\_compose\_nmod\_mpoly\_horner, nmod\_mpoly\_compose\_nmod\_mpoly\_geobucket (nmod\_mpoly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_mpoly/nmod_mpoly_compose_nmod_mpoly.html},
note = {Generated 2026-10-20}
}