Scalable Algorithms Using Optimization On Orthogonal Matrix Manifolds