I am reading surface code theory with this paper. It is explained there that the $X_L$ and $Z_L$ (logical $X$ and $Z$ operator) can be pushed at the end of the circuit and they actually do not have to be implemented on the hardware.

The purpose of my question is to verify if I understood the general property allowing it to be true.

I assume to simplify the discussion that the circuit is only composed of Clifford operations. The reason why we can "push to the end" the Pauli is that as the circuit will only be composed of Clifford operations, for any gate $G$ in this circuit, for any pauli operator $P$, we will have

$$GP=P' G$$

where $P'$ is another Pauli operator.

For this reason, we can pre-compute the commutation of our Pauli being $X$ or $Z$ for all the other Clifford gate in the circuit and use consecutive commutation relation to push them toward the end of the circuit. There we can simplify the resulting circuit (using things such as $X^2=I$ for instance).

Also, this trick works for Pauli operator but it doesn't work for other Clifford operations which would be harder to push "toward the end" (because I don't have in general an easy property telling me how two Clifford operations are commuting: a succession of commutation for Clifford could make the calculation hard to follow classically).

Is my understanding a good overall philosophy behind this trick?


1 Answer 1


There are two reasons this works and you have identified the first one. Namely, the fact that a Pauli operator anywhere in a Clifford circuit is equivalent to a Pauli operator immediately preceding a terminal measurement.

The second reason is the simple predictable effect that a Pauli operator immediately preceding a computational basis measurement has on the measurement outcome. Specifically, $X$ and $Y$ operators flip the measurement outcome while $I$ and $Z$ leave the outcome unchanged. This allows us to replace any such operator with a classical post-measurement correction.

  • $\begingroup$ Thanks a lot. Just to be sure: you also agree with the fact that this trick is only applicable to propagate Pauli. A Hadamard cannot be easily propagated for instance (as we do not have "in principle" easy commutations rules between two Clifford operations). $\endgroup$ Jan 12 at 17:30
  • 1
    $\begingroup$ No. You can propagate a Hadamard. However, you won't get a Pauli correction before the measurement. The propagation part works for all gates in the sense that if $G$ is any gate and $P$ is any gate then $GP=P'G$ for some gate $P'$. Moreover, $P'=GPG^\dagger$, so if $G$ and $P$ are Clifford then $P'$ is Clifford, too (since Cliffords form a group). In particular, propagating a Hadamard through a Clifford circuit is possible and yields a Clifford correction. Unfortunately, we can't absorb Clifford corrections into the classical post-processing of the measurement outcomes. $\endgroup$ Jan 12 at 17:56
  • 1
    $\begingroup$ Note that there are schemes where you might be OK with a Clifford correction $C$. Even though you can't absorb it into the measurement, you can actively apply $C^\dagger$ to fix the correction up before measurement. See for example this paper. $\endgroup$ Jan 12 at 17:58
  • 2
    $\begingroup$ Tracking a "Clifford frame" is how the approach in arxiv.org/abs/1808.02892 works. The key difference with tracking Cliffords instead of Paulis is that you need to do different measurements on the qubits. You lose the fact that, when only propagating Paulis, you can always do exactly the same sequence of operations to the qubits, and handle removing the extra Paulis entirely in the classical control system. You lose feedback-independence. $\endgroup$ Jan 12 at 18:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.