Simulating Circuits with MPS
A matrix product state is not just a static snapshot — you can evolve it by applying gates directly to its tensors, never forming the state vector. This is the basis of MPS circuit simulation (Vidal's TEBD algorithm), and it lets a laptop simulate hundreds of qubits as long as the entanglement stays bounded.
Single-qubit gates are local and free
A single-qubit gate acting on site touches only that site's tensor. You contract the gate's matrix with the physical index of :
Only one tensor changes, the bond dimensions are untouched, and a single-qubit gate cannot create entanglement. Applying single-qubit gates costs — cheap, and the bond dimension never grows. This matches physical intuition: local rotations do not correlate distant qubits.
Two-qubit gates can grow the bond — and SVD trims it
A gate on neighbouring sites is where the action is. The standard recipe has three steps:
- Merge. Contract the two site tensors over their shared bond into one four-index block , then apply the two-qubit gate to its two physical indices.
- Split. Reshape into a matrix grouping (left bond, site ) against (site , right bond) and take its SVD, . The new middle bond carries the singular values , and its size is the Schmidt rank of the updated state across that cut.
- Truncate. If that rank exceeds your bond-dimension budget , keep only the largest singular values and discard the rest, then renormalise.
A two-qubit gate can double the local bond dimension, because it can entangle the two sites further. Left unchecked, repeated entangling gates push up exponentially — which is exactly the regime where MPS stops being efficient.
Non-adjacent gates need SWAPs
The merge-split recipe assumes the two qubits are neighbours on the chain. A gate between distant qubits is handled by SWAP gates that walk one qubit along the chain until it is adjacent to its partner, applying the gate, then swapping back. Each SWAP is itself a two-qubit gate and can raise the bond dimension of the bonds it crosses, so long-range gates are more expensive than nearest-neighbour ones. This is one reason MPS favours circuits with local, low-depth structure.
Reading out results
Once the circuit is applied, observables come from contractions of the final MPS:
- An amplitude is the matrix product of the selected slices of each tensor — an contraction.
- An expectation value for a local operator contracts the MPS with its conjugate, sandwiching at the relevant site.
- Sampling measurement outcomes is done site by site, conditioning each qubit's probability on the bits already drawn, again in polynomial time.
When MPS matches the exact simulator
For the small, weakly entangled circuits in this course an MPS simulation with a large enough reproduces the state-vector simulator exactly — every amplitude agrees to machine precision because no singular values had to be truncated. The power of the method appears at larger , where the state vector is unaffordable but a bounded- MPS still fits in memory. Knowing when the required stays bounded is the judgement call we sharpen in the rest of the module.
Sign in on the full site to ask questions and join the discussion.