Reduced Density Matrices

ctm.one_site_c4v_abelian.rdm_c4v.rdm1x1(state, env, sym_pos_def=False, force_cpu=False, verbosity=0, **kwargs)[source]
Parameters:
  • state (IPEPS_ABELIAN_C4V) – underlying wavefunction

  • env (ENV_ABELIAN_C4V) – environment corresponding to state

  • verbosity (int) – logging verbosity

  • force_cpu (bool) – perform on CPU

Returns:

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

Return type:

yastn.Tensor

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

   ---->
  C--T-----C
A |  |     | |
| T--a^+a--T |
| |  |     | V
  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.one_site_c4v_abelian.rdm_c4v.rdm2x1(state, env, sym_pos_def=False, force_cpu=False, verbosity=0, **kwargs)[source]
Parameters:
  • state (IPEPS_ABELIAN_C4V) – underlying 1-site C4v symmetric wavefunction

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

  • sym_pos_def (bool) – make final density matrix symmetric and non-negative (default: False)

  • force_cpu (bool) – perform on CPU

  • verbosity (int) – logging verbosity

Returns:

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

Return type:

yastn.Tensor

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

  1. compute upper left 2x2 corner and lower left 2x1 corner

  2. construct left half of the network

  3. contract left and right half (identical to the left) to obtain final reduced density matrix

 ---->
C--T-----T-----C = C2x2--C2x2
|  |     |     |   |     |
T--a^+a--a^+a--T   C2x1--C2x1
|  |     |     |
C--T-----T-----C
 <----

The physical indices s and s’ of on-sites tensors \(a\) (and \(a^\dagger\)) are left uncontracted and given in the following order:

s0 s1

The resulting reduced density matrix is identical to the one of vertical 1x2 subsystem due to the C4v symmetry.

ctm.one_site_c4v_abelian.rdm_c4v.rdm2x2_NN(state, env, sym_pos_def=False, force_cpu=False, verbosity=0, **kwargs)[source]
Parameters:
  • state (IPEPS_ABELIAN_C4V) – underlying 1-site C4v symmetric wavefunction

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

  • sym_pos_def (bool) – make final density matrix symmetric and non-negative (default: False)

  • force_cpu (bool) – compute on cpu

  • verbosity (int) – logging verbosity

Returns:

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

Return type:

yastn.Tensor

Computes 2-site reduced density matrix \(\rho_{2x1}\) of 2 sites that are nearest neighbours using strategy:

  1. compute upper left corner using double-layer on-site tensor

  2. construct upper half of the network

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

  C--T-----T-----C   = C2x2c--C2x2--s0,s'0
A |  |     |     | |   |      |
| T--a^+a--a^+a--T |   C2x2c--C2x2--s1,s'1
| |  |     |     | V
  T--a^+a--a^+a--T
  |  |     |     |
  C--T-----T-----C

The physical indices s and s’ of on-sites tensors \(a\) (and \(a^\dagger\)) inside C2x2 tensors are left uncontracted and given in the following order:

c s0,s'0
c s1,s'1
ctm.one_site_c4v_abelian.rdm_c4v.rdm2x2_NNN(state, env, sym_pos_def=False, force_cpu=False, verbosity=0, **kwargs)[source]
Parameters:
  • state (IPEPS_ABELIAN_C4V) – underlying 1-site C4v symmetric wavefunction

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

  • sym_pos_def (bool) – make final density matrix symmetric and non-negative (default: False)

  • force_cpu (bool) – compute on cpu

  • verbosity (int) – logging verbosity

Returns:

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

Return type:

yastn.Tensor

Computes 2-site reduced density matrix \(\rho_{2x1}^{diag}\) of 2 sites that are next-nearest neighbours (along diagonal) using strategy:

  1. compute upper left corner using double-layer on-site tensor

  2. construct upper half of the network

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

  C--T-----T-----C   = C2x2c--C2x2
A |  |     |     | |   |      |
| T--a^+a--a^+a--T |   C2x2---C2x2c
| |  |     |     | V
  T--a^+a--a^+a--T
  |  |     |     |
  C--T-----T-----C

The physical indices s and s’ of on-sites tensors \(A\) (and \(A^\dagger\)) inside C2x2 tensors are left uncontracted and given in the following order:

c  s0
s1 c
ctm.one_site_c4v_abelian.rdm_c4v.rdm2x2(state, env, sym_pos_def=False, force_cpu=False, verbosity=0, **kwargs)[source]
Parameters:
  • state (IPEPS_ABELIAN_C4V) – underlying 1-site C4v symmetric wavefunction

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

  • sym_pos_def (bool) – make final density matrix symmetric and non-negative (default: False)

  • force_cpu (bool) – perform on CPU

  • verbosity (int) – logging verbosity

Returns:

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

Return type:

yastn.Tensor

Computes 4-site reduced density matrix \(\rho_{2x2}\) of 2x2 subsystem using strategy:

  1. compute upper left corner

  2. construct upper half of the network

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

  C--T-----T-----C   = C2x2--C2x2
A |  |     |     | |   |     |
| T--a^+a--a^+a--T |   C2x2--C2x2
| |  |     |     | V
  T--a^+a--a^+a--T
  |  |     |     |
  C--T-----T-----C

The physical indices s and s’ of on-sites tensors \(A\) (and \(A^\dagger\)) are left uncontracted and given in the following order:

s0 s1
s2 s3