|q⟩ Bad Qubits

advanced · Physics · Fault-Tolerant Quantum Computing

Checkpoint: Concatenation Math

Putting the recursion to work

This checkpoint ties together the concatenation recursion and the overhead count. Recall the level-LL logical error rate for a fault-tolerant concatenated scheme,

pL=pth(ppth)2L,p_L = p_{\text{th}}\left(\frac{p}{p_{\text{th}}}\right)^{2^{L}},

and that each level multiplies the physical-qubit count by the base-code size nn, so a level-LL logical qubit occupies nLn^{L} physical qubits. The practical question an architect asks is: how many levels do I need to hit a target logical error rate, and what does that cost?

A concrete instance

Take a base code with threshold pth=10−2p_{\text{th}} = 10^{-2}, a physical error rate p=10−3p = 10^{-3} (so the suppression base is p/pth=0.1p/p_{\text{th}} = 0.1), and a target logical error rate ε=10−15\varepsilon = 10^{-15} — a representative requirement for a long algorithm. We need the smallest integer number of levels LL such that pL≤εp_L \le \varepsilon.

Working it out by hand:

pL=10−2 (0.1)2L=10−(2+2L)≤10−15  ⟺  2+2L≥15  ⟺  2L≥13.p_L = 10^{-2}\,(0.1)^{2^{L}} = 10^{-(2 + 2^{L})} \le 10^{-15} \;\Longleftrightarrow\; 2 + 2^{L} \ge 15 \;\Longleftrightarrow\; 2^{L} \ge 13 .

Since 23=8<132^{3} = 8 < 13 but 24=16≥132^{4} = 16 \ge 13, the smallest level is

 L=4 .\boxed{\,L = 4\,.}

A quick sanity check on the boundary: L=3L = 3 gives p3=10−2(0.1)8=10−10p_3 = 10^{-2}(0.1)^{8} = 10^{-10}, which is larger than 10−1510^{-15} and so insufficient; L=4L = 4 gives p4=10−2(0.1)16=10−18≤10−15p_4 = 10^{-2}(0.1)^{16} = 10^{-18} \le 10^{-15}, comfortably below target. With a 77-qubit base code that is 74=24017^{4} = 2401 physical qubits per logical qubit — the price of double-exponential suppression.

Try it

Compute the smallest integer number of concatenation levels LL needed so that pL=pth(p/pth)2L≤εp_L = p_{\text{th}}(p/p_{\text{th}})^{2^{L}} \le \varepsilon, with pth=10−2p_{\text{th}} = 10^{-2}, p=10−3p = 10^{-3}, and ε=10−15\varepsilon = 10^{-15}. Loop over L=0,1,2,…L = 0, 1, 2, \ldots, evaluating pLp_L each time, and return the first LL that satisfies the bound. (Derive it in code — do not hardcode 44.)

Run your code to see the quantum state.

Sign in on the full site to ask questions and join the discussion.