Reduced Density Matrices

ctm.generic_abelian.rdm.open_C2x2_LD(coord, state, env, fusion_level='full', verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) for which reduced density matrix is constructed

  • state (IPEPS_ABELIAN) – underlying wavefunction

  • env (ENV_ABELIAN) – environment corresponding to state

  • fusion_level (str) – controls fusion of indices of open enlarged corner

  • verbosity (int) – logging verbosity

Returns

left-down enlarged corner with open physical indices

Return type

yast.tensor

Computes lower-down enlarged corner centered on vertex coord by contracting the following tensor network:

      s,s'
|  | /
T--a^+a--
|  |
C--T-----

The physical indices s and s’ of on-site tensor \(a\) at vertex coord and its hermitian conjugate \(a^\dagger\) are left uncontracted

Depending on fusion_level, the resulting tensor is:

rank-3 : fusion_level= 'full'             rank-5 : fusion_level= 'basic'

  0
 /\   2 (s,s')                            0  1  4 (s,s')
|  | /                                    |  | /
T--a^+a--\                                T--a^+a--3
|  |      >--1                            |  |
C--T-----/                                C--T-----2
ctm.generic_abelian.rdm.rdm1x1(coord, state, env, sym_pos_def=False, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) for which reduced density matrix is constructed

  • state (IPEPS_ABELIAN) – underlying wavefunction

  • env (ENV_ABELIAN) – environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

1-site reduced density matrix with indices \(s;s'\)

Return type

torch.tensor

Computes 1-site reduced density matrix \(\rho_{1x1}\) centered on vertex coord by contracting the following tensor network:

C--T-----C
|  |     |
T--a^+a--T
|  |     |
C--T-----C

where the physical indices s and s’ of on-site tensor \(A\) at vertex coord and it’s hermitian conjugate \(A^\dagger\) are left uncontracted

ctm.generic_abelian.rdm.rdm1x2(coord, state, env, sym_pos_def=False, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) specifies position of 1x2 subsystem

  • state (IPEPS_ABELIAN) – underlying wavefunction

  • env (ENV_ABELIAN) – environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

2-site reduced density matrix with indices \(s_0s_1;s'_0s'_1\)

Return type

yast.tensor

Computes 2-site reduced density matrix \(\rho_{1x2}\) of a vertical 1x2 subsystem using following strategy:

  1. compute four individual corners

  2. construct upper and lower half of the network

  3. contract upper and lower halt to obtain final reduced density matrix

C--T------------------C = C2x2_LU(coord)--------C1x2(coord)
|  |                  |   |                     |
T--A^+A(coord)--------T   C2x2_LD(coord+(0,1))--C1x2(coord+0,1))
|  |                  |
T--A^+A(coord+(0,1))--T
|  |                  |
C--T------------------C

The physical indices s and s’ of on-sites tensors \(A\) (and \(A^\dagger\)) at vertices coord, coord+(0,1) are left uncontracted

ctm.generic_abelian.rdm.rdm2x1(coord, state, env, sym_pos_def=False, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) specifies position of 2x1 subsystem

  • state (IPEPS_ABELIAN) – underlying wavefunction

  • env (ENV_ABELIAN) – environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

2-site reduced density matrix with indices \(s_0s_1;s'_0s'_1\)

Return type

yast.tensor

Computes 2-site reduced density matrix \(\rho_{2x1}\) of a horizontal 2x1 subsystem using following strategy:

  1. compute four individual corners

  2. construct right and left half of the network

  3. contract right and left halt to obtain final reduced density matrix

C--T------------T------------------C = C2x2_LU(coord)--C2x2(coord+(1,0))
|  |            |                  |   |               |
T--A^+A(coord)--A^+A(coord+(1,0))--T   C2x1_LD(coord)--C2x1(coord+(1,0))
|  |            |                  |
C--T------------T------------------C

The physical indices s and s’ of on-sites tensors \(A\) (and \(A^\dagger\)) at vertices coord, coord+(1,0) are left uncontracted

ctm.generic_abelian.rdm.rdm2x2(coord, state, env, sym_pos_def=False, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) specifies upper left site of 2x2 subsystem

  • state (IPEPS_ABELIAN) – underlying wavefunction

  • env (ENV_ABELIAN) – environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

4-site reduced density matrix with indices \(s_0s_1s_2s_3;s'_0s'_1s'_2s'_3\)

Return type

yast.tensor

Computes 4-site reduced density matrix \(\rho_{2x2}\) of 2x2 subsystem specified by the vertex coord of its upper left corner using strategy:

  1. compute four individual corners

  2. construct upper and lower half of the network

  3. contract upper and lower half to obtain final reduced density matrix

C--T------------------T------------------C = C2x2_LU(coord)--------C2x2(coord+(1,0))
|  |                  |                  |   |                     |
T--a^+a(coord)--------a^+a(coord+(1,0))--T   C2x2_LD(coord+(0,1))--C2x2(coord+(1,1))
|  |                  |                  |
T--a^+a(coord+(0,1))--a^+a(coord+(1,1))--T
|  |                  |                  |
C--T------------------T------------------C

The physical indices s and s’ of on-sites tensors \(A\) (and \(A^\dagger\)) at vertices coord, coord+(1,0), coord+(0,1), and coord+(1,1) are left uncontracted and given in the same order:

s0 s1
s2 s3

Specific RDMs for Kagome iPEPS