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: Brian Gladman
Subject: [Bug-gsl] [bug #39713] roots/secant.c "derivative value is not finite" for a good guess
Date: Wed, 02 Oct 2013 15:20:11 +0000
User-agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36

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

In fact the problem arises because there is actually one condition where the
solver can detect and defend against a root that has already been found and
this is when the previous function value is exactly zero.  And it is the
failure of the root solver to detect exactly this condition that is the cause
of the problem.

I am coming to the conclusion that solvers should return one of two 'normal'
values - GSL_SUCCESS when entered with a root that has already produced a
funtion value of zero, and GSL_CONTINUE if they have not detected an end to
the iteration in this way.

This would allow a user to react to success immediately or to use a
convergence test if continuation is suggested.  

There is also another issue I am thinking about - to use
gsl_root_test_residual() for termination the user has to have a function value
but function values are not returned to the user.  So they are forced to
evaluate the function on each loop and this doubles the number of function
evaluations involved in finding the root. 

If I have this right, this doesn't seem sensible to me.

    _______________________________________________________

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]