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.
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 iteration encountered a singular point where the function or its derivative evaluated to
- the iteration is not making any progress, preventing the algorithm from continuing.
The solver maintains a current best estimate of the root
and its function value
s->f at all times. This information can
be accessed with the following auxiliary functions,
These functions return the current estimate of the root for the solver s, given by
These functions return the function value f(x) at the current estimate of the root for the solver s, given by
These functions return the last step dx taken by the solver s, given by