cd_poly_refine_roots, cd_poly_refine_roots_with_pivot
Synopsis
#include <flint/acb_poly.h>double cd_poly_refine_roots(double * z, const double * poly, slong len, double stepsize_bound)sourcedouble cd_poly_refine_roots_with_pivot(double * z, const double * poly, slong len, double stepsize_bound)sourceUpdate the \mathit{len} - 1 approximate roots in z with one damped Weierstrass–Durand–Kerner step z_k \leftarrow z_k - \delta_k, where \delta_k = f(z_k) / (a_n \prod_{j \ne k} (z_k - z_j)) is scaled down so that |\delta_k| \le stepsize_bound, and return the largest relative step. The version with pivot evaluates large roots through the reversed polynomial and orders the factors of the products to reduce the risk of overflow; it does not preserve the order of the roots.
Cite this page
The FLINT team, “cd_poly_refine_roots, cd_poly_refine_roots_with_pivot (acb_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_poly/cd_poly_refine_roots.html (generated 2026-10-20).
@misc{flint-doc-acb-poly-cd-poly-refine-roots,
author = {{The FLINT team}},
title = {{cd\_poly\_refine\_roots, cd\_poly\_refine\_roots\_with\_pivot (acb\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/acb_poly/cd_poly_refine_roots.html},
note = {Generated 2026-10-20}
}