Algorithms for Convex Optimization - Vishnoi (Cambridge University Press, 2021)