# Matrix representation of CNOT gate in the computational basis

A CNOT gate flips the target bit when the control bit is set to $|1\rangle$. Thus, defining it by $|c\rangle |t\rangle \rightarrow |c\rangle |t \oplus c\rangle$ makes sense to me.

On the other hand, its matrix representation

$$\begin{pmatrix}1 & 0 & 0 &0 \\ 0 & 1 & 0 &0 \\ 0& 0 & 0&1 \\ 0 & 0 & 1 & 0\end{pmatrix}$$

doesn't seem right, because if I multiply it by a vector

$$\begin{pmatrix}a \\ b \\ c \\ d \end{pmatrix}$$

representing the control bit ($a|0\rangle + b|1\rangle$) and the taget bit ($c|0\rangle + d|1\rangle$), I always get

$$\begin{pmatrix}a \\ b \\ d \\ c \end{pmatrix}$$

which means I am flipping the target bit regardless the value of control bit.

Can someone please explain what is wrong with my understanding here?

The matrix representation lives on the two-qubit space $\mathbb{C}^4$ with basis $\lvert 00\rangle,\lvert 01\rangle,\lvert 10\rangle,\lvert 11\rangle$, where the first number is for the control qubit and the second one for the target. So for your definition of $a,b,c,d$ the vector you have to apply the matrix to is actually $(a\lvert 0\rangle + b\lvert 0 \rangle)\otimes (c\lvert 0 \rangle + d\lvert 1 \rangle)$ which would be represented by the vector $(ac,ad,bc,bd)$.
In more detail: Any state of the two-qubit system can be written as $$\lvert \psi \rangle = \alpha \lvert 00\rangle + \beta \lvert 01\rangle + \gamma \lvert 10\rangle + \delta \lvert 11\rangle$$ where the states are $\lvert ij\rangle = \lvert i\rangle_\text{control}\otimes \lvert j\rangle_\text{target}$. When you have the control qubit in the general state $a\lvert 0\rangle_\text{control} + b\lvert 1\rangle_\text{control}$ and the target in $c\lvert 0\rangle_\text{target} + d\lvert 1\rangle_\text{target}$, then this corresponds to $\alpha = ac$, $\beta = ad$, $\gamma = bc$ and $\delta = bd$, since the full two-qubit state is $(a\lvert 0\rangle_\text{control} + b\lvert 1\rangle_\text{control})\otimes (c\lvert 0\rangle_\text{target} + d\lvert 1\rangle_\text{target})$.
• @Vitor I mean that, for instance, $\lvert 01\rangle$ is the state where the control qubit is in the state $\lvert 0\rangle$ and the target qubit is in the state $\lvert 1\rangle$ Dec 11, 2016 at 15:30
• But is has a value $ad$ associated with it, so does it mean the control qubit is $ad|0\rangle$ and the target is $ad|1\rangle$ Dec 11, 2016 at 15:36
• I understand this tensor product language. I think my problem is thinking on separated bits on the component quantum spaces... So, if the control bit is set to zero, the state will be $|\psi_0 \rangle = \alpha |00\rangle + \beta|01\rangle$ and when it is set to one, we have $|\psi_1 \rangle = \gamma |10\rangle + \delta |11\rangle$, right? Dec 11, 2016 at 16:10