In one of our previous articles we talked about Time Evolution Unitary Operators where we have a given initial state
In the same way we can work on the Time evolution for the Tensor Network states particularly the Matrix Product State. TEBD or Time-Evolving Block Decimation is an efficient method for simulation of one dimensional quantum many systems where the entanglement is limited just like the Matrix Product States.
We are basically trying to approximate a time evolution operator
Let's say we have a Hamiltonian of the form :
where
Like i introduced, the time evolution in time t is given by:
For the TEBD algorithm we take the same expression for a Hamiltonian. Next we split the above Hamiltonian into
<IPython.core.display.Image object>
We observe that
Applying the Trotter Suzuki Decomposition, we can split the Unitary operator into two chains of two site gates.
<IPython.core.display.Image object>
Given a MPS state in the form of A matrices we first convert it into it's canonical form by introducing the Schmidt decomposiition.
<IPython.core.display.Image object>
Image Credits : Numerical Time Evolution of 1D Quantum Systems (Elias Rabel)
The TEBD method is as follows :
- We first introduce the canonical form of the MPS using SVD of the A matrices as given above where $A_{\alpha \beta} = T_{\alpha \beta} \lambda_{\beta} $
- We apply the two site unitary operators on the even and odd sites (use tensor contraction for this). It can be shown in the diagram below.
- We try to bring back the modified state in the canonical form as shown below.
<IPython.core.display.Image object>
This is how we simulate a MPS state over time. But how do we get the canonical form back after the application of the Unitary operators? In the next article we will discuss the algorithm for the TEBD algorithm and how we get the original canonical form and will even be talking about how we can control errors in the TEBD algorithm. We will be implementing the same algorithm in python.