Timeline for What is the meaning of "shots" and "rounds" in Stim?
Current License: CC BY-SA 4.0
12 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Mar 4 at 23:41 | comment | added | Craig Gidney | @user1936752 there is only REPEAT. Generally you generate circuits using a programming language so you would write a loop in that language to generate the repetitive instructions. | |
Mar 4 at 21:20 | comment | added | user1936752 |
@CraigGidney Is REPEAT the only loop that is allowed while building a circuit? Can one have a for loop with something like CNOT X(i) X(i+1) with incrementing i in some range?
|
|
Oct 20, 2021 at 22:28 | vote | accept | unknown | ||
Oct 20, 2021 at 21:36 | comment | added | Craig Gidney | @unknown For example, generate a circuit with 100 rounds, and copy out the body of the REPEAT block. That's the stabilizer measurements. Do it once (without the detectors) then again (with the detectors). Add noise between the two. Then put noiseless initialization beforehand and noiseless measurement afterward, with an observable checking the end measurement agrees with the init. That's the circuit you want. | |
Oct 20, 2021 at 21:34 | comment | added | Craig Gidney | @unknown For modelling a communication channel where only the transmission is noisy, you will need to do something a bit custom. You want to measure the stabilizers once on the sender, and once at the receiver, with noise applied to the data qubits in between. You use comparisons between the before/after measurements as detectors, and use knowledge of the transmitted state vs noiseless data measurement at the end as the observable. Stim's generated circuits have pieces you can build from (e.g. blocks of instructions measuring all the stabilizers), but you have to customize them a bit. | |
Oct 20, 2021 at 20:56 | comment | added | unknown | I want to make sure I understand the setup. For a first step I just want to model the "channel", so my understanding is that I should get the same exact performance with one measurement or several...maybe I'm still confused. | |
Oct 20, 2021 at 20:48 | comment | added | Craig Gidney | @unknown It depends on what you're testing. I would not consider that to be okay, because real computations have to preserve information over time (over multiple rounds) instead of smashing it immediately after it's created. Using a single round reduces the decoding problem from 3d to 2d, which affects things like the threshold. It puts the entire problem very close to time boundaries, so you're dominated by boundary effects and don't see bulk effects. But maybe you're purposefully simplifying the situation to get a hold on the problem. | |
Oct 20, 2021 at 20:45 | comment | added | unknown | since I don't have measurement noise now, setting rounds=1 should be ok right? | |
Oct 20, 2021 at 20:43 | history | edited | Craig Gidney | CC BY-SA 4.0 |
added 140 characters in body
|
Oct 20, 2021 at 20:43 | comment | added | Craig Gidney | @unknown No. A code with 100 stabilizers and 2 rounds will measure each of the 100 stabilizers twice via the ancillary measurement qubit associated with that stabilizer. There is also a third implicit measurement of the stabilizer from the final measurement of the data qubits. | |
Oct 20, 2021 at 20:32 | comment | added | unknown | does the number of rounds need to match the number of stabilizers? so it would be code dependent? what happens if I enter more or less than that? | |
Oct 20, 2021 at 20:18 | history | answered | Craig Gidney | CC BY-SA 4.0 |