Indice      

Puertas Lógicas Clásicas y Cuánticas ~ Circuitos Cuánticos

Capítulo extraído del Documento de Base:
Conceptos Matemáticos Básicos de Computación Cuántica

José Enrique González Cornejo
v.7.6/Marzo 2020

 



Puertas Lógicas Clásicas
  • Computación Clásica
  • Para manejar la información almacenada en un conjunto de bits, utilizamos las llamadas Puertas Lógicas, que se basan el Algebra de Bool o Lógica Proposicional con tres conectivas básicas y sus variantes: ~p, p ∨ q, p ∧ q, p ⇒ q, p ⇔ q, (p ⇒ q) ⇔ (~p ∨ q), etc.. junto a las Leyes de Morgan.

    La puerta lógica más simple y de carácter unitario es NOT. Las puertas AND y OR son de carácter binario. Todas la demás conectivas se pueden expresar en función de esas tres conectivas, i.e de la negación, la conjunción y la disyunción.

    Puerta Not
    p Not p
    0 1
    1 0


    Puerta AND
    p p AND q
    q
    1 1
    1
    1 0
    0
    0 0
    1
    0 0
    0


    Puerta OR
    p p OR q
    q
    1 1
    1
    1 1
    0
    0 1
    1
    0 0
    0


    Puerta NAND

    Existe una puerta lógica NAND, que es particularmente importante en computación, la cual es una composición de AND con NOT. Esta conectiva tiene una propiedad de universalidad24 y es muy utilizada en la programación. En efecto, cualquier circuito lógico clásico se puede hacer con una concatenación de puertas NAND.



    Tabla de Verdad NAND
    p q p ∧ q ~(p ∧ q)
    1 1 1 0
    1 0 0 1
    0 1 0 1
    0 0 0 1


    p p NAND q
    q

    1 0
    1
    0 1
    1
    1 1
    0
    0 1
    0


    Ejemplo de Suma de $1+1+1$ con Computación Clásica con Bits

    La idea del ejemplo es explicar lo más detalladamente posible el desarrollo de esta suma con computación clásica, con el objeto de ir preparando en forma preliminar el algoritmo 1+1+1 con qubits, que ilustraremos más adelante con el Composer Cuántico de IBM. En este ejercicio de computación clásica se utiliza un operador de Thomas Toffoli, que en los años 80 junto a Edward Fredkin descubrieron que se requería un mínimo de tres qubits, - para cualquier computación clásica-, a fin conservar la Reversibilidad.

    La extensión a tres qubits de la puerta CNOT es la llamada Puerta de Toffoli o CCNOT, que veremos en el ejemplo análogo como circuito cuántico más adelante.



    Tabla Suma 1+1+1 con con Bits


    Explicación de Suma de $1+1+1$ con Bits

    - Este ejercicio que utiliza bits, ayuda a comprender el mismo algoritmo con compuertas cuánticas, a pesar de la superposición y la Puerta de Toffoli.

    - Sea q[0],q[1],q[2] los 3 bits que analizaremos por cada combinación, a fin de lograr el resultado de la suma aplicando la "suma módulo 2", cuya operación se denota con el símbolo $⊕$. 25

    - Como son tres bits que pueden ser {$0,1$}, entonces el número de combinaciones es $2^{3} =8$.

    - Las resultantes son números binarios en base $2$, cada uno de ellos estarán compuesto por $2$ dígitos que denotamos por c[1]c[0]. Donde c[1] es el coeficiente de $2^{1}$ y c[0] es el coeficiente de 20.

    - La tabla muestra cómo abordamos el desarrollo. Se tienen 8 filas con las todas posibles combinaciones en las tres primeras columnas, en las $2$ siguientes columnas la suma de q[0] + q[1] + q[2], desagregada en sus dígitos en c[1] y c[0] respectivamente, y en las últimas columnas cómo se obtuvo este resultado de decimal a binario.

    - Nótese que c[1] y c[0] son los coeficientes de las potencias de $2$. (Ver Cambio de Base Decimal a Binario)

    - La última fila de la tabla muestra la suma $1+1+1$, que en base $2$ es $11_2$, i.e. c[1]=$1$ y c[0]=$1$


    Algoritmo-Interfaz Suma Números Binarios

    Sumar números binarios es semejante a la operación simple que se aprendió en la escuela con números decimales, pero la Suma es Modulo $2$.

    Se comienza a sumar desde el dígito a la derecha, avanzando hacia la izquierda, dígito con dígito, pero cuando sobra $1$ se guarda como reserva o "llevada (carry)" y se suma sobre la siguiente posición o columna.

    Por ejemplo, las sumas en binario (módulo 2):


     

    Nótese que $1⊕1=0$ y se reserva $1$, el cual se adiciona a la siguiente posición. En caso de que quede en una posicion o columna la suma de 3 unos ($1 ⊕1 ⊕1=1$), entonces se reserva $1$ para la siguiente posición, y así sucesivamente.

    Esta operación clásica que se aplica en cuántica (Ver más adelante Circuito Suma Toffoli-CNOT), donde se muestran las pautas para sumar simultáneamente con una única unidad de control.

    A continuación, una interfaz que contiene un algoritmo que realiza la operación suma de números binarios y permite ejercitar con sumandos hasta 26 bits cada uno.

    Suma de Números Binarios

    Ingrese Números Binarios:

    $\large ⊕$

      






  • Computación Cuántica
  • El camino hacia la construcción consolidada de una computadora u ordenador cuántico proviene del hecho de que algunos algoritmos funcionan significativamente y más eficazmente en una computadora cuántica que en una computadora clásica.26

    Claramente la superposición en los sistemas cuánticos permite procesar de manera paralela que no es posible en los equipos de computación tradicionales (conocidos hasta hoy).


    Estados Básicos y Estado en Superposición. Ambos son Estados Únicos.

    A fin manejar la información almacenada en un conjunto de qubits y extraer información útil utilizando la interferencia cuántica, utilizamos Puertas Cuánticas. La definición de una puerta cuántica requiere conocer su efecto sobre los estados básicos y se necesita saber también cómo se comporta con una combinación lineal.

    En la Computación Clásica no es necesario definir los efectos sobre los estados básicos, porque sólo existen estados básicos. Sin embargo, bajo la Computación Cuántica se exige que la puertas actúen en forma lineal, porque se debe responder a cómo funciona la Mecánica Cuántica.

    Es decir, si tenemos estas dos exigencias, entonces implica que existe una matriz que se aplica sobre un vector unitario y que también transforma los estados intermedios. Esta matriz debe ser unitaria, dado que debe cumplir la restricción de convertir un vector unitario a un estado válido, donde la sumatoria de sus normas al cuadrado es igual a 1.

    Por tanto, las Puertas Cuánticas son cualquier matriz unitaria de C2nC2n o equivalentemente una Transformación Lineal Unitaria. Nótese que las puertas cuánticas son reversibles27, porque toda matriz unitaria tiene una inversa. Esto implica que en la Computación Cuántica es posible saber el Estado Inicial. La reversibilidad es una exigencia sine qua non de los sistemas cuánticos.

    Esta propiedad de reversibilidad no sucede con todas las puertas lógicas de la Computación Clásica, porque no se tiene inversa y no es posible saber siempre exactamente su Estado Inicial (Por ejemplo con la función constante cuando se utiliza la Puerta OR y otras conectivas lógicas28). En efecto, conociendo la salida de la función constante no es posible determinar la entrada, dado que su entrada podría ser ser $0$ o $1$.

    Las puertas lógicas de la Computación Cuántica conectadas de alguna forma (circuito), para realizar una operación, deben admitir tener sentido inverso del proceso y poder recuperar las condiciones iniciales sin pérdida de información (o energía).

    Las leyes de la mecánica cuántica nos dicen que la evolución de un sistema responde a la Ecuación de Schrödinger29 (si no se realiza una medida). Se reitera que en el presente artículo sólo está enfocado en la matemática computacional y no en la física cuántica que es la fuente experimental de donde derivan la mayoría de los postulados que iremos mostrando a los largo de los capítulos y versiones del documento.

    En síntesis para definir una Puerta Cuántica y es necesario que una matriz para:

      i) Definir su efecto sobre los Estados Básicos;
      ii) Exigir que actúe linealmente sobre los Estados en Superposición;
      iii) Que sea Unitaria30.


    Ejemplo de Matriz Unitaria

    Demostrar que la matriz $A$ es Unitaria.
     


    A =
    ¿Unitaria?

    $$ \begin{pmatrix} -i & 0 \\ 0 & -i \\ \end{pmatrix} $$
       


    $A^{t}$=
    Transpuesta

    $$ \begin{pmatrix} -i & 0 \\ 0 & -i \\ \end{pmatrix} $$
       


    $A^{*}$=
    Conjugada

    $$ \begin{pmatrix} i & 0 \\ 0 & i \\ \end{pmatrix} $$
       


    AA* = A*A =
    Idéntica

    $$ \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ \end{pmatrix} $$


    $∴\quad A$ es una matriz Unitaria, dado que $A^{t}=A^{*}$, donde $AA^{*} = A^{*}A = I$. Es decir, la matriz conjugada es la inversa, $A^{*} = A^{-1}$.

    Por demostrar que $A^{*}=A^{-1}$

    1
    Matriz A
    $$ \begin{pmatrix} -i & 0 \\ 0 & -i \\ \end{pmatrix} $$

    $Det(A)=-1\Rightarrow Det(A)\neq 0$, por tanto, su matriz inversa existe.

    2
    Matriz Aumentada (A|I)

    $$ \left( \begin{array}{cc|cc} -i&0&1&0\\ 0&-i&0&1 \end{array} \right) $$

    3
    (Pivoteando) Multiplicando por i la fila 1

    $$ \left( \begin{array}{cc|cc} 1&0&i&0\\ 0&-i&0&1 \end{array} \right) $$

    4
    (Pivoteando) Multiplicando por i la fila 2

    $$ \left( \begin{array}{cc|cc} 1&0&i&0\\ 0&1&0&i \end{array} \right) $$

    5
    La Idéntica en el Lado#1, y la inversa en Lado#2 de la Matriz Aumentada

    $$ \left( \begin{array}{cc|cc} 1&0&i&0\\ 0&1&0&i \end{array} \right) $$

    6
    Por tanto $A^{-1}$

    $$ \begin{pmatrix} i & 0 \\ 0 & i \\ \end{pmatrix} $$

    $∴$  La matriz conjugada es la inversa, $A^{*}=A^{-1}$

              QED.




    Puertas Lógicas Cuánticas

    Una Puerta Lógica Cuántica es un circuito cuántico básico que opera sobre un pequeño número de qubits. El concepto y construcción de puertas cuánticas es innumerable, dado que pueden ser composiciones que se configuran con operaciones simples. Estas puertas se representan con matrices unitarias que actúan sobre las amplitudes de probabilidad de los qubits. Pero las puertas primitivas o que se denominan universales, - ver IBM Experiencia Cuántica Editor de IBM QX -, son matrices 2×2 que cumplen con todas las condiciones antes especificadas previamente.

    En la Ayuda en línea del Composer de IBM, se describen gráficamente las puertas lógicas cuánticas simples (Por ejemplo las de Pauli y los operadores matriciales $U_n$ y otros), utilizando la Esfera de Bloch. Esta representación es un herramienta de visualización importante para comprender lo que sucede con un circuito cuántico.


    Esfera de Bloch. Fuente: IBM Quantum Experience

    La Esfera de Bloch, se utiliza con el fin didáctico para comprender la variación del qubit, - restringido sólo como objeto tridimensional-, bajo la aplicación de los operadores.

    La Esfera de Bloch pertenece al espacio complejo (x,y,i), por tanto la función de onda también toma valores complejos. La probabilidad no se afecta, dado que siempre es un número real mayor o igual que cero ($|z|^{2}≥0$).

    La cualidad de medir con la Esfera de Bloch, es que entrega una noción, no 100% fiel en algunas representaciones geométricas de varias dimensiones con entrelazamiento-, pero muy certera en la probabilidad del qubit individualmente. La ecuación por la cual se rige la Esfera de Bloch es la siguiente:

    $$|\psi〉=cos(\frac {\theta}{2})|0〉+(\cos\theta+ i\ \sin \ φ)\sin(\frac {\theta}{2})|1〉$$
    $$Donde,\quad 0 \le\theta\le\pi \qquad 0 \le φ\le 2\pi$$


    A continuación las cuatro matrices de Pauli31, X, Y, Z.

    Puerta Cuántica $X$ análoga a NOT

    Debemos buscar un operador $X$, tal que:

    i) $|0〉 → |1〉$ y $|1〉 → |0〉$

    ii) Lineal: $α_0 |0〉 + α_1 |1〉 → α_1 |1〉 + α_0|0〉$

    ii) Sea unitario ($|α_0|^{2} + |α_1|^{2} = 1$).

    El operador es:

    $ X= \begin{pmatrix} 0 & 1 \\ 1 & 0 \\ \end{pmatrix} $
    $|\psi〉=\alpha_0|0〉+\alpha_1|1〉=\left[\begin{matrix}\alpha_0\\\alpha_1 \end{matrix}\right]$

    Aplicamos el operador $X$

    $ X= \begin{pmatrix} 0 & 1 \\ 1 & 0 \\ \end{pmatrix} \left[\begin{matrix}\alpha_0\\\alpha_1 \end{matrix}\right]= \begin{pmatrix} 0\alpha_0 & 1\alpha_1 \\ 1\alpha_0 & 0\alpha_1 \\ \end{pmatrix} =\left[\begin{matrix}\alpha_1\\\alpha_0 \end{matrix}\right] $

     Su acción sobre un qubit es:

    $α_0|0〉 + α_1|1〉\longrightarrow$$X$$\longrightarrow α_1|1〉 + α_0|0〉$

    La transformación $X$ se desplaza a lo largo del intervalo en la esfera de Bloch sobre la superficie de la esfera desde $0〉$ hasta $|1〉$, rotando valores alrededor del eje $x$.


    $X$ ibm quantum experience-fuente gates glossary


    Puerta Cuántica $Y$
    El operador es:

    $ Y= \begin{pmatrix} 0 & -i \\ -i & 0 \\ \end{pmatrix} $

    Aplicamos el operador $Y$

    $ Y|0〉= \begin{pmatrix} 0 & -i \\ -i & 0 \\ \end{pmatrix} \left[\begin{matrix} 1\\0 \end{matrix}\right] =\left[\begin{matrix} 0\\-i \end{matrix}\right] $

    $ Y|1〉= \begin{pmatrix} 0 & -i \\ -i & 0 \\ \end{pmatrix} \left[\begin{matrix} 0\\1 \end{matrix}\right] =\left[\begin{matrix} -i\\0 \end{matrix}\right] $

     Su acción sobre un qubit es:

    La transformación $Y$ se desplaza a lo largo del intervalo en la esfera de Bloch sobre la superficie de la esfera desde $|0〉$ hasta $|1〉$, rotando valores alrededor del eje $y$.


    $Y$ ibm quantum experience-fuente gates glossary




    Puerta Cuántica $Z$

    La puerta $Z$ viene definida por la matriz (unitaria):

    $ Z= \begin{pmatrix} 1 & 0 \\ 0 & -1 \\ \end{pmatrix} $

    Su accion es:

    $|0〉\longrightarrow$$Z$$\longrightarrow |0〉$

    $|1〉\longrightarrow$$Z$$\longrightarrow -|1〉$

    Es decir, la transformación lineal $Z$, cambia de signo la amplitud cuando se aplica al estado del qubit $|1〉$ y lo deja igual cuando se opera con el estado del qubit $|0〉$.


    $∴\quad$Su acción sobre un qubit es:

    La transformación $Z$ se desplaza a lo largo del intervalo en la esfera de Bloch sobre la superficie de la esfera desde $|0〉$ hasta $|1〉$, rotando valores alrededor del eje $z$.


    $Z$ ibm quantum experience-fuente gates glossary

    Puertas Cuánticas Importantes

  • La puerta $H$ o puerta de Hadamard definida por la matriz (unitaria):

  • $$ H=\frac {1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \\ \end{pmatrix} $$

    La puerta $H$ o Hadamard gira entre los estados $|0〉$ y $|1〉$, respectivamente. Es útil para hacer superposiciones. Situando su operación en la Esfera de Bloch, con coordenadas polares:

    $$ |\psi〉=cos(\frac {\theta}{2})|0〉+ e^{iφ}(\sin(\frac {\theta}{2})|1〉 $$

    Esto implica que se produce una rotación sobre el eje $y$ de un ángulo $\frac{π}{2}$ e inmediatamente otra rotación de un ángulo $π$ sobre $x$. La transformación de Hadamard opera paralelismos masivos. (i.e con $n \in N$ qubits se generan superposiciones de $2^{n}$ estados cuánticos, como combinaciones lineales de $|0〉$ y $|1〉$).


    Su accion es:

    $|0〉\longrightarrow$$H$$\longrightarrow \frac {1}{\sqrt{2}}(|0〉+|1〉)$

    $|1〉\longrightarrow$$H$$\longrightarrow \frac {1}{\sqrt{2}}(|0〉-|1〉)$



    $$H|0〉=\frac {1}{\sqrt{2}}(|0〉+|1〉)$$
    $$H|1〉=\frac {1}{\sqrt{2}}(|0〉-|1〉)$$


    La puerta de Hadamard es muy importante y consecuentemente utilizada en los algoritmos de la computación cuántica, por que se presta para ir aprovechando las ventajas de manejo de la evolución de los estados en superposición, hasta llegar a un lugar que medir esa superposición sea útil para contribuir a solucionar el problema con el algoritmo en cuestión.

    Es decir, Hadamard es una puerta de un qubit muy apropiada para generar superposición equiprobable, donde no se favorece ninguno de los estados básicos.


    $H$ ibm quantum experience-fuente gates glossary


    En general, cuando se comienza a construir un algoritmo cuántico, se establece un conjunto de qubits de inicialización en estado cero, pero se prepara el circuito para introducir los estados en superposición equiprobables con Hadamard.

    Nótese que la puerta lógica cuántica de Hadamard $H$, se puede expresar como una combinación de las puertas universales de Pauli, $X$ y $Z$. En efecto, $H=\frac{1}{2}(X + Z)$, lo que es facilmente comprobable:

    $ \large{\frac {1}{\sqrt{2}}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \\ \end{pmatrix} $ = $\large{\frac {1}{\sqrt{2}}}$ $ \Biggl( \begin{pmatrix} 0 & 1 \\ 1 & 0 \\ \end{pmatrix} $ + $\begin{pmatrix} 1 & 0 \\ 0 & -1 \\ \end{pmatrix} \Biggr)$

    Ahora, si se aplica el producto tensorial $⊗$ con $H$ sobre vectores de varios qubits (operador de Walsh-Hadamard), utilizando la notación en $n$, descrita previamente en Modo Numérico de Representar los Vectores Unitarios. Este producto tensorial con Hamadard, se describe mediante la siguiente expresión:

    $$H ⊗ H ⊗ H ⊗\cdots H |\underbrace{0 0 0\cdots 0}_{n\text{ veces}}〉=\frac {1}{\sqrt{2^{n}}}\sum_{x=0}^{2n-1} |x〉$$

    Donde $x\in ${$0,1,2\cdots ,2n-1$}   


    Por ejemplo, con $n=2$:

    $$H ⊗ H |00〉=\frac {1}{\sqrt{2}}(|0〉+|1〉) ⊗ \frac {1}{\sqrt{2}}(|0〉+|1〉)=$$ $$\frac{1}{2}(|00〉+|01〉+|10〉+|11〉=$$
    $$\frac{1}{2}(|0〉+|1〉+|2〉+|3〉$$ $$=\frac {1}{\sqrt{2^{2}}}\sum_{x=0}^{3} |x〉$$



  • Puerta CNOT (Control Not)

  • La Puerta cuántica $CNOT$ es una puerta no controlada. Las puertas controladas operan sobre 2 qúbits o más. En este caso su efecto es:

    $|x y〉\longrightarrow$$CNOT$$\longrightarrow |x \quad x⊕y〉\qquad$ donde $x, y \in${$0,1$}

    Para el Algoritmo de Deutsch, es clave comprender la importancia del operador controlado $CNOT$ (denotado como $CX$ en el Composer Quantum de IBM), que se aplica con al menos $2$ qubits.




    $CNOT$ ibm quantum experience-fuente gates glossary

    A diferencia de las Puertas de Pauli, - descritas previamente -, las cuales son transformaciones unitarias, i.e. de un qubit y pueden ser representadas en sus dos estados por su rotación en los ejes de la Esfera de Bloch. Así mismo, la puerta de Hadamard, - que rota sobre el eje de las ordenadas $Y$ -, juega un rol preponderante de superposición en el Algoritmo de Deutsch. Nótese que si el qubit de control del operador $CNOT$ está en un estado de superposición, se crearán entrelazamientos (Ver Estado de Bell).


    En efecto, la transformación $CNOT$ es una puerta de $2$ qubits de entrada. Se ilustra a continuación:

    $$|00〉\rightarrow |00〉\qquad |01〉\rightarrow|01〉\qquad |10〉\rightarrow|11〉\qquad |11〉\rightarrow |10〉$$
    Diagrama Transformación 2-qubit

      El primer qubit $x$ se llama control. El control es invariante en la transformación.

      El segundo qubit $y$ se llama objetivo. El objetivo se niega cuando $x$ = $1$. Es decir, $y$ no cambia si $x$ = $0$.

      La operación $⊕$ es la conectiva (XOR) que corresponde al OR excluyente en el Algebra de Boole. La operación $⊕$ se utiliza como la llamada suma módulo $2$. Es decir, el primer bit de entrada $x$ siempre se pasa directamente; el segundo bit se aplica sí y solo sí el bit de "control" $x$ es $|1〉$, i.e. aplica un Pauli $X$ en el objetivo. Para ser aún más explícito, $CNOT$ tiene la siguiente tabla de verdad:


    Tabla de Verdad $CNOT$
    $x$ $y$ $x⊕y$
    1 1 0
    1 0 1
    0 1 1
    0 0 0



  • Notación Matricial y Diagrama de $CNOT$

  • Para explicar paso a paso la Matriz $CNOT$, Consideremos los vectores de base $|0〉$ y $|1〉$.

    Apliquemos a cada columna la operación $CNOT$ antes definida y veremos que las dos primeras columnas permanecen invariantes por que el qubit de control es $0$, y las dos últimas columnas cambian porque el qubits de control es $1$, obteniendo la siguiente matriz:


    $$ CNOT= \begin{pmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 0 & 0 & 1 \\ 1 & 0 & 1 & 0 \\ \end{pmatrix} $$

    Diagrama de Síntesis Operación CNOT



    Puerta de Toffoli

    La puerta de Toffoli cubre la necesidad de tener un mínimo de tres qubits para cualquier computación clásica. La extensión a tres qubits de la puerta CNOT se denota como CCNOT o también Puerta de Toffoli (En el "Composer de IBM", el objeto se denomina CX). Para eso, se definen dos bits de control que sólo actúan si están a $1$. Al aplicarla dos veces resulta la identidad. Por tanto, es una puerta reversible (su inversa es ella misma). La expresión matricial es:

    $$ U_T= \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ \end{pmatrix} $$


    La puerta clásica de Toffoli es una transformación de 3-qubits que cambia el tercer qubit, cuando los dos primeros son $1$. Evidentemente es una transformación unitaria.

    La puerta de Toffoli, es de gran utilidad en el diseño de algoritmos cuánticos, permite equipararlos con algoritmos de computación clásica, ya que es universal para la computación booleana. Más adelante se utilizará en los ejemplos con el Editor Composer de IBM, también en forma extendida atravesando más cables (o qubits) y con puertas equivalentes como $U_3$32.

    Su representación es el siguiente diagrama:


    Diagrama Puerta Toffoli o CCNOT



    Tabla Síntesis con Entradas y Salidas Toffoli

    A fin de manipular recursos "algebraicos" en la construcción de algunos circuitos cuánticos es necesario introducir puertas lógicas cuánticas ternarias. Toffoli es una de ellas, dado que es una puerta NOT con dos controles previos al objetivo.

    Nótese en la Tabla previa que en la Salida sólo se invierte C cuando los otros dos controles de Entrada $A = B = 1$. Es decir, $(A, B, C) → (A, AB, A⊕B)$.

    Si se observa, tanto la representación matricial como la Tabla de Entradas y Salidas de la Puerta de Toffoli, se determinará que la resultante $C^{'}$, obtenida mediante operaciones booleanas, se expresará con la siguiente proposición lógica:

    $$C^{'}=|A〉|B〉|(A∧B)⊕C〉$$
    Se ratifica que la única forma que exista una variación en $C^{'}$ es cuando $A = B = 1$. Ahí ocurre que el resultado depende del segmento $|(1∧1)⊕C〉$ que a su vez depende del valor binario de $C$. Es decir, $|(1∧1)⊕0〉=|1〉\quad$ y $\quad|(1∧1)⊕1〉=|0〉$.

    Ahora, que ya se describieron las puertas cuánticas elementales, se complementa lo tratado en previamente en Algoritmo - Interfaz Suma Números Binarios, a fin de ir introduciendo un simple circuito cuántico para las sumas de dos bits. Utilizando las Puerta de Toffoli y CNOT, - donde las entradas $x, y \in${$0,1$} -, con el tercer qubit en cero. Se ilustra el siguiente diagrama:



    Circuito Cuántico ~ Suma Toffoli y CNOT




  • Circuitos Cuánticos:
  • Son concatenaciones de puertas cuánticas o una sucesión de modificaciones de un conjunto de qubits, que producen consecutivos cambios de estado en un ordenador. Esta notación gráfica de diagramas, se expresa mediante cables horizontales (uno por qubits) sobre los cuales se localizan las puertas cuánticas. Se leen de izquierda a derecha. A continuación una imagen animada de ejemplo extraído de "IBM Q, Introduction to Quantum Circuits, Getting started with quantum circuits URL: https://quantum-computing.ibm.com/".

    Nótese que cuando se realiza una operación de medición y colapsa la función de onda, se cierra un circuito lógico cuántico hacia el estado básico más probable en que se encuentra el qubit. Para ese efecto de Medir, se utiliza este objeto u operador  .

    Donde el Circuit Composer permite construir circuitos cuánticos gráficamente utilizando como objetos las puertas lógicas. Es decir, tomando, trasladando y poniendo los objetos seleccionados sobre los cables, ejecutando y obtieniendo resultados que arroja el circuito en tiempo real el algoritmo sobre el hardware de IBM.


    Vista Principal del Editor Circuit Composer de IBM

    En un siguiente ejercicio se construirá el algoritmo que calcula 1+1+1, describiremos detalladamente paso a paso el cicuito cuántico utilizando el Composer de IBM. Nótese que generalmente los qubits de los algoritmos se inicializan en cero. La notación q[0],q[1],..q[n] para descomponer los qubits. Por ejemplo: |001〉 se presenta como q[0]=0, q[1]=0 y q[2]=1.(Revisar operador Barrier33)


    Circuito Algoritmo 1+1+1 con el Editor de IBM  Ver Video



  • Estado de Bell
  • Los Estados de Bell son cuatro específicos estados cuánticos máximamente entrelazados de dos qubits. Están en una superposición de $|0〉$ y $|1〉$ , i.e. en una combinación lineal de estos dos estados.

    Los Estados de Bell, denotados como $|β_{xy}〉$ son:

    $$|β_{00}〉=\frac{1}{\sqrt{2}}(|00〉+ |11〉)$$
    $$|β_{01}〉=\frac{1}{\sqrt{2}}(|01〉+ |10〉)$$
    $$|β_{10}〉=\frac{1}{\sqrt{2}}(|00〉- |11〉)$$
    $$|β_{11}〉=\frac{1}{\sqrt{2}}(|01〉- |10〉)$$
    $\Rightarrow$ Los cuatro estados se pueden reducir bajo la siguiente formulación:

    $$\qquad |β_{xy}〉=\frac{1}{\sqrt{2}}(|0\text{ } y〉+ (-1)^{x} |1\text{ }\overline y 〉)$$
    A continuación se analiza el siguiente diagrama o circuito cuántico con uno de los Estados de Bell.

    $$|00〉\rightarrow \frac {1}{\sqrt{2}}(|00〉+|10〉)\rightarrow \frac {1}{\sqrt{2}}(|00〉+|11〉)$$

    Descripción de los Pasos del Circuito

    Los pasos aplicados en este circuito cuántico para crear un estado de Bell son los siguientes:

    1.- La puerta de Hadamard transforma el primer qubit q[0] a un estado de dos qubits:

    $${(|0〉+|1〉)|0〉\over \sqrt{2}}{={(|00〉+|10〉)\over \sqrt{2}}}$$
    2.- A continuación, a ese resultado se le aplica el CNOT:

    $${(|0\ \ 0⊕0〉 + |1 \ \ 0⊕1〉)\over\sqrt{2} }$$

    3.- Por lo tanto se obtiene:

    $${(|00〉+|11〉)\over\sqrt{2} }$$

    Circuito con el Editor de IBM



  • Ejemplo de Diagramación y Cálculo Manual con Resultante de Entrelazamiento:

  • $$|00〉\rightarrow \frac {1}{\sqrt{2}}(|00〉+|11〉)\rightarrow \frac {1}{\sqrt{2}}(|00〉+|11〉) \rightarrow \frac {1}{\sqrt{2}}(|00〉-|11〉)$$

    El mismo circuito con el Editor de IBM se obtiene el siguiente resultado:


    Circuito con el Editor de IBM

    Ejemplo de Indempotencia34 con CNOT

    Dado el siguiente diagrama de Puertas Cuánticas. ¿Cuál es el resultado?

    Resultado:


    Dos puertas Hadamard en serie resultan en un qubit con el estado original.

    |ψ〉HH|ψ〉





    Se puede ver claramente que este mapeo es una biyección 35, lo que confirma que CNOT es una puerta reversible. (Ver una generalización pequeña pero importante, llamada CCNOT (control controlado-NO) o Puerta Toffoli.)



    Ejemplo de Algoritmo con Puertas de Pauli

    Construir un algoritmo que transforme un qubit en estado |0〉 a un estado -|0〉

    El algoritmo se desarrolla sobre el primer cable en estado inicial q[0]. En efecto, se aplica X transformando |0〉 en |1〉. A este resultado se le aplica la puerta Z que transforma |1〉 en -|1〉. Ahí se aplica nuevamente X, obteniendo -|0〉.

    Resultado:




    Circuito con el Editor de IBM








    Notas Complementarias Adjuntas




    Puertas Lógicas Clásicas y Cuánticas ~ Circuitos Cuánticos

    Capítulo extraído de:
    Conceptos Matemáticos Básicos de Computación Cuántica
    Documento de Base






    Videografía y Bibliografía

  • Quantum Computation 5: A Quantum Algorithm
    David Deutsch, Autor del Algoritmo
    Centre for Quatum Computation
    https://www.youtube.com/watch?v=3I3OBFlJmnE

  • Curso Computación Cuántica
    Eduardo Sáenz de Cabezón
    26 abril 2019
    Instituto de Matemáticas de la UNAM, México
    https://www.youtube.com/watch?v=KKwjeJzKezw

  • Quantum Optics
    Miguel Orszag,
    Pontificia Universidad Católica - Santiago de Chile
    Editorial Springer ~ 2016


  • Quantum Optics - Mark Fox - Oxford University Press
    22 jun. 2006 - Oxford Master Series in Physics.
    Capítulo 13
    https://www.academia.edu/24696066/Fox_M_Quantum_optics_an_introduction

  • Quantum Computing Explain
    David McMahon on 2007
    WILEY-INTERSCIENCE
    A John Wiley & Sons, Inc., Publication
    https://www.academia.edu/31537353/_David_McMahon_Quantum_Computing_Explained_BookFi_1_

  • Programming a Quantum Computer with Cirq (QuantumCasts)
    Dave Bacon
    Google

  • Principios Fundamentales de Computación cuántica
    Vicente Moret Bonillo
    Profesor Titular de Universidad. Senior Member, IEEE.
    Departamento de Computación. Facultad de Informática.
    Universidad de la Coruña
    2O13


  • Quantum Networks for Elementary Arithmetic Operations
    Vlatko Vedral, Adriano Barenco and Artur Ekert
    Clarendon Laboratory, Department of Physics
    University of Oxford, Oxford, OX1 3PU, U.K.
    (Submitted to Phys. Rev. A)
    16 de Noviembre 1995

  • Quantum computing for the determined
    Michael Nielsen on June 10, 2011
    http://michaelnielsen.org/blog/quantum-computing-for-the-determined/
    https://www.youtube.com/watch?v=x6gOp_o7Bi8

  • QC — Quantum Algorithm with an example
    Jonathan Hui
    Dec 6, 2018
    https://medium.com/@jonathan_hui/qc-quantum-algorithm-with-an-example-cf22c0b1ec31

  •  
  • [W] Wikipedia
    Consultas a Wikipedia de múltiples conceptos relacionados a la Mecánica y Computación Cuántica
    https://en.wikipedia.org

  • Programación Cuántica
    Francisco Gálvez
    T3chFest 2017
    IBM
    https://www.youtube.com/watch?v=FYAkeCcOgeQ

  • Quantum Computation (CMU 18-859BB, Fall 2015)
    Lecture 1: Introduction to the Quantum Circuit Model
    September 9, 2015
    Lecturer: Ryan O’Donnell Scribe: Ryan O’Donnell

  • Hipertexto: Tratamiento Documental de Datos
    José Enrique González Cornejo
    Centro de Investigación y Desarrollo de la Educación,
    CIDE, Santiago – Chile, 1990.
    Registro Nº81.183 - 1991 ~ Editoria Argué Ltda

  • Algoritmo para el Cambio de Base Numérica
    José Enrique González Cornejo
    DocIRS Technology Junio 2014
    https://www.docirs.cl/algoritmo_cambio_base.htm

  • Algoritmo, Generación Distribución Aleatoria Discreta de Suma 1
    José Enrique González Cornejo
    11 de julio 2012
    DocIRS Technology https://www.docirs.cl/Algoritmo_Distribucion_Aleatoria.htm

  • Naïve Bayes ~ Simple Algoritmo de Clasificación Modelo de Variables Discretas
    José Enrique González Cornejo
    01 de agosto 2019
    DocIRS Technology

  • Problema de la Ruta Optima
    José Enrique González Cornejo
    01 de mayo 2009
    DocIRS Technology

  • Nomenclatura DocIRS para la Programación
    José Enrique González Cornejo
    24 de abril 2009
    DocIRS Technology

  • Acerca del Estilo en Programación
    José Enrique González Cornejo
    18 de abril 2009
    DocIRS Technology

  • Acerca de la Calidad de una Aplicación
    José Enrique González Cornejo
    18 de abril 2009
    DocIRS Technology

  • Fundamentos Teóricos de los Lenguajes Estructurados
    José Enrique González Cornejo
    12 de julio de 2011
    DocIRS Technology

  • Principios Fundamentales de Computación Cuántica
    2013, Vicente Moret Bonillo
    Universidad de la Coruña-España

  • Informática Cuántica - Parte 1
    Tecnologias Disruptivas
    Alejandro Alomar
    9 jul. 2018
    https://www.youtube.com/watch?v=SisRIgS3oO4

  • Computación Cuántica para Torpes
    Publicado el 26 de septiembre de 2016 por Sergio Montoro
    https://lapastillaroja.net/2016/09/computacion-cuantica/

  • Intro to Quantum Computing
    Steve Spicklemire
    Lesson 38 Quantum Computing, Deutsch's Problem

  • Learn Quantum Computation using Qiskit
    Page created by The Jupyter Book Community
    Qiskit Development Team Last updated on 2020/07/17.

  • Disfruta de la Experiencia cuántica de IBM
    Francisco R. Villatoro (Francis Naukas)
    2 noviembre, 2018
    https://francis.naukas.com/2018/11/02/disfruta-de-la-experiencia-cuantica-de-ibm/

  • Gates Glossary
    IBM Q, Introduction to Quantum Circuits
    https://quantum-computing.ibm.com/support/guides/gate-overview?section=5d00d964853ef8003c6d6820#rx-gate

  • Inversión de Matrices de Números Complejos
    reshish.com 2011 - 2020
    https://matrix.reshish.com/es/multCalculation.php

  • Algoritmo de Deutsch
    13 octubre 2016
    Felipe Fanchini
    https://www.youtube.com/watch?v=Sb5WRs8XUuU

  • Desarrollo de un simulador para el protocolo de criptografía cuántica E91 en un ambiente distribuido
    Ingeniare. Rev. chil. ing. vol.23 no.2 Arica abr. 2015
    Luis Cáceres Alvarez, Roberto Fritis, Palacios, Patricio Collao Caiconte

  • Effect of an artificial model’s vocal expressiveness on affective and cognitive learning
    . Llaima Eliza González Brouwer
    0999377
    MSc. Human Technology Interaction
    Department of Innovation Sciences
    Eindhoven University of Technology
    August 2018

  • Así Cambiará el Mundo la Computación Cuántica
    2016
    Ignacio Cirac
    https://www.youtube.com/watch?v=WJ3r6btgzBM

  • GIPHY
    Imagen de Animación Gif / Partículas
    Explore Partículas Gif

  • MathJax
    MathJax es una biblioteca javascript
    American Mathematical Society.
    Accessible Math in All Browsers