_fmpz_poly_factor_inflation_is_irreducible_capelli
#include <flint/fmpz_poly_factor.h>int _fmpz_poly_factor_inflation_is_irreducible_capelli(const fmpz_poly_t T, ulong p)sourceGiven irreducible over of degree at least 1 and a prime , attempts to prove that is irreducible over . Returns 1 if a proof was found and 0 if the search was inconclusive, in which case may still be irreducible. The behaviour is undefined if is reducible. need not be primitive and may have negative leading coefficient.
By Capelli's theorem, for prime the polynomial is irreducible over if and only if , the image of in , is not a -th power in . For , and for with , this is decided exactly (the return value is 1 precisely when is irreducible). Otherwise the function searches for a rational prime , with squarefree modulo and dividing neither the leading nor the constant coefficient of , such that reduces to a non--th power in some residue field of above , which is detected with Euler's criterion in a residue field of degree ; any such witness proves . The search budget is linear in (for inputs with abelian splitting fields of exponent , such as deflations of Swinnerton-Dyer polynomials, witnesses have density only among the primes and occur only in degree-1 residue fields), and the search stops early when the accumulated local evidence makes irreducibility unlikely.
The FLINT team, “_fmpz_poly_factor_inflation_is_irreducible_capelli (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_inflation_is_irreducible_capelli.html (generated 2026-11-02).
@misc{flint-doc-fmpz-poly-factor-fmpz-poly-factor-inflation-is-irreducible-capelli,
author = {{The FLINT team}},
title = {{\_fmpz\_poly\_factor\_inflation\_is\_irreducible\_capelli (fmpz\_poly\_factor.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_poly_factor/_fmpz_poly_factor_inflation_is_irreducible_capelli.html},
note = {Generated 2026-11-02}
}