#4942: find_root() is broken when interval borders cannot be evaluated
-----------------------+----------------------------------------------------
 Reporter:  mabshoff   |        Owner:  mhansen 
     Type:  defect     |       Status:  assigned
 Priority:  blocker    |    Milestone:  sage-3.3
Component:  numerical  |   Resolution:          
 Keywords:             |  
-----------------------+----------------------------------------------------
Comment (by cwitty):

 There are at least a couple of issues here.  First, brentq is a variant of
 a bisection-based solver; if you use any bisection-based solver to find a
 zero of 1/(x-1) between 0 and 2, it will narrow down and return something
 very close to 1.  So if we don't like that, we should use a different
 solver (or at least try to check the output; for instance, a simple check
 that f(x) is "small" would detect this particular problem).

 Second, find_root tries to verify that the function evaluates to different
 signs at the endpoints of the interval (as required by brentq); but it
 doesn't check the function evaluation results for NaN.  In the original
 test case, fast_float(f)(0) gives NaN.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4942#comment:5>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to