---
title: "Evolve a matrix product state in time with two-site gates"
description: "TEBD splits a time step into gates on neighbouring spins and truncates after each. Its two errors, from time step and truncation, can be measured apart."
canonical_url: "https://sandboxphysics.com/stories/tensor-networks/tebd-real-time/"
language: "en"
page_type: "story"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/stories/tensor-networks/tebd-real-time/"
last_modified: "2026-10-29"
---

[Tensor networks · A course with experiments](https://sandboxphysics.com/stories/tensor-networks/)

L3 · Chapter 6

# Evolve a matrix product state in time with two-site gates

Time-evolving block decimation, introduced by Vidal in 2004, writes one small time step as a product of gates that each act on two neighbouring spins. After every gate it splits the pair back with a singular value decomposition and keeps the largest Schmidt terms. The time-step error shrinks as a power of the step and grows slowly with time. The truncation error depends on how much entanglement the state carries, and it is the one that ends a simulation.

Sandbox Physics · 2026-10-29

In this chapter

[All eight chapters](https://sandboxphysics.com/stories/tensor-networks/)

Before you start

Chapters three and four. The time-evolution operator of quantum mechanics and the fact that the exponential of a sum of non-commuting matrices is not the product of their exponentials.

## Split one time step into two-site gates

The Ising Hamiltonian is a sum of bond terms, each acting on two neighbours. Give each bond its coupling and a share of the field. Terms on bonds that share no spin commute, but neighbouring bonds do not, so the exponential of the whole Hamiltonian is not exactly the product of bond exponentials. For a short step the product is close, and the leftover is the Trotter error.

Vidal groups the bonds into two sets, even and odd, whose terms commute within each set. A symmetric product, half a step of one set, a full step of the other, half a step of the first, is accurate to second order. The quench Lab uses an equivalent symmetric choice: a sweep of half-step gates from left to right followed by one from right to left.

$$
e^{-i(F+G)\delta}=e^{-iF\delta/2}\,e^{-iG\delta}\,e^{-iF\delta/2}+O(\delta^3),\qquad F=\sum_{b\ \rm even}h_b,\quad G=\sum_{b\ \rm odd}h_b
$$

## Apply a gate, then truncate

To apply a gate on two neighbours, merge their two tensors and the Schmidt coefficients around them into one block, multiply in the four-by-four gate, and split the block again with a singular value decomposition. The gate can create entanglement, so the split may produce more Schmidt terms than before. Keep the largest ones up to the bond dimension and record the weight you drop.

Vidal estimates that the work grows with the length of the chain times the cube of the bond dimension. The bond dimension is therefore the price of accuracy, and it is the quantity the quench Lab lets you starve.

$$
\Theta=\Lambda^{[b-1]}\Gamma^{[b]}\Lambda^{[b]}\Gamma^{[b+1]}\Lambda^{[b+1]},\qquad \Theta'=U_b\,\Theta\ \xrightarrow{\ \rm SVD\ }\ \text{keep }\chi\text{ largest}
$$

Worked example

## Separate the time-step error from truncation

Vidal names the two errors. The truncation error of one gate is the dropped Schmidt weight. An order-p Trotter expansion adds an error, measured as one minus the squared overlap with the exact state, that scales as the time step to the power 2p times the square of the total time. Schollwöck adds in Section 7.4 that the Trotter error grows only slowly with time, while the truncation error is the serious one.

The Lab separates them with an exact free-fermion reference. On a ten-spin chain, a bond dimension of 64 never truncates, so only the time step acts. The largest error of the local magnetization at time three is then 0.0051, 0.0013, 0.00032 and 0.00008 for steps of 0.2, 0.1, 0.05 and 0.025. Each halving divides the error by four, a measured order of 2.00. At the default step of 0.05 the time-step error is well below the Lab tolerance of one thousandth. On sixteen spins the trusted time moves with the bond dimension, from 2.7 at sixteen to 3.45 at 32, so there the window is closed by truncation.

$$
\epsilon_{\rm trunc}=\sum_{\alpha>\chi}\big(s^{[b]}_\alpha\big)^2,\qquad \epsilon_{\rm Trotter}\sim\delta^{2p}T^2,\qquad \frac{0.0013}{0.00032}\approx4
$$

## Conserved quantities are checks, not proofs

The exact evolution conserves the energy and the spin-flip parity, so a simulation that breaks either one is wrong. Every gate respects the parity, and the Lab keeps it to within about a trillionth for all bond dimensions. The energy is subtler: the Trotter step does not conserve it exactly. Inside the trusted window the energy drifts by 0.0020 at every bond dimension from four to 32, which marks this drift as a time-step effect. Run to time five and the drift becomes 0.24 at bond dimension four and 0.037 at 32. That part is truncation.

García-Ripoll compared such Trotter schemes with other integrators by measuring the error of the whole wave function, not a conserved quantity. Chapter eight reads one of his figures in detail.

An experiment to think through

## Predict, change, explain

1. Open the quench Lab on the critical quench. Predict whether halving the time step or doubling the bond dimension moves the dashed trusted-time line further.
2. Try both, then choose the coarse time-step preset.
3. Explain which error closed the window in each case, using the discarded weight and the local error readouts.

[Follow a quench until the simulation stops being trusted](https://sandboxphysics.com/labs/tebd-quench-time-window/)

The Labs simulate open spin-1/2 chains with energies in units of the coupling and time in units of the reduced Planck constant divided by the coupling. Each Lab states its model and limits in its notes and can export the data behind its readouts.

## Try explaining it yourself

### 1. With a second-order Trotter step, the local error at a fixed time is one thousandth. You halve the step. What do you expect, and what does it cost?

Read an explained answer

The error falls by a factor of four, to about 0.00025, as long as truncation is negligible. The number of gates to reach the same time doubles.

### 2. Suppose the tolerance were one ten-thousandth instead of one thousandth. Could a larger bond dimension alone keep the default run trusted until time three?

Read an explained answer

No. In the ten-spin test the time-step error alone is 0.00032 at time three with a step of 0.05, already above that tolerance. You would have to shorten the step as well.

### 3. Doubling the bond dimension from 16 to 32 moves the trusted time from 2.7 to 3.45. Using Vidal's cost estimate, roughly how much more work does each step take?

Read an explained answer

The cost grows as the cube of the bond dimension, so about eight times more per step, for three quarters of a time unit more. Chapter seven explains why the gain is so small.

$$
\Big(\tfrac{32}{16}\Big)^3=8
$$

## Sources to read alongside

1. [U. Schollwöck, The density-matrix renormalization group in the age of matrix product states, Annals of Physics 326, 96 (2011)](https://arxiv.org/abs/1008.3477)

   The standard review. Section 3 uses the area law to explain why DMRG works in one dimension; Section 4.1 builds matrix product states from successive singular value decompositions and bounds the truncation error in Eq. 58; Section 6 sets out the ground-state search as a variational sweep; Section 7 covers time evolution and its limits.

2. [G. Vidal, Efficient simulation of one-dimensional quantum many-body systems, Physical Review Letters 93, 040502 (2004)](https://arxiv.org/abs/quant-ph/0310089)

   Introduces the time-evolving block decimation: split the Hamiltonian into two-site gates, apply them and keep the largest Schmidt coefficients after each gate.

3. [J. J. García-Ripoll, Time evolution of matrix product states, New Journal of Physics 8, 305 (2006)](https://arxiv.org/abs/cond-mat/0610210)

   Compares several ways of evolving matrix product states in time. Figure 3 plots the error of Trotter-type integrators against the time step on log–log axes.

[Previous Find a ground state by sweeping, and decide whether to believe it](https://sandboxphysics.com/stories/tensor-networks/dmrg-variational-sweeps/) [Next Why a quench outruns every matrix product state](https://sandboxphysics.com/stories/tensor-networks/entanglement-growth-and-light-cones/)
