Skip to content

Matrix Product Operators

A matrix product operator (MPO) factorizes an operator into local input-output tensors. It is useful when a Hamiltonian contains many terms but only a small number of patterns connecting them. The operator bond dimension measures the complexity of those patterns; it need not equal the MPS bond dimension of a state acted on by the operator.

Required background. MPS implementation supplies virtual-index conventions, and sparse many-body Hamiltonians supplies an independent small-system reference.

Use a tensor Wab[j] s′tW^{[j]\,s't}_{ab} with virtual indices a,ba,b and physical output/input indices s′,ts',t. Contracting virtual indices produces ⟨s1′⋯sN′∣H∣t1⋯tN⟩\langle s'_1\cdots s'_N|H|t_1\cdots t_N\rangle. Physical index pairs must never be interchanged silently.

For an open Ising chain,

H=−J∑j=1N−1ZjZj+1−h∑j=1NXj,H=-J\sum_{j=1}^{N-1}Z_jZ_{j+1}-h\sum_{j=1}^{N}X_j,

a bond-dimension-three bulk MPO is the operator-valued matrix

W=(I00Z00−hX−JZI),vL=(0,0,1),vR=(1,0,0)T.W= \begin{pmatrix} I&0&0\\ Z&0&0\\ -hX&-JZ&I \end{pmatrix}, \qquad v_L=(0,0,1),\quad v_R=(1,0,0)^T.

The scalar operator vLW[1]⋯W[N]vRv_LW^{[1]}\cdots W^{[N]}v_R has three kinds of virtual path: wait in state three, start a term, then finish in state one and propagate identities. A transition 3→13\to1 inserts −hX-hX; 3→2→13\to2\to1 inserts −JZZ-JZZ. The zero at 2→22\to2 prevents unwanted longer strings.

Contracting an expectation without constructing H

Section titled “Contracting an expectation without constructing H”

Let Laαα′L_{a\alpha\alpha'} be an environment carrying one MPO bond and two MPS bonds. Advancing one site contracts LL, the ket tensor, WW, and the conjugate bra tensor. The final scalar divided by the contracted state norm is the expectation. If the MPS bond is DD and MPO bond is ww, common dense contraction orders cost terms of order Nd2wD3Nd^2wD^3 and Nd2w2D2Nd^2w^2D^2; sparsity of WW can reduce this substantially.

Applying an MPO to an MPS combines virtual indices and produces bonds no larger than wDwD. Compress this result with a canonical SVD or a variational fit. The multiplication is exact before compression; the fit tolerance is an additional error control, especially in repeated time evolution.

For N=2N=2, the path sum must yield

H=−JZ⊗Z−h(X⊗I+I⊗X).H=-JZ\otimes Z-h(X\otimes I+I\otimes X).

At h=0h=0, the ordered ZZ-basis diagonal is (−J,J,J,−J)(-J,J,J,-J). At J=0J=0, the two-site ground energy is −2∣h∣-2|h|. These tests expose virtual-boundary mistakes and incorrect coefficients. They cannot detect every physical-axis transposition: this particular Hamiltonian is real and symmetric. Also compare a complex off-diagonal operator, such as Y1Y_1, with its dense matrix to test conjugation and input-output conventions.

Several operator paths can be combined or compressed by treating each physical input-output pair as one index and applying tensor-train compression. Frobenius compression controls the operator Hilbert–Schmidt norm in the chosen basis; it does not automatically certify a small relative error for every low-energy expectation.

Fermionic operators require the chosen parity convention. A Jordan–Wigner hopping term includes a parity string between its endpoints; dropping it changes the operator, even if the resulting MPO remains Hermitian. Use fermionic basis construction for the sign convention and verify the MPO within multiple particle-number sectors.

Modify the displayed MPO for an inhomogeneous chain with field hjh_j and coupling JjJ_j on bond (j,j+1)(j,j+1).

Solution

Replace −hX-hX at site jj by −hjX-h_jX and the transition 3→23\to2 by −JjZ-J_jZ. The next site’s 2→12\to1 remains ZZ. The last site’s JNJ_N is unused because the right boundary cannot end in virtual state two; it may be set to zero. This gives each bond coupling exactly once.

  • Schollwöck, Ulrich, “The density-matrix renormalization group in the age of matrix product states,” Annals of Physics 326, 96–192 (2011), arXiv:1008.3477 — canonical gauges, contractions, and finite-chain algorithms.