7/28/2023
Quantum LDPC codes
Lecture 4
Nicolas Delfosse
Microsoft
PCMI Summer School 2023
July 28th 2023
7/28/2023
Overview
• Brief overview of quantum Tanner code
• Conclusion: Should we abandon surface
codes?
7/28/2023
Quantum Tanner codes
7/28/2023
Some constructions of QLDPC
codes
Topological codes:
• 1997: Kitaev. d = Ω( 𝑛) but 𝑘 = 1.
• 2002: Freedman, Meyer, Luo d=Ω 𝑛 log 𝑛
• 2009: Bravyi, Poulin, Terhal bound: kd ≤
constant × n
Hypergraph-product codes and generalizations:
• 2009: Tillich, Zémor. HGP d=Ω 𝑛
with 𝑘 ∝ 𝑛
• 2013: Bravyi, Hastings. Homological products
• 2020: Hastings, Haah, O’Donnell: Fiber bundle codes d=Ω
• 2020: Panteleev, Kalachev: Lifted products d=n / log 𝑛
• 2020: Breuckmann and Eberhardt: Balanced products d = Ω(𝑛 )
7/28/2023
Decoder for good LDPC codes
Good LDPC codes:
• 2021: Panteleev and Kalachev. Good QLDPC codes
• 2021: Dinur, Evra, Livne, Lubotzky, and Mozes. LTC codes
• 2022: Leverrier, Zémor
Linear time decoders for quantum Tanner codes:
• 2022: Gu, Pattison, Tang
• 2022: Dinur, Hsieh, Lin, VIdick
• 2022: Leverrier, Zémor
7/28/2023
Left-Right Cayley Complex
𝑎 𝑔𝑏 , 0
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
Tensor codes of two classical
codes
Def. A codeword of 𝐶 ⊗ 𝐶 is bitstring forming a 𝑛 × 𝑛 matrix 𝑥
such that
• each column of 𝑥 is in 𝐶 ,
• each row of 𝑥 is in 𝐶 ,
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
is in the product of the Hamming code and the 3-repetition code.
Prop. The code 𝐶 ⊗ 𝐶 has parameters [𝑛 𝑛 , 𝑘 𝑘 ].
7/28/2023
Definition of quantum Tanner
codes
• Select a finite group 𝐺.
• Select 𝐴, 𝐵 ⊆ 𝐺 such that 𝐴 = 𝐴 and 𝐵 = 𝐵.
𝐴 • Select two codes 𝐶 and 𝐶 with length 𝐴 and 𝐵 .
• Place a qubit on each face of the left-right
Cayley complex (𝑉, 𝐸, 𝐹)
• For each 𝑣 = 𝑔, 0 , for each 𝑐 ∈ 𝐶 ⊗ 𝐶 , define a X
𝐹(𝑣) = 𝐵 generator on 𝐹(𝑣) acting on the support of 𝑐.
• For each 𝑣 = 𝑔, 1 , for each 𝑐 ∈ 𝐶 ⊗ 𝐶 , define a Z
generator on 𝐹(𝑣) acting on the support of 𝑐.
Prop. The generators commute because 𝐹 𝑣 ∩ 𝐹 𝑣 is
either empty, or a row of 𝐹 𝑣 or a column of 𝐹 𝑣 .
The sets must satisfy the TNC condition for all 𝑎, 𝑔, 𝑏: 𝑎𝑔 ≠ 𝑔𝑏
7/28/2023
Example of Cayley graphs
• 𝐺 = ℤ,
• 𝐴 = {±1}
-2 -1 0 1 2
7/28/2023
Example of Cayley graphs
• 𝐺 = ℤ , 𝐴 = { ±1,0 , (0, ±1)}
• 𝐺 = ℤ , 𝐴 = { ±1,0 , 0, ±1 , (±1, ±1)}
• 𝐺 = ℤ , 𝐴 = {±3}
Why do we need 𝐴 = 𝐴 ?
7/28/2023
Double cover of a Cayley graph
It is the graph with
• 𝑉 = 𝑉 ∪ 𝑉 with 𝑉 = 𝐺 × {0} and 𝑉 = 𝐺 × {1}
• Two types of edges: { 𝑔, 0 , 𝑎𝑔, 1 } and { 𝑔, 1 , 𝑎𝑔, 0 }
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
𝐺 × {0} 𝐺 × {1} A square
7/28/2023
Example - 𝐺 = ℤ , 𝐴 = ±1 , 𝐵 = ±2
(6,1)
Type A edge: (3,1) (4,0) (5,1)
(+1, flip)
(2,1) (0,1) (1,0) (2,1) (3,0) (4,1)
(−1, flip)
(8,1 (0,0 (1,1) (6,1) (7,0) (8,1) (0,0) (1,1) (2,0) (3,1)
) )
Type B edge: (7,1) (5,1) (6,0) (7,1) (8,0) (0,1)
(4,1) (5,0) (6,1)
(3,1)
(+2, flip) (−2, flip) What is this shape?
7/28/2023
Example - 𝐺 = ℤ × ℤ , 𝐴 = (±1,0) , 𝐵 = (0, ±1)
Type A edge: (0,0,1)
(+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)
Type B edge: (0,1,1) (1,1,1) (2,1,0) (0,1,1) (1,1,0) (2,1,1)
(2,2,1) (0,2,0) (1,2,1)
(0,0,1)
(+1,0, flip) (−1,0, flip)
7/28/2023
Construction:
Example - • Qubits are on faces
• For 𝑣 = 𝑔, 0 , 𝑐 ∈ 𝐶 ⊗ 𝐶 , define a X
generator on 𝐹(𝑣) acting on the
support of 𝑐.
(0,0,1)
• For 𝑣 = 𝑔, 1 , 𝑐 ∈ 𝐶 ⊗ 𝐶 , define a Z
generator on 𝐹(𝑣) acting on the
(2,1,1) (0,1,0) (1,1,1) support of 𝑐.
= 𝑔, 0 = X stabilizer generators
(1,2,1) (2,2,0) (0,2,1) (1,2,0) (2,2,1)
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
How to get good LDPC codes
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
Overview of the whole scheme
code Syndrome
extraction X syndrome of E
circuit
0 1 1
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
Overview of the whole scheme
decoder
code circuit
layout
Select two random • Compute the • Compute a • We use BP for
Tanner graphs with Tanner graph T of layered decoding in a
• 4s bits with degree the code. decomposition of single shot
3. • Compute an edge the Tanner manner.
• 3s checks with coloration of T graph. • We estimate the
degree 4. • Construct the • Compute an edge logical error rate
• girth ≥ 8 color-based coloration of T over 10 rounds of
syndrome • Construct the syndrome
Construct their HGP. extraction color-based extraction.
• Estimate the circuit. syndrome • To check if a
performance of the extraction logical error
HGP code using the circuit. occurs, we use SSF
SSF decoder. decoder to correct
• Select the best HGP the residual
code out of 50 –
7/28/2023
Numerical
results
Noise threshold:
0.28% (instead of 0.7% for surface codes)
# physical qubits per logical qubit:
49 (instead of thousands for surface codes)
7/28/2023
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
What could be improved?
1. Improve the code: code
• linear distance,
• reduced code length,
• denser family.
circuit
2. Improve the circuit:
• the circuit is not FT (reduced distance).
3. Improve the decoder:
• better logical error rate,
• linear complexity,
• hardware optimization. layout
4. Improve the simulation:
• Refine the numerical estimate of the logical error rate.
• Simulate longer lifetime.
decoder
7/28/2023
What about computation?
• 2013: Gottesman - Fault-Tolerant Quantum Computation with constant
overhead.
• Other proposals for fault-tolerant logical gates in QLDPC codes1,2,
3, 4.
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
What could go wrong with this
approach?
• Noise could be correlated.
• Noise could be non-Pauli.
• We may be unable to build sufficiently
reliable hardware (need 𝑝 = 10 ).
• The blocks could be too big (we need
𝑛 = 900,000).
• The decoder could be too slow.
• Fault-tolerant operations may be
expensive.
• We may be unable to build the required
long-range connections.
• We may need too many long-range
connections.
• Building insulated layers of long-range
connections may be hard.
7/28/2023
Other encoding strategies
Now what?
Should we abandon surface codes?
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
Brief (and biased) history
• Asymptotic results: Shannon (1940’s)
• Channel capacity: If we use a channel an infinite number
of times, what is the maximum number of bits of
information that we can send per use of the channel?
• Basic idea: Random codes are optimal.
• Problem: How to encode? How to decode?
• Birth of modern coding: Elias and Gallager (1960’s)
• Linear codes perform as well as random codes but encoding
is easy.
• Convolutional codes too.
• Erasure channel as a toy model.
• LDPC codes.
7/28/2023
Brief (and biased) history
• The comeback of modern coding: Berrou, Mackay, Neal, Richardson,
Urbanke, Shorkollahi, … (1990’s):
• Turbo codes
• LDPC codes
• Decoding is easy! But is it optimal?
• Capacity achieving codes.
• Proofs for the erasure channel first.
• Irregular LDPC codes.
• Spatially-coupled codes achieve capacity (Kudekar, Richardson,
Urbanke 2013).
• Today LDPC codes are in your cell phone, your laptop, your WiFi…
7/28/2023
How far are we from the
classical story?
Classical goal:
• Achieve capacity with a linear time decoder.
Def. The capacity of a channel 𝑁 is the maximum rate of a family
of codes with vanishing logical error rate.
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
Appendix - Small Set
Flip (SSF) decoder
Leverrier, Tillich, Zémor -
arXiv:1504.00822 (2015)
7/28/2023
Small Set Flip decoder – Basic
idea
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
Small Set Flip decoder – Basic
idea
Syndrome weight
Decoder iterations
Leverrier, Tillich, Zémor -
arXiv:1504.00822 (2015)
7/28/2023
Small set flip decoder
Def: A critical generator g is a Z stabilizer generator that
contains a X error that reduces the weight of the syndrome.
Input: A syndrome value 𝑠 = 0 or 1 for each Z check node.
Output: A correction for X errors.
1. While there exists a critical generator g:
2. Select an error 𝐸 (𝑔) included in g such that
| ( )|
is maximum.
3. Update the syndrome: Add s(𝐸 (𝑔)) to the syndrome.
4. Return the product of all the 𝐸 𝑔 .
Theorem. [Leverrier, Tillich, Zémor, 2015]. Under some
conditions about the expansion of the two input graphs, the
small set flip decoder for HGP codes corrects any set of
𝛩( 𝑛) errors.
7/28/2023
Small set flip decoder -
Complexity
Complexity: 𝑂(2 𝑛)
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.