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
#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)sourceint 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)sourceint 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)sourceint 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)sourceint 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)sourceint 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)sourceint 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)sourceint 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)sourceint 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)sourceSet 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).
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).
@misc{flint-doc-nmod-mpoly-factor-nmod-mpoly-factor-irred-smprime-zassenhaus,
author = {{The FLINT team}},
title = {{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)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_mpoly_factor/nmod_mpoly_factor_irred_smprime_zassenhaus.html},
note = {Generated 2026-10-20}
}