FLINT3.7.0-dev

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)source
double cd_poly_refine_roots_with_pivot(double * z, const double * poly, slong len, double stepsize_bound)source

Update 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).