  Sturm's Theorem is a fundamental 19th century result relating the number of
real roots of a polynomial $f$ in an interval to the number of sign
alternations in a sequence of polynomial division-like calculations. We provide
a short direct proof of Sturm's Theorem, including the numerically vexing case
(ignored in many published accounts) where an interval endpoint is a root of
$f$.

Symbolic Computation;Commutative Algebra