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])
