Search code examples
mathematical-optimizationnumerical-methods

Meaning of relative tolerance in minimization routine (minpack's hybrd1)


I am using a port of minpack's hybrd1 in Eigen which uses Powell's method to find solution of f(x)=0; the jacobian is computed numerically, in this case.

The solver accepts xtol parameter, relative tolerance, which is by default sqrt(eps) for given numerical type (double in my case)

In most cases, I get satisfactory solution with residuals vector norm like 1.446575e-9. Sometimes, though, solution giving norm e.g. 523.543 is accepted, which makes me wonder what the meaning of xtol actually is. What is the reference value against which is the current residuals norm compared?


Solution

  • As I found out by code inspection eventually, xtol is relative to the norm of the initial guess (provided by the user) where the solver starts.