fmpz_mpoly_divides_monagan_pearce, fmpz_mpoly_divides_heap_threaded
Synopsis
#include <flint/fmpz_mpoly.h>int fmpz_mpoly_divides_monagan_pearce(fmpz_mpoly_t Q, const fmpz_mpoly_t A, const fmpz_mpoly_t B, const fmpz_mpoly_ctx_t ctx)sourceint fmpz_mpoly_divides_heap_threaded(fmpz_mpoly_t Q, const fmpz_mpoly_t A, const fmpz_mpoly_t B, const fmpz_mpoly_ctx_t ctx)Exact division testing by the heap algorithm of Monagan and Pearce [MonPea2007], single threaded, respectively with threads [MonPea2010]. The threaded version, and the threaded path of fmpz_mpoly_divides, only exist if FLINT was configured for a machine with a strongly ordered memory model (FLINT_KNOW_STRONG_ORDER); test with #ifdef fmpz_mpoly_divides_heap_threaded.
References#
- [MonPea2007] M. Monagan and R. Pearce. Polynomial division using dynamic arrays, heaps, and packed exponent vectors. Computer Algebra in Scientific Computing (CASC 2007), Lecture Notes in Computer Science 4770, Springer, 2007, 295–315. https://doi.org/10.1007/978-3-540-75187-8_23
- [MonPea2010] M. Monagan and R. Pearce. Parallel sparse polynomial division using heaps. Proceedings of PASCO 2010, ACM, 105–111. https://doi.org/10.1145/1837210.1837227
Cite this page
The FLINT team, “fmpz_mpoly_divides_monagan_pearce, fmpz_mpoly_divides_heap_threaded (fmpz_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mpoly/fmpz_mpoly_divides_monagan_pearce.html (generated 2026-10-20).
@misc{flint-doc-fmpz-mpoly-fmpz-mpoly-divides-monagan-pearce,
author = {{The FLINT team}},
title = {{fmpz\_mpoly\_divides\_monagan\_pearce, fmpz\_mpoly\_divides\_heap\_threaded (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_divides_monagan_pearce.html},
note = {Generated 2026-10-20}
}