Reduced Density Matrices

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

  • state (IPEPS) – underlying wavefunction

  • env (ENV) – 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.rdm.rdm1x2(coord, ipeps, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) specifies position of 1x2 subsystem

  • state (IPEPS) – underlying wavefunction

  • env (ENV) – environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

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

Return type

torch.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.rdm.rdm2x1(coord, ipeps, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) specifies position of 2x1 subsystem

  • state (IPEPS) – underlying wavefunction

  • env (ENV) – environment corresponding to state

  • verbosity (int) – logging verbosity

Returns

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

Return type

torch.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.rdm.rdm2x2(coord, ipeps, env, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – vertex (x,y) specifies upper left site of 2x2 subsystem

  • state (IPEPS) – underlying wavefunction

  • env (ENV) – 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

torch.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