To the uninitiated, algebraic topology might seem fiendishly complex, but its utility is beyond doubt. This brilliant exposition goes back to basics to explain how the subject has been used to further our understanding in some key areas. A number of important results in combinatorics, discrete geometry, and theoretical computer science have been proved using algebraic topology. While the results are quite famous, their proofs are not so widely understood. This book is the first textbook treatment of a significant part of these results. It focuses on so-called equivariant methods, based on the Borsuk-Ulam theorem and its generalizations. The topological tools are intentionally kept on a very elementary level. No prior knowledge of algebraic topology is assumed, only a background in undergraduate mathematics, and the required topological notions and results are gradually explained.


The book is an introductory textbook mainly for students of computer science and mathematics. Our guiding phrase is "what every theoretical computer scientist should know about linear programming". A major focus is on applications of linear programming, both in practice and in theory. The book is concise, but at the same time, the main results are covered with complete proofs and in sufficient detail, ready for presentation in class. The book does not require more prerequisites than basic linear algebra, which is summarized in an appendix. One of its main goals is to help the reader to see linear programming "behind the scenes".