Skip to content
Microsoft Quantum Development Kit Samples
PowerShell Python Dockerfile Shell Batchfile
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.devcontainer Create new Docker publishing workflow. (#282) Dec 18, 2019
.github Wait for manifest rather than CDNed tag. Feb 4, 2020
.vscode Onboard and slightly cleanup Hubbard simulation sample. (#288) Jan 14, 2020
Build Fixed QsharpDocsOutputPath property in build.ps1. (#311) Feb 5, 2020
utilities Merging release 0.7.1905.3109 into master (#198) May 31, 2019
.editorconfig Update to 0.9, use some 0.9 features (#228) Sep 30, 2019
.gitattributes Release 0.3.1810 Oct 29, 2018
.gitignore Update to 0.9, use some 0.9 features (#228) Sep 30, 2019
.pre-commit-config.yaml Add precommit config. Feb 3, 2020 Added more GitHub metadata files. (#201) Jun 21, 2019
Dockerfile Create new Docker publishing workflow. (#282) Dec 18, 2019
LICENSE.txt license formatting fixed (#49) Apr 23, 2018
NuGet.config change location of teleportation folder (#258) Nov 23, 2019
build.yml Preparing for v0.8 (#207) Jul 19, 2019 Posting an exciting Research PM position on the quantum team! (#308) Jan 30, 2020

Microsoft Quantum Development Kit Samples


These samples demonstrate the use of the Quantum Development Kit for a variety of different quantum computing tasks.

Each sample is self-contained in a folder, and demonstrates how to use Q# to develop quantum applications.

A small number of the samples have additional installation requirements beyond those for the rest of the Quantum Development Kit. These are noted in the files for each sample, along with complete installation instructions.

You can find instructions on how to install the Quantum Development Kit in our online documentation, which also includes an introduction to quantum programming concepts. A Docker image definition is also provided for your convenience, see below for instructions on how to build and use it.

Getting started

If you're new to quantum or to the Quantum Development Kit, we recommend starting with the Getting Started samples.

Going further

As you go further with quantum development, we provide several different categories of samples for you to explore:

  • Algorithms: These samples demonstrate various quantum algorithms, such as database search and integer factorization.
  • Arithmetic: These samples show how to coherently transform arithmetic data.
  • Characterization: These samples demonstrate how to learn properties of quantum systems from classical data.
  • Chemistry:
  • Diagnostics: These samples show how to diagnose and test Q# applications.
  • Error Correction: These samples show how to work with quantum error correcting codes in Q# programs.
  • Interoperability: These samples show how to use Q# with different host languages.
  • Numerics: The samples in this folder show how to use the numerics library.
  • Runtime: These samples show how to work with the Q# simulation runtime.
  • Simulation: These samples show how to simulate evolution under different Hamiltonians.

We also encourage taking a look at the unit tests used to check the correctness of the Quantum Development Kit samples.

Docker image

You can use the included Dockerfile to create a docker image with all the necessary libraries to use the Quantum Development Kit to build quantum applications in C#, Python or Jupyter.

Once you have installed Docker, you can use the following commands to get you started:

To build the docker image and tag it iqsharp:

docker build -t iqsharp .

To run the image in the container named iqsharp-container with interactive command-line and redirect container port 8888 to local port 8888 (needed to run jupyter):

docker run -it --name iqsharp-container -p 8888:8888 iqsharp /bin/bash

From the corresponding container command line, you can run the C# version of the Teleportation sample using:

cd ~/samples/getting-started/teleportation && dotnet run

Similarly, you can run the Python version of the Teleportation sample using:

cd ~/samples/getting-started/teleportation && python

Finally, to start jupyter notebook within the image for the Teleportation sample, use:

cd ~/samples/getting-started/teleportation && jupyter notebook --ip= --no-browser 

Once Jupyter has started, you can open in your browser the Teleportation notebook (you will need a token generated by jupyter when it started on the previous step):


Once you're done, to remove container named iqsharp-container:

docker rm --force iqsharp-container
You can’t perform that action at this time.