Home > Explanations > Funcionamiento: CNot

Funcionamiento: CNot

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 CNot |x, y \rangle = | x , y \oplus x \rangle , 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 \oplus ). La matrix del operador es:

CNot = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0  \\ 0 & 0 & 0 &  1 \\ 0 & 0 & 1 & 0 \end{pmatrix}

Veamos unos ejemplos:

  • CNot | 0, 0 \rangle  = | 0, 0 \rangle
  • CNot | 1, 0 \rangle  = | 0, 1 \rangle

Ahora, veamos la demostración para un qubit cualquiera. Supongamos que tenemos un qubit | \psi \rangle = \alpha | 0 \rangle + \beta | 1 \rangle = \begin{pmatrix} \alpha \\ \beta \end{pmatrix} y su qubit invertido | \phi \rangle = \beta | 0 \rangle + \alpha | 1 \rangle = \begin{pmatrix} \beta \\ \alpha \end{pmatrix} , y las bases estan dadas por | 0 \rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix} y | 1 \rangle = \begin{pmatrix} 0 \\ 1 \end{pmatrix} .

Vamos a empezar por aplicar

CNot | 0 , \psi \rangle

para poder aplicar la CNot es necesario realizar el producto tensorial primero, de modo que si lo realizamos tenemos

| 0 \rangle \otimes | \psi \rangle = \begin{pmatrix} 1 \begin{pmatrix} \alpha \\ \beta \end{pmatrix} \\ 0 \begin{pmatrix} \alpha \\ \beta \end{pmatrix} \end{pmatrix}

| 0 \rangle \otimes | \psi \rangle = \begin{pmatrix} \alpha \\ \beta \\ 0 \\ 0 \end{pmatrix}

ahora, aplicamos el operador al producto tensorial

CNot  | 0 , \psi \rangle = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \\ 0 \\ 0 \end{pmatrix}

CNot | 0 , \psi \rangle = \alpha \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} + \beta \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}

si trabajomos sobre la base podemos observar que

| 0 0 \rangle = | 0 \rangle \otimes | 0 \rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix}

| 0 1 \rangle = | 0 \rangle \otimes | 1 \rangle = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}

entonces podemos sustituir y tendremos

CNot | 0 , \psi \rangle = \alpha | 0 0 \rangle + \beta | 0 1 \rangle

CNot | 0 , \psi \rangle = | 0 \rangle \otimes ( \alpha | 0 \rangle + \beta | 1 \rangle

CNot | 0 , \psi \rangle = | 0 \rangle \otimes | \psi \rangle

que era lo que queriamos demostrar, de modo que no varia el qubit objetivo. Ahora para demostrar que si lo invierte con 1

CNot | 1 , \psi \rangle

obtenemos del producto tensorial

| 1 \rangle \otimes | \psi \rangle = \begin{pmatrix} 0 \\ 0 \\ \alpha \\ \beta \end{pmatrix}

aplicamos CNot al producto y tenemos

CNot | 1 , \psi \rangle = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} 0 \\ 0 \\ \alpha \\ \beta \end{pmatrix}

CNot | 1 , \psi \rangle = \alpha \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} + \beta \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix}

de manera analoga que en la primera parte, al trabajar sobre la base tenemos

| 1 0 \rangle = | 1 \rangle \otimes | 0 \rangle = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix}

| 1 1 \rangle = | 1 \rangle \otimes | 1 \rangle = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix}

entonces podemos sustituir y tendremos

CNot | 1 , \psi \rangle = \alpha | 1 1 \rangle + \beta | 1 0 \rangle

CNot | 1 , \psi \rangle = | 1 \rangle \otimes ( \alpha | 1 \rangle + \beta | 0 \rangle

CNot | 1 , \psi \rangle = | 1 \rangle \otimes | \phi \rangle

entonces podemos ver que al aplicar el CNot al qubit | \psi \rangle con el qubit de control en 1 lo convierte en | \phi \rangle que es el qubit invertido del primero, esto lo podemos verificar al aplicar el operador Not a | \psi \rangle .

  1. August 25, 2013 at 4:37 am

    Hello there. I was thinking of adding a hyperlink back to your website
    since both of our web sites are centered around the same subject.
    Would you prefer I link to you using your website address: https://laconsigna.wordpress.com/2008/04/20/funcionamiento-cnot/ or website
    title: Funcionamiento: CNot | La Consigna. Please make
    sure to let me know at your earliest convenience.
    Many thanks

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: