FLINT3.7.0-dev

nmod_mpoly_factor_irred_smprime_zassenhaus, nmod_mpoly_factor_irred_smprime_wang, nmod_mpoly_factor_irred_smprime_zippel, nmod_mpoly_factor_irred_medprime_zassenhaus, nmod_mpoly_factor_irred_medprime_wang, nmod_mpoly_factor_irred_medprime_zippel, nmod_mpoly_factor_irred_lgprime_zassenhaus, nmod_mpoly_factor_irred_lgprime_wang, nmod_mpoly_factor_irred_lgprime_zippel

Synopsis#include <flint/nmod_mpoly_factor.h>
int nmod_mpoly_factor_irred_smprime_zassenhaus(nmod_mpolyv_t fac, const nmod_mpoly_t A, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_smprime_wang(nmod_mpolyv_t fac, const nmod_mpoly_t A, const nmod_mpoly_factor_t lcAfac, const nmod_mpoly_t lcA, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_smprime_zippel(nmod_mpolyv_t fac, const nmod_mpoly_t A, const nmod_mpoly_factor_t lcAfac, const nmod_mpoly_t lcA, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_medprime_zassenhaus(nmod_mpolyv_t fac, const nmod_mpoly_t A, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_medprime_wang(nmod_mpolyv_t Af, const nmod_mpoly_t A, const nmod_mpoly_factor_t lcAfac, const nmod_mpoly_t lcA, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_medprime_zippel(nmod_mpolyv_t Af, const nmod_mpoly_t A, const nmod_mpoly_factor_t lcAfac, const nmod_mpoly_t lcA, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_lgprime_zassenhaus(nmod_mpolyv_t fac, const nmod_mpoly_t A, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_lgprime_wang(nmod_mpolyv_t Af, const nmod_mpoly_t A, const nmod_mpoly_factor_t lcAfac, const nmod_mpoly_t lcA, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source
int nmod_mpoly_factor_irred_lgprime_zippel(nmod_mpolyv_t Af, const nmod_mpoly_t A, const nmod_mpoly_factor_t lcAfac, const nmod_mpoly_t lcA, const nmod_mpoly_ctx_t ctx, flint_rand_t state)source

Set fac (or Af) to the irreducible factors of the monic squarefree A in lexicographic order with at least three variables, given for the Wang and Zippel methods the factorisation lcAfac of the leading coefficient lcA in variable 0. The smprime versions use evaluation points in \mathbb{F}_p; the medprime versions map A to \mathbb{F}_{p^k} represented by fq_zech (with p^k \le 10^6), factor there and combine Frobenius-conjugate factors; the lgprime versions do the same with fq_nmod and no bound on k. Return 1 for success, 0 if they ran out of evaluation points or extension degrees, and -1 for a failure that other evaluation points would not fix (for example exponents that do not fit one word).

Cite this page

The FLINT team, “nmod_mpoly_factor_irred_smprime_zassenhaus, nmod_mpoly_factor_irred_smprime_wang, nmod_mpoly_factor_irred_smprime_zippel, nmod_mpoly_factor_irred_medprime_zassenhaus, nmod_mpoly_factor_irred_medprime_wang, nmod_mpoly_factor_irred_medprime_zippel, nmod_mpoly_factor_irred_lgprime_zassenhaus, nmod_mpoly_factor_irred_lgprime_wang, nmod_mpoly_factor_irred_lgprime_zippel (nmod_mpoly_factor.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_mpoly_factor/nmod_mpoly_factor_irred_smprime_zassenhaus.html (generated 2026-10-20).