arb_fmpz_poly_gauss_period_minpoly
#include <flint/arb_fmpz_poly.h>void arb_fmpz_poly_gauss_period_minpoly(fmpz_poly_t res, ulong q, ulong n)sourceSets res to the minimal polynomial of the Gaussian periods , where and runs over the cosets of the subgroup of order of . The result has degree ; for it is the cyclotomic polynomial . Requires prime, and ; otherwise res is set to zero.
The periods are computed numerically with acb_dirichlet_roots, the product is formed in ball arithmetic, and the integer coefficients are recovered with arb_poly_get_unique_fmpz_poly, doubling the precision until this succeeds. If additionally is coprime to , where is the multiplicative order of a prime modulo , the polynomial is irreducible over [CraPom2005], which gives a fast way to construct finite field extensions of a given degree (see Defining polynomials).
References#
- [CraPom2005] R. Crandall and C. Pomerance, Prime Numbers: A Computational Perspective, second edition, Springer (2005).
The FLINT team, “arb_fmpz_poly_gauss_period_minpoly (arb_fmpz_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/arb_fmpz_poly/arb_fmpz_poly_gauss_period_minpoly.html (generated 2026-11-02).
@misc{flint-doc-arb-fmpz-poly-arb-fmpz-poly-gauss-period-minpoly,
author = {{The FLINT team}},
title = {{arb\_fmpz\_poly\_gauss\_period\_minpoly (arb\_fmpz\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/arb_fmpz_poly/arb_fmpz_poly_gauss_period_minpoly.html},
note = {Generated 2026-11-02}
}