FLINT3.7.0-dev

_arb_poly_newton_step

Synopsis#include <flint/arb_poly.h>
int _arb_poly_newton_step(arb_t xnew, arb_srcptr poly, slong len, const arb_t x, const arb_t convergence_interval, const arf_t convergence_factor, slong prec)source

Performs one step of Newton's method for a ball x = [m \pm r] that contains exactly one root of f = {poly, len}, given a ball I \supseteq x (convergence_interval) and the factor C computed by _arb_poly_newton_convergence_factor. Computes m' = m - f(m)/f'(m) in ball arithmetic and adds C r^2 to its radius. If the new ball x' lies in I and has a smaller radius than x, sets xnew to x' and returns nonzero; otherwise sets xnew to x and returns zero.

If \xi \in x is the root, Taylor's theorem gives m' - \xi = \frac{f''(\eta)}{2 f'(m)} (m - \xi)^2 for some \eta \in I, hence |m' - \xi| \le C r^2 (Isolating and refining real roots).

Cite this page

The FLINT team, “_arb_poly_newton_step (arb_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/arb_poly/_arb_poly_newton_step.html (generated 2026-10-20).