Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook

QISKit (Quantum Information Software Kit)

The latest version of this notebook is available on https://github.com/QISKit/qiskit-tutorial.

For more information about how to use the IBM Q experience (QX), consult the tutorials, or check out the community.


Contributors (alphabetical)

Alex Breitweiser, Jerry Chow, Antonio Córcoles, Abigail Cross, Andrew Cross, Ismael Faro, Andreas Fuhrer, Jay M. Gambetta, Takashi Imamichi, Antonio Mezzacapo, Ramis Movassagh, Anna Phan, Rudy Raymond, Kristan Temme, Chris Wood, James Wootton.

In future releases, anyone who contributes to the tutorial can include their name here.

Introduction

Welcome to QISKit! Interested in quantum computing and programming a real live quantum processor? QISKit is a simple set of tools for anyone to get started with quantum information science. We have put together these Jupyter notebooks to demonstrate how to use our tools and explore the quantum world.

Please refer to the Hello Q-World for light introduction of the quantum world.

The notebooks are organized into the following topics:

  1. Introducing the tools
  2. Exploring quantum information concepts
  3. Verification tools for quantum information science
  4. Applications of short-depth quantum circuits on quantum computers
  5. Quantum games

0. Hello Q-World

Here are some fun ways of using QISKit SDK to play with Quantum Computers.

1. Introducing the tools

In this first topic, we break down the tools in the QISKit SDK, and introduce all the different parts to make this useful. Our list of introductory notebooks:

2. Exploring quantum information concepts

The next set of notebooks shows how you can explore some simple concepts of quantum information science.

3. Verification tools for quantum information science

The third set of notebooks allows you to explore tools for verification of quantum systems with commonly used techniques such as tomography and randomized benchmarking.

Error Amplications methods

Tomography methods

Randomization methods

  • Pauli randomized benchmarking [coming soon].
  • Standard randomized benchmarking [coming soon].
  • Purity randomized benchmarking [coming soon].
  • Leakage randomized benchmarking [coming soon].
  • Simultaneous randomized benchmarking [coming soon].

4. Applications of quantum information science

To fully grasp the possibilities, this set of notebooks shows how you can explore applications of short-depth quantum computers.

Sampling

  • Quantum optimization by variational quantum eigensolver method - discusses using a quantum computer to look at optimization problems.
  • Quantum chemistry by variational quantum eigensolver method - discusses using a quantum computer to look at chemistry problems.

Non-Sampling

5. Quantum Games

The notebooks below show how quantum algorithms can be used to play games and solve puzzles in different ways that cannot be done with their classical counterparts.

  • Quantum counterfeit coin finding algorithm: 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.

  • Battleships with Partial NOT Gates is 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.

  • Quantum pseudo-telepathy for the Magic Square game demonstrates winning a game with shared entanglement that cannot be achieved with classical strategies.