FLINT3.7.0-dev

fmpz_mpoly_factor_irred_zassenhaus, fmpz_mpoly_factor_irred_wang, fmpz_mpoly_factor_irred_zippel

Synopsis#include <flint/fmpz_mpoly_factor.h>
int fmpz_mpoly_factor_irred_zassenhaus(fmpz_mpolyv_t fac, const fmpz_mpoly_t A, const fmpz_mpoly_ctx_t ctx, zassenhaus_prune_t Z)source
int fmpz_mpoly_factor_irred_wang(fmpz_mpolyv_t fac, const fmpz_mpoly_t A, const fmpz_mpoly_factor_t lcAfac, int lcAfac_irred, const fmpz_mpoly_t lcA, const fmpz_mpoly_ctx_t ctx, flint_rand_t state, zassenhaus_prune_t Z, int allow_shift)source
int fmpz_mpoly_factor_irred_zippel(fmpz_mpolyv_t fac, const fmpz_mpoly_t A, const fmpz_mpoly_factor_t lcAfac, int lcAfac_irred, const fmpz_mpoly_t lcA, const fmpz_mpoly_ctx_t ctx, flint_rand_t state, zassenhaus_prune_t Z)source

Set fac to the irreducible factors of A, which must be squarefree, primitive with respect to each variable and have positive leading coefficient, in a lex context with at least two variables. lcA is the leading coefficient of A in x_0 and lcAfac a squarefree factorisation of it, irreducible if lcAfac_irred is nonzero. Z collects the degrees of the factors of univariate images and can prove irreducibility early.

The Wang version evaluates x_1, \ldots at 0 and, if allow_shift is nonzero, then at random points of growing size, distributes the leading coefficient with fmpz_mpoly_factor_lcc_wang or fmpz_mpoly_factor_lcc_kaltofen, and lifts the factors one variable at a time with fmpz_mpoly_hlift. The Zippel version lifts modulo a prime with sparse Hensel lifting and then p-adically. The Zassenhaus version lifts without leading coefficient information and recombines subsets of the lifted factors. Return 1 on success, 0 if the method failed (another method or point may succeed), and -1 on an exceptional failure such as exponents that no longer fit one word.

Cite this page

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