  Many algorithms for determining properties of real algebraic or
semi-algebraic sets rely upon the ability to compute smooth points. Existing
methods to compute smooth points on semi-algebraic sets use symbolic quantifier
elimination tools. In this paper, we present a simple algorithm based on
computing the critical points of some well-chosen function that guarantees the
computation of smooth points in each connected compact component of a real
(semi)-algebraic set. Our technique is intuitive in principal, performs well on
previously difficult examples, and is straightforward to implement using
existing numerical algebraic geometry software. The practical efficiency of our
approach is demonstrated by solving a conjecture on the number of equilibria of
the Kuramoto model for the $n=4$ case. We also apply our method to design an
efficient algorithm to compute the real dimension of (semi)-algebraic sets, the
original motivation for this research.
