Reduced Density Matrices¶
-
ctm.one_site_c4v.rdm_c4v.
rdm1x1
(state, env, verbosity=0)[source]¶ - Parameters
- Returns
1-site reduced density matrix with indices \(s;s'\)
- Return type
torch.tensor
Computes 1-site reduced density matrix \(\rho_{1x1}\) 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\) and its hermitian conjugate \(a^\dagger\) are left uncontracted
-
ctm.one_site_c4v.rdm_c4v.
rdm1x1_sl
(state, env, verbosity=0)[source]¶ - Parameters
- Returns
1-site reduced density matrix with indices \(s;s'\)
- Return type
torch.tensor
Evaluates 1-site operator \(Tr(\rho_{1x1}O)\) 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\) and its hermitian conjugate \(a^\dagger\) are left uncontracted
-
ctm.one_site_c4v.rdm_c4v.
rdm2x1
(state, env, sym_pos_def=False, verbosity=0)[source]¶ - Parameters
- 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:
compute upper left 2x2 corner and lower left 2x1 corner
construct left half of the network
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.rdm_c4v.
rdm2x1_sl
(state, env, sym_pos_def=False, force_cpu=False, verbosity=0)[source]¶ - Parameters
- 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:
compute upper left 2x2 corner and lower left 2x1 corner
construct left half of the network
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.rdm_c4v.
rdm2x2_NN_lowmem
(state, env, sym_pos_def=False, force_cpu=False, verbosity=0)[source]¶ - Parameters
- 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 2 sites that are nearest neighbours using strategy:
compute upper left corner using double-layer on-site tensor
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced density matrix
C--T-----T-----C = C2x2--C2x2c | | | | | | T--A^+A--A^+A--T C2x2--C2x2c | | | | 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:
s0 c s1 c
-
ctm.one_site_c4v.rdm_c4v.
rdm2x2_NN_lowmem_sl
(state, env, sym_pos_def=False, force_cpu=False, verbosity=0)[source]¶ - Parameters
- 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 2 sites that are nearest neighbours using strategy:
compute upper left corner using layer-by-layer contraction of on-site tensor
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced density matrix
C--T-----T-----C = C2x2--C2x2c | | | | | | T--a^+a--a^+a--T C2x2--C2x2c | | | | 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:
s0 c s1 c
-
ctm.one_site_c4v.rdm_c4v.
rdm2x2_NNN_lowmem
(state, env, sym_pos_def=False, force_cpu=False, verbosity=0)[source]¶ - Parameters
- 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}^{diag}\) of 2 sites that are next-nearest neighbours (along diagonal) using strategy:
compute upper left corner using double-layer on-site tensor
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced density matrix
C--T-----T-----C = C2x2---C2x2c | | | | | | T--a^+a--a^+a--T C2x2c--C2x2 | | | | 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:
s0 c c s1
-
ctm.one_site_c4v.rdm_c4v.
rdm2x2_NNN_lowmem_sl
(state, env, sym_pos_def=False, force_cpu=False, verbosity=0)[source]¶ - Parameters
- 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_{2x2}^{diag}\) of 2 sites that are next-nearest neighbours (along diagonal) using strategy:
compute upper left corner using layer-by-layer contraction of on-site tensor
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced density matrix
C--T-----T-----C = C2x2---C2x2c | | | | | | T--a^+a--a^+a--T C2x2c--C2x2 | | | | 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:
s0 c c s1
-
ctm.one_site_c4v.rdm_c4v.
rdm2x2
(state, env, sym_pos_def=False, verbosity=0)[source]¶ - Parameters
- 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 using strategy:
compute upper left corner
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced density matrix
C--T-----T-----C = C2x2--C2x2 | | | | | | T--a^+a--a^+a--T C2x2--C2x2 | | | | 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
-
ctm.one_site_c4v.rdm_c4v.
aux_rdm2x2_NN
(state, env, force_cpu=False, verbosity=0)[source]¶ - Parameters
- Returns
2-site auxilliary reduced density matrix
- Return type
torch.tensor
Computes 2-site auxiliary reduced density matrix of nearest neighbours within 2x2 subsystem without the on-site tensors (leaving corresponding auxiliary indices open) using strategy:
compute upper left corner
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced auxilliary density matrix
C----T----T----C = aC2x2--aC2x2 | 0 5 | | | T--1 4--T C2x2----C2x2 | 2 3 | C----T----T----C
-
ctm.one_site_c4v.rdm_c4v.
aux_rdm2x2
(state, env, force_cpu=False, verbosity=0)[source]¶ - Parameters
- Returns
4-site auxilliary reduced density matrix
- Return type
torch.tensor
Computes 4-site auxiliary reduced density matrix \(\rho_{2x2}\) of 2x2 subsystem without the on-site tensors (leaving corresponding auxiliary indices open) using strategy:
compute upper left corner
construct upper half of the network
contract upper and lower half (identical to upper) to obtain final reduced auxilliary density matrix
TODO try single torch.einsum ?
C----T----T----C = C2x2--C2x2 | 0 7 | | | T--1 6--T C2x2--C2x2 | | T--2 5--T | 3 4 | C----T----T----C