Example codes: TEBD for iPEPS

Please look at the readme page if you have not done so already. Here we present an implementation of the time evolving block decimation (TEBD) algorithm to optimize infinite projected entangled pair states (iPEPS) for the ground state of a local Hamiltonian on a 2D square lattice, following a similar method to the original proposal. However, we contract the PEPS using the corner transfer matrix approach, as explained in this reference, and incorporate some of the refinements suggested in the appendix of this reference. In addition, we make use of the gauge-fixing and index truncation strategy introduced here.


  • Computational cost: O(m^3 D^6) 


  • Based on a 2-site unit cell (A-B pattern)​

Code examples:
Network structure:
Environment contraction:
Truncation criteria for edge tensors:
Updated edge tensors:
TEBD update step:
Index ordering conventions:
Time evolution of iPEPS (MATLAB function):
Initialization (MATLAB script):
'mainPEPS' benchmark:

Method: TEBD for square-lattice iPEPS of bond dimension D = 4

Test problem: 2D quantum Heisenberg anti-ferromagnet (infinite lattice)

Running time: approx 6 mins

Quantities computed: ground energy density, spontaneous magnetization

Typical results:

Error in ground energy density (iPEPS): approx 7e-4

Spontaneous magnetization (iPEPS): 0.350

Spontaneous magnetization (exact): 0.308