Controlled NOT gate

      The classical analog of the CNOT gate is a reversible XOR gate.
      How the CNOT gate can be used (with Hadamard gates) in a computation
      Representation of the CNOT gate
      Answer on output depending on input and CNOT function
      The first qubit flips only if the second qubit is 1.

      In computing science, the controlled NOT gate (also C-NOT or CNOT) is a quantum gate that is an essential component in the construction of a quantum computer. It can be used to disentangle EPR states. Specifically, any quantum circuit can be simulated to an arbitrary degree of accuracy using a combination of CNOT gates and single qubit rotations.

      Operation

      The CNOT gate flips the second qubit (the target qubit) if and only if the first qubit (the control qubit) is 1.

      Before After
      Control Target Control Target
      0 0 0 0
      0 1 0 1
      1 0 1 1
      1 1 1 0

      The resulting value of the second qubit corresponds to the result of a classical XOR gate.

      The CNOT gate can be represented by the matrix:

       \operatorname{CNOT} =  \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\  0 & 0 & 1 & 0 \end{bmatrix}.

      The first experimental realization of a CNOT gate was accomplished in 1995. Here, a single Beryllium ion in a trap was used. The two qubits were encoded into an optical state and into the vibrational state of the ion within the trap. At the time of the experiment, the reliability of the CNOT-operation was measured to be on the order of 90%.

      In addition to a regular controlled NOT gate, one could construct a function-controlled NOT gate, which accepts an arbitrary number n+1 of qubits as input, where n+1 is greater than or equal to 2 (a quantum register). This gate flips the last qubit of the register if and only if a built-in function, with the first n qubits as input, returns a 1. The function-controlled NOT gate is an essential element of the Deutsch-Jozsa algorithm. CNOT is also a kind of universal gate(in the classical sense of the word). It is easy to see that if the CONTROL is set to '1' the TARGET output is always NOT. So, a NOT GATE can be constructed using CNOT.

      ↑Jump back a section

      Proof of operation

      Let \left\{ 
|0\rangle =\! \begin{bmatrix} 1 \\ 0 \end{bmatrix}, 
|1\rangle =\! \begin{bmatrix} 0 \\ 1 \end{bmatrix} 
\right\} be the orthonormal basis (using Bra-ket notation).

      Let | \psi \rangle = a | 0 \rangle + b | 1 \rangle =\! \begin{bmatrix} a \\ b \end{bmatrix}.

      Let | \phi \rangle = b | 0 \rangle + a | 1 \rangle =\! \begin{bmatrix} b \\ a \end{bmatrix} be the flip qubit of  | \psi \rangle.

      Recall that |\alpha\rangle\!\otimes\!|\beta\rangle 
                  = |\alpha\rangle |\beta\rangle 
                  = |\alpha,\beta\rangle .

      When control qubit is 0

      First, we shall prove that 
\operatorname{CNOT}\ |0,\psi\rangle = |0,\psi\rangle
:

      Before we compute, however, note that our specific definition of  \operatorname{CNOT}\ assumes an eigenbasis of

       |00\rangle = \begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}, |01\rangle = \begin{bmatrix} 0 \\ 1 \\ 0 \\ 0 \end{bmatrix} , |10\rangle = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \end{bmatrix}, |11\rangle = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}

      Then, it's not difficult to verify that if 
|0,\psi\rangle = a|0\rangle |0\rangle + b|0\rangle |1\rangle = \begin{bmatrix} a \\ b \\ 0 \\ 0 \end{bmatrix}

      Then \operatorname{CNOT}\ |0,\psi\rangle = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} a \\ b \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} a \\ b \\ 0 \\ 0 \end{bmatrix} = |0,\psi\rangle.

      Therefore CNOT doesn't change the  |\psi\rangle qubit if the first qubit is 0.

      When control qubit is 1

      Now, we shall prove that  \operatorname{CNOT}\ |1,\psi\rangle = |1,\phi\rangle, which means that the CNOT gate flips the |\psi\rangle qubit.

      Similarly to the first demonstration, we have  |1,\psi\rangle = \begin{bmatrix} 0 \\ 0 \\ a \\ b \end{bmatrix}.

      Then  \operatorname{CNOT}\ |1,\psi\rangle = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} 0 \\ 0 \\ a \\ b \end{bmatrix} = a \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix} + b \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \end{bmatrix}

      As we can see that  |1,1\rangle = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix} and  |1,0\rangle = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \end{bmatrix}, using these on the equation above gives

      
\begin{align}
\operatorname{CNOT}\ |1,\psi\rangle 
     & = a |1,1\rangle + b |1,0\rangle \\
     & = |1\rangle \left( a |1\rangle  + b |0\rangle \right) \\
     & = |1,\phi\rangle \\
\end{align}

      Therefore the CNOT gate flips the |\psi\rangle qubit into |\phi\rangle if the control qubit is set to 1. A simple way to observe this is to multiply the CNOT matrix by a column vector, noticing that the operation on the first bit is identity, and a NOT gate on the second bit.

      ↑Jump back a section

      References

      • Nielsen, Michael A. & Chuang, Isaac L. (2000). Quantum Computation and Quantum Information. Cambridge University Press. ISBN 0-521-63235-8. 
      ↑Jump back a section

      Read in another language

      Last modified on 1 April 2013, at 15:36