Q# is a domain-specific language for quantum programming that combines familiar "classical" language constructs with quantum-specific ones. Ideal for any developer familiar with--or willing to learn--the basics of quantum computing, this pocket guide quickly helps you find syntax and usage information for unfamiliar aspects of Q#.

You'll explore the quantum software development lifecycle, from implementing the program to testing and debugging it to running it on quantum hardware, and you'll learn to use the tools provided by Microsoft's Quantum Development Kit for each step of the process.

In this pocket guide, you'll find:

  • Q# language details, including data types, statements, syntax, and expressions
  • Guidelines for organizing Q# code and invoking it from different environments
  • Information on simulators and tools in the Microsoft Quantum Development Kit
  • Advice on testing and debugging tools and techniques for quantum programs

Table of Contents

  1. 1. Program Structure
    1. Your first Q# program
    2. Namespaces
    3. Operations and functions
    4. Type declarations
    6. Run your first Q# program!
    7. Conclusion
  2. 2. Running Q# Programs
    1. Quantum applications
    2. Quantum software development
    3. Quantum simulators
    4. Full state simulator
    5. Resources estimator
    6. Trace simulator
    7. Toffoli simulator
    8. Noisy simulators
    9. Running Q# programs
    10. Standalone Q#
    11. Q# with a classical host
    12. Q# with .NET host
    13. Q# with Python host
    14. Q# Jupyter Notebooks
    15. Conclusion