Tensor Products and Multi-Qubit States

qc/math

Multiple quantum systems combine via the tensor product (), not addition. For two single-qubit states and :

— bilinear in both arguments. In column-vector form this is the Kronecker product:

The same operation combines operators: acts on the combined space, built the same component-wise way. This is exactly the fact behind Pauli Operators’ “tensor products extend this to any number of qubits” line — an -qubit Pauli string like is literally .

Why this makes state spaces explode

Key insight: single qubits combine into one -dimensional space, not -dimensional — this is the exact mechanism behind why quantum states are classically expensive and why statevector simulation doesn’t scale. Two qubits: 4 amplitudes. Twenty qubits: over a million. This is also structurally why entanglement exists at all: a general -dimensional vector doesn’t have to factor as a tensor product of single-qubit vectors — when it doesn’t, that’s what “entangled” means (see Bell States).

Classical parallel

Multiple classical systems combine via the Cartesian product of their state sets, and the same tensor-product operation combines their probability vectors — the math is identical. The difference isn’t the combination rule, it’s that a quantum joint state can hold superposition and phase relationships a classical joint probability distribution can’t.

from qiskit.quantum_info import Statevector
 
phi = Statevector([1, 0])       # |0>
psi = Statevector([0, 1])       # |1>
combined = phi.tensor(psi)      # |0> ⊗ |1> = |01>

Self-Check

  • Could you compute by hand using the Kronecker product formula?
  • Why does qubits give a -dimensional space rather than ?
  • Why does “not every vector in the combined space factors as a tensor product” matter for what entanglement means?