Skip to content

Commit 904cf17

Browse files
committed
Implement half projectors for split-CTMRG
1 parent 180dfeb commit 904cf17

File tree

2 files changed

+344
-22
lines changed

2 files changed

+344
-22
lines changed

Diff for: varipeps/contractions/definitions.py

+116
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,64 @@ def _prepare_defs(cls):
981981
],
982982
}
983983

984+
ctmrg_split_transfer_left_top_half: Definition = {
985+
"tensors": [
986+
[
987+
"tensor",
988+
"tensor_conj",
989+
"T4_bra",
990+
"T4_ket",
991+
"C1",
992+
"T1_ket",
993+
"T1_bra",
994+
],
995+
"projector_left_bottom_ket",
996+
"projector_top_right_ket",
997+
],
998+
"network": [
999+
[
1000+
(5, 8, 13, 10, 6), # tensor
1001+
(11, -2, 13, -4, 12), # tensor_conj
1002+
(1, 11, 7), # T4_bra
1003+
(7, 5, 2), # T4_ket
1004+
(2, 3), # C1
1005+
(3, 6, 9), # T1_ket
1006+
(9, 12, 4), # T1_bra
1007+
],
1008+
(-1, 1, 8), # projector_left_bottom_ket
1009+
(4, 10, -3), # projector_top_right_ket
1010+
],
1011+
}
1012+
1013+
ctmrg_split_transfer_right_top_half: Definition = {
1014+
"tensors": [
1015+
[
1016+
"tensor",
1017+
"tensor_conj",
1018+
"T1_ket",
1019+
"T1_bra",
1020+
"C2",
1021+
"T2_ket",
1022+
"T2_bra",
1023+
],
1024+
"projector_top_left_ket",
1025+
"projector_right_bottom_bra",
1026+
],
1027+
"network": [
1028+
[
1029+
(5, -4, 13, 8, 6), # tensor
1030+
(-2, 10, 13, 9, 12), # tensor_conj
1031+
(1, 6, 7), # T1_ket
1032+
(7, 12, 2), # T1_bra
1033+
(2, 3), # C2
1034+
(11, 8, 3), # T2_ket
1035+
(4, 9, 11), # T2_bra
1036+
],
1037+
(-1, 1, 5), # projector_top_left_ket
1038+
(4, 10, -3), # projector_right_bottom_bra
1039+
],
1040+
}
1041+
9841042
ctmrg_split_transfer_bottom_full: Definition = {
9851043
"tensors": [
9861044
[
@@ -1028,6 +1086,64 @@ def _prepare_defs(cls):
10281086
],
10291087
}
10301088

1089+
ctmrg_split_transfer_left_bottom_half: Definition = {
1090+
"tensors": [
1091+
[
1092+
"tensor",
1093+
"tensor_conj",
1094+
"T4_ket",
1095+
"T4_bra",
1096+
"C4",
1097+
"T3_ket",
1098+
"T3_bra",
1099+
],
1100+
"projector_left_top_ket",
1101+
"projector_bottom_right_bra",
1102+
],
1103+
"network": [
1104+
[
1105+
(5, 8, 13, -2, 6), # tensor
1106+
(12, 10, 13, 9, -4), # tensor_conj
1107+
(7, 5, 1), # T4_ket
1108+
(2, 12, 7), # T4_bra
1109+
(3, 2), # C4
1110+
(3, 8, 11), # T3_ket
1111+
(11, 10, 4), # T3_bra
1112+
],
1113+
(1, 6, -3), # projector_left_top_ket
1114+
(-1, 4, 9), # projector_bottom_right_bra
1115+
],
1116+
}
1117+
1118+
ctmrg_split_transfer_right_bottom_half: Definition = {
1119+
"tensors": [
1120+
[
1121+
"tensor",
1122+
"tensor_conj",
1123+
"T3_ket",
1124+
"T3_bra",
1125+
"C3",
1126+
"T2_bra",
1127+
"T2_ket",
1128+
],
1129+
"projector_bottom_right_bra",
1130+
"projector_right_top_bra",
1131+
],
1132+
"network": [
1133+
[
1134+
(-4, 11, 13, 12, -2), # tensor
1135+
(8, 5, 13, 6, 10), # tensor_conj
1136+
(1, 11, 7), # T3_ket
1137+
(7, 5, 2), # T3_bra
1138+
(2, 3), # C3
1139+
(3, 6, 9), # T2_bra
1140+
(9, 12, 4), # T2_ket
1141+
],
1142+
(1, 8, -3), # projector_bottom_right_bra
1143+
(-1, 4, 10), # projector_right_top_bra
1144+
],
1145+
}
1146+
10311147
ctmrg_split_transfer_left_full: Definition = {
10321148
"tensors": [
10331149
[

0 commit comments

Comments
 (0)