Research Applications

Qiskit allows for easy research and development for specific industry use cases that have the highest potential for quantum advantage.

See docs
  • The Qiskit Optimization package covers the whole range from high-level modeling of optimization problems, with automatic conversion of problems to different required representations, to a suite of easy-to-use quantum optimization algorithms that are ready to run on classical simulators, as well as on real quantum systems.

    Solve the Max Cut Problem
  • The Qiskit Finance package contains components to load uncertainty models, e.g., for pricing securities/derivatives or analyzing the risk involved. It also contains data providers to source real or random data to finance experiments and together with the Qiskit Optimization package allows easy modeling of optimization problems as arising e.g. in portfolio management.

    Perform Option Pricing with qGans
  • The Qiskit Machine Learning package simply contains sample datasets at present. Qiskit has some classification algorithms such as QSVM (Quantum Support Vector Machine) and VQC (Variational Quantum Classifier), where this data can be used for experiments, and there is also QGAN (Quantum Generative Adversarial Network) algorithm.

    Classify data with a VQC

Collection of Algorithms

Qiskit contains a generic framework of cross-domain quantum algorithms upon which applications for near-term quantum computing can be built.

See docs
  • Grover's algorithm is a well know quantum algorithm part of the amplitude amplifier category that provides quadratic speedup for searching through unstructured collections of records in search of particular targets.

    Try out Grover’s
  • VQE (Variational Quantum Eigensolver) is another well known quantum algorithm part of the minimum eigensolvers category. This algorithm uses variational techniques and interleaves quantum and classical computations in order to find the minimum eigenvalue of the Hamiltonian of a given system.

    Try out VQE
  • QAOA (Quantum Approximate Optimization Algorithm) is also part of the minimum eigensolvers category. This algorithm extends VQE (Variational Quantum Eigensolver) and inherits VQE's general optimization structure but uses its own fine-tuned variational form.

    Try out QAOA
  • QSVM is part of the classifiers category and applies to problems that require a feature map for which computing the collection of inner products is not efficient classically.

    Try out QSVM

Experimentalist Toolbox

Qiskit's characterization framework offers circuits and analysis methods to understand and characterize the source of noise that impacts our devices. Such parameters include T1, T₂* , T2, Hamiltonian parameters such as the ZZ interaction rate and control errors in the gates.

See docs
  • Qiskit's characterization framework brings the analysis parameters and circuits to users in order to understand and characterize the source of noise that impacts our devices. Such parameters include T1, T₂*, T2, Hamiltonian parameters such as the ZZ interaction rate and control errors in the gates.

    See Characterization framework
  • Qiskit's verification framework provides experiments that are designed to verify gates and small circuit performance through tomography, quantum volume and randomized benchmarking.

    See Verification framework
  • Qiskit's calibration module allows users to optimize pulse parameters to minimize errors. Perform simple parameter scans, with more sophisticated error amplification sequences coming soon.

    See Calibration module

Circuits

Qiskit provides a set of tools for composing quantum programs at the level of circuits and pulses, optimizing them for the constraints of a particular physical quantum processor, and managing the batched execution of experiments on remote-access backends.

See docs
  • Qiskit robust compiler provides users with the ability to explore how quantum circuits run on real hardware and optimize such circuits using modules such as pass managers.

    See Compiler
  • Circuit Library is a collection of well studied circuits and gates that can be plugged into many experiments allowing users to program at higher levels of abstraction when developing and experimenting with circuits.

    See Circuit Library
  • Pulse is a lower level quantum programming tool. This tool allows users more control over using quantum circuits when interacting with real quantum hardware.

    See OpenPulse

Extensions

Qiskit's modular design allows for pluggable extension to be developed by startups, researchers and independent developers.

  • Cloud accessible generation of quantum certified random numbers using Qiskit and IBM Quantum systems.

    Learn more
  • A visualization package for Qiskit that focuses on interactive visualizations for quantum states, distributions, and device properties.

    Learn more
  • Q-CTRL Open Controls is an open-source Python package that makes it easy to create and deploy established error-robust quantum control protocols from the open literature.

    Learn more

Simulate Quantum Hardware

Qiskit provides a high performance simulator framework for the Qiskit software stack. It contains optimized C++ simulator backends for executing compiled circuits, and tools for constructing highly configurable noise models for performing realistic noisy simulations of the errors that occur during execution on real devices.

See docs

Run Circuits on Real Quantum Systems

Circuits are the foundational roots for our software stack. Qiskit provides a set of tools for composing quantum programs at the level of circuits and pulses, optimizing them for the constraints of a particular physical quantum processor, and managing the batched execution of experiments on remote-access backends. Qiskit is modularly constructed, simplifying the addition of extensions for circuit optimizations and backends.

See docs

Quick Start

When you are looking to start Qiskit, you have two options. You can start Qiskit locally, which is much more secure and private, or you get started with hosted Jupyter Notebooks in IBM Quantum Lab.

Start locally

To install Qiskit locally, you will need Python 3.6+. Although it isn't required, we recommend using a virtual environment with Anaconda.

Qiskit Install

Operating System

Terminal

pip install qiskit

Start Online

Get started in the cloud without installing anything with IBM Quantum Lab.

IBM Quantum Lab