O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Foundations of Quantum Programming

Book Description

Foundations of Quantum Programming discusses how new programming methodologies and technologies developed for current computers can be extended to exploit the unique power of quantum computers, which promise dramatic advantages in processing speed over currently available computer systems. Governments and industries around the globe are now investing vast amounts of money with the expectation of building practical quantum computers. Drawing upon years of experience and research in quantum computing research and using numerous examples and illustrations, Mingsheng Ying has created a very useful reference on quantum programming languages and important tools and techniques required for quantum programming, making the book a valuable resource for academics, researchers, and developers.

  • Demystifies the theory of quantum programming using a step-by-step approach
  • Covers the interdisciplinary nature of quantum programming by providing examples from many different fields including, engineering, computer science, medicine, and life sciences
  • Includes techniques and tools to solve complex control flow patterns and synchronize computations
  • Presents a coherent and self-contained treatment that will be valuable for academics and industrial researchers and developers

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Preface
  6. Acknowledgments
  7. Part I: Introduction and Preliminaries
    1. Chapter 1: Introduction
      1. Abstract
      2. 1.1 Brief history of quantum programming research
      3. 1.2 Approaches to quantum programming
      4. 1.3 Structure of the book
    2. Chapter 2: Preliminaries
      1. Abstract
      2. 2.1 Quantum mechanics
      3. 2.2 Quantum circuits
      4. 2.3 Quantum algorithms
      5. 2.4 Bibliographic remarks
  8. Part II: Quantum Programs with Classical Control
    1. Chapter 3: Syntax and semantics of quantum programs
      1. Abstract
      2. 3.1 Syntax
      3. 3.2 Operational Semantics
      4. 3.3 Denotational semantics
      5. 3.4 Classical recursion in quantum programming
      6. 3.5 Illustrative example: Grover quantum search
      7. 3.6 Proofs of lemmas
      8. 3.7 Bibliographic remarks
    2. Chapter 4: Logic for quantum programs
      1. Abstract
      2. 4.1 Quantum predicates
      3. 4.2 Floyd-Hoare logic for quantum programs
      4. 4.3 Commutativity of quantum weakest preconditions
      5. 4.4 Bibliographic remarks
    3. Chapter 5: Analysis of quantum programs
      1. Abstract
      2. 5.1 Termination analysis of quantum while-loops
      3. 5.2 Quantum graph theory
      4. 5.3 Reachability analysis of quantum markov chains
      5. 5.4 Proofs of technical lemmas
      6. 5.5 Bibliographic remarks
  9. Part III: Quantum Programs with Quantum Control
    1. Chapter 6: Quantum case statements
      1. Abstract
      2. 6.1 Case statements: from classical to quantum
      3. 6.2 QuGCL: a language with quantum case statement
      4. 6.3 Guarded compositions of quantum operations
      5. 6.4 Semantics of QuGCL programs
      6. 6.5 Quantum choice
      7. 6.6 Algebraic laws
      8. 6.7 Illustrative examples
      9. 6.8 Discussions
      10. 6.9 Proofs of lemmas, propositions and theorems
      11. 6.10 Bibliographic remarks
    2. Chapter 7: Quantum recursion
      1. Abstract
      2. 7.1 Syntax of quantum recursive programs
      3. 7.2 Motivating examples: recursive quantum walks
      4. 7.3 Second quantization
      5. 7.4 Solving recursive equations in the free fock space
      6. 7.5 Recovering symmetry and antisymmetry
      7. 7.6 Principal system semantics of quantum recursion
      8. 7.7 Illustrative examples: Revisit recursive quantum walks
      9. 7.8 Quantum while-loops (with quantum control)
      10. 7.9 Bibliographic remarks
  10. Part IV: Prospects
    1. Chapter 8: Prospects
      1. Abstract
      2. 8.1 Quantum programs and quantum machines
      3. 8.2 Implementation of quantum programming languages
      4. 8.3 Functional quantum programming
      5. 8.4 Categorical semantics of quantum programs
      6. 8.5 From concurrent quantum programs to quantum concurrency
      7. 8.6 Entanglement in quantum programming
      8. 8.7 Model-checking quantum systems
      9. 8.8 Quantum programming applied to physics
  11. Bibliography
  12. Index