FLINT3.7.0-dev

fmpz_mpoly_buchberger_naive, fmpz_mpoly_buchberger_naive_with_limits

Synopsis#include <flint/fmpz_mpoly.h>
void fmpz_mpoly_buchberger_naive(fmpz_mpoly_vec_t G, const fmpz_mpoly_vec_t F, const fmpz_mpoly_ctx_t ctx)source
int fmpz_mpoly_buchberger_naive_with_limits(fmpz_mpoly_vec_t G, const fmpz_mpoly_vec_t F, slong ideal_len_limit, slong poly_len_limit, slong poly_bits_limit, const fmpz_mpoly_ctx_t ctx)source

Set G to a Gröbner basis of the ideal generated by F, by Buchberger's algorithm [Buc1965] with the usual criteria to skip pairs, following [BW1993]. The second version gives up and returns 0 if the basis gets longer than ideal_len_limit, a polynomial longer than poly_len_limit, or a coefficient larger than poly_bits_limit bits; G then generates the ideal but need not be a Gröbner basis. It returns 1 on success.

References#

  • [Buc1965] B. Buchberger. Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalen Polynomideal. PhD thesis, University of Innsbruck, 1965.
  • [BW1993] T. Becker and V. Weispfenning, Gröbner Bases: A Computational Approach to Commutative Algebra, Graduate Texts in Mathematics 141, Springer-Verlag (1993). https://doi.org/10.1007/978-1-4612-0913-3
Cite this page

The FLINT team, “fmpz_mpoly_buchberger_naive, fmpz_mpoly_buchberger_naive_with_limits (fmpz_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mpoly/fmpz_mpoly_buchberger_naive.html (generated 2026-10-20).