Riemannian Optimization for Convex and Non-Convex Signal Processing and Machine Learning Applications