Skip to content

Time evolution for next-nearest neighbor Hamiltonian #164

Open
@Yue-Zhengyuan

Description

@Yue-Zhengyuan

I plan to start adding the ability to handle Hamiltonians with next-nearest neighbor (NNN) terms (e.g. the J1-J2 model) in the iPEPS time evolution algorithms. There are a number of choices:

  1. Simple update: PhysRevB.103.235155 (Fig. 8; I think it's also called the "3-site cluster update" by Corboz in PhysRevB.100.195141 and PhysRevB.108.205154)
  2. Full update: PhysRevB.97.174408

This two methods constructs an environment around the 3 sites (using the bond weights / CTMRGEnv) involved in the update to define the cost function. There is another class of "loop update" methods, which treats the 2 x 2 sites around the NNN bond as a PBC-MPS (there will be 3 "physical axes" at each site):

  1. PhysRevB.94.075143 This method uses QR/LQ throughout the loop to obtain R, L matrices on the bond to be truncated, and construct projectors on the bond to truncate.
  2. PhysRevB.102.075147. This method uses FET to iteratively optimize the tensor at each site on the 2 x 2 loop.

I plan to add the "loop update" methods first. Except the SU method 1, the NNN term is expressed as a 3-site MPO. The loop update can also involve a 4-site MPO in the 2 x 2 loop. But in our current way to store the Hamiltonian as a LocalOperator, each term is a whole gate. Should we add the ability for LocalOperator to store a multi-site term as an MPO, or just do a manual conversion specifically for the time evolution methods?

In addition, could you please also inform me if there are existing methods from MPSKit that can be used to optimize a PBC-MPS?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions