Recent from talks
Nothing was collected or created yet.
Qiskit
View on WikipediaThis article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
| Qiskit | |
|---|---|
| Developers | IBM Research, Qiskit community |
| Initial release | March 7, 2017.[1] |
| Stable release | 2.0.2
/ 27 May 2025[2] |
| Repository | |
| Written in | Python |
| Operating system | Cross-platform |
| Type | SDK for Quantum Computing |
| License | Apache License 2.0[3] |
| Website | qiskit |
Qiskit (Quantum Information Software Kit) is an open-source, Python-based, high-performance software stack for quantum computing, originally developed by IBM Research and first released in 2017. It provides tools for creating quantum programs (by defining quantum circuits and operations) and executing them on quantum computers 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 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
[edit]Qiskit SDK
[edit]The Qiskit SDK is the core software development kit 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 gates 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, 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 algorithms 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
[edit]Qiskit Runtime is a cloud‑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
[edit]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
[edit]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 (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 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 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 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
[edit]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
[edit]References
[edit]- ^ Jay M. Gambetta; Andrew Cross (March 27, 2018). "Looking back on a year of Qiskit". Medium. Archived from the original on December 16, 2021. Retrieved September 24, 2019.
- ^ "Releases – Qiskit". GitHub. Archived from the original on 2021-12-16. Retrieved 2025-06-02.
- ^ License
Qiskit
View on GrokipediaOverview
Definition and Purpose
Qiskit is an open-source, Python-based software development kit (SDK) developed by IBM for quantum information science and engineering.[2] It serves as a comprehensive software stack that enables users to design, simulate, compile, and execute quantum circuits on both simulators and real quantum hardware. The primary purposes of Qiskit include facilitating research in quantum algorithms, supporting educational initiatives in quantum computing, and accelerating the development of practical applications, particularly hybrid quantum-classical systems.[2] By providing tools for circuit construction, optimization, and execution, Qiskit lowers the barrier to entry for exploring noisy intermediate-scale quantum (NISQ) devices and advancing the field toward fault-tolerant quantum computing.[2] Qiskit's modular architecture forms a layered stack designed for flexibility and extensibility, originally comprising core elements such as Terra for quantum circuit construction and manipulation, Aer for high-performance simulation, Ignis for quantum device characterization and error mitigation, and Aqua for quantum algorithms and applications.[12] Over time, components like Ignis and Aqua have evolved into specialized add-ons, such as Qiskit Experiments and domain-specific libraries (e.g., Qiskit Nature for quantum chemistry), allowing users to tailor the toolkit to particular needs while maintaining backward compatibility.[13] This structure supports seamless integration with IBM Quantum hardware and other backends, enabling scalable workflows from prototyping to production. The toolkit targets a diverse user base, including quantum developers building applications, researchers prototyping algorithms, educators teaching quantum concepts, and enterprises developing hybrid solutions for optimization, machine learning, and simulation challenges.[2] As of November 2025, Qiskit has surpassed 16 million downloads and holds a 74% preference among quantum developers according to the 2024 Unitary Foundation survey, underscoring its pivotal role in the NISQ era by democratizing access to quantum resources and fostering innovation.[14][2]History and Development
Qiskit was initially released in March 2017 by IBM Research as an integral part of the IBM Quantum Experience platform, providing an open-source Python-based software development kit for creating and executing quantum circuits on cloud-accessible quantum hardware. This launch marked a pivotal step in democratizing access to quantum computing tools, enabling developers worldwide to experiment with quantum algorithms without proprietary barriers. Shortly thereafter, Qiskit transitioned to a fully open-source project under the Apache 2.0 license, hosted on GitHub, which facilitated broader collaboration and rapid iteration.[15] Key milestones in Qiskit's evolution include its integration with the IBM Q Network in 2018, which expanded enterprise access to quantum resources and fostered joint research initiatives between IBM and industry partners.[16] In 2020, IBM deprecated the Qiskit Aqua library—a higher-level component for domain-specific applications—and shifted focus toward modular primitives for more efficient algorithm execution, streamlining the framework for scalable quantum programming. The introduction of Qiskit Runtime in May 2021 enhanced cloud-based execution by optimizing quantum-classical hybrid workflows, achieving up to 120x speedups in simulations compared to prior methods.[17] This was followed by the launch of Qiskit Serverless in December 2023, enabling distributed execution of hybrid quantum-classical tasks across remote compute resources.[18] Qiskit's development model emphasizes collaborative open-source contributions, primarily through its GitHub repositories managed by IBM Research alongside a global community of developers, resulting in over 7,000 dependent projects that extend its functionality.[2] Recent advancements reflect a strategic shift from Noisy Intermediate-Scale Quantum (NISQ)-era tools to preparations for fault-tolerant quantum computing, incorporating support for modular quantum-classical orchestration to handle utility-scale workloads. In October 2025, the release of Qiskit SDK v2.2 included quantum-high-performance computing (HPC) integration demonstrations and enhanced primitives for operators and circuits. Benchmarks from November 2025 show Qiskit v2.2 is 83x faster at transpilation than TKET 2.6.0 for large circuits. A patch release, v2.2.3, followed on October 30, 2025, with bug fixes and minor improvements.[6][19][5]Core Components
Qiskit SDK
The Qiskit SDK serves as the foundational Python-based software development kit for constructing, simulating, and optimizing quantum circuits locally. It enables developers to build quantum programs using high-level abstractions while providing low-level control over quantum operations. The SDK is modular, allowing users to focus on algorithm design without immediate concern for hardware constraints during initial development.[1] At its core, the SDK includes theqiskit.circuit module, which facilitates quantum circuit construction through classes like QuantumCircuit. This module represents computational routines that operate on qubits using unitary gates, measurements, and resets, supporting the creation of circuits for quantum processing units (QPUs). Complementing this is the qiskit.quantum_info module, designed for manipulating quantum states and operators. It offers tools for representing and analyzing quantum information, including statevectors, density matrices, Pauli operators, and channels, enabling tasks such as computing expectation values or evolving states under unitaries.[20][21]
Simulation capabilities are provided primarily via the separate Qiskit Aer package, a high-performance simulator. Aer supports multiple methods, including statevector simulation for ideal, noiseless circuits that track the full quantum state; density matrix simulation for handling noisy, open-system dynamics; and shot-based noise models that approximate real hardware imperfections by sampling outcomes over multiple executions. These features allow for accurate local validation of circuits before hardware deployment.[22]
The transpilation process in the Qiskit SDK transforms abstract circuits into executable forms tailored to specific hardware topologies. This involves stages such as initialization (unrolling custom gates), layout mapping (assigning virtual qubits to physical ones), routing (inserting swaps for connectivity), translation (converting to basis gates), optimization (reducing depth and gate count), and scheduling (managing execution timing). The transpile function orchestrates these via pass managers, with optimization levels from 0 (minimal) to 3 (aggressive). In the v2.2 release of October 2025, transpilation received performance enhancements, achieving 10-20% faster compilation on average through improved C API support and a standalone transpiler function.[23][24][6]
Installation of the Qiskit SDK is straightforward as a pip-installable Python package, requiring Python 3.9 or later.[25] Users create a virtual environment, activate it, and run pip install qiskit to obtain the core SDK; additional dependencies like qiskit[visualization] can be included for plotting tools. Basic usage follows a workflow of circuit creation, simulation, and result analysis. For example, to create and simulate a Bell state:
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram
# Create a Bell state circuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Simulate using Aer
simulator = AerSimulator()
job = simulator.run(qc, shots=1000)
result = job.result()
counts = result.get_counts(qc)
# Visualize results
plot_histogram(counts)
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram
# Create a Bell state circuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Simulate using Aer
simulator = AerSimulator()
job = simulator.run(qc, shots=1000)
result = job.result()
counts = result.get_counts(qc)
# Visualize results
plot_histogram(counts)
qiskit-aer-gpu package, which leverages NVIDIA cuQuantum for faster statevector and density matrix computations on compatible hardware. Additionally, the SDK integrates seamlessly with NumPy and SciPy for hybrid classical-quantum workflows, allowing efficient handling of classical data processing alongside quantum operations, such as tensor manipulations or optimization loops.[28]