FLINT3.7.0-dev

arb_calc_newton_step

Synopsis#include <flint/arb_calc.h>
int arb_calc_newton_step(arb_t xnew, arb_calc_func_t func, void * param, const arb_t x, const arb_t conv_region, const arf_t conv_factor, slong prec)source

Performs one step of interval Newton iteration for a ball x = [m \pm r] that contains exactly one root of f, given a ball I \supseteq x (conv_region) and the bound C for \tfrac12 |f''| / |f'| on I (conv_factor). Computes m' = m - f(m)/f'(m) in ball arithmetic at prec bits 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 ARB_CALC_SUCCESS; otherwise sets xnew to x and returns ARB_CALC_NO_CONVERGENCE.

For the root \xi \in x, Taylor's theorem gives m' - \xi = \frac{f''(\eta)}{2 f'(m)} (m - \xi)^2 for some \eta between m and \xi, so |m' - \xi| \le C r^2, and the rounding errors in m' are included in the ball arithmetic. This is only valid if C really bounds \tfrac12 |f''|/|f'| on I.

Cite this page

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