Correlation functions

ctm.one_site_c4v_abelian.corrf_c4v.apply_TM_1sO(state, env, edge, op=None, verbosity=0)[source]
Parameters
  • state (IPEPS_C4V_ABELIAN) – underlying 1-site C4v symmetric wavefunction

  • env (ENV_C4V_ABELIAN) – C4v symmetric environment corresponding to state

  • edge (yast.Tensor) – tensor corresponding to the edge of width-1 channel

  • op (yast.Tensor) – operator to be inserted into transfer matrix

  • verbosity (int) – logging verbosity

Returns

edge with a single instance of the transfer matrix applied. The resulting tensor has an identical index structure as the original edge

Return type

tensor

Applies a single instance of the “transfer matrix” to the edge tensor by contracting the following network:

  -----T----------
 |     |
edge--(a^+ op a)--
 |     |
  -----T----------

where the physical indices s and s’ of the on-site tensor \(a\) and it’s hermitian conjugate \(a^\dagger\) are contracted with identity \(\delta_{s,s'}\) or op (if supplied).

ctm.one_site_c4v_abelian.corrf_c4v.apply_edge(state, env, vec, verbosity=0)[source]
Parameters
  • state (IPEPS_ABELIAN_C4V) – underlying 1-site C4v symmetric wavefunction

  • env (ENV_ABELIAN_C4V) – C4v symmetric environment corresponding to state

  • vec (torch.Tensor) – tensor of dimensions \(\chi \times D^2 \times \chi\)

  • verbosity (int) – logging verbosity

Returns

scalar resulting from the contraction of vec with an edge built from environment

Return type

torch.tensor

Contracts vec tensor with the corresponding edge by contracting the following network:

           ---C
          |   |
scalar = vec--T
          |   |
           ---C
ctm.one_site_c4v_abelian.corrf_c4v.corrf_1sO1sO(state, env, op1, get_op2, dist, verbosity=0)[source]
Parameters
  • state (IPEPS_ABELIAN_C4V) – underlying 1-site C4v symmetric wavefunction

  • env (ENV_ABELIAN_C4V) – C4v symmetric environment corresponding to state

  • op1 (yast.Tensor) – first one-site operator \(O_1\)

  • get_op2 (function(int)->yast.Tensor) – function returning (position-dependent) second one-site opreator \(\text{get_op2}(r)=O_2\)

  • dist (int) – maximal distance of correlation function

  • verbosity (int) – logging verbosity

Returns

vector corrf of length dist holding the values of correlation function \(\langle O_1(0) O_2(r) \rangle\) for \(r \in [1,dist]\)

Return type

torch.tensor

Computes the two-point correlation function \(\langle O_1(0) O_2(r) \rangle\) by contracting the following network:

C-----T---------- ... -----T---- ... --------T-------------C
|     |                    |                 |             |
T--(a^+ op_1 a)-- ... --(a^+a)-- ... --(a^+ gen_op2(r) a)--T
|     |                    |                 |             |
C-----T---------- ... -----T---- ... --------T-------------C

for increasingly large distance r up to dist.

ctm.one_site_c4v_abelian.corrf_c4v.get_edge(state, env, verbosity=0)[source]
Parameters
  • state (IPEPS_C4V_ABELIAN) – underlying 1-site C4v symmetric wavefunction

  • env (ENV_C4V_ABELIAN) – C4v symmetric environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

edge of the width-1 channel

Return type

Tensor

Build initial edge by contracting the following network:

    C--0(-)
    |
E = T--1(-) 1,2
    |
    C--2(-) 3