Introduction to Matrix Product States

Matrix product states are a flexible wave-function representation of a one-dimensional many-body system. Let's suppose we have a system of \(N\) particles, each with a local basis specified by \(|\sigma\rangle\). For example, for a spin-\(\frac{1}{2}\) we would take \(|\sigma\rangle\) to be \(|\uparrow\rangle\) or \(|\downarrow\rangle\). Then a basis state in the composite system takes the form $$ |\vec{\sigma}\rangle = |\sigma_1\sigma_2\cdots\sigma_{N-1}\sigma_N\rangle$$ A generic state in this basis then takes the form $$ |\Psi\rangle = \sum_{\vec{\sigma}_n}^N C_{\vec{\sigma}_n} |\vec{\sigma}_n\rangle $$ The \(C_{\vec{\sigma}_n}\) tensor can further be decomposed into a product of rank-3 tensors by writing $$ C_{\sigma_1,\cdots,\sigma_N} = A^{\sigma_1}_{a_0,a_1}A^{\sigma_2}_{a_1,a_2}\cdots A^{\sigma_{N-1}}_{a_{N-2},a_{N-1}}A^{\sigma_{N}}_{a_{N-1},a_N} $$ Repeated indices are summed over, and indices \(a_1,a_N\) are trivial indices with dimension 1. Dropping the subscript indices, as they're implied by matrix multiplication, a generic quantum state can be written as $$ |\Psi\rangle = \sum_{\sigma_1,\cdots,\sigma_N} A^{\sigma_1}A^{\sigma_2}\cdots A^{\sigma_{N-1}}A^{\sigma_{N}}|\sigma_1,\cdots,\sigma_N\rangle $$ In this form, we call the state \(|\Psi\rangle\) a matrix product state, or more generally a tensor network. This expression is exact, and any quantum state can be expressed in this form, so long as the shared index between the tensors, called the bond-dimension \(\chi\), is sufficiently large. One major advantage of this form is that they can efficiently represent states of low entanglement, which the ground states of one-dimensional local Hamiltonians satisfy. In fact, for gapped systems, matrix product states can provide an exact description for the ground state, with a finite number of parameters, even in the thermodynamic limit. For more information on matrix product states, I point the reader to reference [1].

Matrix product states can also provide efficient algorithms for studying quantum dynamics without approximations beyond numerical error. Below is a demo to get a taste of state of the art computational approaches in quantum dynamics for quantum spin systems. Full tensor network libraries can be found in Python [2], as well as in C++ and Julia [3].


dynamical correlation function


[1] Ulrich Schollwöck, The density-matrix renormalization group in the age of matrix product states. Annals of Physics, 326(1), 96-192. (2011).

[2] TeNPy -- Python tensor network library.

[3] Itensor -- C++ and Julia tensor network library.