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 performsctm_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 isconv_check(IPEPS_ABELIAN_C4V,ENV_ABELIAN_C4V,Object,CTMARGS)
whereObject
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.