I saw many stopping criteria for Newton's method all around Web and books.
Some are defined from the residuals:
- of either current iteration only:
$$ \|f(\mathbf{x}^{(k)})\| \leq \epsilon $$
(https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Newton#Crit%C3%A8re_d'arr%C3%AAt)
- or of current and previous iterations, mixing both absolute and relative tolerances:
$$ \|f(\mathbf{x}^{(k)})\| \leq \delta \|f(\mathbf{x}^{(k-1)})\| + \epsilon $$
(https://archive.siam.org/books/textbooks/fr16_book.pdf, p.73).
Some other criteria are defined from the gradients:
- of absolute differences:
$$ \|\mathbf{x}^{(k)}- \mathbf{x}^{(k-1)}\| \leq \epsilon $$
(https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Newton#Crit%C3%A8re_d'arr%C3%AAt ; https://www.hds.utc.fr/~tdenoeux/dokuwiki/_media/en/univariate_optimization.pdf, p.20),
- of relative differences:
$$ \|\mathbf{x}^{(k)} - \mathbf{x}^{(k-1)}\| \leq \delta \|\mathbf{x}^{(k)}\| $$
(https://www.hds.utc.fr/~tdenoeux/dokuwiki/_media/en/univariate_optimization.pdf, p.20 ; https://scicomp.stackexchange.com/a/30606/38451),
- or of both absolute and relative differences, using absolute and relative tolerances:
$$ \|\mathbf{x}^{(k)} - \mathbf{x}^{(k-1)}\| \leq \delta \|\mathbf{x}^{(k)}\| + \epsilon $$
(https://archive.siam.org/books/textbooks/fr18_book.pdf, p.16).
For the vector norm, some authors use the infinity norm $\|.\|_\infty$, while some others use the L-1 norm $\|.\|_1$.
Finally, I saw that it's also possible to compute the norm of the relative errors rather than the relative error of the norms, e.g. (using $\oslash$ for element-wise vector division):
$$ \| \left( \mathbf{x}^{(k)} - \mathbf{x}^{(k-1)} \right) \oslash \mathbf{x}^{(k)} \| \leq \delta $$
rather than:
$$ \|\mathbf{x}^{(k)} - \mathbf{x}^{(k-1)}\| \leq \delta \|\mathbf{x}^{(k)}\| $$
(https://www.rocq.inria.fr/modulef/Doc/GB/Guide6-10/node21.html),
or, to avoid division by zero:
$$ \| \left( \mathbf{x}^{(k)} - \mathbf{x}^{(k-1)} \right) \oslash \left( \left| \mathbf{x}^{(k)} \right| + 1 \right) \| \leq \delta $$
So my question is: which one of these criteria should I use? Intuitively I would say that checking both residuals and gradients, using both absolute and relative tolerances, and using infinity norm would be the best. But then, why "simpler" criteria are still so often used for many applications? If there is no universal termination criteria applicable to all situations, how could I choose the one which is the best for me?