# mps_common¶

Classes

 EffectiveH(env, i0[, combine, move_right]) Prototype class for local effective Hamiltonians used in sweep algorithms. OneSiteH(env, i0[, combine, move_right]) Class defining the one-site effective Hamiltonian for Lanczos. Sweep(psi, model, options) Prototype class for a ‘sweeping’ algorithm. TwoSiteH(env, i0[, combine, move_right]) Class defining the two-site effective Hamiltonian for Lanczos. VariationalApplyMPO(psi, U_MPO, options) Variational compression for applying an MPO to an MPS (in place). VariationalCompression(psi, options) Variational compression of an MPS (in place).

Module description

‘Sweep’ algorithm and effective Hamiltonians.

Many MPS-based algorithms use a ‘sweep’ structure, wherein local updates are performed on the MPS tensors sequentially, first from left to right, then from right to left. This procedure is common to DMRG, TDVP, sequential time evolution, etc.

Another common feature of these algorithms is the use of an effective local Hamiltonian to perform the local updates. The most prominent example of this is probably DMRG, where the local MPS object is optimized with respect to the rest of the MPS-MPO-MPS network, the latter forming the effective Hamiltonian.

The Sweep class attempts to generalize as many aspects of ‘sweeping’ algorithms as possible. EffectiveH and its subclasses implement the effective Hamiltonians mentioned above. Currently, effective Hamiltonians for 1-site and 2-site optimization are implemented.

The VariationalCompression and VariationalApplyMPO implemented here also directly use the Sweep class.