# Time-evolving block decimation

The time-evolving block decimation (TEBD) algorithm is a numerical scheme used to simulate one-dimensional quantum many-body systems, characterized by at most nearest-neighbour interactions. It is dubbed Time-evolving Block Decimation because it dynamically identifies the relevant low-dimensional Hilbert subspaces of an exponentially larger original Hilbert space. The algorithm, based on the Matrix Product States formalism, is highly efficient when the amount of entanglement in the system is limited, a requirement fulfilled by a large class of quantum many-body systems in one dimension.

## Introduction

Time-evolving block decimation (TEBD) is a numerical algorithm that can efficiently simulate the time evolution of one dimensional quantum systems having limited entanglement entropy. Naively, to time evolve a system characterized by a Hamiltonian ${\hat {H}}$ one would directly exponentiate the Hamiltonian to get the time evolution operator ${\hat {U}}(t)=e^{-i{\hat {H}}t/\hbar }$ and apply this to an initial state: $\psi (t)={\hat {U}}(t)\psi (t=0)$ However, as the number of degrees of freedom of the system grows it quickly becomes computationally infeasible to perform the associated matrix exponentiation and matrix-vector multiplication. For example, if $\psi$ represents a system of $n$ qubits then the Hilbert space in which $\psi$ resides has dimension $2^{n}$, meaning matrix operations are effectively intractable for all but the smallest values of $n$. TEBD presents an efficient scheme for performing time evolution by limiting itself to a much smaller subspace of the configuration space. There are several other noteworthy examples of ways to get around this exponential scaling, including quantum Monte Carlo and the density matrix renormalization group.
Guifré Vidal proposed the scheme while at the Institute for Quantum Information, Caltech. He asserts that "any quantum computation with pure states can be efficiently simulated with a classical computer provided the amount of entanglement involved is sufficiently restricted". This happens to be the case for a wide suite of Hamiltonians characterized by local interactions, for example, Hubbard-like Hamiltonians. The method exhibits a low-degree polynomial behavior in the increase of computational time with respect to the amount of entanglement present in the system. The algorithm is based on a scheme that exploits the fact that in these one-dimensional systems the eigenvalues of the reduced density matrix on a bipartite split of the system are exponentially decaying, thus allowing one to work in a re-sized space spanned by the eigenvectors corresponding to the selected eigenvalues.
The numerical method is efficient in simulating real-time dynamics or calculations of ground states using imaginary-time evolution or isentropic interpolations between a target Hamiltonian and a Hamiltonian with an already-known ground state. The computational time scales linearly with the system size, hence many-particles systems in 1D can be investigated.
A useful feature of the TEBD algorithm is that it can be reliably employed for time evolution simulations of time-dependent Hamiltonians, describing systems that can be realized with cold atoms in optical lattices, or in systems far from equilibrium in quantum transport. From this point of view, TEBD had a certain ascendance over DMRG, a very powerful technique, but until recently not very well suited for simulating time-evolutions. With the Matrix Product States formalism being at the mathematical heart of DMRG, the TEBD scheme was adopted by the DMRG community, thus giving birth to the time dependent DMRG, t-DMRG for short.
Other groups have developed similar approaches in which quantum information plays a predominant role: for example, in DMRG implementations for periodic boundary conditions , and for studying mixed-state dynamics in one-dimensional quantum lattice systems,. Those last approaches actually provide a formalism that is more general than the original TEBD approach, as it also allows to deal with evolutions with matrix product operators; this enables the simulation of nontrivial non-infinitesimal evolutions as opposed to the TEBD case, and is a crucial ingredient to deal with higher-dimensional analogues of matrix product states.

## The decomposition of state
### Introducing the decomposition of State

Consider a chain of N qubits, described by the function $|\Psi \rangle \in H^{{\otimes }N}$. The most natural way of describing $|\Psi \rangle$ would be using the local $M^{N}$-dimensional basis $|i_{1},i_{2},..,i_{N-1},i_{N}\rangle$: $|\Psi \rangle =\sum \limits _{i=1}^{M}c_{i_{1}i_{2}..i_{N}}|{i_{1},i_{2},..,i_{N-1},i_{N}}\rangle$ where M is the on-site dimension.
The trick of TEBD is to re-write the coefficients $c_{i_{1}i_{2}..i_{N}}$: $c_{i_{1}i_{2}..i_{N}}=\sum \limits _{\alpha _{1},..,\alpha _{N-1}=0}^{\chi }\Gamma _{\alpha _{1}}^{[1]i_{1}}\lambda _{\alpha _{1}}^{[1]}\Gamma _{\alpha _{1}\alpha _{2}}^{[2]i_{2}}\lambda _{\alpha _{2}}^{[2]}\Gamma _{\alpha _{2}\alpha _{3}}^{[3]i_{3}}\lambda _{\alpha _{3}}^{[3]}\cdot ..\cdot \Gamma _{\alpha _{N-2}\alpha _{N-1}}^{[{N-1}]i_{N-1}}\lambda _{\alpha _{N-1}}^{[N-1]}\Gamma _{\alpha _{N-1}}^{[N]i_{N}}$
This form, known as a Matrix product state, simplifies the calculations greatly.
To understand why, one can look at the Schmidt decomposition of a state, which uses singular value decomposition to express a state with limited entanglement more simply.

