Matrix product state

{{short description|Quantum state of multiple particles represented as complex matrices}}

File:Matrix product state obc tikz.svg (tensor diagram notation) of a matrix product state of five particles.]]

A matrix product state (MPS) is a representation of a quantum many-body state. It is at the core of the one of the most effective{{Citation needed|date=April 2025}} algorithms for solving one dimensional strongly correlated quantum systems – the density matrix renormalization group (DMRG) algorithm.

For a system of N spins of dimension d, the general form of the MPS for periodic boundary conditions (PBC) can be written in the following form:

File:Mps_open_bc_500dpi.png (tensor diagram notation) of a matrix product state of five particles.]]

|\Psi\rangle = \sum_{\{s\}} \operatorname{Tr}\left[A_1^{(s_1)} A_2^{(s_2)} \cdots A_N^{(s_N)}\right] |s_1 s_2 \ldots s_N\rangle.

For open boundary conditions (OBC), |\Psi\rangle takes the form

|\Psi\rangle = \sum_{\{s\}} A_1^{(s_1)} A_2^{(s_2)} \cdots A_N^{(s_N)} |s_1 s_2 \ldots s_N\rangle.

Here

A_i^{(s_i)}

are the D_i\times D_{i+1} matrices (D is the dimension of the virtual subsystems) and |s_i\rangle are the single-site basis states. For periodic boundary conditions, we consider D_{N+1}=D_1, and for open boundary conditions D_1=1. The parameter D  is related to the entanglement between particles. In particular, if the state is a product state (i.e. not entangled at all), it can be described as a matrix product state with D=1. \{s_i\} represents a d-dimensional local space on site i=1,2,...,N. For qubits, s_i\in \{0,1\}. For qudits ({{mvar|d}}-level systems), s_i\in \{0,1,\ldots,d-1\}.

For states that are translationally symmetric, we can choose:

A_1^{(s)} = A_2^{(s)} = \cdots = A_N^{(s)} \equiv A^{(s)}.

In general, every state can be written in the MPS form (with D growing exponentially with the particle number {{mvar|N}}). Note that the MPS decomposition is not unique. MPS are practical when D is small – for example, does not depend on the particle number. Except for a small number of specific cases (some mentioned in the section Examples), such a thing is not possible, though in many cases it serves as a good approximation.

