Qiskit (''Quantum Information Software Kit'') is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (prog ...
-based, high-performance software stack for
quantum computing
A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of wave-particle duality, both particles and waves, and quantum computing takes advantage of this behavior using s ...
, originally developed by
IBM Research
IBM Research is the research and development division for IBM, an American Multinational corporation, multinational information technology company. IBM Research is headquartered at the Thomas J. Watson Research Center in Yorktown Heights, New York ...
and first released in 2017. It provides tools for creating quantum programs (by defining
quantum circuit
In quantum information theory, a quantum circuit is a model for quantum computation, similar to classical circuits, in which a computation is a sequence of quantum gates, measurements, initializations of qubits to known values, and possibly o ...
s and operations) and executing them on
quantum computer
A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. ...
s or classical simulators. The name "Qiskit" refers broadly to a collection of quantum software tools. It is centered around the core Qiskit SDK, and combined with a suite of tools and services for quantum computation, like the Qiskit Runtime service that enables optimized computations through the cloud. Qiskit allows users to write quantum circuits and execute them on real quantum processors (such as
superconducting qubit
Superconducting quantum computing is a branch of solid state physics and quantum computing that implements superconducting electronic circuits using superconducting qubits as artificial atoms, or quantum dots. For superconducting qubits, the two ...
systems) or on various other compatible quantum devices. Over time, Qiskit’s capabilities have expanded with new components and improvements, such as Qiskit Functions and Qiskit addons, while maintaining an open-source ecosystem for quantum computing research and application development.
Components
Qiskit SDK
The Qiskit SDK is the core
software development kit
A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific t ...
for working with quantum computers at the level of extended (static, dynamic, and scheduled) quantum circuits, operators, and primitives. Distributed as the
Python package qiskit, it is an open‑source framework that allows users to construct quantum circuits, manipulate quantum operators, and interface with quantum hardware or simulators. The Qiskit SDK is the foundational component of the Qiskit software stack – it provides the largest set of features and acts as the base upon which other Qiskit services and modules are built.
Key features of the Qiskit SDK include modules for building quantum circuits and registering quantum operations, a library of predefined quantum
logic gate
A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for ...
s and parameterized circuits, a quantum information module for working with quantum states and operators, and a transpiler that optimizes and converts circuits to run on specific quantum hardware backends. For example, Qiskit allows users to create quantum circuits using an intuitive Python
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
, then employ the transpiler to adapt and optimize these circuits for a given device’s topology and constraints (reducing gate counts or circuit depth as needed). The SDK also provides tools for noise modeling and supports primitives – basic quantum program components (such as samplers and estimators for circuit outcomes) – which serve as building blocks for higher‑level
quantum algorithm
In quantum computing, a quantum algorithm is an algorithm that runs on a realistic model of quantum computation, the most commonly used model being the quantum circuit model of computation. A classical (or non-quantum) algorithm is a finite seq ...
s and can be executed using local simulators or cloud services. Together, these features make the Qiskit SDK a comprehensive platform for developing quantum algorithms and experiments in a hardware‑agnostic manner.
Qiskit Runtime
Qiskit Runtime is a
cloud
In meteorology, a cloud is an aerosol consisting of a visible mass of miniature liquid droplets, frozen crystals, or other particles, suspended in the atmosphere of a planetary body or similar space. Water or various other chemicals may ...
‑based quantum execution service introduced by IBM to streamline running quantum computations on
IBM Quantum systems. It allows users to run quantum programs with additional server‑side management, improving performance by minimizing the latency of classical‑quantum communication and leveraging advanced quantum error mitigation techniques. In essence, Qiskit Runtime provides an optimized environment on IBM’s cloud where quantum circuits (or higher‑level primitive programs) are executed closer to the quantum hardware, thereby reducing latency and enabling more complex workflows than the traditional request‑response method of job submission. This service is designed to make quantum program execution more efficient and scalable, especially for algorithms that involve repeated circuit evaluations or iterative processes.
Qiskit Runtime utilizes additional classical and quantum computing resources to incorporate error‑mitigation strategies that increase the quality and accuracy of the results obtained from quantum processors. For example, Qiskit Runtime can automatically apply techniques like
dynamical decoupling (to suppress noise during circuit execution) and zero-noise extrapolation or other forms of readout error mitigation (to reduce the effect of measurement errors), aiming to return higher‑quality outcomes from noisy quantum hardware. The runtime service also supports multiple execution modes for running quantum jobs, each suited to different use cases. Users can execute a single job (a one‑off circuit or primitive call with a specified number of shots), create a session to run a series of jobs interactively with lower overhead between them, or submit jobs in batch mode for parallel execution in the queue. These modes allow flexibility in managing experiments – for instance, session mode enables iterative algorithms that adapt based on intermediate results, while batch mode is useful for running many independent circuits simultaneously.
Qiskit Serverless
Qiskit Serverless is an extension of the Qiskit ecosystem that enables running quantum–classical workloads in a distributed,
cloud-native fashion. It provides a simple interface to manage compute resources and execute portions of a quantum workflow on remote servers, effectively allowing users to deploy quantum programs and their accompanying classical processing steps to the IBM Quantum cloud or even across multiple cloud environments. The goal of Qiskit Serverless is to facilitate utility-scale quantum applications by handling the allocation of both quantum processing units and classical computing resources as needed, which is especially useful for hybrid algorithms and large‑scale experiments. Qiskit Serverless can be used to:
* Parallelize classical tasks that are part of a quantum workflow, such as pre‑processing of input data or post‑processing of quantum results. By distributing these classical computations to cloud resources, users can speed up overall execution when working with many circuits or large datasets in tandem with quantum hardware.
* Persist long-running workloads in the cloud, allowing quantum jobs to continue executing and collecting results even if the user’s local environment (e.g., a laptop) is offline. This means a researcher can start a complex quantum experiment and not worry about maintaining a constant connection; the serverless system will handle the execution and retain the results until the user retrieves them.
* Deploy reusable programs (quantum applications or algorithmic routines) on the IBM Quantum Platform to invoke as needed. This turns custom quantum algorithms into services, enabling collaboration and reuse: for example, an optimization algorithm or a
chemistry simulation routine could be uploaded once and then repeatedly executed with different parameters on demand.
By abstracting away the details of managing cloud resources, Qiskit Serverless aims to make it easier to scale up quantum experiments and integrate them into larger computing workflows.
Qiskit Add-ons
Qiskit Add-ons (stylized Qiskit addons) are modular, separately‑installed tools designed to extend Qiskit’s capabilities for quantum algorithm development. They build on Qiskit’s core framework and can be plugged into the user’s workflow to help scale or design new algorithms. Each add‑on is distributed as an independent Python package (for example, qiskit-addon-sqd for the SQD tool) that can be installed via the
Python Package Index
The Python Package Index, abbreviated as PyPI () and also known as the Cheese Shop (a reference to the ''Monty Python's Flying Circus'' sketch "Cheese Shop sketch, Cheese Shop"), is the official third-party software repository for Python (progra ...
(PyPI) and then used alongside Qiskit’s SDK. These official add-ons enhance tasks like circuit mapping, optimization, and result post‑processing while integrating seamlessly with Qiskit’s functionalities.
* Approximate Quantum Compilation (AQC) – ''qiskit-addon-aqc-tensor''. AQC uses
tensor‑network methods to compress a segment of a quantum circuit into a shorter equivalent circuit with high fidelity.
* Multi‑Product Formulas (MPF) – ''qiskit-addon-mpf''. MPF reduces
Trotter error in
Hamiltonian
Hamiltonian may refer to:
* Hamiltonian mechanics, a function that represents the total energy of a system
* Hamiltonian (quantum mechanics), an operator corresponding to the total energy of that system
** Dyall Hamiltonian, a modified Hamiltonian ...
simulations by combining the results of multiple circuit executions in a weighted formula.
* Operator Backpropagation (OBP) – ''qiskit-addon-obp''. OBP shortens circuit depth by trimming off the final set of gate operations and compensating through additional measurements on the remaining circuit.
* Sample‑based Quantum Diagonalization (SQD) – ''qiskit-addon-sqd''. SQD is a post‑processing tool that classically analyzes bitstring samples from quantum circuit runs to estimate
eigenvalues
In linear algebra, an eigenvector ( ) or characteristic vector is a vector that has its direction unchanged (or reversed) by a given linear transformation. More precisely, an eigenvector \mathbf v of a linear transformation T is scaled by a ...
and eigenvectors of large operators (such as molecular
Hamiltonians) more accurately under noise.
Each of these add-ons is maintained as an open-source extension in the
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
Qiskit organization, with documentation and tutorials provided by IBM Quantum. This modular approach allows researchers to opt into advanced algorithmic techniques as needed, keeping Qiskit’s core lightweight while still enabling cutting-edge features through add-ons.
Qiskit Ecosystem
The Qiskit ecosystem refers to the broader collection of open-source projects that interface with Qiskit without being part of its core SDK. These projects, developed by IBM Quantum or the wider community, provide additional functionality and specialized tools that complement the Qiskit framework. By designing Qiskit with a modular and extensible architecture, IBM has enabled external packages to integrate easily and extend its capabilities in areas like simulation, job management, and error mitigation. This ecosystem enhances the usability of Qiskit by addressing tasks that lie beyond the scope of the base library, allowing users to tailor their quantum computing workflows with community‑driven solutions. Some notable projects in the Qiskit ecosystem include:
* Qiskit Aer (qiskit-aer) – A high‑performance simulator for quantum circuits, featuring multiple simulation backends and support for realistic noise models. It is maintained by IBM Quantum as the official simulation engine for Qiskit and is frequently used to validate algorithms before running on actual quantum processors.
* qBraid SDK (qbraid) – A platform‑agnostic quantum runtime and cloud management framework that streamlines the full lifecycle of quantum jobs. Developed and maintained by the company
qBraid, this tool abstracts away much of the complexity in managing quantum computing workloads across different providers, complementing Qiskit’s development tools with cloud deployment capabilities.
* mthree (mthree) – A library for Matrix‑free Measurement Mitigation (M3) that improves the accuracy of qubit measurement outcomes on real hardware. This IBM Quantum‑developed package tackles readout errors by constructing a reduced model of the noise in the measurement process and then solving for corrected outcome probabilities without needing to invert large calibration matrices.
Through such ecosystem projects, Qiskit users can access extended functionality that is not included in the core SDK, thereby enhancing research and application development. For example, Aer enables thorough testing of algorithms in simulation, qBraid facilitates running Qiskit programs on diverse cloud hardware, and mthree helps in obtaining more accurate experimental data. A comprehensive catalog of Qiskit ecosystem projects is available on the Qiskit Ecosystem page, where users can discover other tools and libraries (and even contribute their own) that work in conjunction with Qiskit. All these ecosystem efforts contribute to a more versatile and robust quantum computing toolkit centered around Qiskit.
See also
IBM Quantum documentationIBM Qiskit ecosystem pageQuantum Computing with Qiskit*
Quantum programming
Quantum programming refers to the process of designing and implementing algorithms that operate on quantum systems, typically using quantum circuits composed of quantum gates, measurements, and classical control logic. These circuits are devel ...
References
{{IBM FOSS
IBM software
Quantum programming
Software development kits