Skip to content

Add option to use full-infinite (4x4) environment in CTMRG #93

@Yue-Zhengyuan

Description

@Yue-Zhengyuan

In the supplemental material of arXiv 1402.2859, it is stated that using half-infinite (2 x 4) environment to find projectors in CTMRG is "less accurate":

Screenshot 2024-11-10 at 09 39 06

A computationally cheaper variant of this (but less accurate) is to compute the QR decomposition shown in Fig. 1(b) only based on the upper left corner (made of 4 tensors), and lower left corner (made of 4 tensors), instead of the upper and lower half of the 4 × 4 network.

Although #73 claims that full-infinite (4 x 4) environment can be less stable for differentiation, in full update (involving only the forward pass) it can still be a useful option. I suggest the following changes:

  • Add an attribute half_infinite::Bool to struct CTMRG;
  • The 4x4 environments can be obtained by further contracting QQ with two more enlarged corners in the function ctmrg_projectors in src/algorithms/ctmrg.jl. Alternatively, you can also write a lot of overloaded fullinfinite_environment functions, but I'm not sure this approach is better for future maintenance...

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