Site Tools


qiskit-measurement

Table of Contents

Measurement

Measurement is the only way to extract information from a quantum circuit. When you measure a qubit in state $\alpha \lvert 0 \rangle + \beta \lvert 1 \rangle$, you get a classical bit: 0 with probability $|\alpha|^2$ or 1 with probability $|\beta|^2$. The measurement collapses the qubit into the observed state and destroys the superposition.

In Qiskit, use .measure(qubits, bits) to measure qubits into classical bits. A circuit typically ends with a measurement instruction. Run multiple times (shots) to build a probability distribution over outcomes.

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
 
qc = QuantumCircuit(2, 2)
qc.h(0)                  # Qubit 0 in superposition
qc.cx(0, 1)              # Entangle
qc.measure([0, 1], [0, 1])
 
sim = AerSimulator()
result = sim.run(qc, shots=1000).result()
counts = result.get_counts(qc)
print(counts)  # {'00': ~500, '11': ~500}

Each execution of the circuit (each shot) gives one measurement outcome. With 1000 shots, you approximate the true probability distribution. More shots → better statistics, but slower execution.

Measurement Basis

By default, measurement is in the computational basis ($\lvert 0 \rangle / \lvert 1 \rangle$). To measure in other bases (e.g., X or Y), apply basis-rotation gates before measuring:

qc = QuantumCircuit(1, 1)
qc.h(0)
qc.h(0)  # Rotate back to computational basis before measure
qc.measure([0], [0])
qiskit-measurement.md · Last modified: by 127.0.0.1