Qiskit
When to Use
- You are building or optimizing quantum circuits with Qiskit for simulators or real hardware.
- You need IBM Quantum-style tooling for transpilation, execution, visualization, or algorithm libraries.
- You want guidance on moving from a simple circuit prototype to backend-aware execution.
Overview
Qiskit is the world's most popular open-source quantum computing framework with 13M+ downloads. Build quantum circuits, optimize for hardware, execute on simulators or real quantum computers, and analyze results. Supports IBM Quantum (100+ qubit systems), IonQ, Amazon Braket, and other providers.
Key Features:
- 83x faster transpilation than competitors
- 29% fewer two-qubit gates in optimized circuits
- Backend-agnostic execution (local simulators or cloud hardware)
- Comprehensive algorithm libraries for optimization, chemistry, and ML
Quick Start
Installation
uv pip install qiskit
uv pip install "qiskit[visualization]" matplotlib
First Circuit
from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler
# Create Bell state (entangled qubits)
qc = QuantumCircuit(2)
qc.h(0) # Hadamard on qubit 0
qc.cx(0, 1) # CNOT from qubit 0 to 1
qc.measure_all() # Measure both qubits
# Run locally
sampler = StatevectorSampler()
result = sampler.run([qc], shots=1024).result()
counts = result[0].data.meas.get_counts()
print(counts) # {'00': ~512, '11': ~512}
Visualization
from qiskit.visualization import plot_histogram
qc.draw('mpl') # Circuit diagram
plot_histogram(counts) # Results histogram
Core Capabilities
1. Setup and Installation
For detailed installation, authentication, and IBM Quantum account setup:
Topics covered:
- Installation with uv
- Python environment setup
- IBM Quantum account and API token configuration
- Local vs. cloud execution
2. Building Quantum Circuits
For constructing quantum circuits with gates, measurements, and composition:
- See
references/circuits.md
Topics covered:
- Creating circuits with QuantumCircuit
- Single-qubit gates (H, X, Y, Z, rotations, phase gates)
- Multi-qubit gates (CNOT, SWAP, Toffoli)
- Measurements and barriers
- Circuit composition and properties
- Parameterized circuits for variational algorithms
3. Primitives (Sampler and Estimator)
For executing quantum circuits and computing results:
- See
references/primitives.md
Topics covered:
- Sampler: Get bitstring measurements and probability distributions
- Estimator: Compute expectation values of observables
- V2 interface (StatevectorSampler, StatevectorEstimator)
- IBM Quantum Runtime primitives for hardware
- Sessions and Batch modes
- Parameter binding
4. Transpilation and Optimization
For optimizing circuits and preparing for hardware execution:
- See
references/transpilation.md
Topics covered:
- Why transpilation is necessary
- Optimization levels (0-3)
- Six transpilation stages (init, layout, routing, translation, optimization, scheduling)
- Advanced features (virtual permutation elision, gate cancellation)
- Common parameters (initial_layout, approximation_degree, seed)
- Best practices for efficient circuits
5. Visualization
For displaying circuits, results, and quantum states:
- See
references/visualization.md
Topics covered:
- Circuit drawings (text, matplotlib, LaTeX)
- Result histograms
- Quantum state visualization (Bloch sphere, state city, QSphere)
- Backend topology and error maps
- Customization and styling
- Saving publication-quality figures
6. Hardware Backends
For running on simulators and real quantum computers:
- See
references/backends.md
Topics covered:
- IBM Quantum backends and authentication
- Backend properties and status
- Running on real hardware with Runtime primitives
- Job management and queuing
- Session mode (iterative algorithms)
- Batch mode (parallel jobs)
- Local simulators (StatevectorSampler, Aer)
- Third-party providers (IonQ, Amazon Braket)
- Error mitigation strategies
7. Qiskit Patterns Workflow
For implementing the four-step quantum computing workflow:
- See
references/patterns.md
Topics covered:
- Map: Translate problems to quantum circuits
- Optimize: Transpile for hardware
- Execute: Run with primitives
- Post-process: Extract and analyze results
- Complete VQE example
- Session vs. Batch execution
- Common workflow patterns
8. Quantum Algorithms and Applications
For implementing specific quantum algorithms:
- See
references/algorithms.md
Topics covered:
- Optimization: VQE, QAOA, Grover's algorithm
- Chemistry: Molecular ground states, excited states, Hamiltonians
- Machine Learning: Quantum kernels, VQC, QNN
- Algorithm libraries: Qiskit Nature, Qiskit ML, Qiskit Optimization
- Physics simulations and benchmarking
Workflow Decision Guide
If you need to:
1---2name: qiskit3description: Qiskit is the world's most popular open-source quantum computing framework with 13M+ downloads. Build quantum circuits, optimize for hardware, execute on simulators or real quantum computers, and anal4---567# Qiskit89## When to Use1011- You are building or optimizing quantum circuits with Qiskit for simulators or real hardware.12- You need IBM Quantum-style tooling for transpilation, execution, visualization, or algorithm libraries.13- You want guidance on moving from a simple circuit prototype to backend-aware execution.1415## Overview1617Qiskit is the world's most popular open-source quantum computing framework with 13M+ downloads. Build quantum circuits, optimize for hardware, execute on simulators or real quantum computers, and analyze results. Supports IBM Quantum (100+ qubit systems), IonQ, Amazon Braket, and other providers.1819**Key Features:**20- 83x faster transpilation than competitors21- 29% fewer two-qubit gates in optimized circuits22- Backend-agnostic execution (local simulators or cloud hardware)23- Comprehensive algorithm libraries for optimization, chemistry, and ML2425## Quick Start2627### Installation2829```bash30uv pip install qiskit31uv pip install "qiskit[visualization]" matplotlib32```3334### First Circuit3536```python37from qiskit import QuantumCircuit38from qiskit.primitives import StatevectorSampler3940# Create Bell state (entangled qubits)41qc = QuantumCircuit(2)42qc.h(0) # Hadamard on qubit 043qc.cx(0, 1) # CNOT from qubit 0 to 144qc.measure_all() # Measure both qubits4546# Run locally47sampler = StatevectorSampler()48result = sampler.run([qc], shots=1024).result()49counts = result[0].data.meas.get_counts()50print(counts) # {'00': ~512, '11': ~512}51```5253### Visualization5455```python56from qiskit.visualization import plot_histogram5758qc.draw('mpl') # Circuit diagram59plot_histogram(counts) # Results histogram60```6162## Core Capabilities6364### 1. Setup and Installation65For detailed installation, authentication, and IBM Quantum account setup:66- **See `references/setup.md`**6768Topics covered:69- Installation with uv70- Python environment setup71- IBM Quantum account and API token configuration72- Local vs. cloud execution7374### 2. Building Quantum Circuits75For constructing quantum circuits with gates, measurements, and composition:76- **See `references/circuits.md`**7778Topics covered:79- Creating circuits with QuantumCircuit80- Single-qubit gates (H, X, Y, Z, rotations, phase gates)81- Multi-qubit gates (CNOT, SWAP, Toffoli)82- Measurements and barriers83- Circuit composition and properties84- Parameterized circuits for variational algorithms8586### 3. Primitives (Sampler and Estimator)87For executing quantum circuits and computing results:88- **See `references/primitives.md`**8990Topics covered:91- **Sampler**: Get bitstring measurements and probability distributions92- **Estimator**: Compute expectation values of observables93- V2 interface (StatevectorSampler, StatevectorEstimator)94- IBM Quantum Runtime primitives for hardware95- Sessions and Batch modes96- Parameter binding9798### 4. Transpilation and Optimization99For optimizing circuits and preparing for hardware execution:100- **See `references/transpilation.md`**101102Topics covered:103- Why transpilation is necessary104- Optimization levels (0-3)105- Six transpilation stages (init, layout, routing, translation, optimization, scheduling)106- Advanced features (virtual permutation elision, gate cancellation)107- Common parameters (initial_layout, approximation_degree, seed)108- Best practices for efficient circuits109110### 5. Visualization111For displaying circuits, results, and quantum states:112- **See `references/visualization.md`**113114Topics covered:115- Circuit drawings (text, matplotlib, LaTeX)116- Result histograms117- Quantum state visualization (Bloch sphere, state city, QSphere)118- Backend topology and error maps119- Customization and styling120- Saving publication-quality figures121122### 6. Hardware Backends123For running on simulators and real quantum computers:124- **See `references/backends.md`**125126Topics covered:127- IBM Quantum backends and authentication128- Backend properties and status129- Running on real hardware with Runtime primitives130- Job management and queuing131- Session mode (iterative algorithms)132- Batch mode (parallel jobs)133- Local simulators (StatevectorSampler, Aer)134- Third-party providers (IonQ, Amazon Braket)135- Error mitigation strategies136137### 7. Qiskit Patterns Workflow138For implementing the four-step quantum computing workflow:139- **See `references/patterns.md`**140141Topics covered:142- **Map**: Translate problems to quantum circuits143- **Optimize**: Transpile for hardware144- **Execute**: Run with primitives145- **Post-process**: Extract and analyze results146- Complete VQE example147- Session vs. Batch execution148- Common workflow patterns149150### 8. Quantum Algorithms and Applications151For implementing specific quantum algorithms:152- **See `references/algorithms.md`**153154Topics covered:155- **Optimization**: VQE, QAOA, Grover's algorithm156- **Chemistry**: Molecular ground states, excited states, Hamiltonians157- **Machine Learning**: Quantum kernels, VQC, QNN158- **Algorithm libraries**: Qiskit Nature, Qiskit ML, Qiskit Optimization159- Physics simulations and benchmarking160161## Workflow Decision Guide162163**If you need to:**