Learn Quantum Computing with Qiskit Textbook
IBM Quantum / Qiskit Team
15 courses · 39 tutorials
IBM Quantum / Qiskit Team
IBM Quantum
IBM Quantum Community
Hasso Plattner Institute / IBM Quantum Research
IBM Quantum
IBM Quantum / Qiskit Community
AWS Quantum Technologies team
Hasso Plattner Institute / IBM Quantum
Hasso Plattner Institute / IBM Quantum
Packt
Packt
IBM Quantum
Atil Samancioglu
Kumaresan Ramanathan
Packt
Write your first quantum program in OpenQASM 3, the universal quantum assembly language used by IBM Quantum, Qiskit, and cross-platform toolchains.
A comprehensive beginner guide to Qiskit covering single-qubit gates, two-qubit gates, circuit drawing, statevector simulation, measurement, and histograms, with 20+ code examples.
Learn how Qiskit's transpiler inserts SWAP gates to route circuits onto device connectivity graphs. Understand routing heuristics and how to minimize SWAP overhead.
Implement the quantum volume protocol in Qiskit to compare hardware quality across devices. Understand how QV relates to circuit depth, qubit count, and gate fidelity.
Build the Quantum Approximate Optimization Algorithm from scratch in Qiskit to solve MaxCut on small graphs. Understand the circuit structure, cost function, and how to tune the depth parameter p.
Build a working quantum teleportation circuit in Qiskit - create an entangled pair, perform a Bell measurement, apply classical corrections, and verify the teleported state.
Learn how quantum error correction works by implementing the 3-qubit bit-flip code in Qiskit - encode a logical qubit, introduce an error, detect it with syndrome measurement, and correct it.
Build a true quantum random number generator using superposition and measurement in Qiskit, and understand why quantum randomness is fundamentally different from classical pseudo-randomness.
Split a large quantum circuit across smaller QPUs using Qiskit's circuit cutting addon. Covers both wire cuts and gate cuts, plus when the classical overhead becomes prohibitive.
How Qiskit's transpiler transforms abstract circuits into hardware-executable form: qubit mapping, SWAP insertion, gate decomposition, and optimization passes.
Write your first quantum program in Qiskit, build a Bell state, run it on a local simulator, and interpret the results.
Implement discrete-time quantum walks on a line and cycle graph in Qiskit, visualize the quadratic spreading advantage over classical random walks, and understand the deep connection to Grover's algorithm.
Step-by-step guide to installing Qiskit, building your first quantum circuit, creating a Bell state, simulating it locally, and running it on a real IBM Quantum device.
Use Qiskit fake backends to simulate real IBM quantum device noise locally, enabling fast and realistic circuit testing without using hardware credits.
How to visualize quantum circuits, measurement histograms, statevectors, and Bloch sphere representations using Qiskit's built-in tools.
Reconstruct an unknown quantum state from measurement data using Qiskit's StateTomography workflow. Understand when tomography is useful and when it is not.
Learn how the Deutsch-Jozsa algorithm solves in a single query a problem that requires exponentially many classical queries, and implement both constant and balanced oracles in Qiskit.
Use the statevector simulator to debug quantum circuits: print amplitudes, plot probability distributions, probe mid-circuit state, and catch common bugs.
How to design and implement oracles for Grover's search algorithm: from Boolean functions to quantum circuits, phase kickback, and multi-target search.
Understand density matrices, mixed states, and the partial trace. Essential for reasoning about noise, decoherence, and real hardware, with working Qiskit examples.
Simulate quantum systems by decomposing time evolution into circuits using first and second-order Trotterization. Practical implementation with Qiskit's PauliEvolutionGate and LieTrotter.
Install Qiskit, build your first quantum circuit in Python, and run it on a real IBM quantum computer, all in under 30 minutes.
Run randomized benchmarking protocols in Qiskit to measure average gate fidelity and diagnose systematic errors on real quantum hardware.
Implement noise characterization using Qiskit Experiments: T1 inversion recovery, T2 Ramsey, single-qubit RB, two-qubit RB, and cross-resonance tomography on a fake backend.
How VQE works: the variational principle, ansatz design, classical optimizer loop, and a complete Qiskit implementation for finding the ground state of a simple Hamiltonian.
Implement quantum volume measurement from scratch using random SU(4) circuits, ideal vs noisy simulation, and the heavy output generation problem.
Extend Grover's algorithm to handle multiple marked items. Derive the optimal number of iterations, implement multi-solution oracles in Qiskit, and use quantum counting to find the solution count.
Side-by-side Qiskit Runtime and Mitiq for zero-noise extrapolation: which library handles gate folding better, when Richardson extrapolation outperforms linear fits, and which to pick.
How to convert between Qiskit QuantumCircuit objects and OpenQASM 3 strings for sharing, archiving, and cross-platform workflows.
Reconstruct an unknown 1- or 2-qubit state with Qiskit's state tomography protocol. Covers measurement basis selection, SPAM correction, and how many shots you actually need.
A practical guide to porting Qiskit 0.x code to Qiskit 1.0: deprecated APIs removed, primitives V2 migration, backend changes, and transpiler updates.
Understand Simon's algorithm, the first proof of exponential quantum speedup, covering the hidden period problem, quantum circuit, classical post-processing over GF(2), and a complete Qiskit implementation.
Characterize quantum gates and channels using process tomography in Qiskit. Understand how to reconstruct the process matrix and interpret fidelity results.
Build and manipulate Hamiltonians efficiently using Qiskit's SparsePauliOp class for variational algorithms and quantum chemistry simulations.
Build the quantum Fourier transform circuit from scratch in Qiskit, understand why it works, and see how it underpins Shor's algorithm and quantum phase estimation.
Everything you need to set up Python for quantum computing: virtual environments, NumPy fundamentals, and your first quantum program from scratch.
Implement the Bernstein-Vazirani algorithm in Qiskit: find a hidden bit string in a single query using superposition and phase kickback, versus N queries classically.
How to use Qiskit Runtime's Sampler and Estimator primitives to run circuits on IBM quantum hardware efficiently, replacing the deprecated execute() API.
Step-by-step Qiskit noise model with depolarizing channels, T1/T2 decay, and readout error. Includes importing real IBM backend calibrations so simulations match hardware.