  Convex optimization is a vibrant and successful area due to the existence of
a variety of efficient algorithms that leverage the rich structure provided by
convexity. Convexity of a smooth set or a function in a Euclidean space is
defined by how it interacts with the standard differential structure in this
space -- the Hessian of a convex function has to be positive semi-definite
everywhere. However, in recent years, there is a growing demand to understand
non-convexity and develop computational methods to optimize non-convex
functions. Intriguingly, there is a type of non-convexity that disappears once
one introduces a suitable differentiable structure and redefines convexity with
respect to the straight lines, or {\em geodesics}, with respect to this
structure. Such convexity is referred to as {\em geodesic convexity}. Interest
in studying it arises due to recent reformulations of some non-convex problems
as geodesically convex optimization problems over geodesically convex sets.
Geodesics on manifolds have been extensively studied in various branches of
Mathematics and Physics. However, unlike convex optimization, understanding
geodesics and geodesic convexity from a computational point of view largely
remains a mystery. The goal of this exposition is to introduce the first part
of geodesic convex optimization -- geodesic convexity -- in a self-contained
manner. We first present a variety of notions from differential and Riemannian
geometry such as differentiation on manifolds, geodesics, and then introduce
geodesic convexity. We conclude by showing that certain non-convex optimization
problems such as computing the Brascamp-Lieb constant and the operator scaling
problem have geodesically convex formulations.
