Code Monkey home page Code Monkey logo

quantum's Introduction

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

quantum's People

Contributors

anpaz avatar bamarsha avatar banani-rath avatar bethz avatar bettinaheim avatar cgranade avatar crazy4pi314 avatar deadmau6 avatar geduardo avatar jgukelberger avatar lemj3111 avatar lindatho avatar m4r14 avatar maherjendoubi avatar martinquantum avatar mlxd avatar msoeken avatar msquantumdocs avatar natke avatar ojasookert avatar rmshaffer avatar rolfhuisman avatar russell-taylor avatar supernova-eng avatar tamamcglinn avatar tcnickolas avatar thomashaener avatar viktorveis avatar vxfield avatar youssef1313 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.