gr_mpoly_divrem, gr_mpoly_divrem_heap, gr_mpoly_divrem_heap_threaded, gr_mpoly_div, gr_mpoly_div_heap_threaded
#include <flint/gr_mpoly.h>int gr_mpoly_divrem(gr_mpoly_t Q, gr_mpoly_t R, const gr_mpoly_t A, const gr_mpoly_t B, gr_mpoly_ctx_t ctx)sourceint gr_mpoly_divrem_heap(gr_mpoly_t Q, gr_mpoly_t R, const gr_mpoly_t A, const gr_mpoly_t B, gr_mpoly_ctx_t ctx)sourceint gr_mpoly_divrem_heap_threaded(gr_mpoly_t Q, gr_mpoly_t R, const gr_mpoly_t A, const gr_mpoly_t B, gr_mpoly_ctx_t ctx)sourceint gr_mpoly_div(gr_mpoly_t Q, const gr_mpoly_t A, const gr_mpoly_t B, gr_mpoly_ctx_t ctx)sourceint gr_mpoly_div_heap_threaded(gr_mpoly_t Q, const gr_mpoly_t A, const gr_mpoly_t B, gr_mpoly_ctx_t ctx)sourceMultivariate division with remainder: A = QB + R where no monomial of R is divisible by the leading monomial of B. The div versions return only Q. Over a field this always works; over other rings it works whenever each division by the leading coefficient of B that occurs is exact, and returns GR_DOMAIN (with Q and R set to zero) otherwise. The defaults use the threaded algorithm for |A| > 500, |B| > 2 and a thread-safe ring when threads are available.
Guides#
The FLINT team, “gr_mpoly_divrem, gr_mpoly_divrem_heap, gr_mpoly_divrem_heap_threaded, gr_mpoly_div, gr_mpoly_div_heap_threaded (gr_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_mpoly/gr_mpoly_divrem.html (generated 2026-10-20).
@misc{flint-doc-gr-mpoly-gr-mpoly-divrem,
author = {{The FLINT team}},
title = {{gr\_mpoly\_divrem, gr\_mpoly\_divrem\_heap, gr\_mpoly\_divrem\_heap\_threaded, gr\_mpoly\_div, gr\_mpoly\_div\_heap\_threaded (gr\_mpoly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/gr_mpoly/gr_mpoly_divrem.html},
note = {Generated 2026-10-20}
}