### The Schmidt decomposition

Consider the state of a bipartite system $\vert \Psi \rangle \in {H_{A}\otimes H_{B}}$. Every such state $|{\Psi }\rangle$ can be represented in an appropriately chosen basis as: $\left\vert \Psi \right\rangle =\sum \limits _{i=1}^{M_{A|B}}a_{i}\left\vert {\Phi _{i}^{A}\Phi _{i}^{B}}\right\rangle$ where $|{\Phi _{i}^{A}\Phi _{i}^{B}}\rangle =|{\Phi _{i}^{A}}\rangle \otimes |{\Phi _{i}^{B}}\rangle$ are formed with vectors $|{\Phi _{i}^{A}}\rangle$ that make an orthonormal basis in $H_{A}$ and, correspondingly, vectors $|{\Phi _{i}^{B}}\rangle$, which form an orthonormal basis in ${H_{B}}$, with the coefficients $a_{i}$ being real and positive, ∑$_{i=1}$$^{MA|B}$a$_i$$^2$=1{\textstyle \sum \limits _{i=1}^{M_{A|B}}a_{i}^{2}=1}. This is called the Schmidt decomposition (SD) of a state. In general the summation goes up to $M_{A|B}=\min(\dim({H_{A}}),\dim({H_{B}}))$. The Schmidt rank of a bipartite split is given by the number of non-zero Schmidt coefficients. If the Schmidt rank is one, the split is characterized by a product state. The vectors of the SD are determined up to a phase and the eigenvalues and the Schmidt rank are unique.
For example, the two-qubit state: $|{\Psi }\rangle ={\frac {1}{2{\sqrt {2}}}}\left(|{00}\rangle +{\sqrt {3}}|{01}\rangle +{\sqrt {3}}|{10}\rangle +|{11}\rangle \right)$ has the following SD: $\left|{\Psi }\right\rangle ={\frac {{\sqrt {3}}+1}{2{\sqrt {2}}}}\left|{\phi _{1}^{A}\phi _{1}^{B}}\right\rangle +{\frac {{\sqrt {3}}-1}{2{\sqrt {2}}}}\left|{\phi _{2}^{A}\phi _{2}^{B}}\right\rangle$ with $|{\phi _{1}^{A}}\rangle ={\frac {1}{\sqrt {2}}}(|{0_{A}}\rangle +|{1_{A}}\rangle ),\ \ |{\phi _{1}^{B}}\rangle ={\frac {1}{\sqrt {2}}}(|{0_{B}}\rangle +|{1_{B}}\rangle ),\ \ |{\phi _{2}^{A}}\rangle ={\frac {1}{\sqrt {2}}}(|{0_{A}}\rangle -|{1_{A}}\rangle ),\ \ |{\phi _{2}^{B}}\rangle ={\frac {1}{\sqrt {2}}}(|{1_{B}}\rangle -|{0_{B}}\rangle )$
On the other hand, the state: $|{\Phi }\rangle ={\frac {1}{\sqrt {3}}}|{00}\rangle +{\frac {1}{\sqrt {6}}}|{01}\rangle -{\frac {i}{\sqrt {3}}}|{10}\rangle -{\frac {i}{\sqrt {6}}}|{11}\rangle$ is a product state: $\left|\Phi \right\rangle =\left({\frac {1}{\sqrt {3}}}\left|0_{A}\right\rangle -{\frac {i}{\sqrt {3}}}\left|1_{A}\right\rangle \right)\otimes \left(\left|0_{B}\right\rangle +{\frac {1}{\sqrt {2}}}\left|1_{B}\right\rangle \right)$

### Building the decomposition of state

