Follow-up Comment #4, bug #39713 (project gsl):
When the secant method is used to find a root with a linear function, its root
prediction is essentially perfect and it will give a function value that is
zero (or _very_ close). In this situation, when gsl_root_test_delta() is used
to test for termination without also using gsl_root_test_residual(), they will
get a return which indicates the need to continue the iteration even though
this is not necessary. And this WILL lead to the "derivative value is not
finite" error.
So, in my view, the real question raised by this issue is what should the
solver do if it is entered at a position where the previous iteration has
already found the root and the user has not terminated the iteration? To do
nothing risks an infinite loop. But to do what is done now indicates failure
for what is really success! Maybe a warning return value such as "root
already found'?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?39713>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/