Matrix Product States
A matrix product state (MPS) rewrites the amplitudes of an -qubit state as a product of small matrices, one factor per qubit. It is the one-dimensional workhorse of tensor networks, and almost every algorithm in this module operates on it.
From one big tensor to a chain of small ones
Write a general -qubit state by listing its amplitudes,
The object is a single tensor with indices and entries. The MPS idea is to factor this tensor into a contracted product of three-index tensors , one for each site:
Each carries one physical index (the qubit's value) and up to two bond indices that link it to its neighbours. Reading the formula, you pick a value for every physical index, multiply the corresponding matrices along the chain, and the result is a single amplitude. The bond indices are summed over — they are internal plumbing, never observed.
Where the matrices come from: iterated SVD
You construct an MPS by repeatedly applying the singular value decomposition (SVD). Reshape the amplitude tensor into a matrix that groups the first qubit against the rest, . The SVD writes
with holding the first site tensor , a diagonal matrix of non-negative singular values, and the remainder to be split further. Reshape that remainder, group off the next qubit, and SVD again. Repeating times peels the state into the chain of above. The procedure is exact: no approximation has yet been made.
A worked two-qubit example
Take the Bell state . Its amplitude matrix grouping qubit 0 against qubit 1 is
Its SVD is trivial: and . There are two non-zero singular values, so the bond between the qubits must carry dimension . By contrast the product state has , a single non-zero singular value, so its bond dimension is . Entanglement is visible directly in the count of non-zero singular values.
Why this is efficient
If every bond index ranges over at most values, each site tensor holds at most numbers, and the whole MPS stores about numbers — linear in . For weakly entangled states stays small even as grows, which is precisely why MPS can represent the ground states of many one-dimensional systems on a laptop while the full state vector would need exponential memory. The cost of every operation on an MPS — overlaps, expectation values, applying gates — likewise scales polynomially in and , never in .
Canonical forms
In practice one keeps the MPS in a canonical form: the tensors to the left of a chosen bond are left-orthonormal and those to the right are right-orthonormal, with the singular values sitting on the bond between them. Canonical form makes the singular values directly meaningful, makes overlaps and expectation values cheap, and is what lets you truncate small singular values to control . We will lean on it when we simulate circuits with MPS later in the module.
Sign in on the full site to ask questions and join the discussion.