Modern Qiskit: the series
Qiskit’s 0.x → 1.0 → 2.x transition invalidated most tutorials on the
internet: execute(), opflow, qiskit.algorithms, and the old
backend .run() idioms are gone. This series documents the stack as it
exists now — verified against Qiskit 2.x — for readers who already
know the quantum mechanics and want the engineering model.
The organizing idea throughout is IBM’s four-step “Qiskit patterns” workflow: map a problem to circuits and operators, optimize via the transpiler, execute through the V2 primitives, analyze the results.
The parts so far#
Part 0 — Primitives and the patterns workflow (2026-07-10). Bell, Ψ⁺, and GHZ states through
SamplerV2andEstimatorV2, and why the two primitives exist at all.Part 1 — The compiler is the subject (2026-07-13). Parameterized circuits, a hand-built hardware-efficient ansatz, and a transpiler benchmark: linear vs. all-to-all entanglement across optimization levels on two device topologies.
Part 2 — A simulator is a data structure (2026-07-25). PUBs, precision, and noise models, then statevector, density matrix, MPS, and stabilizer benchmarked on one circuit — with the MPS/statevector crossover measured rather than assumed.
More parts are in progress — variational algorithms (VQE, QAOA) built directly on the primitives are next.
Companion code#
Full notebooks for every part are on GitHub.