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 ff 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 pp for which ff is squarefree modulo pp 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, ff is irreducible. If the number rr 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-11-02).