Next: Multimin Algorithms with Derivatives, Previous: Multimin Iteration, Up: Multidimensional Minimization [Index]

A minimization procedure should stop when one of the following conditions is true:

- A minimum has been found to within the user-specified precision.
- A user-specified maximum number of iterations has been reached.
- An error has occurred.

The handling of these conditions is under user control. The functions below allow the user to test the precision of the current result.

- Function:
*int***gsl_multimin_test_gradient***(const gsl_vector **`g`, double`epsabs`) This function tests the norm of the gradient

`g`against the absolute tolerance`epsabs`. The gradient of a multidimensional function goes to zero at a minimum. The test returns`GSL_SUCCESS`

if the following condition is achieved,|g| < epsabs

and returns

`GSL_CONTINUE`

otherwise. A suitable choice of`epsabs`can be made from the desired accuracy in the function for small variations in*x*. The relationship between these quantities is given by*\delta f = g \delta x*.

- Function:
*int***gsl_multimin_test_size***(const double*`size`, double`epsabs`) This function tests the minimizer specific characteristic size (if applicable to the used minimizer) against absolute tolerance

`epsabs`. The test returns`GSL_SUCCESS`

if the size is smaller than tolerance, otherwise`GSL_CONTINUE`

is returned.