For introductions see, and.{{Cite journal |last1=Bridgeman |first1=Jacob C |last2=Chubb |first2=Christopher T |date=2017-06-02 |title=Hand-waving and interpretive dance: an introductory course on tensor networks |url=https://iopscience.iop.org/article/10.1088/1751-8121/aa6dc3 |journal=Journal of Physics A: Mathematical and Theoretical |volume=50 |issue=22 |pages=223001 |doi=10.1088/1751-8121/aa6dc3 |arxiv=1603.03039 |bibcode=2017JPhA...50v3001B |issn=1751-8113}} In the context of finite automata see.{{Cite journal |last1=Crosswhite |first1=Gregory M. |last2=Bacon |first2=Dave |date=2008-07-29 |title=Finite automata for caching in matrix product algorithms |url=https://link.aps.org/doi/10.1103/PhysRevA.78.012356 |journal=Physical Review A |language=en |volume=78 |issue=1 |page=012356 |doi=10.1103/PhysRevA.78.012356 |arxiv=0708.1221 |bibcode=2008PhRvA..78a2356C |issn=1050-2947}} For emphasis placed on the graphical reasoning of tensor networks, see the introduction.

Wave function as a matrix product state

For a system of N lattice sites each of which has a d-dimensional Hilbert space, the completely general state can be written as

|\Psi\rangle = \sum_{\{s\}} \psi_{s_1...s_N} |s_1 \ldots s_N\rangle ,

where \psi_{s_1...s_N} is a d^N-dimensional tensor. For example, the wave function of the system described by the Heisenberg model is defined by the 2^N dimensional tensor, whereas for the Hubbard model the rank is 4^N.

The main idea of the MPS approach is to separate physical degrees of freedom of each site, so that the wave function can be rewritten as the product of N matrices, where each matrix corresponds to one particular site. The whole procedure includes the series of reshaping and singular value decompositions (SVD).{{Cite journal |last1=Baker |first1=Thomas E. |last2=Desrosiers |first2=Samuel |last3=Tremblay |first3=Maxime |last4=Thompson |first4=Martin P. |title=Méthodes de calcul avec réseaux de tenseurs en physique |url=https://cdnsciencepub.com/doi/10.1139/cjp-2019-0611 |journal=Canadian Journal of Physics |date=2021 |language=en |volume=99 |issue=4 |pages=207–221 |doi=10.1139/cjp-2019-0611 |arxiv=1911.11566 |bibcode=2021CaJPh..99..207B |issn=0008-4204}}{{Citation |last1=Baker |first1=Thomas E. |title=Build your own tensor network library: DMRjulia I. Basic library for the density matrix renormalization group |date=2021-09-07 |url=https://arxiv.org/abs/2109.03120 |access-date=2024-11-03 |arxiv=2109.03120 |last2=Thompson |first2=Martin P.}}

There are three ways to represent wave function as an MPS: left-canonical decomposition, right-canonical decomposition, and mixed-canonical decomposition.

= Left-Canonical decomposition =

The decomposition of the d^N-dimensional tensor starts with the separation of the very left index, i.e., the first index s_1, which describes physical degrees of freedom of the first site. It is performed by reshaping |\Psi\rangle as follows

|\Psi\rangle = \sum_{\{s\}} \psi_{s_1, (s_2...s_N )} |s_1 \ldots s_N\rangle.

In this notation, s_1 is treated as a row index, ( s_2 \ldots s_N) as a column index, and the coefficient \psi_{s_1,(s_2...s_N )} is of dimension (d \times d^{N-1}). The SVD procedure yields

\psi_{s_1,(s_2...s_N )} = \sum_{\alpha_1}^{r_1} U_{s_1,\alpha_1} D_{\alpha_1,\alpha_1} (V^{\dagger})_{\alpha_1,(s_2...s_N )} = \sum_{\alpha_1}^{r_1} U_{s_1,\alpha_1}\psi_{\alpha_1, (s_2...s_N )} = \sum^{r_1}_{\alpha_1} A^{s_1}_{\alpha_1} \psi_{\alpha_1,(s_2...s_N )}.

File:Left_mps_1.png

In the relation above, matrices D and V^{\dagger} are multiplied and form the matrix \psi_{\alpha_1,(s_2...s_N )} and r_1 \leq d. A^{s_1}_{\alpha_1} stores the information about the first lattice site. It was obtained by decomposing matrix U into d row vectors A^{s_1} with entries A^{s_1}_{\alpha_1}=U_{s_1,\alpha_1} . So, the state vector takes the form

|\Psi\rangle = \sum_{\{s\}} \sum_{\alpha_1} A^{s_1}_{\alpha_1} \psi_{\alpha_1,(s_2...s_N )} |s_1 \ldots s_N\rangle.

The separation of the second site is performed by grouping s_2 and \alpha_1, and representing \psi_{\alpha_1,(s_2...s_N )} as a matrix \psi_{(\alpha_1 s_2),(s_3...s_N )} of dimension (r_1 d \times d^{N-2}). The subsequent SVD of \psi_{(\alpha_1 s_2),(s_3...s_N )} can be performed as follows:

\psi_{ (\alpha_1 s_2), (s_3...s_N ) } = \sum^{r_2}_{\alpha_2} U_{ (\alpha_1 s_2), \alpha_2} D_{\alpha_2,\alpha_2} (V^{\dagger})_{\alpha_2,(s_3 ... s_N)} = \sum^{r_2}_{\alpha_2} A^{s_2}_{\alpha_1,\alpha_2}\psi_{\alpha_2,(s_3 ... s_N)}.

File:Left_mps_2.png

Above we replace U by a set of d matrices of dimension (r_1 \times r_2) with entries A^{s_2}_{\alpha_1,\alpha_2} = U_{ (\alpha_1 s_2), \alpha_2}. The dimension of \psi_{\alpha_2,(s_3 ... s_N)} is (r_2 \times d^{N-2}) with r_2 \leq r_1 d \leq d^2. Hence,

|\Psi\rangle = \sum_{\{s\}} \sum_{\alpha_1} A^{s_1}_{\alpha_1} \psi_{(\alpha_1 s_2),(s_3...s_N )} |s_1 \ldots s_N\rangle = \sum_{\{s\}} \sum_{\alpha_1, \alpha_2} A^{s_1}_{\alpha_1} A^{s_2}_{\alpha_1, \alpha_2} \psi_{\alpha_2,(s_3...s_N )} |s_1 \ldots s_N\rangle.

Following the steps described above, the state |\Psi\rangle can be represented as a product of matrices

|\Psi\rangle =\sum_{\{s\}} \sum_{\alpha_1, \ldots, \alpha_{N-1}} A^{s_1}_{\alpha_1} A^{s_2}_{\alpha_1,\alpha_2}\ldots A^{s_{N-1}}_{\alpha_{N-2},\alpha_{N-1}} A^{s_N}_{\alpha_{N-1}} |s_1 \ldots s_N\rangle.

The maximal dimensions of the A-matrices take place in the case of the exact decomposition, i.e., assuming for simplicity that N is even, (1\times d),(d\times d^2),\ldots,(d^{N/2-1}\times d^{N/2}),(d^{N/2}\times d^{N/2-1}),\ldots,(d^2\times d),(d\times 1) going from the first to the last site. However, due to the exponential growth of the matrix dimensions in most of the cases it is impossible to perform the exact decomposition.

The dual MPS is defined by replacing each matrix A with A^*:

\langle\Psi|

=\sum\limits_{\{s\}}\sum\limits_{\alpha'_1,...,\alpha'_{N-1}}A^{*s'_1}_{\alpha'_1}A^{*s'_2}_{\alpha'_1,\alpha'_2}...A^{*s'_{N-1}}_{\alpha'_{N-2},\alpha'_{N-1}}A^{*s'_{N}}_{\alpha'_{N-1}}\langle s'_1...s'_N|.

Note that each matrix U in the SVD is a semi-unitary matrix with property U^\dagger U = I. This leads to

\delta_{\alpha_i,\alpha_j} = \sum_{\alpha_{i-1}s_i} (U^\dagger)_{\alpha_i, (\alpha_{i-1}s_i)} U_{(\alpha_{i-1}s_i), \alpha_j} = \sum_{\alpha_{i-1}s_i} (A^{s_i \dagger})_{\alpha_i, \alpha_{i-1}} A^{s_i}_{\alpha_{i-1}, \alpha_j} = \sum_{s_i} (A^{s_i \dagger} A^{s_i})_{\alpha_i, \alpha_j}.

To be more precise, \sum_{s_i} A^{s_i \dagger} A^{s_i} = I. Since matrices are left-normalized, we call the composition left-canonical.

= Right-Canonical decomposition =

Similarly, the decomposition can be started from the very right site. After the separation of the first index, the tensor \psi_{s_1...s_N} transforms as follows:

\psi_{s_1...s_N} = \psi_{(s_1 ... s_{N-1}),s_N} = \sum_{\alpha_{N-1}} U_{(s_1 ... s_{N-1}),\alpha_{N-1}} D_{\alpha_{N-1},\alpha_{N-1}}(V^\dagger)_{\alpha_{N-1}, s_N} = \sum_{\alpha_{N-1}} \psi_{(s_1 ... s_{N-1}),\alpha_{N-1}} B^{s_N}_{\alpha_{N-1}}.

The matrix \psi_{(s_1 ... s_{N-1}),\alpha_{N-1}} was obtained by multiplying matrices U and D, and the reshaping of (V^\dagger)_{\alpha_{N-1}, s_N} into d column vectors forms B^{s_N}_{\alpha_{N-1}}. Performing the series of reshaping and SVD, the state vector takes the form

|\Psi\rangle =\sum_{\{s\}} \sum_{\alpha_1, \ldots, \alpha_{N-1}} B^{s_1}_{\alpha_1} B^{s_2}_{\alpha_1,\alpha_2}\ldots B^{s_{N-1}}_{\alpha_{N-2},\alpha_{N-1}} B^{s_N}_{\alpha_{N-1}} |s_1 \ldots s_N\rangle.

Since each matrix V in the SVD is a semi-unitary matrix with property V^\dagger V = I, the B-matrices are right-normalized and obey \sum_{s_i} B^{s_i} B^{s_i \dagger} = I. Hence, the decomposition is called right-canonical.

= Mixed-Canonical decomposition =

The decomposition performs from both the right and from the left. Assuming that the left-canonical decomposition was performed for the first n sites, \psi_{s_1...s_N} can be rewritten as

\psi_{s_1...s_N} = \sum_{\alpha_1, \ldots, \alpha_{n}} A^{s_1}_{\alpha_1} A^{s_2}_{\alpha_1,\alpha_2}\ldots A^{s_{n}}_{\alpha_{n-1},\alpha_{n}} D_{\alpha_n, \alpha_n} (V^\dagger)_{\alpha_n, (s_{n+1}...s_N)}.

File:Mixed_mps.png

In the next step, we reshape (V^\dagger)_{\alpha_n, (s_{n+1}...s_N)} as \psi_{(\alpha_n s_{n+1} ... s_{n-1}), s_N} and proceed with the series of reshaping and SVD from the right up to site s_{n+1} :

\begin{align}

\psi_{(\alpha_n s_{n+1} ... s_{n-1}), s_N} &=& \sum_{\alpha_{n+1} ... \alpha_N} U_{(\alpha_n s_{n+1}), \alpha_{n+1}} D_{\alpha_{n+1}, \alpha_{n+1}}B^{s_{n+2}}_{\alpha_{n+1},\alpha_{n+2}}\ldots B^{s_{N-1}}_{\alpha_{N-2},\alpha_{N-1}} B^{s_N}_{\alpha_{N-1}} \\

&=& \sum_{\alpha_{n+1} ... \alpha_N} B^{s_{n+1}}_{\alpha_n, \alpha_{n+1}} B^{s_{n+2}}_{\alpha_{n+1},\alpha_{n+2}}\ldots B^{s_{N-1}}_{\alpha_{N-2},\alpha_{N-1}} B^{s_N}_{\alpha_{N-1}}

\end{align}.

As the result,

\psi_{s_1...s_N} = \sum_{\alpha_1, \ldots,\alpha_{N}} A^{s_1}_{\alpha_1} A^{s_2}_{\alpha_1,\alpha_2}\ldots A^{s_{n}}_{\alpha_{n-1},\alpha_{n}} D_{\alpha_n, \alpha_n}B^{s_{n+1}}_{\alpha_n, \alpha_{n+1}} B^{s_{n+2}}_{\alpha_{n+1},\alpha_{n+2}}\ldots B^{s_{N-1}}_{\alpha_{N-2},\alpha_{N-1}} B^{s_N}_{\alpha_{N-1}} .

Examples

= Greenberger–Horne–Zeilinger state =

Greenberger–Horne–Zeilinger state, which for {{math|N}} particles can be written as superposition of {{math|N}} zeros and {{math|N}} ones

:|\mathrm{GHZ}\rangle = \frac{|0\rangle^{\otimes N} + |1\rangle^{\otimes N}}{\sqrt{2}}

can be expressed as a Matrix Product State, up to normalization, with

:

A^{(0)} =

\begin{bmatrix}

1 & 0\\

0 & 0

\end{bmatrix}

\quad

A^{(1)} =

\begin{bmatrix}

0 & 0\\

0 & 1

\end{bmatrix},

or equivalently, using notation from:

:

A =

\begin{bmatrix}

| 0 \rangle & 0\\

0 & | 1 \rangle

\end{bmatrix}.

This notation uses matrices with entries being state vectors (instead of complex numbers), and when multiplying matrices using tensor product for its entries (instead of product of two complex numbers). Such matrix is constructed as

:A \equiv | 0 \rangle A^{(0)} + | 1 \rangle A^{(1)} + \ldots + | d-1 \rangle A^{(d-1)}.

Note that tensor product is not commutative.

In this particular example, a product of two A matrices is:

:

A A=

\begin{bmatrix}

| 0 0 \rangle & 0\\

0 & | 1 1 \rangle

\end{bmatrix}.

= W state =

W state, i.e., the superposition of all the computational basis states of Hamming weight one.

: |\mathrm{W}\rangle = \frac{1}{\sqrt{3}}(|001\rangle + |010\rangle + |100\rangle)

Even though the state is permutation-symmetric, its simplest MPS representation is not. For example:

:

A_1 =

\begin{bmatrix}

| 0 \rangle & 0\\

| 0 \rangle & | 1 \rangle

\end{bmatrix}

\quad

A_2 =

\begin{bmatrix}

| 0 \rangle & | 1 \rangle\\

0 & | 0 \rangle

\end{bmatrix}

\quad

A_3 =

\begin{bmatrix}

| 1 \rangle & 0\\

0 & | 0 \rangle

\end{bmatrix}.

= AKLT model =

{{Main|AKLT model}}

The AKLT ground state wavefunction, which is the historical example of MPS approach, corresponds to the choice

: A^{+} = \sqrt{\frac{2}{3}}\ \sigma^{+}

=

\begin{bmatrix}

0 & \sqrt{2/3}\\

0 & 0

\end{bmatrix}

: A^{0} = \frac{-1}{\sqrt{3}}\ \sigma^{z}

=

\begin{bmatrix}

-1/\sqrt{3} & 0\\

0 & 1/\sqrt{3}

\end{bmatrix}

: A^{-} = -\sqrt{\frac{2}{3}}\ \sigma^{-}

=

\begin{bmatrix}

0 & 0\\

-\sqrt{2/3} & 0

\end{bmatrix}

where the \sigma\text{'s} are Pauli matrices, or

:

A =

\frac{1}{\sqrt{3}}

\begin{bmatrix}

- | 0 \rangle & \sqrt{2} | + \rangle\\

- \sqrt{2} | - \rangle & | 0 \rangle

\end{bmatrix}.

= Majumdar–Ghosh model =

{{Main|Majumdar–Ghosh model}}

Majumdar–Ghosh ground state can be written as MPS with

:

A =

\begin{bmatrix}

0 & \left| \uparrow \right\rangle & \left| \downarrow \right\rangle \\

\frac{-1}{\sqrt{2}} \left| \downarrow \right\rangle & 0 & 0 \\

\frac{1}{\sqrt{2}} \left| \uparrow \right\rangle & 0 & 0

\end{bmatrix}.

See also

References

{{Reflist|refs=

{{cite journal

|last1=Affleck |first1=Ian

|last2=Kennedy |first2=Tom

|last3=Lieb |first3=Elliott H.

|last4=Tasaki |first4=Hal

|year=1987

|title=Rigorous results on valence-bond ground states in antiferromagnets

|journal=Physical Review Letters

|volume=59 |issue=7 |pages=799–802

|bibcode=1987PhRvL..59..799A

|doi=10.1103/PhysRevLett.59.799

|pmid=10035874

}}

{{cite journal

|last1=Perez-Garcia |first1=D.

|last2=Verstraete |first2=F.

|last3=Wolf |first3=M.M.

|year=2008

|title=Matrix product state representations

|journal=Quantum Inf. Comput.

|volume=7

|page=401

|arxiv=quant-ph/0608197

}}

{{cite journal

|last1=Orús |first1=Román

|year=2014

|title=A practical introduction to tensor networks: Matrix product states and projected entangled pair states

|journal=Annals of Physics

|volume=349

|page=117-158

|doi=10.1016/j.aop.2014.06.013

|arxiv=1306.2164

|bibcode=2014AnPhy.349..117O

|author1-link=Román Orús

}}

{{cite journal

|last1=Verstraete |first1=F

|last2=Murg |first2=V.

|last3=Cirac |first3=J.I.

|year=2008

|title=Matrix product states, projected entangled pair states, and variational renormalization group methods for quantum spin systems

|journal=Advances in Physics

|volume=57 |issue=2 |pages=143–224

|doi=10.1080/14789940801912366

|arxiv = 0907.2796 |bibcode = 2008AdPhy..57..143V |s2cid=17208624

|author1-link=Frank Verstraete

}}

{{cite journal

|last1=Crosswhite |first1=Gregory

|last2=Bacon |first2=Dave

|year=2008

|title=Finite automata for caching in matrix product algorithms

|journal=Physical Review A

|volume=78 |issue=1 |pages=012356

|doi=10.1103/PhysRevA.78.012356

|arxiv=0708.1221 |bibcode = 2008PhRvA..78a2356C |s2cid=4879564

}}

{{cite journal

|last1=Schollwöck |first1=Ulrich

|year=2011

|title=The density-matrix renormalization group in the age of matrix product states

|journal=Annals of Physics

|volume=326 |issue=1

|pages=96–192

|arxiv=1008.3477

|bibcode=2011AnPhy.326...96S

|doi=10.1016/j.aop.2010.09.012

|s2cid=118735367

}}

{{cite arXiv

|last1=Biamonte |first1=Jacob

|last2=Bergholm |first2=Ville

|year=2017

|title=Tensor Networks in a Nutshell

|class=quant-ph

|eprint = 1708.00006}}

}}