Delfosse Lecture 4
Delfosse Lecture 4
Overview
Input:
𝑎 𝑔𝑏 , 0 ⋮
• A finite group 𝐺
• Two subsets 𝐴, 𝐵 of 𝐺 such that 𝐴 = 𝐴 and 𝐵 = 𝐵. 𝑎 𝑔, 1
𝑎 𝑔, 1
Output:
𝑔, 0
A complex 𝑋 = (𝑉, 𝐸, 𝐹) where:
𝑔𝑏 , 1
• 𝑉 = 𝑉 ∪ 𝑉 where V = 𝐺 × 𝑖
𝑔𝑏 , 1
• 𝐸 =𝐸 ∪𝐸 where 𝐸 = { 𝑔, 0 , (𝑎𝑔, 1)} and 𝐸 = { 𝑔, 0 , (𝑔𝑏, 1)}
• 𝐹 = set of squares 𝑓 𝑔, 𝑎, 𝑏 ≔ 𝑔, 0 , 𝑎𝑔, 1 , 𝑔𝑏, 1 , (𝑎𝑔𝑏, 0) ⋮
7/28/2023
𝑔𝑏, 1 𝑎𝑔𝑏, 0
Local structure
𝐺 = 𝑔 ,𝑔 ,…
𝐴 = 𝑎 ,𝑎 ,… ⊆ 𝐺
𝐵 = 𝑏 ,𝑏 ,… ⊆ 𝐺 𝑔, 0 𝑎𝑔, 1
Type A edge:
𝑎 ×⋅
𝑉=
⋮ ⋮
Type B edge:
⋅× 𝑏
𝐺 × {0} 𝐺 × {1}
7/28/2023
Neighborhood of a vertex
Consider 𝑣 = 𝑔, 0
• Neighboring vertices: 𝑎𝑔, 1 with 𝑎 ∈ 𝐴 and 𝑔𝑏, 1 for 𝑏 ∈ 𝐵
• Neighboring faces: 𝑔, 0 , 𝑎𝑔, 1 , 𝑔𝑏, 1 , (𝑎𝑔𝑏, 0) for each pair 𝑎, 𝑏 ∈ 𝐴 ×
B.
𝐴
Abstract representation the faces neighboring 𝑣 :
𝐹 𝑣 =𝐴×𝐵 = 𝐵
7/28/2023
𝑔𝑏, 1 𝑎𝑔𝑏, 0
Intersection of two
neighborhoods
Question. What is 𝐹 𝑣 ∩ 𝐹(𝑣 ) for two vertices 𝑣 = 𝑔, 0 and 𝑣′ =
𝑔′, 1 ?
𝑔, 0 𝑎𝑔, 1
• If 𝐹 𝑣 ∩ 𝐹 𝑣 ≠ ∅, then 𝑣 and 𝑣 must share an edge.
• Why?
𝐴
• If they share a type A edge: 𝑣 = 𝑔, 0 and 𝑣′ = 𝑎𝑔, 1
• Then 𝐹 𝑣 ∩ 𝐹 𝑣 is the set of faces:
𝑔, 0 , 𝑎𝑔, 1 , 𝑔𝑏, 1 , (𝑎𝑔𝑏, 0) for 𝑏 ∈ B
𝐵
𝐹 𝑣 ∩𝐹 𝑣 =𝐵=
• If they share a type B edge:
7/28/2023
0 1 1 0 1 0 0
Ex. 0 1 1 0 1 0 0
0 1 1 0 1 0 0
0 1 1 0 1 0 0
-2 -1 0 1 2
7/28/2023
• 𝐺 = ℤ , 𝐴 = {±3}
Why do we need 𝐴 = 𝐴 ?
7/28/2023
Ex. 𝐺 = ℤ, 𝐴 = {±2}
𝐺× 0 =
𝐺× 1 =
7/28/2023
Example
𝐺 = ℤ , A = ±1 , 𝐵 = ±2
0 0
1 1
0
2 2
1
3 3
2
4 4
3
5 5
Example - 𝐺 = ℤ , 𝐴 = ±1 , 𝐵 = ±2
(6,1)
(3,1)
(+2, flip) (−2, flip) What is this shape?
7/28/2023
(+1,0, flip)
(2,1,1) (0,1,0) (1,1,1)
(−1,0, flip)
(0,2,1) (1,2,1) (2,2,0) (0,2,1) (1,2,0) (2,2,1)
(2,0 (0,0 (1,0,1) (0,0,1) (1,0,0) (2,0,1) (0,0,0) (1,0,1) (2,0,0) (0,0,1)
,1) ,0)
(0,0,1)
(+1,0, flip) (−1,0, flip)
7/28/2023
Construction:
XZ Z 𝐹 𝑣 =𝐴×𝐵 =
X
(0,0,1) (1,0,0) (2,0,1) (0,0,0) (1,0,1) (2,0,0) (0,0,1)
X XZ Z
(1,1,1) (2,1,0) (0,1,1) (1,1,0) (2,1,1) We need to a tensor code 𝐶 ⊗ 𝐶 on 𝐴 × 𝐵:
⇒ 𝐶 = 𝐶 = 00, 11
(2,2,1) (0,2,0) (1,2,1) 0 0 1 1
𝐶 ⊗𝐶 =
0 0 1 1
(0,0,1)
X X
⇒ X stabilizer generator:
X X
We recover the toric code.
7/28/2023
Take:
• 𝐺 = PSL 𝑞
• 𝐶 = random code
• 𝐶 = random code
This leads to a family of good quantum LDPC codes.
Question:
Should we all replace our codes by good quantum LDPC codes?
7/28/2023
Conclusion
7/28/2023
Pauli
error E Correcti Decode
𝜓 ∈ stabilizer code 𝐸𝜓
on of E r
1 0 1
Syndrome Z syndrome of E
extraction
circuit
circuit layout
7/28/2023
decoder
code circuit
layout
Numerical
results
Noise threshold:
0.28% (instead of 0.7% for surface codes)
X
Is our scheme fault-tolerant?
Z
𝐸𝜓 Z Z
Syndrome extraction: X X
• What is this circuit?
• Are there ‘bad’ faults for this | +> X X X
circuit?
• What is the effect of a X fault on the
ancilla qubit?
• Can we avoid that? X
• Should we avoid that? Z
Decoder: 𝐸|𝜓⟩ Z
• BP corrects each qubits independently
based on marginal probability. Is it a
X
problem?
• The decoder uses noisy syndrome data.
Is it a problem?
Conclusion:
• Practical FT ≠ Theoretical FT 0000 + |1111⟩
7/28/2023
decoder
7/28/2023
1. Jochym-O’Connor, arxiv:1807.09783
2. Krishna, Poulin, arxiv:1909.07424
3. Cohen, Kim, Bartlett, Brown,
arxiv: 2110.10794
Figure from ref 3. 4. Breuckmann, Burton,
arxiv:2202.06647
7/28/2023
Hyperbolic codes:
• Higgott, Breuckmann (2020)
• Breuckmann, Vuillot, Campbell, Krishna, Terhal (2017)
Floquet codes:
• Haah, Hastings (2021)
Spacetime code:
• Delfosse, Paetznick (2023)
7/28/2023
Appendix - History of
classical LDPC codes
7/28/2023
• Today LDPC codes are in your cell phone, your laptop, your WiFi…
7/28/2023
Quantum goal:
• Achieve capacity?
• Build a fault-tolerant quantum computer?
We can still learn form the classical case: For instance, starting
with the erasure channel.
7/28/2023
0 0 0 1 0 0 1
1
1. Select a Z check
1 1 0 0 1 0
2. Select an error 𝐸 inside
Z checks the Z check that reduces
the syndrome weight.
3. Update the syndrome
X I X
7/28/2023
Decoder iterations
Notation:
• n = code length.
• w = max. degree of a check (max. weight of a stabilizer
generator).
Remark:
• Linear-time complexity for bounded degree Tanner graphs.
• May be slow in practice for large w.