_fmpz_poly_pseudo_divrem_cohen, fmpz_poly_pseudo_divrem_cohen, _fmpz_poly_pseudo_rem_cohen, fmpz_poly_pseudo_rem_cohen
#include <flint/fmpz_poly.h>void _fmpz_poly_pseudo_divrem_cohen(fmpz * Q, fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB)sourcevoid fmpz_poly_pseudo_divrem_cohen(fmpz_poly_t Q, fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B)sourcevoid _fmpz_poly_pseudo_rem_cohen(fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB)sourcevoid fmpz_poly_pseudo_rem_cohen(fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B)sourcePseudo-division with the exponent fixed at d = \max(0, \operatorname{len}(A) - \operatorname{len}(B) + 1), by Algorithm 3.1.2 of [Coh1996]: \ell^d A = BQ + R with \deg R < \deg B. This is the pseudo-remainder of the subresultant algorithm; it is quadratic and meant for short polynomials. The underscore versions require \mathit{lenA} \ge \mathit{lenB} > 0, room for \mathit{lenA} coefficients in R, and allow R to be equal to A; no other aliasing.
References#
- [Coh1996] Cohen, Henri : A course in computational algebraic number theory, Springer, 1996
The FLINT team, “_fmpz_poly_pseudo_divrem_cohen, fmpz_poly_pseudo_divrem_cohen, _fmpz_poly_pseudo_rem_cohen, fmpz_poly_pseudo_rem_cohen (fmpz_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_poly/_fmpz_poly_pseudo_divrem_cohen.html (generated 2026-10-20).
@misc{flint-doc-fmpz-poly-fmpz-poly-pseudo-divrem-cohen,
author = {{The FLINT team}},
title = {{\_fmpz\_poly\_pseudo\_divrem\_cohen, fmpz\_poly\_pseudo\_divrem\_cohen, \_fmpz\_poly\_pseudo\_rem\_cohen, fmpz\_poly\_pseudo\_rem\_cohen (fmpz\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_poly/_fmpz_poly_pseudo_divrem_cohen.html},
note = {Generated 2026-10-20}
}