5
$\begingroup$

I am having trouble understanding what people mean when they say "error threshold."

I understand the answer here but it isn't code specific, it is only dependent on the number of physical qubits $n$ and the distance of the code $d$. For example, any $9$ qubit code with $d = 3$ has the same threshold as the Shor code using this method of calculation.

I realize that the threshold depends on the error model and the previous assumes tacitly that errors occur identically and independently on each physical qubit. However, I am not really sure how people in literature seem to be calculating error thresholds for specific codes, what are they doing?

I have heard many people say "just simulate your code to compute the threshold" (cf here) but I don't really understand this either because it seems like you would just reproduce what we got above?

$\endgroup$
6
  • $\begingroup$ To be clear, are you interested in a error correcting threshold, as computed in the linked answer, meaning that encoding/decoding operations are perfect but there is a noise process between the two, or do you want a fault-tolerant threshold, where the gates that perform the error correction are also noisy? (This may be part of the discrepancy you're searching for.) $\endgroup$
    – DaftWullie
    Feb 15 at 14:49
  • $\begingroup$ @DaftWullie Good question, the answer is that I really don't know the difference between the two thresholds. I guess I am wondering what people usually consider when talking about "threshold." $\endgroup$ Feb 15 at 15:59
  • $\begingroup$ usually the threshold refers to the fault-tolerant threshold, where the gates are noisy. This is much harder to analyse, which is why you end up simulating it. $\endgroup$
    – DaftWullie
    Feb 15 at 16:02
  • 1
    $\begingroup$ @DaftWullie I see. So the linked answer is truly code independent but when people refer to "threshold" they are including that sort of analysis together with assuming that the gates that make up the error correction procedure could be faulty? $\endgroup$ Feb 15 at 16:45
  • 1
    $\begingroup$ one thing to keep in mind is that "threshold" is defined for a family of codes. If you siumulate a single code then your calculating its "pseudo threshold". Personally I think pseudo threshold is the better parameter : a code can live in several families... $\endgroup$
    – unknown
    Feb 16 at 15:51

1 Answer 1

5
$\begingroup$

Calculating the threshold as proposed in the answer you refer to gives you a worst-case estimate. Namely, in the calculation you are assuming that any error of weight $>t$ results in a logical error. Here $d=2t+1$.

One of the main reasons the surface code has good performance is that although $t+1$ errors can cause a logical error, most errors of weight $t+1$ are correctable. It's even the case that many errors with weight larger than $t+1$ are correctable. Therefore, simulations typically result in higher and more accurate thresholds.


I have heard many people say "just simulate your code to compute the threshold" (cf here) but I don't really understand this either because it seems like you would just reproduce what we got above?

So simulations don't just reproduce the threshold you would get from a calculation.


However, I am not really sure how people in literature seem to be calculating error thresholds for specific codes, what are they doing?

Usually they are doing a monte carlo simulation. They repeat the following steps many times:

  1. Take an error sample from the error model
  2. Calculate the syndrome
  3. Decode the syndrome to find a correction
  4. Check if the correction + error sample is a non-trivial (not equal to $I_L$) logical operator.
$\endgroup$
2
  • $\begingroup$ Ok great answer, this is sort of what I was anticipating but your answer makes it much more clear. Could you maybe explain more about how one "takes an error sample from the error model"? Are most people assuming a certain error model (like a depolarizing model where all non-trivial errors have the same probability) or what is most common? $\endgroup$ Feb 16 at 16:25
  • 2
    $\begingroup$ Yes, most common is a depolarising model with weight one paulis after single qubit gates and weight two paulis after two qubit gates. In Appendix A [Benchmarking the Honeycomb Code]( quantum-journal.org/papers/q-2022-09-21-813/pdf) a clear description of this most common error model is given. $\endgroup$
    – Peter-Jan
    Feb 19 at 10:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.