1-site C4v Environment¶
- class ctm.one_site_c4v.env_c4v.ENV_C4V(chi, state=None, bond_dim=None, ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
chi (int) – environment bond dimension \(\chi\)
state (IPEPS_C4V) – wavefunction
bond_dim (int) – bond dimension
ctm_args (CTMARGS) – CTM algorithm configuration
global_args (GLOBALARGS) – global configuration
Assuming C4v symmetric single-site
state
create corresponding half-row(column) tensor T and corner tensor C. The corner tensor has dimensions \(\chi \times \chi\) and the half-row(column) tensor has dimensions \(\chi \times \chi \times D^2\) with \(D\) given bystate
orbond_dim
:y\x -1 0 1 -1 C T C 0 T A T 1 C T C
If both
state
andbond_dim
are supplied, thebond_dim
parameter is ignored.The environment tensors of an ENV object
e
are accesed through membersC
andT
The index-position convention is as follows: For upper left C and left T start from the index in the direction “up” <=> (-1,0) and continue anti-clockwise:C--1 0--T--1 0--C | | | 0 2 1 0 0 | | T--2 2--T | | 1 1 0 2 0 | | | C--1 0--T--1 1--C
All C’s and T’s in the above diagram are identical and they are (hermitian) symmetric under the exchange of environment bond indices \(C_{ij}=C^*_{ji}\) and \(T_{ija}=T^*_{jia}\).
- clone(ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
ctm_args (CTMARGS) – CTM algorithm configuration
global_args (GLOBALARGS) – global configuration
Create a clone of the environment.
Note
This operation preserves gradient tracking.
- detach(ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
ctm_args (CTMARGS) – CTM algorithm configuration
global_args (GLOBALARGS) – global configuration
Get a detached “view” of the environment. See torch.Tensor.detach.
Note
This operation does not preserve gradient tracking.
- extend(new_chi, ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
new_chi (int) – new environment bond dimension
ctm_args (CTMARGS) – CTM algorithm configuration
global_args (GLOBALARGS) – global configuration
Create a new environment with all environment tensors enlarged up to environment dimension
new_chi
. The enlarged C, T tensors are padded with zeros.Note
This operation preserves gradient tracking.
- ctm.one_site_c4v.env_c4v.init_env(state, env, C_and_T=None, ctm_args=<config.CTMARGS object>)[source]¶
- Parameters:
Initializes the environment env according to one of the supported options specified inside
CTMARGS.ctm_env_init_type
"PROD"
- C and T tensors have just a single element intialized to a value 1 corresponding to product state environment"RANDOM"
- C and T tensors have elements with random numbers drawn from uniform distribution [0,1)"CTMRG"
- tensors C and T are built from the on-site tensor of state