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 14:50:48 +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 #5, bug #39713 (project gsl):

> 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?

This feels like a usage error on the user's part.  How one can have
secant_iterate defend against having already found the root when "the solver
found the root" is a problem- and tolerance-specific statement.  See below,
however, ...

> 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'? 

Maybe, when the root is obtained identically (i.e. state->f == 0 on entry to
secant_iterate in secant.c), have the method immediately return GSL_SUCCESS
without attempting to re-evaluate the function.  I say identically because
only in that case should all sane tolerancing schemes agree that the root has
been found.

Presumably the user not checking for success will either (a) notice an
infinite loop in their code or (b) notice that their solve procedure hits the
maximum number of iterations if they control for that.

Thanks for digging into this,
Rhys

    _______________________________________________________

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]