Corner Transfer Matrix Algorithm

ctm.one_site_c4v_abelian.ctmrg_c4v.ctm_MOVE_dl(a_dl, env, f_c2x2_decomp, ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • a_dl (yast.Tensor) – double-layer on-site C4v symmetric tensor

  • env (ENV_C4V_ABELIAN) – C4v symmetric environment

  • f_c2x2_decomp (function(yast.Tensor, int)->yast.Tensor, yast.Tensor, yast.Tensor) – function performing the truncated spectral decomposition (eigenvalue/svd) of enlarged corner. The f_c2x2_decomp returns a tuple composed of leading chi spectral values and projector on leading chi spectral values.

  • ctm_args (CTMARGS) – CTM algorithm configuration

  • global_args (GLOBALARGS) – global configuration

Executes a single step of C4v symmetric CTM algorithm for 1-site C4v symmetric iPEPS. This variant of CTM step uses pre-built double-layer on-site tensor.

ctm.one_site_c4v_abelian.ctmrg_c4v.ctm_MOVE_sl(a, env, f_c2x2_decomp, ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • a (yast.Tensor) – on-site C4v symmetric tensor

  • env (ENV_ABELIAN_C4V) – C4v symmetric environment

  • f_c2x2_decomp (function(yast.Tensor, int)->yast.Tensor, yast.Tensor, yast.Tensor) – function performing the truncated spectral decomposition (eigenvalue/svd) of enlarged corner. The f_c2x2_decomp returns a tuple composed of leading chi spectral values and projector on leading chi spectral values.

  • ctm_args (CTMARGS) – CTM algorithm configuration

  • global_args (GLOBALARGS) – global configuration

Executes a single step of C4v symmetric CTM algorithm for 1-site C4v symmetric iPEPS. This variant of CTM step does not explicitly build double-layer on-site tensor.

ctm.one_site_c4v_abelian.ctmrg_c4v.run(state, env, conv_check=None, ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • state (IPEPS_C4V_ABELIAN) – wavefunction

  • env (ENV_C4V_ABELIAN) – initial C4v symmetric environment

  • conv_check (function(IPEPS_C4V_ABELIAN,ENV_C4V_ABELIAN,Object,CTMARGS)->bool) – function which determines the convergence of CTM algorithm. If None, the algorithm performs ctm_args.ctm_max_iter iterations.

  • ctm_args (CTMARGS) – CTM algorithm configuration

  • global_args (GLOBALARGS) – global configuration

Executes specialized CTM algorithm for abelian-symmetric 1-site C4v symmetric iPEPS starting from the intial environment env.

To establish the convergence of CTM before the maximal number of iterations is reached a conv_check function is invoked. Its expected signature is conv_check(IPEPS_ABELIAN_C4V,ENV_ABELIAN_C4V,Object,CTMARGS) where Object is an arbitary argument. For example it can be a list or dict used for storing CTM data from previous steps to check convergence.

If config.CTMARGS.ctm_force_dl, then double-layer tensor is precomputed and used in the CTMRG. Otherwise, ket and bra layer of on-site tensor are contracted sequentially when building enlarged corner.