CTMRG code in ITensor?

Dear ITensor teams,
I was recently having a look at the very illustrative demonstration of TRG (in C++) in ITensor

On a similar note, is there some illustrative code for an implementation of corner transfer matrix renormalisation group (CTMRG) in ITensor Julia ? It would be really helpful if you please address my query.

Thanks and Regards,
Sourav.

Here are versions both for reflection symmetric lattices and nonsymmetric lattices with arbitrary rectangular unit cells: https://github.com/ITensor/ITensors.jl/tree/5a70effed248ccb72d8cc175ff4033b6deec4d38/examples/ctmrg

There is also TRG here: https://github.com/ITensor/ITensors.jl/tree/5a70effed248ccb72d8cc175ff4033b6deec4d38/examples/trg

Hi,

Thanks a lot !

Hi Matt,

In the README, it was mentioned that CTMRG works only for square lattices. Is there any way to extend the CTMRG code so that it can also handle arbitrary lattices, such as the Heisenberg spin-1/2 triangular or Kagome lattice with full periodic boundary conditions?

In your publication Phys. Rev. B 98, 235148, you compared the performance of CTMRG with VUMPS.I understand that VUMPS is more efficient than CTMRG, particularly in terms of computational time.
I have a few queries, and I would appreciate it if you could respond to them.

  1. Is it possible to consider full periodic boundary conditions instead of cylindrical boundary conditions in CTMRG?
  2. Do both methods, CTMRG and VUMPS, also provide excited states of a given model?
  3. In run.jl file of CTMRG, the method of finding temperature dependence of magnetization has been explicitly written. Does the same procedure work in VUMPS to obtain temperature dependence of the magnetization?