At this point we know enough to try to see how we explicitly build the decomposition (let's call it D).
Consider the bipartite splitting $[1]:[2..N]$. The SD has the coefficients $\lambda _{{\alpha }_{1}}^{[1]}$ and eigenvectors $\left|{\Phi _{\alpha _{1}}^{[1]}}\right\rangle \left|{\Phi _{\alpha _{1}}^{[2..N]}}\right\rangle$. By expanding the $\left|{\Phi _{\alpha _{1}}^{[1]}}\right\rangle$'s in the local basis, one can write:
$|{\Psi }\rangle =\sum \limits _{i_{1},{\alpha _{1}=1}}^{M,\chi }\Gamma _{\alpha _{1}}^{[1]i_{1}}\lambda _{\alpha _{1}}^{[1]}|{i_{1}}\rangle |{\Phi _{\alpha _{1}}^{[2..N]}}\rangle$
The process can be decomposed in three steps, iterated for each bond (and, correspondingly, SD) in the chain: Step 1: express the $|{\Phi _{\alpha _{1}}^{[2..N]}}\rangle$'s in a local basis for qubit 2: $|{\Phi _{\alpha _{1}}^{[2..N]}}\rangle =\sum _{i_{2}}|{i_{2}}\rangle |{\tau _{\alpha _{1}i_{2}}^{[3..N]}}\rangle$
The vectors $|{\tau _{\alpha _{1}i_{2}}^{[3..N]}}\rangle$ are not necessarily normalized.
Step 2: write each vector $|{\tau _{\alpha _{1}i_{2}}^{[3..N]}}\rangle$ in terms of the at most (Vidal's emphasis) $\chi$ Schmidt vectors $|{\Phi _{\alpha _{2}}^{[3..N]}}\rangle$ and, correspondingly, coefficients $\lambda _{{\alpha }_{2}}^{[2]}$: $|\tau _{\alpha _{1}i_{2}}^{[3..N]}\rangle =\sum _{\alpha _{2}}\Gamma _{\alpha _{1}\alpha _{2}}^{[2]i_{2}}\lambda _{{\alpha }_{2}}^{[2]}|{\Phi _{\alpha _{2}}^{[3..N]}}\rangle$
Step 3: make the substitutions and obtain: $|{\Psi }\rangle =\sum _{i_{1},i_{2},\alpha _{1},\alpha _{2}}\Gamma _{\alpha _{1}}^{[1]i_{1}}\lambda _{\alpha _{1}}^{[1]}\Gamma _{\alpha _{1}\alpha _{2}}^{[2]i_{2}}\lambda _{{\alpha }_{2}}^{[2]}|{i_{1}i_{2}}\rangle |{\Phi _{\alpha _{2}}^{[3..N]}}\rangle$
Repeating the steps 1 to 3, one can construct the whole decomposition of state D. The last $\Gamma$'s are a special case, like the first ones, expressing the right-hand Schmidt vectors at the $(N-1)^{th}$ bond in terms of the local basis at the $N^{th}$ lattice place. As shown in, it is straightforward to obtain the Schmidt decomposition at $k^{th}$ bond, i.e. $[1..k]:[k+1..N]$, from D.
The Schmidt eigenvalues, are given explicitly in D:
$|{\Psi }\rangle =\sum _{\alpha _{k}}\lambda _{{\alpha }_{k}}^{[k]}|{\Phi _{\alpha _{k}}^{[1..k]}}\rangle |{\Phi _{\alpha _{k}}^{[k+1..N]}}\rangle$
The Schmidt eigenvectors are simply:
$|{\Phi _{\alpha _{k}}^{[1..k]}}\rangle =\sum _{\alpha _{1},\alpha _{2}..\alpha _{k-1}}\Gamma _{\alpha _{1}}^{[1]i_{1}}\lambda _{\alpha _{1}}^{[1]}\cdot \cdot \Gamma _{\alpha _{k-1}\alpha _{k}}^{[k]i_{k}}|{i_{1}i_{2}..i_{k}}\rangle$ and
$|{\Phi _{\alpha _{k}}^{[k+1..N]}}\rangle =\sum _{\alpha _{k+1},\alpha _{k+2}..\alpha _{N}}\Gamma _{\alpha _{k}\alpha _{k+1}}^{[k+1]i_{k+1}}\lambda _{\alpha _{k+1}}^{[k+1]}\cdot \cdot \lambda _{\alpha _{N-1}}^{N-1}\Gamma _{\alpha _{N-1}}^{[N]i_{N}}|{i_{k+1}i_{k+2}..i_{N}}\rangle$

### Rationale

Now, looking at D, instead of $M^{N}$ initial terms, there are ${\chi }^{2}{\cdot }M(N-2)+2{\chi }M+(N-1)\chi$. Apparently this is just a fancy way of rewriting the coefficients $c_{i_{1}i_{2}..i_{N}}$, but in fact there is more to it than that. Assuming that N is even, the Schmidt rank $\chi$ for a bipartite cut in the middle of the chain can have a maximal value of $M^{N/2}$; in this case we end up with at least $M^{N+1}{\cdot }(N-2)$ coefficients, considering only the ${\chi }^{2}$ ones, slightly more than the initial $M^{N}$! The truth is that the decomposition D is useful when dealing with systems that exhibit a low degree of entanglement, which fortunately is the case with many 1D systems, where the Schmidt coefficients of the ground state decay in an exponential manner with $\alpha$:
$\lambda _{{\alpha }_{l}}^{[l]}{\sim }e^{-K\alpha _{l}},\ K>0.$
Therefore, it is possible to take into account only some of the Schmidt coefficients (namely the largest ones), dropping the others and consequently normalizing again the state:
$|{\Psi }\rangle ={\frac {1}{\sqrt {\sum \limits _{{\alpha _{l}}=1}^{{\chi }_{c}}{|\lambda _{{\alpha }_{l}}^{[l]}|}^{2}}}}\cdot \sum \limits _{{{\alpha }_{l}}=1}^{{\chi }_{c}}\lambda _{{\alpha }_{l}}^{[l]}|{\Phi _{\alpha _{l}}^{[1..l]}}\rangle |{\Phi _{\alpha _{l}}^{[l+1..N]}}\rangle ,$
where $\chi _{c}$ is the number of kept Schmidt coefficients.
Let's get away from this abstract picture and refresh ourselves with a concrete example, to emphasize the advantage of making this decomposition. Consider for instance the case of 50 fermions in a ferromagnetic chain, for the sake of simplicity. A dimension of 12, let's say, for the $\chi _{c}$ would be a reasonable choice, keeping the discarded eigenvalues at $0.0001$% of the total, as shown by numerical studies, meaning roughly $2^{14}$ coefficients, as compared to the originally $2^{50}$ ones.
Even if the Schmidt eigenvalues don't have this exponential decay, but they show an algebraic decrease, we can still use D to describe our state $\psi$. The number of coefficients to account for a faithful description of $\psi$ may be sensibly larger, but still within reach of eventual numerical simulations.

## The update of the decomposition

One can proceed now to investigate the behaviour of the decomposition D when acted upon with one-qubit gates (OQG) and two-qubit gates (TQG) acting on neighbouring qubits. Instead of updating all the $M^{N}$ coefficients $c_{i_{1}i_{2}..i_{N}}$, we will restrict ourselves to a number of operations that increase in $\chi$ as a polynomial of low degree, thus saving computational time.

### One-qubit gates acting on qubit k

The OQGs are affecting only the qubit they are acting upon, the update of the state $|{\psi }\rangle$ after a unitary operator at qubit k does not modify the Schmidt eigenvalues or vectors on the left, consequently the $\Gamma ^{[k-1]}$'s, or on the right, hence the $\Gamma ^{[k+1]}$'s. The only $\Gamma$'s that will be updated are the $\Gamma ^{[k]}$'s (requiring only at most ${O}(M^{2}\cdot \chi ^{2})$ operations), as
$\Gamma _{\alpha _{k-1}\alpha _{k}}^{'[k]i_{k}}=\sum _{j}U_{j_{k}}^{i_{k}}\Gamma _{\alpha _{k-1}\alpha _{k}}^{[k]j_{k}}.$

### Two-qubit gates acting on qubits k, k+1

The changes required to update the $\Gamma$'s and the $\lambda$'s, following a unitary operation V on qubits k, k+1, concern only $\Gamma ^{[k]}$, and $\Gamma ^{[k+1]}$. They consist of a number of ${O}({M\cdot \chi }^{3})$ basic operations.
Following Vidal's original approach, $|{\psi }\rangle$ can be regarded as belonging to only four subsystems:
${{H}=J{\otimes }H_{C}{\otimes }H_{D}{\otimes }K}.\,$
The subspace J is spanned by the eigenvectors of the reduced density matrix $\rho ^{J}=Tr_{CDK}|\psi \rangle \langle \psi |$:
$\rho ^{[1..{k-1}]}=\sum _{\alpha }{(\lambda _{\alpha }^{[k-1]})}^{2}|{\Phi _{\alpha }^{[1..{k-1}]}}\rangle \langle {\Phi _{\alpha }^{[1..{k-1}]}}|=\sum _{\alpha }{(\lambda _{\alpha }^{[k-1]})^{2}}|{\alpha }\rangle \langle {\alpha }|.$
In a similar way, the subspace K is spanned by the eigenvectors of the reduced density matrix:
$\rho ^{[{k+2}..{N}]}=\sum _{\gamma }{(\lambda _{\gamma }^{[k+1]})^{2}}|{\Phi _{\gamma }^{[{k+2}..N]}}\rangle \langle {\Phi _{\gamma }^{[{k+2}..N]}}|=\sum _{\gamma }{(\lambda _{\gamma }^{[k+1]})^{2}}|{\gamma }\rangle \langle {\gamma }|.$
The subspaces $H_{C}$ and $H_{D}$ belong to the qubits k and k + 1. Using this basis and the decomposition D, $|{\psi }\rangle$ can be written as:
$|{\psi }\rangle =\sum \limits _{\alpha ,\beta ,\gamma =1}^{\chi }\sum \limits _{i,j=1}^{M}\lambda _{\alpha }^{[C-1]}\Gamma _{\alpha \beta }^{[C]i}\lambda _{\beta }^{[C]}\Gamma _{\beta \gamma }^{[D]j}\lambda _{\gamma }^{[D]}|{{\alpha }ij{\gamma }}\rangle$
Using the same reasoning as for the OQG, the applying the TQG V to qubits k, k + 1 one needs only to update $\Gamma ^{[C]}$, $\lambda$ and $\Gamma ^{[D]}.$
We can write $|{\psi '}\rangle =V|{\psi }\rangle$ as: $|{\psi '}\rangle =\sum \limits _{\alpha ,\gamma =1}^{\chi }\sum \limits _{i,j=1}^{M}\lambda _{\alpha }\Theta _{\alpha \gamma }^{ij}\lambda _{\gamma }|{{\alpha }ij\gamma }\rangle$ where $\Theta _{\alpha \gamma }^{ij}=\sum \limits _{\beta =1}^{\chi }\sum \limits _{m,n=1}^{M}V_{mn}^{ij}\Gamma _{\alpha \beta }^{[C]m}\lambda _{\beta }\Gamma _{\beta \gamma }^{[D]n}.$
To find out the new decomposition, the new $\lambda$'s at the bond k and their corresponding Schmidt eigenvectors must be computed and expressed in terms of the ${\Gamma }$'s of the decomposition D. The reduced density matrix $\rho ^{'[DK]}$ is therefore diagonalized: $\rho ^{'[DK]}=Tr_{JC}|{\psi '}\rangle \langle {\psi '}|=\sum _{j,j',\gamma ,\gamma '}\rho _{\gamma \gamma '}^{jj'}|{j\gamma }\rangle \langle {j'\gamma '}|.$
The square roots of its eigenvalues are the new $\lambda$'s. Expressing the eigenvectors of the diagonalized matrix in the basis: $\{|{j\gamma }\rangle \}$ the $\Gamma ^{[{D]}}$'s are obtained as well: $|{\Phi ^{'[{DK}]}}\rangle =\sum _{j,\gamma }\Gamma _{\beta \gamma }^{'[{D}]j}\lambda _{\gamma }|{j\gamma }\rangle .$
From the left-hand eigenvectors, $\lambda _{\beta }^{'}|{\Phi _{\beta }^{'[{JC}]}}\rangle =\langle {\Phi _{\beta }^{'[{DK}]}}|{\psi '}\rangle =\sum _{i,j,\alpha ,\gamma }(\Gamma _{\beta \gamma }^{'[{D}]j})^{*}\Theta _{\alpha \gamma }^{ij}(\lambda _{\gamma })^{2}\lambda _{\alpha }|{{\alpha }i}\rangle$ after expressing them in the basis $\{|{i\alpha }\rangle \}$, the $\Gamma ^{[{C}]}$'s are: $|{\Phi ^{'[{JC}]}}\rangle =\sum _{i,\alpha }\Gamma _{\alpha \beta }^{'[{C}]i}\lambda _{\alpha }|{{\alpha }i}\rangle .$

### The computational cost

The dimension of the largest tensors in D is of the order ${O}(M{\cdot }{\chi }^{2})$; when constructing the $\Theta _{\alpha \gamma }^{ij}$ one makes the summation over $\beta$, ${\it {m}}$ and ${\it {n}}$ for each $\gamma ,\alpha ,{\it {i,j}}$, adding up to a total of ${O}(M^{4}{\cdot }{\chi }^{3})$ operations. The same holds for the formation of the elements $\rho _{\gamma \gamma '}^{jj'}$, or for computing the left-hand eigenvectors $\lambda _{\beta }^{'}|{\Phi _{\beta }^{'[{\it {JC}}]}}\rangle$, a maximum of ${\it {O}}(M^{3}{\cdot }{\chi }^{3})$, respectively ${\it {O}}(M^{2}{\cdot }{\chi }^{3})$ basic operations. In the case of qubits, $M=2$, hence its role is not very relevant for the order of magnitude of the number of basic operations, but in the case when the on-site dimension is higher than two it has a rather decisive contribution.

## The numerical simulation

The numerical simulation is targeting (possibly time-dependent) Hamiltonians of a system of $N$ particles arranged in a line, which are composed of arbitrary OQGs and TQGs:
$H_{N}=\sum \limits _{l=1}^{N}K_{1}^{[l]}+\sum \limits _{l=1}^{N}K_{2}^{[l,l+1]}.$
It is useful to decompose $H_{N}$ as a sum of two possibly non-commuting terms, $H_{N}=F+G$, where
$F\equiv \sum _{{\text{even }}l}(K_{1}^{l}+K_{2}^{l,l+1})=\sum _{{\text{even }}l}F^{[l]},$$G\equiv \sum _{{\text{odd }}l}(K_{1}^{l}+K_{2}^{l,l+1})=\sum _{{\text{odd }}l}G^{[l]}.$
Any two-body terms commute: $[F^{[l]},F^{[l']}]=0$, $[G^{[l]},G^{[l']}]=0$ This is done to make the Suzuki–Trotter expansion (ST) of the exponential operator, named after Masuo Suzuki and Hale Trotter.

### The Suzuki–Trotter expansion

The Suzuki–Trotter expansion of the first order (ST1) represents a general way of writing exponential operators: $e^{A+B}=\lim _{n\to \infty }\left(e^{\frac {A}{n}}e^{\frac {B}{n}}\right)^{n}$ or, equivalently $e^{{\delta }(A+B)}=e^{{\delta }A}e^{{\delta }B}+{\it {O}}(\delta ^{2}).$
The correction term vanishes in the limit $\delta \to 0$
For simulations of quantum dynamics it is useful to use operators that are unitary, conserving the norm (unlike power series expansions), and there's where the Trotter-Suzuki expansion comes in. In problems of quantum dynamics the unitarity of the operators in the ST expansion proves quite practical, since the error tends to concentrate in the overall phase, thus allowing us to faithfully compute expectation values and conserved quantities. Because the ST conserves the phase-space volume, it is also called a symplectic integrator.
The trick of the ST2 is to write the unitary operators $e^{-iHt}$ as: $e^{-iH_{N}T}=[e^{-iH_{N}\delta }]^{T/{\delta }}=[e^{{\frac {\delta }{2}}F}e^{{\delta }G}e^{{\frac {\delta }{2}}F}]^{n}$ where $n={\frac {T}{\delta }}$. The number $n$ is called the Trotter number.

### Simulation of the time-evolution

The operators $e^{{\frac {\delta }{2}}F}$, $e^{{\delta }G}$ are easy to express, as:
$e^{{\frac {\delta }{2}}F}=\prod _{{\text{even }}l}e^{{\frac {\delta }{2}}F^{[l]}}$ $e^{{\delta }G}=\prod _{{\text{odd }}l}e^{{\delta }G^{[l]}}$
since any two operators $F^{[l]}$,$F^{[l']}$ (respectively, $G^{[l]}$,$G^{[l']}$) commute for $l{\neq }l'$ and an ST expansion of the first order keeps only the product of the exponentials, the approximation becoming, in this case, exact.
The time-evolution can be made according to
$|{{\tilde {\psi }}_{t+\delta }}\rangle =e^{-i{\frac {\delta }{2}}F}e^{{-i\delta }G}e^{{\frac {-i\delta }{2}}F}|{{\tilde {\psi }}_{t}}\rangle .$
For each "time-step" $\delta$, $e^{-i{\frac {\delta }{2}}F^{[l]}}$ are applied successively to all odd sites, then $e^{{-i\delta }G^{[l]}}$ to the even ones, and $e^{-i{\frac {\delta }{2}}F^{[l]}}$ again to the odd ones; this is basically a sequence of TQG's, and it has been explained above how to update the decomposition ${\it {D}}$ when applying them.
Our goal is to make the time evolution of a state $|{\psi _{0}}\rangle$ for a time T, towards the state $|{\psi _{T}}\rangle$ using the n-particle Hamiltonian $H_{n}$.
It is rather troublesome, if at all possible, to construct the decomposition ${\it {D}}$ for an arbitrary n-particle state, since this would mean one has to compute the Schmidt decomposition at each bond, to arrange the Schmidt eigenvalues in decreasing order and to choose the first $\chi _{c}$ and the appropriate Schmidt eigenvectors. Mind this would imply diagonalizing somewhat generous reduced density matrices, which, depending on the system one has to simulate, might be a task beyond our reach and patience. Instead, one can try to do the following:
* construct the decomposition ${\it {D}}$ for a simple initial state, let us say, some product state $|{\psi _{P}}\rangle$, for which the decomposition is straightforward.
* relate $|{\psi _{0}}\rangle$ to the ground state $|{\psi _{gr}}\rangle$ of a Hamiltonian ${\tilde {H}}$ by a sufficiently local transformation Q (one that can be expressed as a product of TQGs, for example) $|{\psi _{0}}\rangle =Q|{\psi _{gr}}\rangle$
* make an imaginary-time evolution towards the ground state of the Hamiltonian ${\tilde {H}}$, $|{\psi _{gr}}\rangle$ according to: $|{\psi _{gr}}\rangle =\lim _{\tau \rightarrow \infty }{\frac {e^{-{\tilde {H}}\tau }|{\psi _{P}}\rangle }{\|e^{-{\tilde {H}}\tau }|{\psi _{P}}\rangle \|}},$ or, alternatively, simulate an isentropic evolution using a time-dependent Hamiltonian, which interpolates between the Hamiltonian $H_{1}$, which has the product state $|{\psi _{P}}\rangle$ as its ground state, and the Hamiltonian ${\tilde {H}}$; the evolution must be done slow enough, such that the system is always in the ground state or, at least, very close to it.
* finally, make the time-evolution of the state $|{\psi _{0}}\rangle$ towards $|{\psi _{T}}\rangle$ using the Hamiltonian $H_{n}$: $|{\psi _{T}}\rangle =e^{-iH_{n}T}|{\psi _{0}}\rangle$

## Error sources

The errors in the simulation are resulting from the Suzuki–Trotter approximation and the involved truncation of the Hilbert space.

### Errors coming from the Suzuki–Trotter expansion

In the case of a Trotter approximation of ${\it {p^{th}}}$ order, the error is of order ${\delta }^{p+1}$. Taking into account $n={\frac {T}{\delta }}$ steps, the error after the time T is: $\epsilon ={\frac {T}{\delta }}\delta ^{p+1}=T\delta ^{p}$
The unapproximated state $|{{\tilde {\psi }}_{Tr}}\rangle$ is:
$|{{\tilde {\psi }}_{Tr}}\rangle ={\sqrt {1-{\epsilon }^{2}}}|{\psi _{Tr}}\rangle +{\epsilon }|{\psi _{Tr}^{\bot }}\rangle$
where $|{\psi _{Tr}}\rangle$ is the state kept after the Trotter expansion and $|{\psi _{Tr}^{\bot }}\rangle$ accounts for the part that is neglected when doing the expansion.
The total error scales with time $T$ as: $\epsilon (T)=1-|\langle {\tilde {\psi _{Tr}}}|{\psi _{Tr}}\rangle |^{2}=1-1+\epsilon ^{2}=\epsilon ^{2}$
The Trotter error is independent of the dimension of the chain.

### Errors coming from the truncation of the Hilbert space

Considering the errors arising from the truncation of the Hilbert space comprised in the decomposition D, they are twofold.
First, as we have seen above, the smallest contributions to the Schmidt spectrum are left away, the state being faithfully represented up to: $\epsilon ({\it {D}})=1-\prod \limits _{n=1}^{N-1}(1-\epsilon _{n})$ where $\epsilon _{n}=\sum \limits _{\alpha =\chi _{c}}^{\chi }(\lambda _{\alpha }^{[n]})^{2}$ is the sum of all the discarded eigenvalues of the reduced density matrix, at the bond ${\it {n}}$. The state $|{\psi }\rangle$ is, at a given bond ${\it {n}}$, described by the Schmidt decomposition: $|{\psi }\rangle ={\sqrt {1-\epsilon _{n}}}|{\psi _{D}}\rangle +{\sqrt {\epsilon _{n}}}|{\psi _{D}^{\bot }}\rangle$ where $|{\psi _{D}}\rangle ={\frac {1}{\sqrt {1-\epsilon _{n}}}}\sum \limits _{{{\alpha }_{n}}=1}^{{\chi }_{c}}\lambda _{{\alpha }_{n}}^{[n]}|{\Phi _{\alpha _{n}}^{[1..n]}}\rangle |{\Phi _{\alpha _{n}}^{[n+1..N]}}\rangle$ is the state kept after the truncation and $|{\psi _{D}^{\bot }}\rangle ={\frac {1}{\sqrt {\epsilon _{n}}}}\sum \limits _{{{\alpha }_{n}}={\chi }_{c}}^{\chi }\lambda _{{\alpha }_{n}}^{[n]}|{\Phi _{\alpha _{n}}^{[1..n]}}\rangle |{\Phi _{\alpha _{n}}^{[n+1..N]}}\rangle$ is the state formed by the eigenfunctions corresponding to the smallest, irrelevant Schmidt coefficients, which are neglected. Now, $\langle \psi _{D}^{\bot }|\psi _{D}\rangle =0$ because they are spanned by vectors corresponding to orthogonal spaces. Using the same argument as for the Trotter expansion, the error after the truncation is: $\epsilon _{n}=1-|\langle {\psi }|\psi _{D}\rangle |^{2}=\sum \limits _{\alpha =\chi _{c}}^{\chi }(\lambda _{\alpha }^{[n]})^{2}$
After moving to the next bond, the state is, similarly: $|{\psi _{D}}\rangle ={\sqrt {1-\epsilon _{n+1}}}|{{{\psi }'}_{D}}\rangle +{\sqrt {\epsilon _{n+1}}}|{{\psi '}_{D}^{\bot }}\rangle$ The error, after the second truncation, is: $\epsilon =1-|\langle {\psi }|\psi '_{D}\rangle |^{2}=1-(1-\epsilon _{n+1})|\langle {\psi }|\psi _{D}\rangle |^{2}=1-(1-\epsilon _{n+1})(1-\epsilon _{n})$ and so on, as we move from bond to bond.
The second error source enfolded in the decomposition $D$ is more subtle and requires a little bit of calculation.
As we calculated before, the normalization constant after making the truncation at bond $l$ $([1..l]:[l+1..N])$ is: $R={\sum \limits _{{\alpha _{l}}=1}^{{\chi }_{c}}{|\lambda _{{\alpha }_{l}}^{[l]}|}^{2}}={1-\epsilon _{l}}$
Now let us go to the bond ${\it {l}}-1$ and calculate the norm of the right-hand Schmidt vectors $\|{\Phi _{\alpha _{l-1}}^{[l-1..N]}}\|$; taking into account the full Schmidt dimension, the norm is: $n_{1}=1=\sum \limits _{\alpha _{l}=1}^{\chi _{c}}(c_{\alpha _{l-1}\alpha _{l}})^{2}(\lambda _{\alpha _{l}}^{[l]})^{2}+\sum \limits _{\alpha _{l}=\chi _{c}}^{\chi }(c_{\alpha _{l-1}\alpha _{l}})^{2}(\lambda _{\alpha _{l}}^{[l]})^{2}=S_{1}+S_{2},$
where $(c_{\alpha _{l-1}\alpha _{l}})^{2}=\sum \limits _{i_{l}=1}^{d}(\Gamma _{\alpha _{l-1}\alpha _{l}}^{[l]i_{l}})^{*}\Gamma _{\alpha _{l-1}\alpha _{l}}^{[l]i_{l}}$.
Taking into account the truncated space, the norm is: $n_{2}=\sum \limits _{\alpha _{l}=1}^{\chi _{c}}(c_{\alpha _{l-1}\alpha _{l}})^{2}\cdot ({\lambda '}_{\alpha _{l}}^{[l]})^{2}=\sum \limits _{\alpha _{l}=1}^{\chi _{c}}(c_{\alpha _{l-1}\alpha _{l}})^{2}{\frac {(\lambda _{\alpha _{l}}^{[l]})^{2}}{R}}={\frac {S_{1}}{R}}$
Taking the difference, $\epsilon =n_{2}-n_{1}=n_{2}-1$, we get: $\epsilon ={\frac {S_{1}}{R}}-1\leq {\frac {1-R}{R}}={\frac {\epsilon _{l}}{1-\epsilon _{l}}}{\to }0\ \ as\ \ {\epsilon _{l}{\to }{0}}$
Hence, when constructing the reduced density matrix, the trace of the matrix is multiplied by the factor: $|\langle {\psi _{D}}|\psi _{D}\rangle |^{2}=1-{\frac {\epsilon _{l}}{1-\epsilon _{l}}}={\frac {1-2\epsilon _{l}}{1-\epsilon _{l}}}$

### The total truncation error

The total truncation error, considering both sources, is upper bounded by: $\epsilon ({D})=1-\prod \limits _{n=1}^{N-1}(1-\epsilon _{n})\prod \limits _{n=1}^{N-1}{\frac {1-2\epsilon _{n}}{1-\epsilon _{n}}}=1-\prod \limits _{n=1}^{N-1}(1-2\epsilon _{n})$
When using the Trotter expansion, we do not move from bond to bond, but between bonds of same parity; moreover, for the ST2, we make a sweep of the even ones and two for the odd. But nevertheless, the calculation presented above still holds. The error is evaluated by successively multiplying with the normalization constant, each time we build the reduced density matrix and select its relevant eigenvalues.

## "Adaptive" Schmidt dimension

One thing that can save a lot of computational time without loss of accuracy is to use a different Schmidt dimension for each bond instead of a fixed one for all bonds, keeping only the necessary amount of relevant coefficients, as usual. For example, taking the first bond, in the case of qubits, the Schmidt dimension is just two. Hence, at the first bond, instead of futilely diagonalizing, let us say, 10 by 10 or 20 by 20 matrices, we can just restrict ourselves to ordinary 2 by 2 ones, thus making the algorithm generally faster. What we can do instead is set a threshold for the eigenvalues of the SD, keeping only those that are above the threshold.
TEBD also offers the possibility of straightforward parallelization due to the factorization of the exponential time-evolution operator using the Suzuki–Trotter expansion. A parallel-TEBD has the same mathematics as its non-parallelized counterpart, the only difference is in the numerical implementation.