# 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 .

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 , as well as in C++ and Julia .