Question: Why does Student[NumericalAnalysis][Bisection] not stop?

I was writing problems about the bisection method and decided to use the Maple routine Student[NumericalAnalysis][Bisection].  The problem I wrote generates a cubic with all three roots in a somewhat random interval.  Students are then asked to find a root to a given accuracy using the bisection method.  If one does not hit a root, the Student[NumericalAnalysis][Bisection] routine gives the desired answer.

A problem arises when the bisection algorithm generates a midpoint that is a zero of the cubic.  The standard bisection algorithm stops at this point.  When Student[NumericalAnalysis][Bisection] hits a zero, it continues on as if nothing unusual happened.  Attached is a Maple worksheet with a demonstration of this feature.

I am wondering if this behavior is appropriate since it does not follow the standard requirement of bisection that the function values at the endpoints of the interval must have opposite signs?

BisectionProblem.mw

Please Wait...