Convex Optimization: Algorithms and Complexity | Synapse