We develop, analyze and implement numerical algorithms to solve
optimization problems of the form: min f(x) where x is a point on a
smooth manifold. To this end, we first study differential and Riemannian
geometry (with a focus dictated by pragmatic concerns). We also discuss
several applications.