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 current estimate of the best-fit parameters in several standard ways.

__Function:__int**gsl_multifit_test_delta***(const gsl_vector **`dx`, const gsl_vector *`x`, double`epsabs`, double`epsrel`)-
This function tests for the convergence of the sequence by comparing the last step

`dx`with the absolute error`epsabs`and relative error`epsrel`to the current position`x`. The test returns`GSL_SUCCESS`

if the following condition is achieved,for each component of

`x`and returns`GSL_CONTINUE`

otherwise.

__Function:__int**gsl_multifit_test_gradient***(const gsl_vector **`g`, double`epsabs`)-
This function tests the residual gradient
`g`against the absolute error bound`epsabs`. Mathematically, the gradient should be exactly zero at the minimum. The test returns`GSL_SUCCESS`

if the following condition is achieved,and returns

`GSL_CONTINUE`

otherwise. This criterion is suitable for situations where the the precise location of the minimum, @math{x}, is unimportant provided a value can be found where the gradient is small enough.

__Function:__int**gsl_multifit_gradient***(const gsl_matrix **`J`, const gsl_vector *`f`, gsl_vector *`g`)-
This function computes the gradient
`g`of @math{\Phi(x) = (1/2) ||F(x)||^2} from the Jacobian matrix @math{J} and the function values`f`, using the formula @math{g = J^T f}.

Go to the first, previous, next, last section, table of contents.