Node:Iteration of the multidimensional solver, Next:, Previous:Providing the multidimensional system of equations to solve, Up:Multidimensional Root-Finding



Iteration

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_multiroot_fsolver_iterate (gsl_multiroot_fsolver * s) Function
int gsl_multiroot_fdfsolver_iterate (gsl_multiroot_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,
GSL_EBADFUNC
the iteration encountered a singular point where the function or its derivative evaluated to Inf or NaN.
GSL_ENOPROG
the iteration is not making any progress, preventing the algorithm from continuing.

The solver maintains a current best estimate of the root at all times. This information can be accessed with the following auxiliary functions,

gsl_vector * gsl_multiroot_fsolver_root (const gsl_multiroot_fsolver * s) Function
gsl_vector * gsl_multiroot_fdfsolver_root (const gsl_multiroot_fdfsolver * s) Function
These functions return the current estimate of the root for the solver s.

gsl_vector * gsl_multiroot_fsolver_f (const gsl_multiroot_fsolver * s) Function
gsl_vector * gsl_multiroot_fdfsolver_f (const gsl_multiroot_fdfsolver * s) Function
These functions return the function value f(x) at the current estimate of the root for the solver s.

gsl_vector * gsl_multiroot_fsolver_dx (const gsl_multiroot_fsolver * s) Function
gsl_vector * gsl_multiroot_fdfsolver_dx (const gsl_multiroot_fdfsolver * s) Function
These functions return the last step dx taken by the solver s.