Non-Euclidean Optimization