Table of Contents
Quantum computing
Quantum computing is a model of computation where information is stored in quantum-mechanical systems and manipulated using the laws of quantum mechanics. The fundamental unit is the qubit, which is the quantum analog of a classical bit. Unlike a classical bit, which is either 0 or 1, a qubit can exist in a superposition of both states simultaneously — and groups of qubits can be entangled, meaning the state of one is correlated with the state of another in ways that have no classical equivalent. These two properties — superposition and entanglement — are what give quantum computers their potential.
Whether that potential translates to practical advantage depends heavily on the problem. Quantum computers are not universally faster than classical ones. They offer speedups for specific problem structures: searching unstructured databases (Grover's algorithm, $O(\sqrt{N})$ vs $O(N)$), factoring large integers (Shor's algorithm, polynomial vs sub-exponential), and simulating quantum systems. For most everyday computation, a classical CPU is faster and far cheaper to operate.
Qubits and state
A single qubit lives in a two-dimensional complex Hilbert space $\mathbb{C}^2$. Its state vector is written in Dirac notation as:
$$\lvert\psi\rangle = a\lvert 0\rangle + b\lvert 1\rangle \qquad a, b \in \mathbb{C},\quad |a|^2 + |b|^2 = 1$$
The coefficients $a$ and $b$ are probability amplitudes. When the qubit is measured, it collapses to $\lvert 0\rangle$ with probability $|a|^2$ or to $\lvert 1\rangle$ with probability $|b|^2$ — this is the Born rule. Before measurement, the qubit genuinely occupies both states at once; the amplitudes are not just a description of ignorance but a physical feature of the system.
A quantum register of $n$ qubits has a state vector in $\mathbb{C}^{2^n}$. This exponential growth of the state space is both the source of quantum computing's power and the reason classical simulation of large quantum systems becomes infeasible: fully simulating a 50-qubit register requires storing $2^{50} \approx 10^{15}$ complex amplitudes.
Gates and circuits
Quantum computation is performed by applying quantum gates to qubits. Gates are unitary matrices — they preserve the total probability (the norm of the state vector) and are reversible. Single-qubit gates rotate the state on the Bloch sphere: the X gate flips $\lvert 0\rangle \leftrightarrow \lvert 1\rangle$ like a classical NOT, the Hadamard gate puts a qubit into equal superposition, and the Z gate flips the relative phase. The CNOT gate is the canonical two-qubit gate: it flips the target qubit if and only if the control qubit is $\lvert 1\rangle$.
A quantum circuit is a sequence of gates applied to an initial register, followed by a measurement. Writing a quantum algorithm means designing a circuit whose interference patterns amplify the probability of measuring the correct answer and suppress the probability of measuring wrong ones. This is the central design challenge in quantum programming — there is no branching, no loops in the classical sense, only carefully constructed interference.
Open quantum systems
The gate model assumes qubits evolve in isolation — a unitary, noise-free evolution. Real hardware doesn't cooperate. Physical qubits interact with their environment, which causes decoherence: the quantum state leaks information into the surroundings and the superposition degrades into a classical mixture. A decohered qubit is described not by a state vector but by a density matrix $\rho$, a positive semidefinite matrix of trace 1 that encodes both quantum superposition and classical uncertainty.
The dynamics of an open quantum system are governed by the Lindblad master equation, the quantum analog of a classical master equation for stochastic processes. It adds dissipation and decoherence terms to the Schrödinger equation. Understanding open systems is essential for working with real hardware and for quantum simulation of physical systems that are themselves noisy (molecular dynamics, condensed matter).
NISQ and beyond
Current hardware sits in the NISQ (Noisy Intermediate-Scale Quantum) era: devices with tens to a few thousand physical qubits, error rates too high for full fault-tolerant algorithms, and coherence times measured in microseconds to milliseconds. NISQ algorithms like VQE and QAOA are hybrid classical-quantum approaches that use short, shallow circuits to stay within coherence time and rely on a classical optimizer in the outer loop. Fault-tolerant quantum computation — where logical qubits are encoded across many physical qubits to suppress errors — remains an active research and engineering challenge.
