bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] [bug #39713] roots/secant.c "derivative value is not finite" f


From: Rhys Ulerich
Subject: [Bug-gsl] [bug #39713] roots/secant.c "derivative value is not finite" for a good guess
Date: Wed, 02 Oct 2013 15:35:47 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31

Follow-up Comment #7, bug #39713 (project gsl):

I agree that one could design a more crisp API (like you suggest) that'll
better handle conditions like this, but you can't make the solver iteration
routine return something other than GSL_SUCCESS without breaking legacy code. 
Returning GSL_CONTINUE is nonzero and you'd break existing logic looking for
failure from the iteration routine.

To stay within the current API/ABI, shortcircuiting on f == 0.0 and returning
GSL_SUCCESS may be the only feasible change.  Anything else that's backwards
compatible come to mind?

As for duplicated evalution, gsl_root_fsolver_root returns the root without
requiring an additional function evaluation.   The root doesn't need to be
exposed directly to the user through the iteration API as an accessor is
available to get it at near-zero cost.  Again, one could imagine a different
API but this is what's in-place now.  You can see this routine exercised in
the examples and the source code in fsolver.c.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?39713>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]