Skip to content

Commit c717571

Browse files
philihpsJanLuca
authored andcommitted
implement three-site and four-site expectation values
1 parent 65c473c commit c717571

File tree

3 files changed

+1500
-0
lines changed

3 files changed

+1500
-0
lines changed

varipeps/contractions/definitions.py

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4476,6 +4476,19 @@ def _prepare_defs(cls):
44764476
],
44774477
}
44784478

4479+
triangular_ctmrg_next_nearest_neg_x_pos_y_expectation_top_left_open: Definition = {
4480+
"tensors": [["tensor", "tensor_conj", "T6a", "C1", "T1b"]],
4481+
"network": [
4482+
[
4483+
(4, 5, -7, -4, -2, 3, -9), # tensor
4484+
(7, 8, -8, -5, -3, 6, -10), # tensor_conj
4485+
(-1, 3, 6, 1), # T6a
4486+
(1, 4, 7, 2), # C1
4487+
(2, 5, 8, -6), # T1b
4488+
],
4489+
],
4490+
}
4491+
44794492
triangular_ctmrg_next_nearest_neg_x_pos_y_expectation_top_right: Definition = {
44804493
"tensors": [["tensor", "tensor_conj", "T1a", "C2", "C3", "T3b"]],
44814494
"network": [
@@ -4517,6 +4530,21 @@ def _prepare_defs(cls):
45174530
],
45184531
}
45194532

4533+
triangular_ctmrg_next_nearest_neg_x_pos_y_expectation_bottom_right_open: (
4534+
Definition
4535+
) = {
4536+
"tensors": [["tensor", "tensor_conj", "T3a", "C4", "T4b"]],
4537+
"network": [
4538+
[
4539+
(-4, -7, 3, 4, 5, -2, -9), # tensor
4540+
(-5, -8, 6, 7, 8, -3, -10), # tensor_conj
4541+
(-6, 3, 6, 1), # T3a
4542+
(1, 4, 7, 2), # C4
4543+
(2, 5, 8, -1), # T4b
4544+
],
4545+
],
4546+
}
4547+
45204548
triangular_ctmrg_next_nearest_pos_x_2_pos_y_expectation_top_left: Definition = {
45214549
"tensors": [["tensor", "tensor_conj", "T5a", "C6", "C1", "T1b"]],
45224550
"network": [
@@ -4544,6 +4572,21 @@ def _prepare_defs(cls):
45444572
],
45454573
}
45464574

4575+
triangular_ctmrg_next_nearest_pos_x_2_pos_y_expectation_top_right_open: (
4576+
Definition
4577+
) = {
4578+
"tensors": [["tensor", "tensor_conj", "T1a", "C2", "T2b"]],
4579+
"network": [
4580+
[
4581+
(3, 4, 5, -7, -4, -2, -9), # tensor
4582+
(6, 7, 8, -8, -5, -3, -10), # tensor_conj
4583+
(-1, 3, 6, 1), # T1a
4584+
(1, 4, 7, 2), # C2
4585+
(2, 5, 8, -6), # T2b
4586+
],
4587+
],
4588+
}
4589+
45474590
triangular_ctmrg_next_nearest_pos_x_2_pos_y_expectation_bottom_left: Definition = {
45484591
"tensors": [["tensor", "tensor_conj", "T4a", "C5", "T5b"]],
45494592
"network": [
@@ -4557,6 +4600,21 @@ def _prepare_defs(cls):
45574600
],
45584601
}
45594602

4603+
triangular_ctmrg_next_nearest_pos_x_2_pos_y_expectation_bottom_left_open: (
4604+
Definition
4605+
) = {
4606+
"tensors": [["tensor", "tensor_conj", "T4a", "C5", "T5b"]],
4607+
"network": [
4608+
[
4609+
(-2, -4, -7, 3, 4, 5, -9), # tensor
4610+
(-3, -5, -8, 6, 7, 8, -10), # tensor_conj
4611+
(-6, 3, 6, 1), # T4a
4612+
(1, 4, 7, 2), # C5
4613+
(2, 5, 8, -1), # T5b
4614+
],
4615+
],
4616+
}
4617+
45604618
triangular_ctmrg_next_nearest_pos_x_2_pos_y_expectation_bottom_right: Definition = {
45614619
"tensors": [["tensor", "tensor_conj", "T2a", "C3", "C4", "T4b"]],
45624620
"network": [
@@ -4598,6 +4656,21 @@ def _prepare_defs(cls):
45984656
],
45994657
}
46004658

