Optimization Algorithms on Matrix Manifolds