Controlled NOT Gate: Explained

  • Context: Graduate 
  • Thread starter Thread starter Dragonfall
  • Start date Start date
  • Tags Tags
    Gate
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 4K views
Dragonfall
Messages
1,023
Reaction score
5
I'm not sure where to post this, so here it is:

[tex]\left[\begin{array}{cccc}<br /> 1&0&0&0\\<br /> 0&1&0&0\\<br /> 0&0&0&1\\<br /> 0&0&1&0\\<br /> \end{array}\right][/tex]

How is this a controlled NOT gate? If I multiply this with [tex]\left[\begin{array}{c}1\\0\\1\\0\end{array}\right][/tex], the second bit is flipped regardless.
 
Mathematics news on Phys.org
That looks fine to me. Maybe it would be more clear with Kronecker products in the ket notation? Let |0> and |1> denote the standard basis on C². Then...

[tex] \left[\begin{array}{c}1\\0\\1\\0\end{array}\right]<br /> = |0\rangle \otimes |0\rangle + |1\rangle \otimes |0\rangle[/tex]

while

[tex] \left[\begin{array}{c}1\\0\\0\\1\end{array}\right]<br /> = |0\rangle \otimes |0\rangle + |1\rangle \otimes |1\rangle[/tex]
 
Which coordinates in that column vector represents the control, and which the target bit?
 
Dragonfall said:
Which coordinates in that column vector represents the control, and which the target bit?
You're thinking classically. Your state vector cannot be partitioned into "control" and "target" parts -- instead, the vector represents the joint amplitudes of the two qubits. In your chosen basis, the components of the state vector correspond to each of the four ways to choose a basis vector for each qubit. If you had three qubits, your state vector would have eight components.

Algebraically, the joint state space is the tensor product of the individual state spaces. You, however, were thinking of the direct sum (equivalently, direct product) of the individual state spaces.
 
So suppose my control bit is 0, and target is 1, then the vector representing the joint amplitudes of them (on which the matrix acts) is [tex]\left[\begin{array}{c}1\\0\end{array}\right] \otimes \left[\begin{array}{c}0\\1\end{array}\right] = \left[\begin{array}{c}0\\1\\0\\0\end{array}\right][/tex]
 
Last edited: