Abelian-symmetric 1-site C4v Environment

class ctm.one_site_c4v_abelian.env_c4v_abelian.ENV_C4V_ABELIAN(chi=1, state=None, settings=None, init=False, init_method=None, ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • chi (int) – environment bond dimension \(\chi\)

  • state (IPEPS_ABELIAN_C4V) – wavefunction

  • settings (NamedTuple or SimpleNamespace (TODO link to definition)) – YAST configuration

  • init (bool) – initialize environment tensors

  • init_method (str) – choice of environment initialization. See init_env().

  • 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 by state or bond_dim:

y\x -1 0 1
 -1  C T C
  0  T A T
  1  C T C

If both state and bond_dim are supplied, the bond_dim parameter is ignored.

The environment tensors of an ENV object e are accesed through members C and T 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   C(-1) (+1)T(+1)
|       |       |  (-1)     (-1)
0       2       1
0               0  (+1)
|               |   T(-1)
T--2         2--T  (+1)
|               |
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 symmetric under the exchange of environment bond indices \(C_{ij}=C^*_{ji}\) and \(T_{ija}=T^*_{jia}\).

clone()[source]
Returns:

returns a clone of the environment

Return type:

ENV_C4V_ABELIAN

Create a clone of environment with all tensors (their blocks) attached to the computational graph.

Note

This operation preserves gradient tracking.

detach()[source]
Returns:

returns a view of the environment with all C,T tensors detached from computational graph.

Return type:

ENV_C4V_ABELIAN

In case of using PyTorch backend, get a detached “view” of the environment. See torch.Tensor.detach.

Note

This operation does not preserve gradient tracking.

get_C()[source]
Returns:

get corner tensor

Return type:

yast.Tensor

get_T()[source]
Returns:

get half-row/-column tensor

Return type:

yast.Tensor

to_dense(ctm_args=<config.CTMARGS object>, global_args=<config.GLOBALARGS object>)[source]
Returns:

returns a copy of the environment with all C,T tensors in their dense representation. If the environment already has just dense C,T tensors returns self.

Return type:

ENV_C4V_ABELIAN

Create a copy of environment with all on-site tensors as dense possesing no explicit block structure (symmetry). This operations preserves gradients on returned dense environment.

ctm.one_site_c4v_abelian.env_c4v_abelian.init_env(state, env, init_method=None, ctm_args=<config.CTMARGS object>)[source]
Parameters:
  • state (IPEPS_ABELIAN_C4V) – wavefunction

  • env (ENV_C4V_ABELIAN) – C4v symmetric CTM environment

  • init_method – choice of environment initialization

  • ctm_args (CTMARGS) – CTM algorithm configuration

Initializes the environment env according to one of the supported options specified inside CTMARGS.ctm_env_init_type

  • 'CTMRG' - tensors C and T are built from the on-site tensor of state

ctm.one_site_c4v_abelian.env_c4v_abelian.init_from_ipeps_pbc(state, env, verbosity=0)[source]
Parameters:

Technically, we decorate the lattice with a single C4v symmetric tensor and in order to define consistent network - change signature on every sublattice B-site:

   V    ^
-> A <- B ->
   ^    V
<- B -> A <-
   V    ^

where the ingoing arrow signifies +1 and outgoing arrow signifies -1 signature. Tensors A and B are identical in the content & symmetry sectors (thus they have exactly opposite total charge). The C tensor of tensor A is formed from A, while T tensors are formed by B:

C--T--     A--B--
T--A-- <=> B--A--
|  |       |  |