In Google's neural network decoder paper Appendix A.4.6, they said:

By calling the simulator repeatedly with the same seed for increasing numbers of cycles, or through access to the internal simulator state, we are able to make a multi-round experiment with a shared bulk and a label for each round.

That means we will need to sample the same detection events for each rounds and attach a different final round detetction events to each layer. Suppose I only have the access to the detector error model, I have no idea how to achieve this with the exposed api of stim.


1 Answer 1


The thing done in that paper is a very brittle hack. It really isn't an intended use case, and even though it may run on the dem file it does implicitly rely on knowing the structure of the circuit. I don't think there's a way to do it in general for an arbitrary dem; you need to do it custom each time.

If you want to generate hint labels beyond what could be acquired physically in an actual experiment, I strongly recommend starting from a circuit and using a stim.FlipSimulator initialized with stabilizer_randomization=False. This will give you a well defined ability to peek at errors, and also the ability to make copies of the simulator to play out hypotheticals like "what if I did noiseless data measurements right now". Also it's more efficient than re-running the simulation for more and more rounds, starting over from the beginning each time.


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.