A matrix product state (MPS) is a representation of a quantum many-body state. It is at the core of the density matrix renormalization group (DMRG) algorithm. For a system of N {\displaystyle N} spins of dimension d {\displaystyle d} , the general form of the MPS for periodic boundary conditions (PBC) can be written in the following form:
| Ψ ⟩ = ∑ { s } Tr [ A 1 ( s 1 ) A 2 ( s 2 ) ⋯ A N ( s N ) ] | s 1 s 2 … s N ⟩ . {\displaystyle |\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), | Ψ ⟩ {\displaystyle |\Psi \rangle } takes the form
| Ψ ⟩ = ∑ { s } A 1 ( s 1 ) A 2 ( s 2 ) ⋯ A N ( s N ) | s 1 s 2 … s N ⟩ . {\displaystyle |\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 ) {\displaystyle A_{i}^{(s_{i})}} are the D i × D i + 1 {\displaystyle D_{i}\times D_{i+1}} matrices ( D {\displaystyle D} is the dimension of the virtual subsystems) and | s i ⟩ {\displaystyle |s_{i}\rangle } are the single-site basis states. For periodic boundary conditions, we consider D N + 1 = D 1 {\displaystyle D_{N+1}=D_{1}} , and for open boundary conditions D 1 = 1 {\displaystyle D_{1}=1} . The parameter D {\displaystyle 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 {\displaystyle D=1} . { s i } {\displaystyle \{s_{i}\}} represents a d {\displaystyle d} -dimensional local space on site i = 1 , 2 , . . . , N {\displaystyle i=1,2,...,N} . For qubits, s i ∈ { 0 , 1 } {\displaystyle s_{i}\in \{0,1\}} . For qudits (d-level systems), s i ∈ { 0 , 1 , … , d − 1 } {\displaystyle s_{i}\in \{0,1,\ldots ,d-1\}} . For states that are translationally symmetric, we can choose: A 1 ( s ) = A 2 ( s ) = ⋯ = A N ( s ) ≡ A ( s ) . {\displaystyle 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 {\displaystyle D} growing exponentially with the particle number N). Note that the MPS decomposition is not unique. MPS are practical when D {\displaystyle 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. In the context of finite automata see. 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 {\displaystyle N} lattice sites each of which has a d {\displaystyle d} -dimensional Hilbert space, the completely general state can be written as
| Ψ ⟩ = ∑ { s } ψ s 1 . . . s N | s 1 … s N ⟩ , {\displaystyle |\Psi \rangle =\sum _{\{s\}}\psi _{s_{1}...s_{N}}|s_{1}\ldots s_{N}\rangle ,}
where ψ s 1 . . . s N {\displaystyle \psi _{s_{1}...s_{N}}} is a d N {\displaystyle d^{N}} -dimensional tensor. For example, the wave function of the system described by the Heisenberg model is defined by the 2 N {\displaystyle 2^{N}} dimensional tensor, whereas for the Hubbard model the rank is 4 N {\displaystyle 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 {\displaystyle N} matrices, where each matrix corresponds to one particular site. The whole procedure includes the series of reshaping and singular value decompositions (SVD). 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 {\displaystyle d^{N}} -dimensional tensor starts with the separation of the very left index, i.e., the first index s 1 {\displaystyle s_{1}} , which describes physical degrees of freedom of the first site. It is performed by reshaping | Ψ ⟩ {\displaystyle |\Psi \rangle } as follows
| Ψ ⟩ = ∑ { s } ψ s 1 , ( s 2 . . . s N ) | s 1 … s N ⟩ . {\displaystyle |\Psi \rangle =\sum _{\{s\}}\psi _{s_{1},(s_{2}...s_{N})}|s_{1}\ldots s_{N}\rangle .}
In this notation, s 1 {\displaystyle s_{1}} is treated as a row index, ( s 2 … s N ) {\displaystyle (s_{2}\ldots s_{N})} as a column index, and the coefficient ψ s 1 , ( s 2 . . . s N ) {\displaystyle \psi _{s_{1},(s_{2}...s_{N})}} is of dimension ( d × d N − 1 ) {\displaystyle (d\times d^{N-1})} . The SVD procedure yields
ψ s 1 , ( s 2 . . . s N ) = ∑ α 1 r 1 U s 1 , α 1 D α 1 , α 1 ( V † ) α 1 , ( s 2 . . . s N ) = ∑ α 1 r 1 U s 1 , α 1 ψ α 1 , ( s 2 . . . s N ) = ∑ α 1 r 1 A α 1 s 1 ψ α 1 , ( s 2 . . . s N ) . {\displaystyle \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 _{\alpha _{1}}^{r_{1}}A_{\alpha _{1}}^{s_{1}}\psi _{\alpha _{1},(s_{2}...s_{N})}.}
In the relation above, matrices D {\displaystyle D} and V † {\displaystyle V^{\dagger }} are multiplied and form the matrix ψ α 1 , ( s 2 . . . s N ) {\displaystyle \psi _{\alpha _{1},(s_{2}...s_{N})}} and r 1 ≤ d {\displaystyle r_{1}\leq d} . A α 1 s 1 {\displaystyle A_{\alpha _{1}}^{s_{1}}} stores the information about the first lattice site. It was obtained by decomposing matrix U {\displaystyle U} into d {\displaystyle d} row vectors A s 1 {\displaystyle A^{s_{1}}} with entries A α 1 s 1 = U s 1 , α 1 {\displaystyle A_{\alpha _{1}}^{s_{1}}=U_{s_{1},\alpha _{1}}} . So, the state vector takes the form
| Ψ ⟩ = ∑ { s } ∑ α 1 A α 1 s 1 ψ α 1 , ( s 2 . . . s N ) | s 1 … s N ⟩ . {\displaystyle |\Psi \rangle =\sum _{\{s\}}\sum _{\alpha _{1}}A_{\alpha _{1}}^{s_{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 {\displaystyle s_{2}} and α 1 {\displaystyle \alpha _{1}} , and representing ψ α 1 , ( s 2 . . . s N ) {\displaystyle \psi _{\alpha _{1},(s_{2}...s_{N})}} as a matrix ψ ( α 1 s 2 ) , ( s 3 . . . s N ) {\displaystyle \psi _{(\alpha _{1}s_{2}),(s_{3}...s_{N})}} of dimension ( r 1 d × d N − 2 ) {\displaystyle (r_{1}d\times d^{N-2})} . The subsequent SVD of ψ ( α 1 s 2 ) , ( s 3 . . . s N ) {\displaystyle \psi _{(\alpha _{1}s_{2}),(s_{3}...s_{N})}} can be performed as follows:
ψ ( α 1 s 2 ) , ( s 3 . . . s N ) = ∑ α 2 r 2 U ( α 1 s 2 ) , α 2 D α 2 , α 2 ( V † ) α 2 , ( s 3 . . . s N ) = ∑ α 2 r 2 A α 1 , α 2 s 2 ψ α 2 , ( s 3 . . . s N ) {\displaystyle \psi _{(\alpha _{1}s_{2}),(s_{3}...s_{N})}=\sum _{\alpha _{2}}^{r_{2}}U_{(\alpha _{1}s_{2}),\alpha _{2}}D_{\alpha _{2},\alpha _{2}}(V^{\dagger })_{\alpha _{2},(s_{3}...s_{N})}=\sum _{\alpha _{2}}^{r_{2}}A_{\alpha _{1},\alpha _{2}}^{s_{2}}\psi _{\alpha _{2},(s_{3}...s_{N})}} .
Above we replace U {\displaystyle U} by a set of d {\displaystyle d} matrices of dimension ( r 1 × r 2 ) {\displaystyle (r_{1}\times r_{2})} with entries A α 1 , α 2 s 2 = U ( α 1 s 2 ) , α 2 {\displaystyle A_{\alpha _{1},\alpha _{2}}^{s_{2}}=U_{(\alpha _{1}s_{2}),\alpha _{2}}} . The dimension of ψ α 2 , ( s 3 . . . s N ) {\displaystyle \psi _{\alpha _{2},(s_{3}...s_{N})}} is ( r 2 × d N − 2 ) {\displaystyle (r_{2}\times d^{N-2})} with r 2 ≤ r 1 d ≤ d 2 {\displaystyle r_{2}\leq r_{1}d\leq d^{2}} . Hence,
| Ψ ⟩ = ∑ { s } ∑ α 1 A α 1 s 1 ψ ( α 1 s 2 ) , ( s 3 . . . s N ) | s 1 … s N ⟩ = ∑ { s } ∑ α 1 , α 2 A α 1 s 1 A α 1 , α 2 s 2 ψ α 2 , ( s 3 . . . s N ) | s 1 … s N ⟩ . {\displaystyle |\Psi \rangle =\sum _{\{s\}}\sum _{\alpha _{1}}A_{\alpha _{1}}^{s_{1}}\psi _{(\alpha _{1}s_{2}),(s_{3}...s_{N})}|s_{1}\ldots s_{N}\rangle =\sum _{\{s\}}\sum _{\alpha _{1},\alpha _{2}}A_{\alpha _{1}}^{s_{1}}A_{\alpha _{1},\alpha _{2}}^{s_{2}}\psi _{\alpha _{2},(s_{3}...s_{N})}|s_{1}\ldots s_{N}\rangle .}
Following the steps described above, the state | Ψ ⟩ {\displaystyle |\Psi \rangle } can be represented as a product of matrices
| Ψ ⟩ = ∑ { s } ∑ α 1 , … , α N − 1 A α 1 s 1 A α 1 , α 2 s 2 … A α N − 2 , α N − 1 s N − 1 A α N − 1 s N | s 1 … s N ⟩ . {\displaystyle |\Psi \rangle =\sum _{\{s\}}\sum _{\alpha _{1},\ldots ,\alpha _{N-1}}A_{\alpha _{1}}^{s_{1}}A_{\alpha _{1},\alpha _{2}}^{s_{2}}\ldots A_{\alpha _{N-2},\alpha _{N-1}}^{s_{N-1}}A_{\alpha _{N-1}}^{s_{N}}|s_{1}\ldots s_{N}\rangle .}
The maximal dimensions of the A {\displaystyle A} -matrices take place in the case of the exact decomposition, i.e., assuming for simplicity that N {\displaystyle N} is even, ( 1 × d ) , ( d × d 2 ) , … , ( d N / 2 − 1 × d N / 2 ) , ( d N / 2 × d N / 2 − 1 ) , … , ( d 2 × d ) , ( d × 1 ) {\displaystyle (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 {\displaystyle A} with A ∗ {\displaystyle A^{*}} :
⟨ Ψ | = ∑ { s } ∑ α 1 ′ , . . . , α N − 1 ′ A α 1 ′ ∗ s 1 ′ A α 1 ′ , α 2 ′ ∗ s 2 ′ . . . A α N − 2 ′ , α N − 1 ′ ∗ s N − 1 ′ A α N − 1 ′ ∗ s N ′ ⟨ s 1 ′ . . . s N ′ | . {\displaystyle \langle \Psi |=\sum \limits _{\{s\}}\sum \limits _{\alpha '_{1},...,\alpha '_{N-1}}A_{\alpha '_{1}}^{*s'_{1}}A_{\alpha '_{1},\alpha '_{2}}^{*s'_{2}}...A_{\alpha '_{N-2},\alpha '_{N-1}}^{*s'_{N-1}}A_{\alpha '_{N-1}}^{*s'_{N}}\langle s'_{1}...s'_{N}|.}
Note that each matrix U {\displaystyle U} in the SVD is a semi-unitary matrix with property U † U = I {\displaystyle U^{\dagger }U=I} . This leads to
δ α i , α j = ∑ α i − 1 s i ( U † ) α i , ( α i − 1 s i ) U ( α i − 1 s i ) , α
