Quantum Framework
Qiskit
Qiskit is IBM's open-source quantum SDK for writing quantum programs, simulating circuits, and running experiments on IBM Quantum hardware. Qiskit Runtime packages workloads into optimized primitives (Sampler, Estimator) and handles transpilation to hardware-native gates. The most widely used quantum framework by install count.
Overview
Maintainer
IBM
Language(s)
Version
1.x
Supported Architectures
Cloud Platforms
Installation
pip install qiskit qiskit-ibm-runtime
Requires Python 3.8+. For local simulation only, `pip install qiskit` is sufficient. `qiskit-ibm-runtime` is required to submit jobs to IBM Quantum hardware. Optional extras: `pip install qiskit[visualization]` for circuit diagrams.
Bell State Example
A Bell state (maximally entangled two-qubit state) is the canonical first circuit for any quantum framework.
from qiskit import QuantumCircuit from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler qc = QuantumCircuit(2, 2) qc.h(0) qc.cx(0, 1) qc.measure([0, 1], [0, 1]) # Submit to IBM Quantum service = QiskitRuntimeService() backend = service.least_busy(operational=True, simulator=False) sampler = Sampler(backend) job = sampler.run([qc]) result = job.result()
Cloud Access
IBM Quantum offers a free tier with access to select QPUs via the IBM Quantum Network. Authenticate via `QiskitRuntimeService.save_account(token="...")`. The Sampler and Estimator primitives handle job submission and result retrieval. AWS Braket and Azure Quantum access requires the respective bridge packages.
Provider Compatibility
| Provider | Access Method | Notes |
|---|---|---|
| IBM Quantum | Native (qiskit-ibm-runtime) | Free tier available; Sampler & Estimator primitives; least_busy backend selection |
| Amazon Braket | qiskit-braket-provider plugin | Transpiles Qiskit circuits to Braket IR; access IonQ, Rigetti, QuEra via Braket |
| Azure Quantum | Azure Quantum bridge | Submit Qiskit circuits to IonQ and Quantinuum backends on Azure |


