Preface
Quantum computers are no longer theoretical devices.
The authors of this book believe that the best uses for a new technology are not necessarily discovered by its inventors, but by domain experts experimenting with it as a new tool for their work. With that in mind, this book is a hands-on programmer’s guide to using quantum computing technology. In the chapters ahead, you’ll become familiar with symbols and operations such as those in Figure P-1, and learn how to apply them to problems you care about.
Figure P-1. Quantum programs can look a bit like sheet music
How This Book Is Structured
A tried-and-tested approach for getting hands-on with new programming paradigms is to learn a set of conceptual primitives. For example, anyone learning Graphics Processing Unit (GPU) programming should first focus on mastering the concept of parallelism, rather than on syntax or hardware specifics.
The heart of this book focuses on building an intuition for a set of quantum primitives—ideas forming a toolbox of building blocks for problem-solving with a QPU. To prepare you for these primitives, we first introduce the basic concepts of qubits (the rules of the game, if you like). Then, after outlining a set of Quantum Processing Unit (QPU) primitives, we show how they can be used as building blocks within useful QPU applications.
Consequently, this book is divided into three parts. ...