Una de las compuertas cuánticas más importantes es la CNot, esta compuerta es de dos qubits; quiere decir que opera sobre dos qubits. El funcionamiento de la CNot es verificar el valor del primer qubit si este es 1 entonces invierte el valor del segundo qubit. Se dice que es una compuerta controlada, a partir de esta lógica se puede generalizar para cualquier tipo de operador U, de modo que tendriamos cualquier operador controlado.
Podriamos decir que la CNot es un tipo de condicional estático, ya que en computación cuántica no podemos realizar un control de flujo como el que conocemos o estamos acostumbrados a ver en la computación clásica.
Vamos a denotar el funcionamiento de la CNot con sus dos quibtis de la siguiente manera , esto significa que la compuerta CNot actua sobre los qubits x e y. Llamaremos a x el qubit de control y a y el qubit objetivo, el funcionamiento de la compuerta es realizar un o exclusivo (si lo vemos como lógica booleana) o bien una suma modulo 2 (que es lo que denota
). La matrix del operador es:
Veamos unos ejemplos:
Ahora, veamos la demostración para un qubit cualquiera. Supongamos que tenemos un qubit y su qubit invertido
, y las bases estan dadas por
y
.
Vamos a empezar por aplicar
para poder aplicar la CNot es necesario realizar el producto tensorial primero, de modo que si lo realizamos tenemos
ahora, aplicamos el operador al producto tensorial
si trabajomos sobre la base podemos observar que
entonces podemos sustituir y tendremos
que era lo que queriamos demostrar, de modo que no varia el qubit objetivo. Ahora para demostrar que si lo invierte con 1
obtenemos del producto tensorial
aplicamos CNot al producto y tenemos
de manera analoga que en la primera parte, al trabajar sobre la base tenemos
entonces podemos sustituir y tendremos
entonces podemos ver que al aplicar el CNot al qubit con el qubit de control en 1 lo convierte en
que es el qubit invertido del primero, esto lo podemos verificar al aplicar el operador Not a
.