Getting Started with the Microsoft Quantum Development Kit

A great way to get started with the Quantum Development Kit is via some of the Jupyter notebooks available in our GitHub Quantum repository. In particular:

  • Q# Notebooks: explains how to compile and simulate Q# operations inside a Jupyter notebook.
  • Teleport: shows how to implement the teleport algorithm using Q#.

To run these interactively, install IQ# on your machine (see below) and take a look at our Jupyter notebooks getting started guide.

Installing IQ#

IQ# (pronounced i-q-sharp) provides the core functionality of compiling and simulating Q# operations. Installing IQ# on your machine typically takes less than 10 minutes; just follow these two steps:

  1. Install the latest version of .NET Core SDK (2.1 or later) by following the instructions from the .NET downloads page.
  2. From the command line, execute:
    dotnet tool install -g Microsoft.Quantum.IQSharp

Your installation of the Quantum Development Kit is now complete!

To verify IQ# was correctly installed, from the command line type: dotnet iqsharp --version. You should see the IQ# version reported on the output, for example:

C:\>dotnet iqsharp --version
Language kernel: 0.5.1903.2501
Jupyter core: 1.1.12077.0


IQ# requires a 64-bit installation of Windows 10, macOS, or Linux.

Microsoft's quantum simulator, installed with the Quantum Development Kit, utilizes Advance Vector Extensions (AVX), and thus can run significantly more efficiently on an AVX-enabled CPU. The Quantum Development Kit will still run on non–AVX enabled CPUs, but may not be as efficient. Intel processors shipped in Q1 2011 (Sandy Bridge) or later support AVX.

Microsoft's quantum simulator utilizes OpenMP at runtime, on Linux systems you might need to manually install libgomp. See this thread at stackoverflow.

Updating IQ#

To update IQ# to the latest version, from the command line, execute:

dotnet tool update -g Microsoft.Quantum.IQSharp

Classical Hosts

Applications developed with Microsoft's Quantum Development Kit typically consists of two parts:

  1. One or more quantum algorithms, implemented using the Q# quantum programming language.
  2. A classical program, implemented in a classical programming language like Python or C#, that serves as the main entry point and will invoke Q# operations when it wants to execute a quantum algorithm.

Once you have installed IQ#, these articles explain how to enable interoperability between Q# and classical languages:

Editor extensions

The Quantum Development Kit offers extensions to Visual Studio and Visual Studio Code to improve the development experience. These extensions are available from Visual Studio's Marketplace and provide features like:

  • Code colorization and highlighting
  • Live diagnostics
  • Document symbols
  • Documentation on hover
  • Signature help
  • Go to symbol definition
  • Find all references
  • Rename of symbols
  • Code actions (e.g. namespace import helper)
  • Debug breakpoints (Visual Studio)

To install the extensions, follow the instructions at: