Skip to main content
Sandbox Physics

FR30-A · Keep the strongest Schmidt strands

Matrix Product State Compression

How few numbers does a quantum spin chain really need? Far fewer than the full list of amplitudes when the state carries little entanglement. Every cut through the chain has Schmidt weights, and keeping only the largest ones turns the state into a matrix product state. A gapped chain needs a handful per cut, a critical chain needs more, and a random state needs almost all of them.

Cut a spin-chain state into a matrix product state and drag the bond-dimension line. See which Schmidt weights you keep, how large the global error is, and which local measurements still agree.

Interactive modelMatrix Product State Compression
Squared norm error5.66×10−65.66\times10^{-6}
Energy error per site2.22×10−62.22\times10^{-6}
End-to-end correlation error1.5×10−31.5\times10^{-3}
Numbers stored296 / 4096296\,/\,4096
Errors against bond dimension
Schmidt weights at the centre cut
Entanglement at every cut
Numerical diagnostics and recordχ=4\chi=4

Every number is computed in the browser from the exact state vector and its compressed copy. The record saves the Schmidt spectra, the discarded weights per cut and all error measures.

Continue the course: tensor networks for quantum many-body physics

Physics tutorial

Matrix Product State Compression

BackgroundSplit a chain of spins into a left part and a right part. Any state can be written as a sum of products of left states and right states, and the squared coefficients, the Schmidt weights, add up to one. They measure how strongly the two parts are entangled.

Why it mattersStoring every amplitude of a chain with LL spins takes 2L2^L numbers. When the Schmidt weights fall off quickly at every cut, most of those numbers carry almost nothing, and a matrix product state keeps only what matters.

Start with the essentials

Focus question
How few numbers does a quantum spin chain really need?
One-sentence intuition
The error of a truncation is set cut by cut by the Schmidt weights you throw away. Local measurements can stay far more accurate than the global error, while a correlation between the two ends is more sensitive.

Core mathematical model

Schmidt decomposition at one cut

∣ψ⟩=∑α=1rλα ∣aα⟩L ∣bα⟩R,∑αλα=1|\psi\rangle=\sum_{\alpha=1}^{r}\sqrt{\lambda_\alpha}\,|a_\alpha\rangle_{\rm L}\,|b_\alpha\rangle_{\rm R},\qquad \sum_{\alpha}\lambda_\alpha=1

The left and right states are orthonormal. The weights come from a singular value decomposition of the amplitudes arranged as a matrix with left configurations as rows and right configurations as columns.

A matrix product state

ψs1s2⋯sL=A[1]s1A[2]s2⋯A[L]sL,A[j]sj∈Cχj−1×χj\psi_{s_1s_2\cdots s_L}=A^{[1]s_1}A^{[2]s_2}\cdots A^{[L]s_L},\qquad A^{[j]s_j}\in\mathbb{C}^{\chi_{j-1}\times\chi_j}

Repeating the decomposition from left to right writes every amplitude as a product of small matrices. Keeping at most a fixed number of Schmidt weights per cut, the bond dimension, caps every matrix size.

What the discarded weight guarantees

max⁡c εc(χ)≤∥ψ−ψ~∥2≤2∑cεc(χ),εc(χ)=∑α>χλα(c)\max_c\,\varepsilon_c(\chi)\le\lVert\psi-\tilde\psi\rVert^2\le2\sum_c\varepsilon_c(\chi),\qquad \varepsilon_c(\chi)=\sum_{\alpha>\chi}\lambda^{(c)}_\alpha

No state with at most that many Schmidt terms at a cut can come closer than the tail at that cut, which gives the lower bound. The upper bound is Eq. 58 of Schollwöck (2011). The Lab plots the measured error between both.

Common difficulties

A small global error is not a small error everywhere

Typical misconceptionIf the squared norm error is one in a million, every measured quantity is that accurate.

Better mental modelObservable errors scale with the norm error itself, not its square, and long-range correlations use the most of that allowance. Check the quantity you care about.

Run the experiment

  1. 01

    Cut a critical chain

    Start from Critical chain: a slow tail and drag the gold scissor line from the top down to bond dimension one.

    What to observe: Orange strands are discarded. The squared norm error grows as more strands at the centre are cut, and the measured error stays between the two bounds in the error plot.
  2. 02

    Compare a gapped chain

    Choose Gapped chain: a fast tail, then compare the centre Schmidt spectrum with the critical one.

    What to observe: The weights fall off much faster, so two strands per cut already give a tiny error. The entanglement per cut is also smaller.
  3. 03

    Try a cat state and a random state

    Choose Cat state: one strand fails, then move the bond dimension from one to two. Finish with Random state: no short tail.

    What to observe: The cat state needs exactly two strands. The random state keeps a large error even when almost as many numbers are stored as the full state has amplitudes.

Related experiments and articles

Tensor networks · Reading path

Tensor networks and DMRG, from entanglement to quantum quenches

Articles on this path that use this experiment, followed by the other experiments they suggest.

  1. ArticleWhy a chain of spins outgrows any computer, and why its ground state does not
  2. LabDMRG Ground State SweepsSweep DMRG down to the ground-state energy
  3. ArticleMeasure entanglement with one matrix decomposition
  4. ArticleTurn a wave function into a chain of small matrices
  5. ArticleHow much does cutting the bonds cost?
FeedbackSomething broken, confusing, or missing on this page?Tell us
What kind of feedback?

Sent with this page’s address, its Lab ID, the site language and your device type. Please leave out personal details. Feedback is kept for up to 12 months.Privacy policy