Preface
Python is a powerful and flexible programming language that is fun and easy to learn. It is the programming language of choice for many professionals, hobbyists, and scientists. The power of Python comes from its large ecosystem of packages and a friendly community, and its ability to communicate seamlessly with compiled extension modules. This means that Python is ideal for solving problems of all kinds, especially mathematical problems.
Mathematics is usually associated with calculations and equations but, in reality, these are very small parts of a much larger subject. At its core, mathematics is about solving problems, and the logically structured approach to solutions. Once you explore past the equations, calculations, derivatives, and integrals, you discover a vast world of beautiful, elegant structures.
This book is an introduction to solving mathematical problems using Python. It introduces some of the basic concepts of mathematics and how to use Python to work with these concepts. It also introduces some basic templates for solving a variety of mathematical problems across a large number of topics within mathematics. The first few chapters focus on core skills such as working with NumPy arrays, plotting, calculus, and probability. These topics are very important throughout mathematics and act as a foundation for the rest of the book. In the remaining chapters, we discuss more practical problems, covering topics such as data analysis and statistics, networks, regression and forecasting, optimization, and game theory. We hope that this book provides a basis for solving mathematical problems and the tools for you to further explore the world of mathematics.