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 c开发者_运维百科ases, 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?
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.
精彩评论