fmpz_mpoly_compose_fmpz_mpoly, fmpz_mpoly_compose_fmpz_mpoly_geobucket, fmpz_mpoly_compose_fmpz_mpoly_horner
#include <flint/fmpz_mpoly.h>int fmpz_mpoly_compose_fmpz_mpoly(fmpz_mpoly_t A, const fmpz_mpoly_t B, fmpz_mpoly_struct * const * C, const fmpz_mpoly_ctx_t ctxB, const fmpz_mpoly_ctx_t ctxAC)sourceint fmpz_mpoly_compose_fmpz_mpoly_geobucket(fmpz_mpoly_t A, const fmpz_mpoly_t B, fmpz_mpoly_struct * const * C, const fmpz_mpoly_ctx_t ctxB, const fmpz_mpoly_ctx_t ctxAC)sourceint fmpz_mpoly_compose_fmpz_mpoly_horner(fmpz_mpoly_t A, const fmpz_mpoly_t B, fmpz_mpoly_struct * const * C, const fmpz_mpoly_ctx_t ctxB, const fmpz_mpoly_ctx_t ctxAC)sourceSet A to , where B belongs to ctxB and A and the polynomials (one per variable of ctxB) belong to ctxAC. A must not alias B or any . Return 1 for success and 0 for failure. If every is zero or a monomial with coefficient 1, fmpz_mpoly_compose_fmpz_mpoly maps the exponents by a matrix (_fmpz_mpoly_compose_mat) and cannot fail; otherwise it uses the Horner method if some has more than one term and the geobucket method otherwise. The geobucket version computes powers of the and sums the terms in a geobucket; the Horner version evaluates a recursive Horner scheme.
The FLINT team, “fmpz_mpoly_compose_fmpz_mpoly, fmpz_mpoly_compose_fmpz_mpoly_geobucket, fmpz_mpoly_compose_fmpz_mpoly_horner (fmpz_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mpoly/fmpz_mpoly_compose_fmpz_mpoly.html (generated 2026-11-02).
@misc{flint-doc-fmpz-mpoly-fmpz-mpoly-compose-fmpz-mpoly,
author = {{The FLINT team}},
title = {{fmpz\_mpoly\_compose\_fmpz\_mpoly, fmpz\_mpoly\_compose\_fmpz\_mpoly\_geobucket, fmpz\_mpoly\_compose\_fmpz\_mpoly\_horner (fmpz\_mpoly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_mpoly/fmpz_mpoly_compose_fmpz_mpoly.html},
note = {Generated 2026-11-02}
}