Qiskit Aer Simulator
Qiskit Aer is a high-performance simulator backend for Qiskit, designed for fast and accurate simulation of quantum circuits on classical computers. It supports various simulation methods, including statevector, density matrix, extended stabilizer, and matrix product state, along with advanced noise modeling capabilities. The current version is 0.17.2, and it typically releases new versions in sync with major Qiskit releases to maintain compatibility.
Warnings
- breaking Qiskit Aer versions prior to 0.17.0 are not fully compatible with Qiskit 2.0 and later. Significant API changes in Qiskit 2.0 require corresponding updates in Qiskit Aer.
- deprecated Directly accessing simulator backends via `Aer.get_backend('aer_simulator')` is less explicit than importing the `AerSimulator` class directly. While still functional, the direct class import is the recommended pattern.
- gotcha Qiskit Aer has specific Python version requirements that can change between releases. For example, version 0.16.1 dropped support for Python 3.8 and added support for Python 3.13.
- gotcha Enabling GPU acceleration for `qiskit-aer` requires specific system configurations, including CUDA Toolkit and drivers. Setup can be complex and may require custom builds or specific installation flags.
Install
-
pip install qiskit-aer
Imports
- AerSimulator
from qiskit_aer import AerSimulator
- Aer
from qiskit_aer import Aer
Quickstart
from qiskit import QuantumCircuit, transpile
from qiskit_aer import AerSimulator
# Construct quantum circuit
circ = QuantumCircuit(2, 2)
circ.h(0)
circ.cx(0, 1)
circ.measure([0,1], [0,1])
# Select the AerSimulator
simulator = AerSimulator()
# Run and get counts
compiled_circuit = transpile(circ, simulator)
job = simulator.run(compiled_circuit, shots=1000)
result = job.result()
counts = result.get_counts(circ)
print("Shot counts:", counts)