Résumé
This introduction to quantum computing for anybody who knows how to program a conventional computer takes readers from the basics to detailed derivations and implementations of more than 25 fundamental quantum algorithms. The classical open-source code base in Python and C++ is developed from the ground up.This introduction to quantum computing from a classical programmer's perspective is meant for students and practitioners alike. Over 25 fundamental algorithms are explained with full mathematical derivations and classical code for simulation, using an open-source code base developed from the ground up in Python and C++. After presenting the basics of quantum computing, the author focuses on algorithms and the infrastructure to simulate them efficiently, beginning with quantum teleportation, superdense coding, and Deutsch-Jozsa. Coverage of advanced algorithms includes the quantum supremacy experiment, quantum Fourier transform, phase estimation, Shor's algorithm, Grover's algorithm with derivatives, quantum random walks, and the Solovay-Kitaev algorithm for gate approximation. Quantum simulation is explored with the variational quantum eigensolver, quantum approximate optimization, and the Max-Cut and Subset-Sum algorithms. The book also discusses issues around programmer productivity, quantum noise, error correction, and challenges for quantum programming languages, compilers, and tools, with a final section on compiler techniques for transpilation.Introduction; 1. The mathematical minimum; 2. Quantum computing fundamentals; 3. Simple algorithms; 4. Scalable, fast simulation; 5. Beyond classical; 6. Complex algorithms; 7. Quantum error correction; 8. Quantum languages, compilers, and tools; Appendix: Sparse Implementation; Bibliography; Index.Robert Hundt is a Distinguished Engineer at Google, where he led software development for Google's TPU supercomputers, the XLA compiler for TensorFlow, an open-source CUDA compiler, and currently the high-level synthesis toolchain XLS. He has more than 25 scientific publications, holds 38 patents, and is a senior member of IEEE.