tebd

Classes

Inheritance diagram of tenpy.algorithms.tebd

Engine(psi, model, options)

Deprecated old name of TEBDEngine.

QRBasedTEBDEngine(psi, model, options, **kwargs)

Version of TEBD that relies on QR decompositions rather than SVD.

RandomUnitaryEvolution(psi, options, **kwargs)

Evolution of an MPS with random two-site unitaries in a TEBD-like fashion.

TEBDEngine(psi, model, options, **kwargs)

Time Evolving Block Decimation (TEBD) algorithm.

TimeDependentTEBD(psi, model, options, **kwargs)

Variant of TEBDEngine that can handle time-dependent Hamiltonians.

Module description

Time evolving block decimation (TEBD).

The TEBD algorithm (proposed in [vidal2004]) uses a trotter decomposition of the Hamiltonian to perform a time evolution of an MPS. It works only for nearest-neighbor hamiltonians (in tenpy given by a NearestNeighborModel), which can be written as \(H = H^{even} + H^{odd}\), such that \(H^{even}\) contains the the terms on even bonds (and similar \(H^{odd}\) the terms on odd bonds). In the simplest case, we apply first \(U=\exp(-i*dt*H^{even})\), then \(U=\exp(-i*dt*H^{odd})\) for each time step \(dt\). This is correct up to errors of \(O(dt^2)\), but to evolve until a time \(T\), we need \(T/dt\) steps, so in total it is only correct up to error of \(O(T*dt)\). Similarly, there are higher order schemata (in dt) (for more details see TEBDEngine.update()).

Remember, that bond i is between sites (i-1, i), so for a finite MPS it looks like:

|     - B0 - B1 - B2 - B3 - B4 - B5 - B6 -
|       |    |    |    |    |    |    |
|       |----|    |----|    |----|    |
|       | U1 |    | U3 |    | U5 |    |
|       |----|    |----|    |----|    |
|       |    |----|    |----|    |----|
|       |    | U2 |    | U4 |    | U6 |
|       |    |----|    |----|    |----|
|                   .
|                   .
|                   .

After each application of a Ui, the MPS needs to be truncated - otherwise the bond dimension chi would grow indefinitely. A bound for the error introduced by the truncation is returned.

If one chooses imaginary \(dt\), the exponential projects (for sufficiently long ‘time’ evolution) onto the ground state of the Hamiltonian.

Note

The application of DMRG is typically much more efficient than imaginary TEBD! Yet, imaginary TEBD might be useful for cross-checks and testing.