Skip to content

Simulators

qiskit-tutorial

Maintained by QISKit

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

Jupyter NotebookApache-2.0Archive
qiskit-tutorial illustration

Resource snapshot

Category

Simulators

Stars

2.5K

Last pushed

Aug 21, 2023Updated 3y ago

Open issues

0

What it is

qiskit-tutorial is maintained by QISKit and sits in the Simulators lane of the open-source quantum map.

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

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers and researchers who need to test ideas locally before running on hardware or who want to compare simulation strategies.

What you can build or learn

  • Benchmark how different simulation methods trade accuracy for runtime.
  • Inspect circuit behavior, noise assumptions, or state evolution offline.
  • Choose the right simulator for a debugging, teaching, or research workflow.

Code samples

Examples from the repository.

01 Algorithms Introduction (tutorials/algorithms/01_algorithms_introduction.ipynb)
from qiskit.algorithms.optimizers import SLSQP
from qiskit.circuit.library import TwoLocal

num_qubits = 2
ansatz = TwoLocal(num_qubits, 'ry', 'cz')
optimizer = SLSQP(maxiter=1000)
02 Vqe Advanced Options (tutorials/algorithms/02_vqe_advanced_options.ipynb)
from qiskit.quantum_info import SparsePauliOp

H2_op = SparsePauliOp.from_list(
    [
        ("II", -1.052373245772859),
        ("IZ", 0.39793742484318045),
        ("ZI", -0.39793742484318045),
        ("ZZ", -0.01128010425623538),
        ("XX", 0.18093119978423156),
    ]
)
03 Vqe Simulation With Noise (tutorials/algorithms/03_vqe_simulation_with_noise.ipynb)
from qiskit.quantum_info import SparsePauliOp

H2_op = SparsePauliOp.from_list(
    [
        ("II", -1.052373245772859),
        ("IZ", 0.39793742484318045),
        ("ZI", -0.39793742484318045),
        ("ZZ", -0.01128010425623538),
        ("XX", 0.18093119978423156),
    ]
)

print(f"Number of qubits: {H2_op.num_qubits}")

License

Apache-2.0

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~559 words · about 3 min readOpen on GitHub

Qiskit Tutorials

:warning: This repository is archived: The content in this repository was moved to other locations. If you have issues or PR, please submit them to their new location.

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

Read on GitHub

Activity

Latest release

—

Watchers

9

Python support

—

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

cda-tum

mqt-ddsim

MQT DDSIM - A quantum circuit simulator based on decision diagrams written in C++

C++MIT

160 stars · Updated 3mo ago

qosf

os_quantum_software

Curated list of open-source quantum software projects.

CC0-1.0

2,105 stars · Updated 4mo ago

BBN-Q

PySimulator

Python with C++ Backend Simulator for Superconducting Circuits QIP

PythonApache-2.0

8 stars · Updated 12y ago

0tt3r

QuaC

Time Dependent Open Quantum Systems Solver written by Matthew Otten (mjotten@wisc.edu)

CMIT

30 stars · Updated 2y ago

aniabrown

QuEST

A multithreaded, distributed, GPU-accelerated simulator of quantum computers

C++MITArchive

473 stars · Updated 3mo ago

adamisntdead

QuSimPy

A Multi-Qubit Ideal Quantum Computer Simulator

PythonAGPL-3.0

724 stars · Updated 5y ago