fmpz_mpoly_compression_do, fmpz_mpoly_compression_undo
#include <flint/fmpz_mpoly_factor.h>void fmpz_mpoly_compression_do(fmpz_mpoly_t L, const fmpz_mpoly_ctx_t Lctx, fmpz * Acoeffs, slong Alen, mpoly_compression_t M)sourcevoid fmpz_mpoly_compression_undo(fmpz_mpoly_t A, flint_bitcnt_t Abits, const fmpz_mpoly_ctx_t Actx, fmpz_mpoly_t L, const fmpz_mpoly_ctx_t Lctx, mpoly_compression_t M)sourceApply the change of variables found by mpoly_compression_set. The first builds L in the compressed lex context Lctx from the coefficients Acoeffs, which are swapped in, and the compressed exponents stored in M, then sorts it and makes its leading coefficient positive. The second maps L (typically a factor of the compressed polynomial, whose coefficients are swapped out) back to Actx with Abits bits, divides by the largest monomial dividing it, sorts, and makes the leading coefficient positive.
The FLINT team, “fmpz_mpoly_compression_do, fmpz_mpoly_compression_undo (fmpz_mpoly_factor.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mpoly_factor/fmpz_mpoly_compression_do.html (generated 2026-10-20).
@misc{flint-doc-fmpz-mpoly-factor-fmpz-mpoly-compression-do,
author = {{The FLINT team}},
title = {{fmpz\_mpoly\_compression\_do, fmpz\_mpoly\_compression\_undo (fmpz\_mpoly\_factor.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_mpoly_factor/fmpz_mpoly_compression_do.html},
note = {Generated 2026-10-20}
}