The bisection method in Maple is quite straight-forward:
> epsilon[abs] := 1e-5:
> epsilon[step] := 1e-5:
> f := x -> x^3 - 2:
> a := 0.0:
> b := 2.0:
> while b - a >= epsilon[step] or ( abs( f(a) ) >= epsilon[abs] and abs( f(b) ) >= epsilon[abs] ) do
c := (a + b)/2;
if f(c) = 0 then
break;
elif f(a)*f(c) < 0 then
b := c;
else
a := c;
end if;
end do:
> [a, b];
[1.259918214, 1.259925843]
> abs( f(a) );
0.000013505
> abs( f(b) );
0.000022826
Thus, we would choose 1.259918214 as our approximation to the cube-root of 2, which has an actual value (to 10 digits) of 1.259921050.
Copyright ©2005 by Douglas Wilhelm Harder. All rights reserved.


