Квантовый логический элемент CNOT (Control NOT, управляемый NOT) - унитарный оператор, действующий на двухкубитовую систему по правилу:
[math]\hat{X}|00\rangle = |00\rangle[/math]
[math]\hat{X}|01\rangle = |01\rangle[/math]
[math]\hat{X}|10\rangle = |11\rangle[/math]
[math]\hat{X}|11\rangle = |10\rangle[/math]
Квантовый оператор CNOT является естественным обобщением классического оператора XOR.
Если первый кубит находится в состоянии [math]\hat{X}|0\rangle[/math], а второй кубит находится в одном из базовых состояний [math]\hat{X}|0\rangle[/math] или [math]\hat{X}|1\rangle[/math], то CNOT не изменяет состояния системы, если же первый кубит находится в состоянии [math]\hat{X}|1\rangle[/math], а второй кубит в одном из базовых состояний, то под действием оператора CNOT второй кубит перейдет в противоположное базовое состояние.
[math]\hat{X}|0\rangle \otimes |0\rangle = |0\rangle \otimes |0\rangle, \hat{X}|0\rangle \otimes |1\rangle = |0\rangle \otimes |1\rangle, \hat{X}|1\rangle \otimes |0\rangle = |1\rangle \otimes |1\rangle, \hat{X}|1\rangle \otimes |1\rangle = |1\rangle \otimes |0\rangle[/math]
Матрица оператора CNOT имеет вид:
[math]X = \begin{pmatrix}
1 & 0 & 0 & 0\\
0 & 1 & 0 & 0\\
0 & 0 & 0 & 1\\
0 & 0 & 1 & 0
\end{pmatrix}[/math]