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

Qiskit Tutorials

Welcome Qiskitters.

The easiest way to get started is to use the Binder image, which lets you use the notebooks via the web. This means that you don't need to download or install anything, but is also means that you should not insert any private information into the notebooks (such as your API key). We recommend that after you are done using mybinder that you regenerate your token.

The tutorials can be downloaded by clicking here and to set them up follow the installation instructions here.


We have organized the tutorials into two sections:

1. Qiskit

These tutorials aim to explain how to use Qiskit. We assume you have installed Qiskit if not please look at or the install documentation.

We've collected a core reference set of notebooks in this section outlining the features of Qiskit. We will be keeping them up to date with the latest Qiskit version, currently 0.7. The focus of this section will be how to use Qiskit and not so much on teaching you about quantum computing. For those interested in learning about quantum computing we recommend the awesome notebooks in the community section.

Qiskit is made up of four elements: Terra, Aer, Ignis, and Aqua with each element having its own goal and together they make the full Qiskit framework.

1.1 Getting started with Qiskit

A central goal of Qiskit is to build a software stack that makes it easy for anyone to use quantum computers. To get developers and researchers going we have a set of tutorials on the basics.

1.2 Qiskit Terra

Terra, the ‘earth’ element, is the foundation on which the rest of the software lies. Terra provides a bedrock for composing quantum programs at the level of circuits and pulses, to optimize them for the constraints of a particular device, and to manage the execution of batches of experiments on remote-access devices. Terra defines the interfaces for a desirable end-user experience, as well as the efficient handling of layers of optimization, pulse scheduling and backend communication.

1.3 Qiskit Interacitve Plotting and Jupyter Tools

To improve the Qiskit user experience we have made many of the visualizations interactive and developed some very cool new job monitoring tools in Jupyter.

1.4 Qiskit Aer

Aer, the ‘air’ element, permeates all Qiskit elements. To really speed up development of quantum computers we need better simulators with the ability to model realistic noise processes that occur during computation on actual devices. Aer provides a high-performance simulator framework for studying quantum computing algorithms and applications in the noisy intermediate scale quantum regime.

  • Aer provider - gives a summary of the Qiskit Aer provider containing the Qasm, statevector, and unitary simulator
  • Device noise simulation - shows how to use the Qiskit Aer noise module to automatically generate a basic noise model for simulating hardware backends

1.5 Qiskit Ignis

Ignis, the ‘fire’ element, is dedicated to fighting noise and errors and to forging a new path. This includes better characterization of errors, improving gates, and computing in the presence of noise. Ignis is meant for those who want to design quantum error correction codes, or who wish to study ways to characterize errors through methods such as tomography, or even to find a better way for using gates by exploring dynamical decoupling and optimal control. While we have already released parts of this element as part of libraries in Terra, an official stand-alone release will come soon. For now we have some tutorials for you to explore.

  • Relaxation and decoherence - how to measure coherence times on the real quantum hardware
  • Quantum state tomography - how to identify a quantum state using state tomography, in which the state is prepared repeatedly and measured in different bases
  • Quantum process tomography - using quantum process tomography to reconstruct the behavior of a quantum process and measure its fidelity, i.e., how closely it matches the ideal version

1.6 Qiskit Aqua

Aqua, the ‘water’ element, is the element of life. To make quantum computing live up to its expectations, we need to find real-world applications. Aqua is where algorithms for NISQ computers are built. These algorithms can be used to build applications for quantum computing. Aqua is accessible to domain experts in chemistry, optimization, AI or finance, who want to explore the benefits of using quantum computers as accelerators for specific computational tasks, without needing to worry about how to translate the problem into the language of quantum machines.

  • Chemistry - using variational quantum eigensolver to experiment with molecular ground-state energy on a quantum computer
  • Optimization - using variational quantum eigensolver to experiment with optimization problems (maxcut and traveling salesman problem) on a quantum computer
  • Artificial Intelligence - using quantum-enhanced support vector machine to experiment with classification problems on a quantum computer
  • Finance - using variational quantum eigensolver to optimize portfolio on a quantum computer

2. Community Notebooks

Teaching quantum and qiskit has so many different paths of learning. We love our community and we love the contributions so keep them coming. Because Qiskit is changing so much we can't keep this updated (we will try our best) but there are some great notebooks in here.

2.1 Hello, Quantum World with Qiskit

Learn from the community how to write your first quantum program.

2.2 Quantum Games with Qiskit

Learn quantum computing by having fun. How is there a better way!

2.3 Quantum Information Science with Qiskit Terra

Learn about and how to program quantum circuits using Qiskit Terra.

2.4 Textbook Quantum Algorithms with Qiskit Terra

Learn about textbook quantum algorithms, like Deutsch-Jozsa, Grover, and Shor using Qiskit Terra.

2.5 Developing Quantum Applications with Qiskit Aqua

Learn how to develop and the fundamentals of quantum applications using Qiskit Aqua

2.6 Awards

Learn from the great contributions to the IBM Q Awards


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