3

An erasure error is a heralded error that completely destroys a qubit (e.g. resets it or maximally mixes it). The qubit is gone but you are told it's gone. How do I simulate this kind of error using stim?

Craig Gidney
  • 36,389
  • 1
  • 29
  • 95

2 Answers2

4

Since stim v1.12, you can use the HERALDED_ERASE gate or the HERALDED_PAULI_CHANNEL_1 gate to get heralded erasures.

Note that you will still need to find a decoder that understands the erasures. For example, as of this writing, pymatching will just ignore the heralds and do normal decoding instead of erasure-informed decoding.


For more complex erasure errors, you can sort of emulate erasures by combining CORRELATED_ERROR, ELSE_CORRELATED_ERROR, and an ancilla. This ancilla qubit is not physical; it's just a way of explaining what you want in terms of a circuit. Each heralded error should flip the ancilla qubit in addition to applying its normal error effects. In this way, measuring the ancilla will reveal the herald. Then you can declare detectors and etc on this measurement result, like with any other measurement.

Craig Gidney
  • 36,389
  • 1
  • 29
  • 95
2

Adding my two cents on "finding a decoder that understands the erasures" - here are slides I made in the past, which seems to be valid for the newly updated HERALDED_ERASE feature in Stim as well. Thanks for adding this feature!

enter image description here

enter image description here