_qqbar_roots_poly_squarefree
#include <flint/qqbar.h>An annihilating polynomial with rational coefficients is the product over all combinations of conjugates of the coefficients. It is computed numerically, as a product of polynomials with ball coefficients by binary splitting, and multiplied by a power of the common denominator of the coefficients so that its coefficients are integers that can be read off once the precision is high enough. Then is factored and the factors are matched against the numerical roots of . Since can be huge, the computation is aborted when its degree (the number of conjugate combinations) or size exceeds deg_limit or bits_limit (nonpositive values remove the limits, but the function can still fail if exceeds machine size). For polynomials that may have repeated roots, use gr_poly_roots with a qqbar context, which performs a squarefree factorisation first; gr_poly_roots_other computes algebraic roots of polynomials over other rings.
The FLINT team, “_qqbar_roots_poly_squarefree (qqbar.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/qqbar/_qqbar_roots_poly_squarefree.html (generated 2026-11-02).
@misc{flint-doc-qqbar-qqbar-roots-poly-squarefree,
author = {{The FLINT team}},
title = {{\_qqbar\_roots\_poly\_squarefree (qqbar.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/qqbar/_qqbar_roots_poly_squarefree.html},
note = {Generated 2026-11-02}
}