Programming Quantum Computers: Essential Algorithms and Code Samples
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.
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. The reader is encouraged to become familiar with Part I and gain some hands-on experience before proceeding to the more advanced parts:
Part I: Programming a QPU
Here we introduce the core concepts required to program a QPU, such as qubits, essential instructions, utilizing superposition, and even quantum teleportation. Examples are provided, which can be easily run using simulators or a physical QPU.
Part II: QPU Primitives
The second part of the book provides detail on some essential algorithms and techniques at a higher level. These include amplitude amplification, the Quantum Fourier Transform, and phase estimation. These can be considered “library functions” that programmers call to build applications. Understanding how they work is essential to becoming a skilled QPU programmer. An active community of researchers is working on developing new QPU primitives, so expect this library to grow in the future. Part III: QPU Applications The world of QPU applications—which combine the primitives from Part II to perform useful real-world tasks—is evolving as rapidly as QPUs themselves. Here we introduce examples of existing applications.
By the end of the book we hope to provide the reader with an understanding of what quantum applications can do, what makes them powerful, and how to identify the kinds of problems that they can solve.
|Download Ebook||Read Now||File Type||Upload Date|
|August 19, 2019|
Do you like this book? Please share with your friends, let's read it !! :)How to Read and Open File Type for PC ?