I have been learning about quantum error correction using the zero-noise extrapolation method from this paper and have been pleased with the results. This method takes advantage of the fact that the quantum gate noise is predictable as seen, for example, in the plot below. Here, I have taken a simple 2-qubit circuit given by
qc.x(0), qc.h(0), qc.cx(0,1), qc.x(0) and added noise to it in the form of pairs of CNOT gates (a noisey identity matrix). I am plotting the $|01\rangle$ solution for this circuit as a function of the number of CNOT pairs that I used. This is done using the qiskit noise model with the IBMQ-montreal gate error rates. Note that the real solution is 0.5.
Clearly, the noise follows a very predictable relationship which to me is unexpected. Instead, what I expected was the noise to be scattered evenly across the real solution (0.5) with the amount of scatter being proportional to the number of gates, as shown in the made up plot below.
My question is, why does the noise follow the predictable curve instead of a random scattering about the real solution? And a follow up question, for an arbitrary circuit, how can I predict what the curve will look like?
Update: I ran my noisy circuits on the real IBMQ-athens machine to see if it is anywhere close to the simulated results. The plot is below is meant to be the same as the first plot (except the maximum depth is a less because I could not exceed 900).
Clearly the noise is no where near as organized as in the simulated version. What I don't know is if that was a failure on my part to simulate the noise correctly, or if it is a problem of the qiskit noise simulator itself.