2

Do BP (BP-OSD, BP-LSD) decoders process 3-dimensional graphs of a simple noise model, where the third dimension is the time dimension, like how the MWPM decoder works for surface codes? Is there a specific procedure for attacking measurement errors, or do the BP decoders treat all the errors equivalently? Could you provide me examples and resources implementing the BP decoders in this way (for circuit-level noise model, etc.)? Thank you!

1 Answers1

4

Yes, where MWPM works on the matchgraph, BP works on the Tanner graph of the DEM. Stim will allow you to compile your circuit into a detector error model by declaring "detectors" and it will also give you the probabilities of each detector triggering as independent events.

Good places to read on the detector error model are:

I suggest reading and trying things out at the same time. You can start with any stim circuit. Probably best to start small, so maybe some repetition code. Compile and sample a few shots. Use the detector_error_model_to_check_matrices function to extract the check matrix. You have the detector data ("syndromes"), observables ("logicals") and check matrix so you can decode with the ldpc bp decoder normally.

In the latest version of ldpc, you can use it with sinter directly, so you don't even have to do all this in practice, but it might be helpful to experiment.

user35159
  • 151
  • 4