Components

ctm.generic_abelian.ctm_components.c2x2_LD(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build enlarged lower-right corner

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

enlarged upper-left corner

Return type

yast.Tensor

Builds lower-right corner at site coord by performing following contraction and then reshaping the resulting tensor into matrix:

0  1
T--A(coord)--3
|  |                (0,1)->0(+)
|  |                 |
C--T---------2  =>   C2x2--(2,3)->1(-)
ctm.generic_abelian.ctm_components.c2x2_LU(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build enlarged upper-left corner

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

enlarged upper-left corner

Return type

yast.Tensor

Builds upper-left corner at site coord by performing following contraction and then reshaping the resulting tensor into matrix:

C----T--2         => C2x2--(2,3)->1(-1)
|    |               |
|    |               (0,1)->0(-1)
T----A(coord)--3
|    |
0    1
ctm.generic_abelian.ctm_components.c2x2_RD(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build enlarged lower-right corner

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

enlarged upper-left corner

Return type

yast.Tensor

Builds lower-right corner at site coord by performing following contraction and then reshaping the resulting tensor into matrix:

   1         0
3--A(coord)--T  =>      (+)0<-(0,1)
   |         |                   |
   |         |      (+)1<-(2,3)--C2x2
2--T---------C
ctm.generic_abelian.ctm_components.c2x2_RU(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build enlarged upper-right corner

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

enlarged upper-left corner

Return type

yast.Tensor

Builds upper-right corner at site coord by performing following contraction and then reshaping the resulting tensor into matrix:

0--T---------C  =>  (+)0<-(0,1)--C2x2
   |         |                   |
   |         |          (-)1<-(2,3)
1--A(coord)--T
   3         2
ctm.generic_abelian.ctm_components.halves_of_4x4_CTM_MOVE_DOWN(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build two halfs of 2x2 subsystem embedded in environment

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

left and right half of the system as matrices

Return type

yast.Tensor, yast.Tensor

Builds left and right half of 2x2 subsystem embedded into environment. The coord specifies the lower-left site of the 2x2 subsystem. Performs following contraction and then reshaping the resulting tensors into matrices:

C T T        C = C2x2_LU(coord+(0,-1)) C2x2(coord+(1,-1))
T A        B T   C2x2_LD(coord)        C2x2(coord+(1,0))
T C(coord) D T
C T        T C

C2x2---------1    1<-0--C2x2 =     _1 1_
|0                      |1        |     |
|0                      |0      half1    half2
C2x2(coord)--1->0 0<-1--C2x2      |_0 0_|
ctm.generic_abelian.ctm_components.halves_of_4x4_CTM_MOVE_LEFT(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build two halfs of 2x2 subsystem embedded in environment

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

upper and lower half of the system as matrices

Return type

yast.Tensor, yast.Tensor

Builds upper and lower half of 2x2 subsystem embedded into environment. The coord specifies the upper-left site of the 2x2 subsystem. Performs following contraction and then reshaping the resulting tensors into matrices:

C T        T C = C2x2_LU(coord)       C2x2(coord+(1,0))
T A(coord) B T   C2x2_LD(coord+(0,1)) C2x2(coord+(1,1))
T C        D T
C T        T C

C2x2(coord)--1 0--C2x2 = half1
|0               1|      |0  |1

|0            1<-0|      |0  |1
C2x2--1 1---------C2x2   half2
ctm.generic_abelian.ctm_components.halves_of_4x4_CTM_MOVE_RIGHT(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build two halfs of 2x2 subsystem embedded in environment

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

upper and lower half of the system as matrices

Return type

yast.Tensor, yast.Tensor

Builds uoper and lower half of 2x2 subsystem embedded into environment. The coord specifies the lower-right site of the 2x2 subsystem. Performs following contraction and then reshaping the resulting tensors into matrices:

C T T        C = C2x2_LU(coord+(-1,-1)) C2x2(coord+(0,-1))
T A B        T   C2x2_LD(coord+(-1,0))  C2x2(coord)
T C D(coord) T
C T T        C

C2x2--1 0--C2x2        = half2
|0->1      |1->0         |1  |0

|0->1      |0            |1  |0
C2x2--1 1--C2x2(coord)   half1
ctm.generic_abelian.ctm_components.halves_of_4x4_CTM_MOVE_UP(coord, state, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – site for which to build two halfs of 2x2 subsystem embedded in environment

  • state (IPEPS_ABELIAN) – wavefunction

  • env (ENV_ABELIAN) – environment

Returns

right and left half of the system as matrices

Return type

yast.Tensor, yast.Tensor

Builds right and left half of 2x2 subsystem embedded into environment. The coord specifies the upper-right site of the 2x2 subsystem. Performs following contraction and then reshaping the resulting tensors into matrices:

C T T        C = C2x2_LU(coord+(-1,0))  C2x2(coord)
T A B(coord) T   C2x2_LD(coord+(-1,-1)) C2x2(coord+(0,1))
T C D        T
C T T        C

C2x2--1->0 0--C2x2(coord) =     _0 0_
|0           1|                |     |
|0           0|             half2    half1
C2x2--1    1--C2x2             |_1 1_|