nmod_poly_is_irreducible
#include <flint/nmod_poly_factor.h>int nmod_poly_is_irreducible(const nmod_poly_t f)sourceReturns whether f is irreducible over \mathbb{F}_p. As a special case, constant polynomials, including zero, are considered irreducible (unlike gr_poly_is_irreducible, which returns false for them).
For p \le \max(200, 2\,\mathrm{len}(f)) the function first looks for a root by evaluating f at every element of \mathbb{F}_p. For degree below 600 it then uses nmod_poly_is_irreducible_ddf; for higher degrees it checks squarefreeness, looks for factors of degree at most 4 with \gcd(f, x^{p^i} - x), and finishes with Rabin's test computed by modular composition (gr_poly_is_irreducible_rabin). See Irreducibility testing over finite fields.
The FLINT team, “nmod_poly_is_irreducible (nmod_poly_factor.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_poly_factor/nmod_poly_is_irreducible.html (generated 2026-10-20).
@misc{flint-doc-nmod-poly-factor-nmod-poly-is-irreducible,
author = {{The FLINT team}},
title = {{nmod\_poly\_is\_irreducible (nmod\_poly\_factor.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_poly_factor/nmod_poly_is_irreducible.html},
note = {Generated 2026-10-20}
}