Q:

Bisection method nth root

Given three roots 
$$
\text{Single }\alpha_1 = -1,\quad \text{Double }\alpha_2 = 0,\quad \text{Triple }\alpha_3=1 
$$

A root α of a continuous function f can be approximated using the bisection algorithm if there is an interval $[a, b]$, with $α ∈ [a, b]$ the only root in the interval and $f(a)f(b) < 0$.
This condition is satisfied for $\alpha_1$ (and hence bisection applies) since $\alpha_1$ is a single root, so $f$ is locally linear near $\alpha_1$.
The condition is not satisfied for $\alpha_2$ (and hence bisection does not apply) since $\alpha_2$ is a double root, so $f$ is locally a quadratic near $\alpha_2$.
The condition is satisfied for $\alpha_3$ (and hence bisection applies) since $\alpha_3$ is a triple root, so $f$ is locally a cubic near $\alpha_3$.

Why is a triple root allowed as it violates the only root condition?
Also, should the criterion not be $f(a)f(b) \leq 0$ as when $f(a)f(b)=0$ either $a$ or $b$ is the root and the method can terminate?

A:

@mvw has already answered your question. If $r$ is a root of odd order, then $f$ changes sign near $r$. However, your discussion skips around a fundamental problem which I discuss here.
The interval $(a,b)$ certainly brackets the root $\alpha$ if $f(a)$ and $f(b)$ have different sign. This condition is almost universally stated as $f(a)f(b) < 0$. It is, however, a dangerous practice which is likely to cause problems. As an example consider the function $$f(x) = (1-x)^{201}$$ whose only zero lies at $x=1$. Let $a=0.9$ and let $b=1.1$. Then $$f(a) = 10^{-201}, \quad f(b) = -10^{-201}.$$ However, the product $f(a)\cdot f(b)$ underflows to zero in double precision floating point arithmetic and $(a,b)$ is not recognized as a bracket. Relaxing the sharp inequality sign does not help either as demonstrated by the example of $(a,b) = (0.9,b=0.91)$ for which $f(a)\cdot f(b)$ also underflows to zero, but does not bracket the root $r=1$.
There is only one cure. Make decisions based on the signs of $f(a)$ and $f(b)$. Whether these signs can be trusted is matter of computing $f$ with a relative error less than $1$. Here running error analysis or interval arithmetic can be useful.
I will be the first to admit that the function used above is pathological. However, keep in mind, the purpose of numerical analysis is to write software which robust, accurate and fast.