4659+
triangular_ctmrg_next_nearest_2_pos_x_pos_y_expectation_middle_left_open: (
4660+
Definition
4661+
) = {
4662+
"tensors": [["tensor", "tensor_conj", "T5a", "C6", "T6b"]],
4663+
"network": [
4664+
[
4665+
(5, -2, -4, -7, 3, 4, -9), # tensor
4666+
(8, -3, -5, -8, 6, 7, -10), # tensor_conj
4667+
(-6, 3, 6, 1), # T5a
4668+
(1, 4, 7, 2), # C6
4669+
(2, 5, 8, -1), # T6b
4670+
],
4671+
],
4672+
}
4673+
46014674
triangular_ctmrg_next_nearest_2_pos_x_pos_y_expectation_middle_right: Definition = {
46024675
"tensors": [["tensor", "tensor_conj", "T2a", "C3", "T3b"]],
46034676
"network": [
@@ -4611,6 +4684,21 @@ def _prepare_defs(cls):
46114684
],
46124685
}
46134686

4687+
triangular_ctmrg_next_nearest_2_pos_x_pos_y_expectation_middle_right_open: (
4688+
Definition
4689+
) = {
4690+
"tensors": [["tensor", "tensor_conj", "T2a", "C3", "T3b"]],
4691+
"network": [
4692+
[
4693+
(-2, 3, 4, 5, -7, -4, -9), # tensor
4694+
(-3, 6, 7, 8, -8, -5, -10), # tensor_conj
4695+
(-1, 3, 6, 1), # T2a
4696+
(1, 4, 7, 2), # C3
4697+
(2, 5, 8, -6), # T3b
4698+
],
4699+
],
4700+
}
4701+
46144702
triangular_ctmrg_next_nearest_2_pos_x_pos_y_expectation_bottom: Definition = {
46154703
"tensors": [["tensor", "tensor_conj", "T3a", "C4", "C5", "T5b"]],
46164704
"network": [
@@ -4715,5 +4803,49 @@ def _prepare_defs(cls):
47154803
],
47164804
}
47174805

4806+
# nearest-neighbour expectation value for a single triangle configuration
4807+
4808+
triangular_ctmrg_corner_90_expectation: Definition = {
4809+
"tensors": [["tensor", "tensor_conj", "T6a", "C1", "C2", "T2b"]],
4810+
"network": [
4811+
[
4812+
(3, 4, 10, -7, -4, 5, -1), # tensor
4813+
(6, 7, 11, -8, -5, 8, -2), # tensor_conj
4814+
(-3, 5, 8, 1), # T6a
4815+
(1, 3, 6, 2), # C1
4816+
(2, 4, 7, 9), # C2
4817+
(9, 10, 11, -6), # T2b
4818+
],
4819+
],
4820+
}
4821+
4822+
triangular_ctmrg_corner_210_expectation: Definition = {
4823+
"tensors": [["tensor", "tensor_conj", "T4a", "C5", "C6", "T6b"]],
4824+
"network": [
4825+
[
4826+
(10, -7, -4, 4, 5, 3, -1), # tensor
4827+
(11, -8, -5, 7, 8, 6, -2), # tensor_conj
4828+
(-3, 4, 7, 1), # T4a
4829+
(1, 5, 8, 2), # C5
4830+
(2, 3, 6, 9), # C6
4831+
(9, 10, 11, -6), # T6b
4832+
],
4833+
],
4834+
}
4835+
4836+
triangular_ctmrg_corner_330_expectation: Definition = {
4837+
"tensors": [["tensor", "tensor_conj", "T2a", "C3", "C4", "T4b"]],
4838+
"network": [
4839+
[
4840+
(-4, 3, 4, 5, 10, -7, -1), # tensor
4841+
(-5, 6, 7, 8, 11, -8, -2), # tensor_conj
4842+
(-3, 3, 6, 1), # T2a
4843+
(1, 4, 7, 2), # C3
4844+
(2, 5, 8, 9), # C4
4845+
(9, 10, 11, -6), # T4b
4846+
],
4847+
],
4848+
}
4849+
47184850

47194851
Definitions._prepare_defs()

0 commit comments

Comments
 (0)