CTMRG for 2D Ising model#

We test the Corner Transfer Matrix Renormalization Group Algorithm CTMRG by setting up a well-known exact PEPS: Thermal State of 2D Ising model amd match the exact solution of magnetization with that of CTMRG Onsager Solution of the 2D Ising model.

def run_ctm(psi, ops, D=8, init='eye', method='2site'):
    """ Compares ctm expectation values with analytical result. """
    opts_svd = {'D_total': D, 'tol': 1e-10}
    Z_old, ZZ_old = 0, 0
    env = fpeps.EnvCTM(psi, init=init)
    for _ in range(6):
        env.update_(opts_svd=opts_svd, method='2site')
    out = env.ctmrg_(max_sweeps=1000, opts_svd=opts_svd, method=method, corner_tol=tol_exp)
    return env