# How to generate CNOT-gates via Bell pairs

In this paper from Christophe Piveteau and David Sutter, the authors use Bell pairs to generate CNOT-gates. The procedure is shown in Fig.2 and Fig.3 of the paper.

By doing the calculations about that procedure, I can't understand how it is a CNOT-gate. The expecation values of the measurements on the second and on the third qubit (the Bell state) are costant values (not dependent on the quantum state of the 2 qubits on which I want to implement the CNOT gate).

Since the calculations were long (for this reason I don't put them here) I thought that I could have made some mistake during the procedure. Therefore I tried to simulate a random quantum circuit with Qiskit by implementing the same circuit represented in the paper. Even in that case the expectation values are constant.

Probably I'm doing something wrong at this point. Is there anyone that can explain me how to obtain a CNOT-gate with a Bell state? Or, analogously, how the procedure explained in that paper works?

Thank you.

• – glS
Sep 20 at 10:29
• @glS Thank you, that thread is really helpful, I understood how to obtain CNOT-gate with Bell states. In the paper, they use only one Bell pair, but as I said the procedure doesn't give me the result that I expected. Maybe, by optimizing the procedure explained in the thread that you linked, it is possibile to obtain a method similar to the one reported in the paper. Thank you again! Sep 20 at 10:46
• from a very cursory look at the figures you referenced, it seems to me that the authors also use a single Bell pair to implement a CNOT. They have two Bell pairs only because they're implementing two different cnots
– glS
Sep 20 at 13:30
• You're not wrong that the expectation values of the two measurements are zero, regardless of the state you start with. That doesn't tell you much about whether this is implementing a CNOT gate, though! Sep 21 at 22:33
• In fact, you need the expectation values to be independent of the input state. Otherwise, by measuring the Bell pair, you could get information about the input state, performing some (partial) measurement! But CNOT gates don't measure their input states. Sep 21 at 22:35

Let's consider a state $$\psi_{00}|00\rangle+\psi_{01}|01\rangle+\psi_{10}|10\rangle+\psi_{11}|11\rangle$$ and apply the procedure above, from Fig. 2 of the paper. First, we put a Bell pair between the two qubits: \begin{align} &\psi_{00}\left(|0000\rangle +|0110\rangle\right)\\ +&\psi_{01}\left(|0001\rangle +|0111\rangle\right)\\ +&\psi_{10}\left(|1000\rangle +|1110\rangle\right)\\ +&\psi_{11}\left(|1001\rangle +|1111\rangle\right) \end{align} Then we perform the CNOT gates: \begin{align} &\psi_{00}\left(|0000\rangle +|0111\rangle\right)\\ +&\psi_{01}\left(|0001\rangle +|0110\rangle\right)\\ +&\psi_{10}\left(|1100\rangle +|1011\rangle\right)\\ +&\psi_{11}\left(|1101\rangle +|1010\rangle\right) \end{align}

Now we need to measure the second qubit in the $$Z$$ basis, the third qubit in the $$X$$ basis. I'll assume we measure the second qubit to be in $$Z=-1$$ and the third qubit in $$X=+1$$, and leave the other cases as an exercise.

After performing the $$Z$$-measurement, the state is: \begin{align} &\psi_{00}\left(|0111\rangle\right)\\ +&\psi_{01}\left(|0110\rangle\right)\\ +&\psi_{10}\left(|1100\rangle\right)\\ +&\psi_{11}\left(|1101\rangle\rangle\right) \end{align}

After performing the $$X$$-measurement, the state is: \begin{align} &\psi_{00}\left(|01+1\rangle\right)\\ +&\psi_{01}\left(|01+0\rangle\right)\\ +&\psi_{10}\left(|11+0\rangle\right)\\ +&\psi_{11}\left(|11+1\rangle\rangle\right) \end{align}

If we remove the irrelevant middle-two qubits, since they are unentangled with the first and fourth qubit, this is the same as \begin{align} &\psi_{00}\left(|01\rangle\right)\\ +&\psi_{01}\left(|00\rangle\right)\\ +&\psi_{10}\left(|10\rangle\right)\\ +&\psi_{11}\left(|11\rangle\rangle\right) \end{align}

Now we just need to apply the correction operator. This is just an $$X$$ operator on the last qubit. This gives \begin{align} &\psi_{00}\left(|00\rangle\right)\\ +&\psi_{01}\left(|01\rangle\right)\\ +&\psi_{10}\left(|11\rangle\right)\\ +&\psi_{11}\left(|10\rangle\rangle\right) \end{align} which is exactly the action of a CNOT gate.

I'll add that if you wanted to derive this procedure, it can be helpful to ask yourself the question: What are the logical operators of the input state $$(Z_1,X_1,Z_4,X_4)$$, what are the stabilizers of the input state $$(X_2X_3, Z_2Z_3)$$, and how do the stabilizers and logical operators transform after each operation (exercise)? You'll find that the logical operators transform as $$Z_1\rightarrow Z_1$$, $$X_1\rightarrow X_1X_4$$, $$Z_4\rightarrow Z_1Z_4$$, $$X_4\rightarrow X_4$$, just as they should for a CNOT gate between qubits $$1$$ and $$4$$. In particular, measuring qubits $$2$$ and $$3$$ does not measure any logical information on qubits $$1$$ or $$4$$. This might make the construction feel more intuitive.