• This repository has been archived on 21/Aug/2023
  • Stars
    star
    2,324
  • Rank 19,815 (Top 0.4 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A collection of Jupyter notebooks showing how to use the Qiskit SDK

Qiskit Tutorials

License

These tutorials are rendered as part of the:

>>Qiskit Documentation<<

Contents

Welcome to the Qiskit Tutorials!

In this repository, we've put together a collection of Jupyter notebooks aimed at teaching people who want to use Qiskit for writing quantum computing programs, and executing them on one of several backends (online quantum processors, online simulators, and local simulators). The online quantum processors are the IBM Quantum systems.

For our community-contributed tutorials, please check out the qiskit-community-tutorials repository.

Contribution Guidelines

If you'd like to contribute to Qiskit Tutorials, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating you are expected to uphold this code.

Tutorial limitations

Because the tutorials are executed as part of the build process, and eventually turned into RST documentation, there are several limitations to be aware of:

  1. There is currently a three minute per cell execution time limit. Cells that go over this limit will raise an exception.

  2. Tutorials cannot make calls to the IBM Quantum Experience, e.g. no IBMQ.load_account().

  3. It is important to maintain strict header compliance. All notebooks should start with, and contain only one, top level (h1) header:

    # I am a top level header
    

    Additionally, the nesting of headers should make sense:

    # I am a top level header
    
    ## I am a secondary header
    
    ### I am a tertiary header
    
    ## I am another secondary header
    
    ## I am another secondary header
    
  4. All math equations expressed using $$ ... $$ need to be surrounded on top and bottom by white space.

  5. In order for a tutorial to show up in the Qiskit documentation, after successful merging, an additional PR needs to be made in the Qiskit meta-repo to trigger the rebuilding of the documentation.

Adding a gallery image

To add a gallery image to a notebook, select a cell with an output image and add nbsphinx-thumbnail as a cell tag. To see the cell tags go to: View -> Cell Toolbar -> Tags in the notebook menu. Adding gallery images from images not generated inside of the notebooks themselves should be avoided if possible as this gets messy in the present build system.

Building documentation

In addition to serving up standalone notebooks, this repository also includes the infrastructure needed to build the tutorials into HTML documentation using Sphinx.

We use Tox, which you will need to install globally (e.g. using pipx).

  1. Fork and clone the forked repository.
  2. tox -e docs

Sometimes Sphinx's caching can get in a bad state. First, try running tox -e docs-clean, which will remove Sphinx's cache. If you are still having issues, try running tox -e docs -r. -r tells Tox to reinstall the dependencies.

Authors and Citation

Qiskit Tutorials is the work of many people who contribute to the project at different levels. If you use Qiskit, please cite as per the included BibTeX file.

License

Apache License 2.0

More Repositories

1

qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
Python
5,189
star
2

qiskit-metapackage

Qiskit is an open-source SDK for working with quantum computers at the level of circuits, algorithms, and application modules.
OpenQASM
3,028
star
3

rustworkx

A high performance Python graph library implemented in Rust.
Rust
1,097
star
4

qiskit-aer

Aer is a high performance simulator for quantum circuits that includes noise models
C++
490
star
5

textbook

Source content for the Qiskit Textbook
Jupyter Notebook
349
star
6

qiskit-ibmq-provider

Qiskit Provider for accessing the quantum devices and simulators at IBM Quantum.
Python
242
star
7

qiskit-ibm-runtime

IBM Client for Qiskit Runtime
Python
152
star
8

platypus

Qiskit Textbook (beta)
Jupyter Notebook
134
star
9

ecosystem

The Ecosystem consists of projects, tools, utilities, libraries and tutorials from a broad community of developers and researchers. The goal of the Ecosystem is to recognize, support and accelerate development of quantum technologies using Qiskit.
Python
102
star
10

qiskit.org

The Qiskit official website
TypeScript
101
star
11

qiskit-addon-cutting

Reduce width and depth of quantum circuits by cutting gates and wires.
Python
78
star
12

qiskit-ibm-provider

Qiskit Provider for accessing the IBM Quantum Services: Online Systems and Simulators
Python
77
star
13

qiskit-serverless

A programming model for leveraging quantum and classical resources
Python
67
star
14

feedback

A place to share your feedback on Qiskit; stay up to date with release planning and DemoDays; and find out where to get support
Jupyter Notebook
61
star
15

qiskit-code-assistant-vscode

Simplifying Qiskit to make developing quantum circuits and applications faster
HTML
59
star
16

documentation

The documentation content home for https://docs.quantum.ibm.com.
TypeScript
38
star
17

RFCs

RFCs for changes to Qiskit ecosystem
34
star
18

web-components

Qiskit Web Components
TypeScript
21
star
19

red-queen

Quantum software benchmarking tool
OpenQASM
18
star
20

benchpress

OpenQASM
18
star
21

qiskit-bot

Github bot to automate various aspects of Qiskit development
Python
17
star
22

ibm-quantum-schemas

IBM Quantum API Schemas
Python
16
star
23

qiskit-qasm3-import

Importer from OpenQASM 3 to Qiskit's QuantumCircuit
Python
16
star
24

qiskit-ibm-transpiler

Jupyter Notebook
16
star
25

qiskit_sphinx_theme

A Sphinx theme and documentation guidelines for Qiskit and Qiskit Ecosystem projects
SCSS
15
star
26

openqasm3_parser

Parser and semantic analyzer for the OpenQASM3 language
Rust
11
star
27

qiskit-neko

An integration test suite for Qiskit
Python
10
star
28

saiba

Qiskit Learning
Vue
9
star
29

qiskit-ibm-catalog

Python
6
star
30

gh-actions

Reusable workflows and composite actions
4
star
31

platypus-binder

Repository that handles the binder configuration for platypus
Python
3
star
32

qiskit-addon-dice-solver

2
star
33

qiskit-addon-sqd

2
star
34

qiskit-addon-mpf

2
star
35

qiskit-addon-obp

2
star
36

qiskit-addon-aqc-tensor

Python
1
star
37

qiskit-code-assistant-jupyterlab

1
star
38

qiskit-addon-utils

1
star