FLINT3.7.0-dev

_fmpz_poly_factor_zassenhaus

Synopsis#include <flint/fmpz_poly_factor.h>
void _fmpz_poly_factor_zassenhaus(fmpz_poly_factor_t final_fac, slong exp, const fmpz_poly_t f, slong cutoff, int use_van_hoeij)source

Appends the irreducible factors of the squarefree, primitive polynomial f of length at least 2 with nonzero constant coefficient and positive leading coefficient, each with multiplicity exp, to final_fac; none of the conditions is checked.

Three primes p for which f is squarefree modulo p with the same degree and nonzero constant coefficient are tried, starting from 2, and the one with fewest modular factors is chosen; the factor degrees seen modulo all three primes are combined to rule out impossible degrees of true factors. With one modular factor, f is irreducible. If the number r of modular factors exceeds cutoff and use_van_hoeij is nonzero, fmpz_poly_factor_van_hoeij is called; otherwise the factors are lifted to the precision given by the Mignotte bound and recombined by fmpz_poly_factor_zassenhaus_recombination_with_prune. Quadratics and cubics are passed to the special functions.

Cite this page

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