Share via


Convenciones de los diagrama de circuitos cuánticos

A veces, los algoritmos cuánticos son más fáciles de entender en un diagrama de circuitos que en la representación de matriz escrita equivalente. En este artículo se explica cómo leer diagramas de circuitos cuánticos y sus convenciones.

Para obtener más información, consulte Visualización de diagramas de circuitos cuánticos.

Lectura de diagramas de circuitos cuánticos

En un circuito cuántico, el tiempo fluye de izquierda a derecha. Las puertas cuánticas se ordenan cronológicamente; la puerta más a la izquierda es la que se aplica primero a los cúbits.

Tome el siguiente diagrama de circuitos cuánticos como ejemplo:

Diagrama de un circuito cuántico con dos registros, una puerta hadamard, una puerta controlada y una medida.

  1. Registro de cúbits: los registros de cúbits se muestran como líneas horizontales, con cada línea que representa un cúbit. La línea superior tiene el registro de cúbits con la etiqueta 0, la segunda línea es el registro de cúbits con la etiqueta 1, etc.
  2. Puerta cuántica: las operaciones cuánticas se representan mediante puertas cuánticas. El término puerta cuántica es análogo al de las puertas lógicas clásicas. Las puertas que actúan en uno o varios registros de cúbit se indican como un cuadro. En este ejemplo, el símbolo representa una operación Hadamard.
  3. Puerta controlada: las puertas controladas actúan en dos o más cúbits. En este ejemplo, el símbolo representa una puerta CNOT. El círculo negro representa el cúbit de control y la cruz dentro de un círculo representa el target cúbit.
  4. Operación de medición: el símbolo de medidor representa una operación de medida. La operación de medición toma un registro de cúbits como entrada y genera información clásica.

Aplicación de puertas cuánticas

Dado que el tiempo fluye de izquierda a derecha, la puerta más a la izquierda se aplica primero Por ejemplo, la acción del siguiente circuito cuántico es la matriz $unitaria CBA$.

Diagrama de puertas cuánticas que se aplican de izquierda a derecha en un circuito cuántico.

Nota:

La multiplicación de matrices sigue la convención opuesta: primero se aplica la matriz más a la derecha. Sin embargo, en los diagramas de circuitos cuánticos, la puerta de la izquierda se aplica primero. En ocasiones, esta diferencia puede provocar confusión, por lo que es importante tener en cuenta esta diferencia importante entre la notación algebraica lineal y los diagramas de circuitos cuánticos.

Entradas y salidas de circuitos cuánticos

En un diagrama de circuito cuántico, los cables que entran en una puerta cuántica representan los cúbits que son de entrada a la puerta cuántica y los cables que salen de la puerta cuántica representan los cúbits que se generan desde la puerta cuántica.

El número de entradas de una puerta cuántica es igual al número de salidas de una puerta cuántica. Esto se debe a que las operaciones cuánticas son unitarias y, por tanto, reversibles. Si una puerta cuántica tuviera más salidas que las entradas, no sería reversible y, por tanto, notaria, que es una contradicción.

Por este motivo, cualquier cuadro dibujado en un diagrama de circuito debe tener exactamente el mismo número de cables que entran y que salen.

Operaciones de varios cúbits

Los diagramas de circuitos de varios cúbits siguen convenciones similares a los de un solo cúbit. Por ejemplo, se puede definir una operación $unitaria de dos cúbits B$ como $(H S\otimes X),$ por lo que el circuito cuántico equivalente es el siguiente:

Diagrama de circuito de una operación unitaria de dos cúbits.

También podemos ver que $B$ tiene una acción en un solo registro de dos cúbits en lugar de dos registros de un cúbit, según el contexto en el que se use el circuito.

Quizás la propiedad más útil de estos diagramas de circuitos abstractos es que permiten describir algoritmos cuánticos complicados de forma general sin tener que compilarlos en puertas fundamentales. Esto significa que puede comprobar si su intuición sobre el flujo de datos de un algoritmo cuántico grande es cierta sin necesidad de comprender todos los detalles de cómo funciona cada una de las subrutinas dentro del algoritmo.

Puertas controladas

Las puertas controladas por quantum son puertas de dos cúbits que aplican una puerta de un solo cúbit a un target cúbit si un cúbit de control está en un estado específico.

Por ejemplo, considere una puerta controlada cuántica, indicada $\Lambda(G),$ donde el valor de un solo cúbit controla la aplicación de la $operación G$ . La puerta $\Lambdacontrolada (G)$ se puede entender examinando el ejemplo siguiente de una entrada de estado del producto:

$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$

Es decir, la puerta controlada aplica $G$ al registro que contiene $\psi$ si y solo si el cúbit de control toma el valor $1$. En general, estas operaciones controladas se describen en diagramas de circuitos mediante el siguiente símbolo:

Diagrama de circuito de una puerta controlada por singly.

