365 Architect

Qiskit — IBM's Quantum SDK

Definition

Qiskit (Quantum Information Science Kit) is IBM's open-source SDK for working with quantum computers at the level of circuits, pulses, and algorithms. Released in 2017, it is the most widely adopted quantum programming framework, with over 500,000 users and a vibrant open-source community. Qiskit is Python-native and organised into modular components (Terra, Aer, Ignis, Aqua) that handle circuit construction, simulation, error mitigation, and application algorithms.

Usage and Benefits

Usage

Qiskit programs follow a four-step workflow:

  1. Build — Construct quantum circuits using the QuantumCircuit class.
  2. Compile — Transpile circuits to a target backend's gate set and topology.
  3. Run — Execute on a simulator (Aer) or real IBM hardware via IBM Quantum Platform.
  4. Analyse — Post-process measurement results with classical Python libraries.

Basic example — Bell state preparation:

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])

sim = AerSimulator()
result = sim.run(qc).result()
counts = result.get_counts()
print(counts)  # {'00': 500, '11': 500}

Benefits

  • Largest hardware fleet — Access to 20+ IBM quantum backends, including the 1,121-qubit Condor processor.
  • Rich ecosystem — Qiskit Nature (chemistry), Qiskit Finance, Qiskit Optimization, Qiskit Machine Learning.
  • Extensive learning resources — IBM Quantum Learning, Qiskit textbook, YouTube tutorials, and a global community.
  • Pulse-level controlQiskit Pulse lets advanced users design hardware-level pulse schedules.
  • Error mitigation — Built-in tools for measurement error mitigation, zero-noise extrapolation, and Pauli twirling.

Use Cases

Domain Application Why Qiskit
Chemistry Ground-state energy estimation (VQE) Qiskit Nature + Aer simulator
Optimisation Portfolio optimisation, supply chain Qiskit Optimization (QAOA)
Machine Learning Quantum kernel estimation, QGANs Qiskit Machine Learning
Cryptography Shor's algorithm, QKD simulation Textbook implementations
Finance Monte Carlo risk analysis Qiskit Finance circuit library

How to Use Qiskit

Installation

pip install qiskit qiskit-aer qiskit-ibm-runtime

Connecting to IBM Hardware

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService(channel="ibm_quantum", token="YOUR_IBMQ_TOKEN")
backend = service.backend("ibm_brisbane")

Transpiling for a Real Backend

from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager

pm = generate_preset_pass_manager(optimization_level=3, backend=backend)
transpiled_qc = pm.run(qc)

Running with Error Mitigation

from qiskit_ibm_runtime import Estimator, EstimatorOptions

options = EstimatorOptions()
options.resilience_level = 1  # Twirled readout error mitigation

estimator = Estimator(backend=backend, options=options)

Resources and References

Share on LinkedIn