CCZ factory with TELS¶
The factory prepares a CCZ resource using T injections and parity checks in a 4-by-3 layout. The time-efficient lattice-surgery (TELS) checks are expressed through cube heights, named values, and a discard condition.
Block graph¶
BLOG source¶
BLOG 1.0
module main {
out ccz_0: ccz = 75
out ccz_1: ccz = 76
out ccz_2: ccz = 77
0: T [0, 0, 0]
1: T [1, 0, 0]
2: T [2, 0, 0]
3: T [0, 2, 0]
4: T [1, 2, 0]
5: T [2, 2, 0]
6: ZXX [0, 0, 1] height=2d/3
7: ZXX [1, 0, 1] height=2d/3
8: ZXX [2, 0, 1] height=2d/3
9: T [3, 0, 1]
10: ZZX [0, 1, 1] height=2d/3
11: ZZX [1, 1, 1] height=2d/3
12: ZZX [2, 1, 1] height=2d/3
13: ZXZ [0, 2, 1] height=2d/3
14: ZXZ [1, 2, 1] height=2d/3
15: ZXX [2, 2, 1] height=2d/3
16: T [3, 2, 1]
17: ZXX [0, 0, 2] height=2d/3
18: ZXX [1, 0, 2] height=2d/3
19: ZXX [2, 0, 2] height=2d/3
20: ZXX [3, 0, 2] height=2d/3
21: ZZX [0, 1, 2] height=2d/3
22: ZZX [1, 1, 2] height=2d/3
23: ZZX [2, 1, 2] height=2d/3
24: ZZX [3, 1, 2] height=2d/3
25: ZXX [0, 2, 2] height=2d/3
26: ZXX [1, 2, 2] height=2d/3
27: ZXX [2, 2, 2] height=2d/3
28: ZXX [3, 2, 2] height=2d/3
29: ZXZ [0, 0, 3] height=2d/3
30: ZXX [1, 0, 3] height=2d/3
31: ZXX [2, 0, 3] height=2d/3
32: ZXX [3, 0, 3] height=2d/3
33: ZZX [0, 1, 3] height=2d/3
34: ZZX [1, 1, 3] height=2d/3
35: ZZX [2, 1, 3] height=2d/3
36: ZZX [3, 1, 3] height=2d/3
37: ZXX [0, 2, 3] height=2d/3
38: ZXZ [1, 2, 3] height=2d/3
39: ZXZ [2, 2, 3] height=2d/3
40: ZXZ [3, 2, 3] height=2d/3
41: ZXX [0, 0, 4] height=2d/3
42: ZXX [1, 0, 4] height=2d/3
43: ZXX [2, 0, 4] height=2d/3
44: ZXZ [3, 0, 4] height=2d/3
45: ZXX [0, 1, 4] height=2d/3
46: ZZX [1, 1, 4] height=2d/3
47: ZZX [2, 1, 4] height=2d/3
48: ZZX [3, 1, 4] height=2d/3
49: ZXZ [0, 2, 4] height=2d/3
50: ZXX [1, 2, 4] height=2d/3
51: ZXZ [2, 2, 4] height=2d/3
52: ZXX [3, 2, 4] height=2d/3
53: XY [1, 0, 5]
54: XY [2, 0, 5]
55: ZXZ [3, 0, 5] height=2d/3
56: ZXZ [0, 1, 5] height=2d/3
57: XXZ [1, 1, 5] height=2d/3
58: XXZ [2, 1, 5] height=2d/3
59: ZXZ [3, 1, 5] height=2d/3
60: ZXZ [0, 2, 5] height=2d/3
61: XY [1, 2, 5]
62: XY [2, 2, 5]
63: ZXZ [3, 2, 5] height=2d/3
64: XXZ [2, 0, 6] height=2d/3
65: ZXZ [3, 0, 6] height=2d/3
66: XXZ [2, 1, 6] height=2d/3
67: ZXZ [3, 1, 6] height=2d/3
68: ZXZ [0, 2, 6] height=2d/3
69: XXZ [1, 2, 6] height=2d/3
70: XXZ [2, 2, 6] height=2d/3
71: ZXZ [3, 2, 6] height=2d/3
72: ZXX [3, 0, 7] height=2d/3
73: ZXX [3, 1, 7] height=2d/3
74: ZXX [3, 2, 7] height=2d/3
75: Port [3, 0, 8]
76: Port [3, 1, 8]
77: Port [3, 2, 8]
0 -> +Z
1 -> +Z
2 -> +Z
3 -> +Z
4 -> +Z
5 -> +Z
6 -> +Y
6 -> +Z
7 -> +Y
7 -> +Z
8 -> +Y
8 -> +Z
9 -> +Z
10 -> +X
11 -> +X
12 -> +Y
13 -> +Z
14 -> +Z
15 -> +Z
16 -> +Z
17 -> +Y
17 -> +Z
18 -> +Y
18 -> +Z
19 -> +Y
19 -> +Z
20 -> +Y
20 -> +Z
21 -> +X
21 -> +Y
22 -> +Y
23 -> +X
23 -> +Y
24 -> +Y
25 -> +Z
26 -> +Z
27 -> +Z
28 -> +Z
29 -> +Z
30 -> +Y
30 -> +Z
31 -> +Y
31 -> +Z
32 -> +Y
32 -> +Z
33 -> +X
33 -> +Y
34 -> +X
35 -> +X
37 -> +Z
38 -> +Z
39 -> +Z
40 -> +Z
41 -> +Y
42 -> +Y
42 -> +Z
43 -> +Y
43 -> +Z
44 -> +Z
45 -> +Z
46 -> +X
46 -> +Y
47 -> +X
48 -> +Y
49 -> +Z
50 -> +Z
51 -> +Z
52 -> +Z
55 -> +Z
56 -> +X
57 -> +X
58 -> +X
59 -> +Z
60 -> +Z
63 -> +Z
64 -> +X
64 -> +Y
65 -> +Z
66 -> +X
66 -> +Y
67 -> +Z
68 -> +X
69 -> +X
70 -> +X
71 -> +Z
72 -> +Z
73 -> +Z
74 -> +Z
mz0126 = measure 10 -> +X
mz0145 = measure 21 -> +X
mz2367 = measure 23 -> +X
mz1234 = measure 33 -> +X
mz1257 = measure 47 -> +X
mx1357 = measure 64 -> +X
discard if mz0126 ^ mz0145 ^ mz1234 ^ mz1257 ^ mz2367
discard if mx1357
resolve 53 if !(mz0126 ^ mz2367)
resolve 54 if !(mz1257 ^ mz0145)
resolve 61 if !(mz0126 ^ mz0145 ^ mz2367)
resolve 62 if !(mz1257 ^ mz0145 ^ mz2367)
feedback X 75
feedback X 76
feedback X 77
}
See BLOG Format for the syntax or return to all examples.