0

I'd like to use Stim to simulate an error correction protocol that includes entanglement purification. I've seen this post, but I'd prefer not to do post-selection and instead keep in the purification failures. Given that stim.TableauSimulator is so slow, is there now a better way to do this with the stim.FlipSimulator? Ideally this would also spit out a detector_error_model to allow for easy decoding.

q_bert
  • 1

1 Answers1

1

The flip simulator could be used as a building block for what you want. However, you will have to fill in many of the pieces. For example, the flip simulator doesn't spit out a detector error model. But you could record the operations you send to the simulator into a circuit, and derive a detector error model from that circuit.

A fundamental design issue here is that detectors and observables are declared at the end of their lifetimes, instead of at the beginning. This makes it hard to incrementally build a detector error model while streaming operations from a Stim circuit, because you don't know which errors affected which observables until the very end of the circuit. In terms of Stim's design, this would be complicated to fix. For example, it would involve introducing concepts like "reverse detectors" where you declare the resets the detector's sensitivity region starts from, instead of the measurements its sensitivity region ends at.

Craig Gidney
  • 47,099
  • 1
  • 44
  • 119