Welcome to the Microsoft Quantum Development Kit Preview

Thank you for your interest in Microsoft Quantum Development Kit preview. The development kit contains the tools you'll need to build your own quantum computing programs and experiments. Assuming some experience with Microsoft Visual Studio or Visual Studio Code, beginners can write their first quantum program, and experienced researchers can quickly and efficiently develop new quantum algorithms.

To jump right in, start with Installation and validation to create and validate your development environment. Then use Quickstart - your first quantum program to learn about the structure of a Q# project and how to write the quantum equivalent of "Hello, world!" - creating entanglement, or what is also known as a Bell State, in Q#.

You should also visit our samples repository that showcases multiple examples on how to write quantum programs using Q#. Most of these samples are written using our open-source quantum libraries, including our standard and chemistry libraries. If you want to dive deeper into Q# programming, check out the Quantum Katas - a collection of self-paced tutorials introducing you to quantum computing via programming exercises in Q#.

If you'd like more general information about Microsoft's quantum computing initiative, see Microsoft Quantum.

Feedback Pipeline

Your feedback about all parts of the Quantum Development Kit is important. We ask you to provide feedback by joining our community of developers at Microsoft Quantum - Feedback. Sign in and share your experience in one of the following forums.

You will need a Microsoft Account to provide feedback.

Microsoft Quantum Development Kit Components

The Quantum Development Kit preview provides a complete development and simulation environment that contains the following components.

Component Function
Q# language and compiler Q# is a domain-specific programming language used for expressing quantum algorithms. It is used for writing sub-programs that execute on an adjunct quantum processor under the control of a classical host program and computer.
Q# standard library The library contains operations and functions that support both the classical language control requirement and the Q# quantum algorithms.
Local quantum machine simulator A full state vector simulator optimized for accurate vector simulation and speed.
Quantum computer trace simulator The trace simulator does not simulate the quantum environment like the local quantum simulator. It is used to estimate the resources required to execute a quantum program and also allow faster debugging of the non-Q# control code.
Visual Studio extension This extension contains templates for Q# files and projects as well as syntax highlighting.
Visual Studio Code extension This extension contains syntax highlighting and code snippets for Q#.

Quantum Development Kit Documentation

The current documentation includes the following topics.

  • Microsoft Quantum Development kit release notes.
  • Quantum computing concepts includes topics such as the relevance of linear algebra to quantum computing, the nature and use of a qubit, how to read a quantum circuit, and more.
  • Installation and validation describes how to quickly set up your quantum development environment. Your Visual Studio environment will be enhanced with a compiler for the Q# language and templates for Q# projects and files.
  • Quickstart - your first quantum program walks you through how to write an application that creates a quantum entanglment state in the Visual Studio development environment. You'll learn how to define a Q# operation, call the Q# operation using C#, and how to execute your quantum algorithm.
  • Managing quantum machines and drivers describes how quantum algorithms are executed, what quantum machines are available, and how to write a non-Q# driver for the quantum program.
  • Quantum development techniques specifies the core concepts used to create quantum programs in Q#. Topics include file structures, operations and functions, working with qubits, and some advanced topics.
  • Q# standard libraries describes the operations and functions that support both the classical language control requirement and the Q# quantum algorithms. Topics include control flow, data structures, error correction, testing, and debugging.
  • Q# language reference details the Q# language including the type model, expressions, statements, and compiler use.
  • For more information contains specially selected references to deep coverage of quantum computing topics.
  • Quantum trace simulator reference contains reference material about trace simulator entities and exceptions.
  • Q# library reference contains reference information about library entities by namespace.