Quantum

Microsoft Quantum Development Kit Samples and Libraries

Github stars Tracking Chart

# Microsoft Quantum Development Kit Samples #

Binder

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 README.md 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 host.py

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

cd ~/samples/getting-started/teleportation && jupyter notebook --ip=0.0.0.0 --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):

http://localhost:8888/notebooks/Notebook.ipynb

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

docker rm --force iqsharp-container

Overview

Name With Ownermicrosoft/Quantum
Primary LanguageJupyter Notebook
Program languageBatchfile (Language Count: 15)
Platform
License:MIT License
Release Count311
Last Release Namerelease/v0.28.302812 (Posted on )
First Release Name0.1.1712.901-preview (Posted on )
Created At2017-11-08 23:24:33
Pushed At2024-01-12 17:50:28
Last Commit At2020-09-17 10:44:18
Stargazers Count3.8k
Watchers Count262
Fork Count0.9k
Commits Count610
Has Issues Enabled
Issues Count127
Issue Open Count16
Pull Requests Count486
Pull Requests Open Count37
Pull Requests Close Count127
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top