• This repository has been archived on 21/Aug/2023
  • Stars
    star
    2,303
  • Rank 19,844 (Top 0.4 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created about 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,001
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,033
star
3

rustworkx

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

qiskit-aer

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

textbook

Source content for the Qiskit Textbook
Jupyter Notebook
308
star
6

qiskit-ibmq-provider

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

qiskit-ibm-runtime

IBM Client for Qiskit Runtime
Python
149
star
8

platypus

Qiskit Textbook (beta)
Jupyter Notebook
134
star
9

qiskit.org

The Qiskit official website
TypeScript
101
star
10

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
98
star
11

qiskit-ibm-provider

Qiskit Provider for accessing the IBM Quantum Services: Online Systems and Simulators
Python
78
star
12

qiskit-serverless

A programming model for leveraging quantum and classical resources
Python
63
star
13

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
60
star
14

qiskit-code-assistant-vscode

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

documentation

The documentation content home for https://docs.quantum.ibm.com.
TypeScript
36
star
16

RFCs

RFCs for changes to Qiskit ecosystem
34
star
17

web-components

Qiskit Web Components
TypeScript
21
star
18

red-queen

Quantum software benchmarking tool
OpenQASM
18
star
19

benchpress

OpenQASM
18
star
20

qiskit-bot

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

ibm-quantum-schemas

IBM Quantum API Schemas
Python
16
star
22

qiskit-qasm3-import

Importer from OpenQASM 3 to Qiskit's QuantumCircuit
Python
15
star
23

qiskit_sphinx_theme

A Sphinx theme and documentation guidelines for Qiskit and Qiskit Ecosystem projects
SCSS
14
star
24

qiskit-neko

An integration test suite for Qiskit
Python
10
star
25

openqasm3_parser

Parser and semantic analyzer for the OpenQASM3 language
Rust
10
star
26

saiba

Qiskit Learning
Vue
9
star
27

gh-actions

Reusable workflows and composite actions
4
star
28

platypus-binder

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

qiskit-addon-dice-solver

2
star
30

qiskit-addon-sqd

2
star
31

qiskit-addon-mpf

2
star
32

qiskit-addon-obp

2
star
33

qiskit-ibm-transpiler

Jupyter Notebook
2
star
34

qiskit-code-assistant-jupyterlab

1
star
35

qiskit-addon-utils

1
star