I’ve been wanting to implement shot noise into my code, using tfq.layers.NoisyPQC.

The documentation says as follows:

```
tfq.layers.NoisyPQC(
circuit,
cirq.Z(q),
repetitions=1000,
sample_based=False
)
```

In the above example we estimate the value of the expectation using monte-carlo trajectory simulations and analytic expectation calculation. To emulate the process used when sampling from a truly noisy device, we set

`sampled_based=True`

to estimate the expectation value via noisy bitstring sampling.

Now, I interpreted the NoisyPQC as if the repetitions were shots, because that is what the repetitions are for the regular PQC, according to its documentation. But, when I look at the documentation on the NoisyPQC, it looks as if ‘sample_based’ needs to be True to do shots. In that case, I do not know what the repetitions do when sample_based =False? The NoisyPQC does not function with repetitions = None.

My question is, would I be able to simulate shot noise when I set `sampled_based=True`

, and is the number of repetitions than the shot

number? I find it hard to say for certain based on the documentation.