# Puerta NOT controlada

En lógica digital, un inversor, puerta NOT o compuerta NOT, es una puerta lógica que implementa la negación lógica . A la derecha se muestra la tabla de verdad. Siempre que su entrada está en 0 (cero) o en BAJA, su salida está en 1 o en ALTA, mientras que cuando su entrada está en 1 o en ALTA, su SALIDA va a estar en 0 o en BAJA.
El concepto de puerta lógica tiene su generalización en el marco de la información y computación cuántica. Las puertas controladas operan sobre 2 cúbits o más, de los cuales uno o más controlan la operación (control), que actúa sobre el resto (target). Su forma de operar puede expresarse en el siguiente lema: "Si A es cierto, entonces, haz B", y son los que mayor utilidad presentan en computación, tanto clásica como cuántica.
El ejemplo típico es la puerta NOT controlada o puerta CNOT, que es una puerta cuántica fundamental en computación cuántica, y que es la generalización "cuantizada" de la puerta lógica (clásica) NOT. Puede usarse para entrelazar y desentrelazar estados EPR. Cualquier circuito cuántico puede simularse con precisión arbitraria usando una combinación de puertas CNOT y rotaciones de cúbits.

## Puerta U-controlada

Supongamos ahora que U es una operación unitaria que actúa sobre un único cúbit, y cuya representación matricial es: $U={\begin{bmatrix}x_{00}&x_{01}\\x_{10}&x_{11}\end{bmatrix}}$, entonces, la puerta U-controlada es una puerta que opera sobre dos cúbits de manera que el primero actúa como cúbit de control o control qubit, mientras sobre el segundo, denominado target qubit actúa el operador unitario U. Sobre la base computacional (ya mencionada previamente), la puerta U-controlada actúa como sigue:
    $|00\rangle \mapsto |00\rangle$
    $|01\rangle \mapsto |01\rangle$
    $|10\rangle \mapsto |1\rangle U|0\rangle =|1\rangle \left(x_{00}|0\rangle +x_{10}|1\rangle \right)$
    $|11\rangle \mapsto |1\rangle U|1\rangle =|1\rangle \left(x_{01}|0\rangle +x_{11}|1\rangle \right)$
Así, la matriz para la puerta controlada U es la siguiente:
    $\operatorname {C} (U)={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&x_{00}&x_{01}\\0&0&x_{10}&x_{11}\end{bmatrix}}$
Cuando U es una de las matrices de Pauli, σ$_x$, σ$_y$, ó σ$_z$, a veces se emplean respectivamente los términos "X-controlada", "Y-controlada", ó "Z-controlada".
| INPUT | OUTPUT |
| A | NOT A |
| 0 | 1 |
| 1 | 0 |

## Comportamiento de la puerta CNOT en la base computacional

La puerta CNOT opera, generalmente, sobre 2 cúbits (control qubit y target qubit, respectivamente), realizando la operación NOT en el segundo cúbit sólo cuando el primer cúbit está en el estado $|1\rangle$, y dejándolo inalterado en caso contrario. Considerando la base computacional de este sistema de dos cúbits: $\{|0\rangle _{C}|0\rangle _{T},|0\rangle _{C}|1\rangle _{T},|1\rangle _{C}|0\rangle _{T},|1\rangle _{C}|1\rangle _{T}\}\equiv \{|00\rangle ,|01\rangle ,|10\rangle ,|11\rangle \}$ (donde los subíndices C y T denotan si se trata del control qubit o del target qubit, respectivamente), se tiene que:
Acción de la puerta CNOT sobre la base computacional del sistema :
| Estado inicial | Estado inicial | Estado inicial | Estado final | Estado final | Estado final |
| Estado | Control | Target | Estado | Control | Target |
| $|00\rangle$ | $|0\rangle _{C}$ | $|0\rangle _{T}$ | $|00\rangle$ | $|0\rangle _{C}$ | $|0\rangle _{T}$ |
| $|01\rangle$ | $|0\rangle _{C}$ | $|1\rangle _{T}$ | $|01\rangle$ | $|0\rangle _{C}$ | $|1\rangle _{T}$ |
| $|10\rangle$ | $|1\rangle _{C}$ | $|0\rangle _{T}$ | $|11\rangle$ | $|1\rangle _{C}$ | $|1\rangle _{T}$ |
| $|11\rangle$ | $|1\rangle _{C}$ | $|1\rangle _{T}$ | $|10\rangle$ | $|1\rangle _{C}$ | $|0\rangle _{T}$ |
En notación matricial:
${\mbox{CNOT}}={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}}$
En una notación matemáticamente más compacta, puede resumirse su acción en términos de una suma módulo 2:
${\mbox{CNOT}}:|c\rangle |t\rangle \longmapsto |c\rangle |c\oplus t\rangle ,\qquad c,t\in \{0,1\}$,
cumpliéndose: $0\oplus 0=0;\quad 0\oplus 1=1;\quad 1\oplus 0=1;\quad 1\oplus 1=0.$ Esta definición de la puerta CNOT permite una generalización a sistemas cuánticos de más dimensiones. Como sabemos, lo habitual es trabajar con sistemas cuyo espacio lógico está generado por $|0\rangle$ y $|1\rangle$, y sus combinaciones lineales, conocidos como cúbits. La generalización de los cúbits a $n$ dimensiones es directa, basta con considerar un espacio generado por n estados linealmente independientes: $\{|0\rangle ,...,|n-1\rangle \}$. Hecho esto, la generalización de la puerta CNOT consistirá en pasar de una suma módulo 2 a una suma módulo $n$:
${\mbox{CNOT}}:|c\rangle |t\rangle \longmapsto |c\rangle |c\oplus t\rangle ,\qquad c,t\in \{0,1,...,n-1\}$.
Nótese que es en el símbolo asociado a esta suma, $\oplus$, donde tiene su origen la representación circuital de la puerta CNOT. Aunque lo habitual es trabajar con bits cuánticos, esto es, con sistemas cuánticos con un espacio lógico de dos estados.