|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=102p_{\text{th}} = 10^{-2}, a physical error rate p=103p = 10^{-3} (so the suppression base is p/pth=0.1p/p_{\text{th}} = 0.1), and a target logical error rate ε=1015\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=102(0.1)2L=10(2+2L)1015    2+2L15    2L13.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=16132^{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=102(0.1)8=1010p_3 = 10^{-2}(0.1)^{8} = 10^{-10}, which is larger than 101510^{-15} and so insufficient; L=4L = 4 gives p4=102(0.1)16=10181015p_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=102p_{\text{th}} = 10^{-2}, p=103p = 10^{-3}, and ε=1015\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.