Book Description
Quantum computers promise dramatic advantages in processing speed over currently available computer systems. Quantum computing offers great promise in a wide variety of computing and scientific research, including Quantum cryptography, machine learning, computational biology, renewable energy, computer-aided drug design, generative chemistry, and any scientific or enterprise application that requires computation speed or reach beyond the limits of current conventional computer systems. Foundations of Quantum Programming, Second Edition discusses how programming methodologies and technologies developed for current computers can be extended for quantum computers, along with new programming methodologies and technologies that can effectively exploit the unique power of quantum computing. The Second Edition includes two new chapters describing programming models and methodologies for parallel and distributed quantum computers. The author has also included two new chapters to introduce Quantum Machine Learning and its programming models – parameterized and differential quantum programming. In addition, the First Edition's preliminaries chapter has been split into three chapters, with two sections for quantum Turing machines and random access stored program machines added to give the reader a more complete picture of quantum computational models. Finally, several other new techniques are introduced in the Second Edition, including invariants of quantum programs and their generation algorithms, and abstract interpretation of quantum programs. - Demystifies the theory of quantum programming using a step-by-step approach - Includes methodologies, techniques, and tools for the development, analysis, and verification of quantum programs and quantum cryptographic protocols - Covers the interdisciplinary nature of quantum programming by providing preliminaries from quantum mechanics, mathematics, and computer science, and pointing out its potential applications to quantum engineering and physics - Presents a coherent and self-contained treatment that will be valuable for academic and industrial researchers and developers - Adds new developments such as parallel and distributed quantum programming; and introduces several new program analysis techniques such as invariants generation and abstract interpretation