= Solution
\b[Choose (iii), $|x_{n+1}-x_n|<2000\epsilon$.] Here the root has magnitude between $1000$ and $2000$. <Machine epsilon> measures relative precision near unity; the spacing of representable <floating-point numbers> near the root is therefore of order $10^3\epsilon$. A step tolerance scaled to that magnitude is consistent with the attainable absolute positional accuracy. For IEEE binary64, using $\epsilon=2^{-52}$, $2000\epsilon\approx4.44\times10^{-13}$, comparable to the local spacing. A fixed numerical constant cannot promise an exact correctly rounded root, but this is the most sensible of the three proposals.
Condition \b[(ii)] asks for a step below $2\epsilon$, a scale appropriate near one rather than near this root. A nonzero representable change near the root is normally much larger. The test may trigger only after exact stagnation, and rounding-induced oscillation can prevent that; it asks for unnecessarily fine absolute resolution.
Condition \b[(i)] measures a residual, not a position error. It changes if the same root problem is multiplied by a constant. Moreover, evaluating $f$ can involve cancellation among quantities of order $1000$, so an absolute residual of order $\epsilon$ need not be meaningful or attainable. Here $1/2<f'(x^*)\le1$, making residual and position errors comparable in exact arithmetic, but their requested absolute scale is still too small. A practical <scale-aware stopping criterion for Newton iteration> should also detect stagnation or a cycle rather than assuming exact arithmetic persists indefinitely.
Back to article page