nmod_mpoly_divides_monagan_pearce, nmod_mpoly_divides_dense
Synopsis
#include <flint/nmod_mpoly.h>int nmod_mpoly_divides_monagan_pearce(nmod_mpoly_t Q, const nmod_mpoly_t A, const nmod_mpoly_t B, const nmod_mpoly_ctx_t ctx)sourceint nmod_mpoly_divides_dense(nmod_mpoly_t Q, const nmod_mpoly_t A, const nmod_mpoly_t B, const nmod_mpoly_ctx_t ctx)sourceVariants of nmod_mpoly_divides. The first uses the heap algorithm of Monagan and Pearce [MonPea2011] in one thread, which stops as soon as a remainder term cannot be divided. nmod_mpoly_divides_dense uses Kronecker substitution and univariate division; it returns -1 if the dense representation would be too large, and otherwise 0 or 1 as nmod_mpoly_divides.
References#
- [MonPea2011] M. Monagan and R. Pearce. Sparse polynomial division using a heap. Journal of Symbolic Computation 46:7 (2011), 807–822. https://doi.org/10.1016/j.jsc.2010.08.014
Cite this page
The FLINT team, “nmod_mpoly_divides_monagan_pearce, nmod_mpoly_divides_dense (nmod_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_mpoly/nmod_mpoly_divides_monagan_pearce.html (generated 2026-10-20).
@misc{flint-doc-nmod-mpoly-nmod-mpoly-divides-monagan-pearce,
author = {{The FLINT team}},
title = {{nmod\_mpoly\_divides\_monagan\_pearce, nmod\_mpoly\_divides\_dense (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_divides_monagan_pearce.html},
note = {Generated 2026-10-20}
}