Node:Iteration of the Minimization Algorithm, Next:, Previous:Providing the Function to be Minimized, Up:Nonlinear Least-Squares Fitting


The following functions drive the iteration of each algorithm. Each function performs one iteration to update the state of any solver of the corresponding type. The same functions work for all solvers so that different methods can be substituted at runtime without modifications to the code.

int gsl_multifit_fsolver_iterate (gsl_multifit_fsolver * s) Function
int gsl_multifit_fdfsolver_iterate (gsl_multifit_fdfsolver * s) Function
These functions perform a single iteration of the solver s. If the iteration encounters an unexpected problem then an error code will be returned. The solver maintains a current estimate of the best-fit parameters at all times.

The solver struct s contains the following entries, which can be used to track the progress of the solution:

gsl_vector * x
The current position.
gsl_vector * f
The function value at the current position.
gsl_vector * dx
The difference between the current position and the previous position, i.e. the last step, taken as a vector.
gsl_matrix * J
The Jacobian matrix at the current position (for the gsl_multifit_fdfsolver struct only)

The best-fit information also can be accessed with the following auxiliary functions,

gsl_vector * gsl_multifit_fsolver_position (const gsl_multifit_fsolver * s) Function
gsl_vector * gsl_multifit_fdfsolver_position (const gsl_multifit_fdfsolver * s) Function
These functions return the current position (i.e. best-fit parameters) s->x of the solver s.