[SciPy-User] The QR decomposition values returned by fsolve

The Helmbolds helmrp at yahoo.com
Sun Oct 28 20:15:24 EDT 2012


I think the following is the source of my confusion. SciPy's docstring for fsolve omits the following 
information found in the "User Guide for MINPACK" regarding HYBRD and HYBRDJ. 
The following is not a direct quote, but it's pretty close:
 
    The initial value of the Jacobian is not updated
    until the rank-1 method fails to produce satisfactory progress.
 
I assume that the Jacobian gets updated intermittently, and only 
when the rank-1 method is not producing satisfactory progress. 
(So in fact it might never get updated!!) 
 
Because fsolve's QR-related outputs (`fjac`, `r`, and `qtf`) are based on the 
final value of fsolve's internal "approximate Jacobian", they may be quite wide
of the mark, unless fsolve "just happens" to return right after the Jacobian
has been updated.
 
Accordingly -- unless there is some objection -- in my revision of fsolve's docstring, I'll
add to the Notes section something like the following:
 
    **Cautionary Note**: According to [the MINPACK User Guide], the 
    initial value of the program's "approximate Jacobian" is estimated
    (or calculated if `fprime` is supplied by the user), but is updated
    only when the rank-1 method is not producing satisfactory progress.
    Because the program's QR-related outputs (`fjac`, `r`, and `qtf`) 
    are based on the program's internal "approximate Jacobian", they 
    should not be used in subsequent analysis unless their validity is 
    confirmed by independent computations. 
 
Bob H




More information about the SciPy-User mailing list