this line of c++ in surface code generation says:
// Define interaction orders so that hook errors run against the error grain instead of with it.
So how does the interaction orders in surface code prevent hook errors and what's hook errors?
Quantum Computing Stack Exchange is a question and answer site for engineers, scientists, programmers, and computing professionals interested in quantum computing. It only takes a minute to sign up.
Sign up to join this communitythis line of c++ in surface code generation says:
// Define interaction orders so that hook errors run against the error grain instead of with it.
So how does the interaction orders in surface code prevent hook errors and what's hook errors?
A hook error is an error that occurs in the middle of a stabilizer measurement cycle, producing symptoms that would require multiple data errors when not in the middle of the cycle.
For example, one error on the measurement qubit exactly halfway through the cycle can spread into two data errors by the end of the cycle:
If those two data errors are oriented between Z boundaries, this is a problem. It means you can make an undetectable logical error using half as many physical errors as you thought, by using hook errors (these mid-cycle errors). Their orientation is determined by the order in which the CNOT gates touch the qubits. So it's possible to pick good and bad orders of the CNOT gates.