[SciPy-user] negative values in diagonal of covariance matrix
Fri Dec 12 03:25:06 CST 2008
Fri, 12 Dec 2008 13:49:55 +0900, David Cournapeau wrote:
> Do you mean the python wrapper miss some diagnostic information
> available in fortran ? Otherwise, would it make sense to check the ier
> value from fortran and at least generate a warning about failed
> convergence ?
The Python wrapper to minpack.lmder is quite thin, I'd expect any
problems to be in the MINPACK code itself (which is actually LMDIF and
not LMDER as I wrote earlier). The algorithm itself is something like
Levenberg-Marquardt with a trust region.
Unless the problem is in the minpack.leastsq code that forms the cov_x
matrix from return values of LMDIF:
perm = take(eye(n),retval['ipvt']-1,0)
r = triu(transpose(retval['fjac'])[:n,:])
R = dot(r, perm)
cov_x = inv(dot(transpose(R),R))
I don't have the time to check this now, though.
More information about the SciPy-user