Aquí, el círculo negro denota el cúbit en el que se controla la puerta, y un cable vertical denota el unitario que se aplica cuando el cúbit de control toma el valor $1$.

Para los casos especiales en $los que G=X$ y $G=Z$, se usa la siguiente notación para describir la versión controlada de las puertas (tenga en cuenta que la puerta controlada-X es la puerta CNOT):

Diagrama de circuito para casos especiales de puertas controladas.

Q# proporciona métodos para generar automáticamente la versión controlada de una operación, para que el programador no tenga que codificar manualmente estas operaciones. A continuación se muestra un ejemplo:

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Puertas controladas clásicamente

Las puertas cuánticas también se pueden aplicar después de una medida, donde el resultado de la medida actúa como un bit de control clásico.

El siguiente símbolo representa una puerta controlada clásicamente, donde $G$ se aplica condicionado en el bit de control clásico siendo el valor $1$:

Diagrama de circuito que representa una operación controlada.

Operador de medida

Las operaciones de medida toman un registro de cúbits, lo mide y genera el resultado como información clásica.

Una operación de medida se indica mediante un símbolo de medidor, siempre toma como entrada un registro de cúbit (que se indica mediante una línea continua ) y genera información clásica (que se indica mediante una línea doble). En concreto, el símbolo de la operación de medición tiene el siguiente aspecto:

Símbolo que representa una operación de medida.

En Q#, el Measure operador implementa la operación de medición.

Ejemplo: Transformación unitaria

Considere la transformación unitaria $\text{ CNOT}_{01}(H\otimes 1)$. Esta secuencia de puertas tiene una importancia fundamental para la computación cuántica porque crea un estado de dos cúbits máximamente entrelazados:

$\mathrm{CNOT}_{01}(H\otimes 1)\left=\ket{00}\frac{1}{\sqrt{2}}({00}\ket{ + ), \ket{11}\right$

Las operaciones con esta complejidad o mayor son omnipresentes en los algoritmos cuánticos y en la corrección de errores cuánticos.

El diagrama de circuitos para preparar este estado cuántico máximamente entrelazado es:

Diagrama de circuito para un estado de dos cúbits entrelazado máximo.

El símbolo detrás de la puerta Hadamard representa una puerta CNOT, donde el círculo negro indica el cúbit de control y la cruz dentro de un círculo indica el target cúbit. En la representación anterior, el circuito cuántico actúa sobre dos cúbits (o dos registros equivalentes que constan de un cúbit).

Ejemplo: Diagrama del circuito de teletransportación

La teletransportación cuántica es uno de los mejores algoritmos cuánticos para ilustrar los componentes del circuito.

La teletransportación cuántica es un protocolo que permite transmitir un estado cuántico de un cúbit a otro, con la ayuda de un estado entrelazado compartido entre el remitente y el receptor, y la comunicación clásica entre ellos.

Con fines de aprendizaje, el remitente se denomina Alice, el receptor se llama Bob y el cúbit que se va a teletransportar se denomina cúbit del mensaje. Alice y Bob mantienen un cúbit cada uno, y Alice tiene un cúbit adicional que es el cúbit del mensaje.

En el diagrama de circuito siguiente se muestra el protocolo de teletransportación:

Diagrama del circuito cuántico del protocolo de teletransportación.

Vamos a desglosar los pasos del protocolo de teletransportación:

  1. El registro de cúbits etiquetado 0 es el cúbit del mensaje, el registro de cúbits con la etiqueta 1 es el cúbit de Alice y el registro de cúbits etiquetado 2 es el cúbit de Bob. El cúbit del mensaje está en un estado desconocido y los cúbits de Alice y Bob están en estado $\ket{0}$ .
  2. Una puerta $Hadamard H$ se aplica al cúbit de Alice. Dado que el cúbit está en estado $\ket{0}$ , el estado resultante es $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$.
  3. Una puerta CNOT se aplica a los cúbits de Alice y Bob. El cúbit de Alice es el cúbit de control y el cúbit de Bob es el target cúbit. El estado resultante es $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$. Alice y Bob ahora comparten un estado entrelazado.
  4. Se aplica una puerta CNOT al cúbit del mensaje y al cúbit de Alice. Dado que el cúbit de Alice también está entrelazado con el cúbit de Bob, el estado resultante es un estado entrelazado de tres cúbits.
  5. Se aplica una puerta $Hadamard H$ al cúbit del mensaje.
  6. Alice mide sus dos cúbits y comunica los resultados de medición a Bob: esto no se refleja en el circuito. Los resultados de la medición son dos bits clásicos, que pueden tomar los valores 00, 01, 10 o 1
  7. Dos puertas de Pauli controladas clásicamente se aplican al cúbit de Bob, dependiendo del bit de resultado que sea el valor $1$. El estado resultante es el estado de cúbit del mensaje original.

Pasos siguientes