TalKachman / qiskit-tutorial

A collection of Jupyter notebooks using QISKit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QISKit Tutorials


Welcome to the Quantum Information Software Kit (QISKit for short) tutorials!

In this repository, we've put together a collection of Jupyter notebooks aimed at teaching people who want to use the QISKit SDK for writing quantum computing programs and executing them on one of several backends (online quantum processors, online simulators, and local simulators). For the online quantum processors, QISKit uses the QISKit API to connect to the IBM Q Systems.

Installation and Setup

Please refer to this note for installation and how to submit new tutorials by using github functionalities.

You can also use a webhosted Jupyter notebook environment with IBM DSX as shown here.

Contents


We have organised the tutorials into three sections:

Since quantum computing is so new to most users, we want to find the best Hello Quantum World program and welcome submissions here.

We've collected a core reference set of notebooks in this section. These notebooks demonstrate how to use QISKit and explore quantum information science, acting as a reference guide for QISKit. We will be keeping them up to date with QISKit SDK updates. They are organized into the following topics:

In this first topic, we introduce you to the basic features of QISKit. More tutorials covering QISKit features can be found in here and developer documentation can be found here.

The next set of notebooks shows how you can explore some simple concepts of quantum information science. More tutorials on other quantum information science concepts can be found here

  • Battleships - a version of Battleships made to run on ibmqx3. The unique properties of single qubit operations are used to implement the game mechanics, with the destruction of a ship corresponding to rotation from 0 to 1.
  • Which is the counterfeit coin? - can you solve the counterfeit coin riddle? You are given a quantum computer and quantum beam balance, and your task is to find a counterfeit coin hidden in a set of coins. Armed with the knowledge of the Bernstein-Vazirani algorithm, you can easily find the counterfeit coin using the beam balance only once.

This is where the rest of the tutorials are. They are not guaranteed to work with the latest version of the QISKit SDK. They are organised into various topics:

  1. Advanced QISKit features
  2. More on quantum information science
  3. Further quantum algorithms and applications
  4. Everything else

Contributing

If you would like to contribute to the tutorials, there are a number of ways to get involved:

  • Issues: Issues can be reported with GitHub issue reporting for this repository. Select New issue and fill in a descriptive title and provide as much detail as is needed for the issue to be reproduced.
  • Notebooks: If you would like to contribute a notebook please create a fork of the repository from the master branch and create a pull request for your change. Note that new notebooks should be placed in the relevant part of the Appendix section. We will discuss in the Slack channel which of these should be in the Reference section.

Note that edits to this README should be made to the Jupyter notebook file (README.ipynb) and then the following command run to create the markdown file (README.md) for GitHub:

jupyter nbconvert --to markdown README.ipynb

Contributors

An alphabetical list of contributors can be found here. If you have contributed to these tutorials, please include your name there.

Licence

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

A collection of Jupyter notebooks using QISKit

License:Apache License 2.0


Languages

Language:Jupyter Notebook 99.9%Language:Python 0.1%