To obtain a measure of progress at each iteration (function reduction, change in , etc.) and possibly halt computations if necessary, the following combination can be used [29]:

Here is a small number that specifies the desired accuracy in the function value. Each step of the algorithm 2.1 can then check conditions (26) and (27), (28), (29). For , only the first is checked. If either the triplet (27), (28), (29) or (26) hold, the iteration process can be halted. While the conditions above are quite useful in practice, many minimization algorithms only incorporate a gradient-norm test in some form.