Like differentiability, convexity is a natural and powerful property of functions that plays a significant role in many areas of mathematics, both pure and applied. It ties together notions from topology, algebra, geometry and analysis, and is an important tool in optimization, mathematical programming and game theory. This book, which is the product of a collaboration of over 15 years, is unique in that it focuses on convex functions themselves, rather than on convex analysis. The authors explore the various classes and their characteristics and applications, treating convex functions in both Euclidean and Banach spaces. The book can either be read sequentially for a graduate course, or dipped into by researchers and practitioners. Each chapter contains a variety of specific examples, and over 600 exercises are included, ranging in difficulty from early graduate to research level.