En computación cuántica y, específicamente, en el modelo de circuito cuántico de computación , una puerta lógica cuántica (o simplemente puerta cuántica ) es un circuito cuántico básico que opera en una pequeña cantidad de cúbits . Las puertas lógicas cuánticas son los componentes básicos de los circuitos cuánticos, al igual que las puertas lógicas clásicas lo son para los circuitos digitales convencionales.
A diferencia de muchas puertas lógicas clásicas, las puertas lógicas cuánticas son reversibles . Es posible realizar cálculos clásicos utilizando solo puertas reversibles. Por ejemplo, la puerta Toffoli reversible puede implementar todas las funciones booleanas , a menudo a costa de tener que usar bits ancillary . La puerta Toffoli tiene un equivalente cuántico directo, lo que demuestra que los circuitos cuánticos pueden realizar todas las operaciones realizadas por los circuitos clásicos.
Aquí, y son las amplitudes de probabilidad complejas del cúbito. Estos valores determinan la probabilidad de medir un 0 o un 1, al medir el estado del cúbito. Vea la medición a continuación para obtener más detalles.
El valor cero está representado por ket , y el valor uno está representado por ket .
El producto tensorial (o producto de Kronecker ) se utiliza para combinar estados cuánticos. El estado combinado de un registro de cúbits es el producto tensorial de los cúbits constituyentes. El producto tensorial se denota con el símbolo .
La representación vectorial de dos qubits es: [6]
La acción de la compuerta sobre un estado cuántico específico se obtiene multiplicando el vector , que representa el estado, por la matriz que representa la compuerta. El resultado es un nuevo estado cuántico :
Ejemplos notables
Existe una infinidad de puertas. Algunas de ellas han sido nombradas por varios autores, [2] [1] [4] [5] [7] [8] [9] y a continuación se presentan algunas de las más utilizadas en la literatura.
Puerta de identidad
La puerta de identidad es la matriz identidad , usualmente escrita como I , y se define para un solo qubit como
donde I es independiente de la base y no modifica el estado cuántico. La puerta identidad es más útil cuando se describe matemáticamente el resultado de varias operaciones de puerta o cuando se analizan circuitos multi-qubit.
Puertas de Pauli (incógnita,Y,O)
Puertas cuánticas (de arriba a abajo): Puerta de identidad, Puerta NOT, Pauli Y, Pauli Z
Las puertas de Pauli son las tres matrices de Pauli y actúan sobre un único cúbit. Las X , Y y Z de Pauli equivalen, respectivamente, a una rotación alrededor de los ejes x , y y z de la esfera de Bloch en radianes. [b]
La compuerta Pauli- X es el equivalente cuántico de la compuerta NOT para computadoras clásicas con respecto a la base estándar , , que distingue el eje z en la esfera de Bloch . A veces se la llama inversión de bits, ya que se asigna a y a . De manera similar, la compuerta Pauli- Y se asigna a y a . Pauli Z deja el estado base sin cambios y se asigna a . Debido a esta naturaleza, a Pauli Z a veces se la llama inversión de fase.
Estas matrices se representan normalmente como
Las matrices de Pauli son involutivas , lo que significa que el cuadrado de una matriz de Pauli es la matriz identidad .
Las puertas controladas actúan sobre 2 o más qubits, donde uno o más qubits actúan como control para alguna operación. [2] Por ejemplo, la puerta NOT controlada (o CNOT o CX) actúa sobre 2 qubits, y realiza la operación NOT sobre el segundo qubit solo cuando el primer qubit es , y de lo contrario lo deja sin cambios. Con respecto a la base , , , , se representa mediante la matriz unitaria hermítica :
La puerta CNOT (o Pauli- X controlada ) se puede describir como la puerta que mapea los estados base , donde es XOR .
De manera más general, si U es una puerta que opera en un solo qubit con representación matricial
Entonces, la puerta U controlada es una puerta que opera sobre dos cúbits de tal manera que el primer cúbit sirve como control. Mapea los estados base de la siguiente manera.
Diagramas de circuitos de puertas Pauli controladas (de izquierda a derecha): CNOT (o controlada-X), controlada-Y y controlada-Z.
La matriz que representa la U controlada es
Cuando U es uno de los operadores de Pauli, X , Y , Z , a veces se utilizan los términos respectivos "controlado- X ", "controlado- Y " o "controlado- Z ". [4] : 177–185 A veces esto se abrevia simplemente a C X , C Y y C Z.
En general, cualquier puerta unitaria de un solo qubit se puede expresar como , donde H es una matriz hermítica , y luego la U controlada es
El control se puede extender a puertas con un número arbitrario de qubits [2] y funciones en lenguajes de programación. [10] Las funciones se pueden condicionar a estados de superposición. [11] [12]
Control clásico
Las puertas también pueden ser controladas por la lógica clásica. Una computadora cuántica es controlada por una computadora clásica y se comporta como un coprocesador que recibe instrucciones de la computadora clásica sobre qué puertas ejecutar en qué cúbits. [13] : 42–43 [14] El control clásico es simplemente la inclusión u omisión de puertas en la secuencia de instrucciones para la computadora cuántica. [4] : 26–28 [1] : 87–88
Puertas de cambio de fase
El cambio de fase es una familia de puertas de un solo cúbito que mapean los estados base y . La probabilidad de medir un o no cambia después de aplicar esta puerta, sin embargo modifica la fase del estado cuántico. Esto es equivalente a trazar un círculo horizontal (una línea de latitud constante), o una rotación sobre el eje z en la esfera de Bloch en radianes. La puerta de cambio de fase está representada por la matriz:
donde es el cambio de fase con el período 2π . Algunos ejemplos comunes son la puerta T donde (históricamente conocida como la puerta ), la puerta de fase (también conocida como la puerta S, escrita como S , aunque S a veces se usa para puertas SWAP) donde y la puerta Pauli-Z donde
Las puertas de cambio de fase están relacionadas entre sí de la siguiente manera:
Tenga en cuenta que la puerta de fase no es hermítica (excepto para todos los ). Estas puertas son diferentes de sus conjugados hermíticos: . Las dos puertas adjuntas (o transpuestas conjugadas ) y a veces se incluyen en los conjuntos de instrucciones. [15] [16]
Puerta de Hadamard
La puerta de Hadamard o Walsh-Hadamard, llamada así por Jacques Hadamard ( en francés: [adamaʁ] ) y Joseph L. Walsh , actúa sobre un único cúbit. Mapea los estados base y (crea un estado de superposición igual si se le da un estado base computacional). Los dos estados y a veces se escriben como y como respectivamente. La puerta de Hadamard realiza una rotación de alrededor del eje en la esfera de Bloch y, por lo tanto, es involutiva . Está representada por la matriz de Hadamard :
Si se utiliza la puerta hermítica (so ) de Hadamard para realizar un cambio de base , se invierte y . Por ejemplo, y
Puerta de intercambio
La compuerta de intercambio intercambia dos qubits. Con respecto a la base , , , , está representada por la matriz
La puerta de intercambio se puede descomponer en forma de suma:
Puerta de Toffoli (CCNOT)
La puerta Toffoli, llamada así por Tommaso Toffoli y también llamada puerta CCNOT o puerta Deutsch , es una puerta de 3 bits que es universal para la computación clásica pero no para la computación cuántica. La puerta Toffoli cuántica es la misma puerta, definida para 3 qubits. Si nos limitamos a aceptar solo qubits de entrada que sean y , entonces si los dos primeros bits están en el estado aplica un Pauli- X (o NOT) en el tercer bit, de lo contrario no hace nada. Es un ejemplo de una puerta CC-U (Unitaria controlada-controlada). Dado que es el análogo cuántico de una puerta clásica, está completamente especificada por su tabla de verdad. La puerta Toffoli es universal cuando se combina con la puerta Hadamard de un solo qubit. [17]
La puerta Toffoli está relacionada con las operaciones clásicas AND ( ) y XOR ( ) ya que realiza el mapeo en estados en la base computacional.
La puerta de Toffoli se puede expresar utilizando matrices de Pauli como
Puertas cuánticas universales
Un conjunto de puertas cuánticas universales es cualquier conjunto de puertas al que se puede reducir cualquier operación posible en un ordenador cuántico, es decir, cualquier otra operación unitaria se puede expresar como una secuencia finita de puertas del conjunto. Técnicamente, esto es imposible con algo menos que un conjunto incontable de puertas, ya que el número de puertas cuánticas posibles es incontable, mientras que el número de secuencias finitas de un conjunto finito es contable . Para resolver este problema, solo requerimos que cualquier operación cuántica se pueda aproximar mediante una secuencia de puertas de este conjunto finito. Además, para unitarias en un número constante de cúbits, el teorema de Solovay-Kitaev garantiza que esto se puede hacer de manera eficiente. La comprobación de si un conjunto de puertas cuánticas es universal se puede realizar utilizando métodos de teoría de grupos [18] y/o la relación con diseños t unitarios (aproximados) [19].
Algunos conjuntos de puertas cuánticas universales incluyen:
Los operadores de rotación R x ( θ ) , R y ( θ ) , R z ( θ ) , la puerta de desplazamiento de fase P ( φ ) [c] y CNOT se utilizan comúnmente para formar un conjunto de puertas cuánticas universales. [20] [d]
El conjunto de Clifford {CNOT, H , S } + puerta T. El conjunto de Clifford por sí solo no es un conjunto de puertas cuánticas universal, ya que se puede simular de manera eficiente de forma clásica según el teorema de Gottesman-Knill .
La puerta Toffoli + la puerta Hadamard. [17] La puerta Toffoli por sí sola forma un conjunto de puertas universales para circuitos lógicos algebraicos booleanos reversibles , que abarca todo el cálculo clásico.
Puerta alemana
También se puede formular un conjunto de puertas cuánticas universales de una sola puerta utilizando la puerta Deutsch de tres cúbits parametrizada , [21] llamada así en honor al físico David Deutsch . Es un caso general de CC-U , o puerta controlada-controlada-unitaria , y se define como
Lamentablemente, una puerta Deutsch funcional ha quedado fuera de alcance debido a la falta de un protocolo. Existen algunas propuestas para realizar una puerta Deutsch con interacción dipolo-dipolo en átomos neutros. [22]
Una puerta lógica universal para la computación clásica reversible, la puerta Toffoli, es reducible a la puerta Deutsch , lo que demuestra que todas las operaciones lógicas clásicas reversibles se pueden realizar en una computadora cuántica universal.
También existen puertas individuales de dos cúbits suficientes para la universalidad. En 1996, Adriano Barenco demostró que la puerta Deutsch se puede descomponer utilizando sólo una puerta de dos cúbits ( puerta de Barenco ), pero es difícil de realizar experimentalmente. [1] : 93 Esta característica es exclusiva de los circuitos cuánticos, ya que no existe una puerta clásica de dos bits que sea reversible y universal. [1] : 93 Se podrían implementar puertas universales de dos cúbits para mejorar los circuitos reversibles clásicos en microprocesadores rápidos de bajo consumo. [1] : 93
Composición del circuito
Puertas cableadas en serie
Supongamos que tenemos dos puertas A y B que actúan sobre cúbits. Cuando B se coloca después de A en un circuito en serie, el efecto de las dos puertas se puede describir como una única puerta C.
donde es la multiplicación de matrices . La compuerta resultante C tendrá las mismas dimensiones que A y B. El orden en el que aparecerían las compuertas en un diagrama de circuito se invierte cuando se multiplican entre sí. [4] : 17–18,22–23,62–64 [5] : 147–169
Por ejemplo, colocar la puerta Pauli X después de la puerta Pauli Y , ambas actuando sobre un único qubit, se puede describir como una única puerta combinada C :
El símbolo del producto ( ) a menudo se omite.
Exponentes de puertas cuánticas
Todos los exponentes reales de matrices unitarias son también matrices unitarias, y todas las puertas cuánticas son matrices unitarias.
Los exponentes enteros positivos son equivalentes a secuencias de puertas conectadas en serie (por ejemplo, ), y los exponentes reales son una generalización del circuito en serie. Por ejemplo, y son puertas cuánticas válidas.
para cualquier matriz unitaria . La matriz identidad ( ) se comporta como una NOP [23] [24] y puede representarse como un cable desnudo en circuitos cuánticos, o no mostrarse en absoluto.
Todas las puertas son matrices unitarias, de modo que y , donde es la transpuesta conjugada . Esto significa que los exponentes negativos de las puertas son inversos unitarios de sus contrapartes exponenciadas positivamente: . Por ejemplo, algunos exponentes negativos de las puertas de cambio de fase son y .
Nótese que para una matriz hermítica y debido a la unitaridad, también para todas las puertas hermíticas. Son involutivas . Ejemplos de puertas hermíticas son las puertas de Pauli, Hadamard, CNOT, SWAP y Toffoli. Cada matriz unitaria hermítica tiene la propiedad de que donde
Puertas paralelas
El producto tensorial (o producto Kronecker ) de dos puertas cuánticas es la puerta que es igual a las dos puertas en paralelo. [4] : 71–75 [5] : 148
Si, como en la imagen, combinamos la puerta Pauli- Y con la puerta Pauli- X en paralelo, entonces esto se puede escribir como:
Tanto la compuerta Pauli- X como la compuerta Pauli- Y actúan sobre un único cúbit. La compuerta resultante actúa sobre dos cúbits.
A veces se omite el símbolo del producto tensorial y en su lugar se utilizan índices para los operadores. [25]
Transformación de Hadamard
La puerta es la puerta Hadamard ( ) aplicada en paralelo sobre 2 qubits. Puede escribirse como:
Esta "puerta Hadamard paralela de dos cúbits" cuando se aplica, por ejemplo, al vector cero de dos cúbits ( ), creará un estado cuántico que tiene la misma probabilidad de ser observado en cualquiera de sus cuatro resultados posibles; , , y . Podemos escribir esta operación como:
Aquí la amplitud de cada estado medible es 1 ⁄ 2 . La probabilidad de observar cualquier estado es el cuadrado del valor absoluto de la amplitud de los estados mesurables, lo que en el ejemplo anterior significa que hay una probabilidad de cada cuatro de que observemos cualquiera de los cuatro casos individuales. Consulte la medición para obtener más detalles.
realiza la transformación de Hadamard en dos cúbits. De manera similar, la puerta realiza una transformación de Hadamard en un registro de cúbits.
Cuando se aplica a un registro de qubits todos inicializados a , la transformada de Hadamard coloca el registro cuántico en una superposición con igual probabilidad de ser medido en cualquiera de sus estados posibles:
La medición de este estado da como resultado un número aleatorio entre y . [e] La aleatoriedad del número depende de la fidelidad de las puertas lógicas. Si no se mide, es un estado cuántico con una amplitud de probabilidad igual para cada uno de sus estados posibles.
La transformada de Hadamard actúa sobre un registro con qubits de la siguiente manera:
Aplicación sobre estados entrelazados
Si dos o más qubits se consideran como un único estado cuántico, este estado combinado es igual al producto tensorial de los qubits constituyentes. Cualquier estado que pueda escribirse como un producto tensorial de los subsistemas constituyentes se denomina estado separable . Por otro lado, un estado entrelazado es cualquier estado que no se puede factorizar mediante tensores, o en otras palabras: un estado entrelazado no se puede escribir como un producto tensorial de sus estados qubits constituyentes. Se debe tener especial cuidado al aplicar puertas a los qubits constituyentes que forman estados entrelazados.
Si tenemos un conjunto de N qubits que están entrelazados y deseamos aplicar una compuerta cuántica a M < N qubits en el conjunto, tendremos que extender la compuerta para que acepte N qubits. Esta aplicación se puede realizar combinando la compuerta con una matriz identidad de modo que su producto tensorial se convierta en una compuerta que actúe sobre N qubits. La matriz identidad ( ) es una representación de la compuerta que asigna cada estado a sí misma (es decir, no hace nada en absoluto). En un diagrama de circuito, la compuerta o matriz identidad a menudo aparecerá como un simple cable desnudo.
Por ejemplo, la puerta de Hadamard ( ) actúa sobre un único cúbit, pero si le introducimos el primero de los dos cúbits que constituyen el estado de Bell entrelazado , no podemos escribir esa operación fácilmente. Necesitamos extender la puerta de Hadamard con la puerta identidad para poder actuar sobre estados cuánticos que abarcan dos cúbits:
Ahora la puerta se puede aplicar a cualquier estado de dos cúbits, entrelazados o no. La puerta dejará intacto el segundo cúbit y aplicará la transformada de Hadamard al primer cúbit. Si se aplica al estado de Bell en nuestro ejemplo, podemos escribirlo como:
Complejidad computacional y el producto tensorial
La complejidad temporal para multiplicar dos matrices es al menos , [26] si se utiliza una máquina clásica. Debido a que el tamaño de una compuerta que opera sobre qubits es , significa que el tiempo para simular un paso en un circuito cuántico (mediante la multiplicación de las compuertas) que opera sobre estados entrelazados genéricos es . Por esta razón, se cree que es intratable simular grandes sistemas cuánticos entrelazados utilizando computadoras clásicas. Sin embargo, los subconjuntos de las compuertas, como las compuertas de Clifford , o el caso trivial de circuitos que solo implementan funciones booleanas clásicas (por ejemplo, combinaciones de X, CNOT, Toffoli), se pueden simular de manera eficiente en computadoras clásicas.
Como todas las puertas lógicas cuánticas son reversibles , cualquier composición de múltiples puertas también es reversible. Todos los productos y productos tensoriales (es decir, combinaciones en serie y en paralelo) de matrices unitarias también son matrices unitarias. Esto significa que es posible construir una inversa de todos los algoritmos y funciones, siempre que contengan solo puertas.
Si una función es un producto de puertas, , se puede construir la inversa unitaria de la función :
Porque tenemos, después de repetida aplicación sobre sí mismo
De manera similar, si la función consta de dos puertas y en paralelo, entonces y .
Las puertas que son sus propias inversas unitarias se denominan operadores hermíticos o autoadjuntos . Algunas puertas elementales, como las puertas de Hadamard ( H ) y las puertas de Pauli ( I , X , Y , Z ), son operadores hermíticos, mientras que otras, como las puertas de desplazamiento de fase ( S , T , P , CPhase ), generalmente no lo son.
Por ejemplo, un algoritmo de suma puede utilizarse para restar, si se ejecuta "en sentido inverso", como su inverso unitario. La transformada de Fourier cuántica inversa es la inversa unitaria. Las inversas unitarias también pueden utilizarse para la no computación . Los lenguajes de programación para ordenadores cuánticos, como Q# de Microsoft , [10] QCL de Bernhard Ömer , [13] : 61 y Qiskit de IBM , [27] contienen la inversión de funciones como conceptos de programación.
Medición
La medición (a veces llamada observación ) es irreversible y, por lo tanto, no es una puerta cuántica, porque asigna el estado cuántico observado a un solo valor. La medición toma un estado cuántico y lo proyecta a uno de los vectores base , con una probabilidad igual al cuadrado de la longitud del vector (en la norma 2 [4] : 66 [5] : 56, 65 ) a lo largo de ese vector base. [1] : 15–17 [28] [29] [30] Esto se conoce como la regla de Born y aparece [e] como una operación estocástica no reversible, ya que establece probabilísticamente el estado cuántico igual al vector base que representa el estado medido. En el instante de la medición, se dice que el estado " colapsa " al valor único definido que se midió. Por qué y cómo, o incluso si [31] [32] el estado cuántico colapsa en la medición, se llama problema de medición .
La medición de un solo qubit, cuyo estado cuántico está representado por el vector , dará como resultado con probabilidad , y en con probabilidad .
Por ejemplo, medir un qubit con el estado cuántico producirá con igual probabilidad o .
Un estado cuántico que abarca n qubits se puede escribir como un vector en dimensiones complejas : . Esto se debe a que el producto tensorial de n qubits es un vector en dimensiones. De esta manera, un registro de n qubits se puede medir en estados distintos, de manera similar a cómo un registro de n bits clásicos puede contener estados distintos. A diferencia de los bits de las computadoras clásicas, los estados cuánticos pueden tener amplitudes de probabilidad distintas de cero en múltiples valores medibles simultáneamente. Esto se llama superposición .
La suma de todas las probabilidades para todos los resultados siempre debe ser igual a1 . [f] Otra forma de decir esto es que el teorema de Pitágoras generalizado a tiene que todos los estados cuánticos con n qubits deben satisfacer [g] donde es la amplitud de probabilidad para el estado medible . Una interpretación geométrica de esto es que el posible espacio de valores de un estado cuántico con n qubits es la superficie de la esfera unitaria en y que las transformadas unitarias (es decir, puertas lógicas cuánticas) aplicadas a él son rotaciones en la esfera. Las rotaciones que realizan las puertas forman el grupo de simetría U(2 n ) . La medición es entonces una proyección probabilística de los puntos en la superficie de esta esfera compleja sobre los vectores base que abarcan el espacio (y etiquetan los resultados).
En muchos casos, el espacio se representa como un espacio de Hilbert en lugar de un espacio complejo de una dimensión específica . El número de dimensiones (definido por los vectores base y, por lo tanto, también los posibles resultados de la medición) suele estar implícito en los operandos, por ejemplo, como el espacio de estados necesario para resolver un problema . En el algoritmo de Grover , Grover denominó a este conjunto de vectores base genérico "la base de datos" .
La selección de vectores base contra los cuales medir un estado cuántico influirá en el resultado de la medición. [1] : 30–35 [4] : 22, 84–85, 185–188 [33] Ver cambio de base y entropía de Von Neumann para más detalles. En este artículo, siempre usamos la base computacional , lo que significa que hemos etiquetado los vectores base de un registro de n -qubit , o usamos la representación binaria .
Un ejemplo del uso de una base de medición alternativa está en el cifrado BB84 .
El efecto de la medición sobre los estados entrelazados
Si dos estados cuánticos (es decir, qubits o registros ) están entrelazados (lo que significa que su estado combinado no se puede expresar como un producto tensorial ), la medición de un registro afecta o revela el estado del otro registro colapsando también parcial o totalmente su estado. Este efecto se puede utilizar para realizar cálculos y se utiliza en muchos algoritmos.
La combinación Hadamard-CNOT actúa sobre el estado cero de la siguiente manera:
Este estado resultante es el estado de Bell . No se puede describir como un producto tensorial de dos qubits. No hay solución para
porque por ejemplo w debe ser distinto de cero y cero en el caso de xw e yw .
El estado cuántico abarca los dos cúbits. Esto se llama entrelazamiento . Medir uno de los dos cúbits que componen este estado de Bell dará como resultado que el otro cúbit lógicamente debe tener el mismo valor, ambos deben ser iguales: o se encontrará en el estado , o en el estado . Si medimos que uno de los cúbits es, por ejemplo , , entonces el otro cúbit también debe ser , porque su estado combinado se convirtió en . La medición de uno de los cúbits colapsa todo el estado cuántico, que abarca los dos cúbits.
El estado GHZ es un estado cuántico entrelazado similar que abarca tres o más qubits.
Este tipo de asignación de valor ocurre instantáneamente a cualquier distancia y, a partir de 2018, QUESS lo ha verificado experimentalmente para distancias de hasta 1200 kilómetros. [34] [35] [36] El hecho de que el fenómeno parezca ocurrir instantáneamente en lugar del tiempo que llevaría recorrer la distancia que separa los qubits a la velocidad de la luz se denomina paradoja EPR , y es una pregunta abierta en física cómo resolverla. Originalmente se resolvió abandonando el supuesto de realismo local , pero también han surgido otras interpretaciones . Para obtener más información, consulte los experimentos de prueba de Bell . El teorema de no comunicación demuestra que este fenómeno no se puede utilizar para la comunicación más rápida que la luz de información clásica .
Medición en registros con qubits entrelazados por pares
Tome un registro A con n qubits todos inicializados a , y páselo a través de una compuerta Hadamard paralela . El registro A entonces entrará en el estado que tiene igual probabilidad de cuando se mide que está en cualquiera de sus estados posibles; a . Tome un segundo registro B, también con n qubits inicializados a y CNOT por pares sus qubits con los qubits en el registro A, de modo que para cada p los qubits y formen el estado .
Si ahora medimos los qubits en el registro A, entonces se encontrará que el registro B contiene el mismo valor que A. Sin embargo, si en cambio aplicamos una puerta lógica cuántica F en A y luego medimos, entonces , donde es la inversa unitaria de F .
Debido a cómo actúan las inversas unitarias de las puertas, . Por ejemplo, digamos , entonces .
La igualdad se mantendrá sin importar en qué orden se realice la medición (en los registros A o B), suponiendo que F se haya ejecutado hasta el final. La medición puede incluso intercalarse aleatoriamente y simultáneamente cúbit por cúbit, ya que la asignación de mediciones de un cúbit limitará el espacio de valores posible de los otros cúbits entrelazados.
Aunque las igualdades se mantienen, las probabilidades de medir los posibles resultados pueden cambiar como resultado de la aplicación de F , como puede ser la intención en un algoritmo de búsqueda cuántica.
Las funciones y rutinas que solo utilizan puertas pueden describirse como matrices, al igual que las puertas más pequeñas. La matriz que representa una función cuántica que actúa sobre qubits tiene un tamaño . Por ejemplo, una función que actúa sobre un "qubyte" (un registro de 8 qubits) estaría representada por una matriz con elementos.
Las transformaciones unitarias que no están en el conjunto de puertas disponibles de forma nativa en el ordenador cuántico (las puertas primitivas) se pueden sintetizar, o aproximar, combinando las puertas primitivas disponibles en un circuito . Una forma de hacerlo es factorizar la matriz que codifica la transformación unitaria en un producto de productos tensoriales (es decir, circuitos en serie y en paralelo) de las puertas primitivas disponibles. El grupo U(2 q ) es el grupo de simetría para las puertas que actúan sobre qubits. [2] La factorización es entonces el problema de encontrar un camino en U(2 q ) a partir del conjunto generador de puertas primitivas. El teorema de Solovay-Kitaev muestra que, dado un conjunto suficiente de puertas primitivas, existe una aproximación eficiente para cualquier puerta. Para el caso general con una gran cantidad de qubits, este enfoque directo para la síntesis de circuitos es intratable . [38] [39] Esto pone un límite a cómo las funciones grandes pueden factorizarse por fuerza bruta en puertas cuánticas primitivas. Por lo general, los programas cuánticos se construyen utilizando funciones cuánticas relativamente pequeñas y simples, similares a la programación clásica normal.
Debido a la naturaleza unitaria de las puertas , todas las funciones deben ser reversibles y siempre ser mapeos biyectivos de entrada a salida. Siempre debe existir una función tal que . Las funciones que no son invertibles pueden hacerse invertibles agregando qubits ancillares a la entrada o la salida, o ambas. Una vez que la función se ha ejecutado hasta su finalización, los qubits ancillares pueden entonces descomponerse o dejarse intactos. Medir o colapsar de otra manera el estado cuántico de un qubit ancillar (por ejemplo, reinicializando su valor o por su decoherencia espontánea ) que no se ha descompuesto puede resultar en errores, [40] [41] ya que su estado puede estar enredado con los qubits que aún se están usando en los cálculos.
Las operaciones lógicamente irreversibles, por ejemplo, la suma módulo de dos registros de -qubit a y b , , [h] se pueden hacer lógicamente reversibles añadiendo información a la salida, de modo que la entrada se pueda calcular a partir de la salida (es decir, existe una función ). En nuestro ejemplo, esto se puede hacer pasando uno de los registros de entrada a la salida: . La salida se puede utilizar entonces para calcular la entrada (es decir, dada la salida y , podemos encontrar fácilmente la entrada; se da y ) y la función se hace biyectiva.
Todas las expresiones algebraicas booleanas se pueden codificar como transformadas unitarias (puertas de lógica cuántica), por ejemplo, utilizando combinaciones de las puertas Pauli-X, CNOT y Toffoli. Estas puertas son funcionalmente completas en el dominio de la lógica booleana.
Hay muchas transformaciones unitarias disponibles en las bibliotecas de Q# , QCL , Qiskit y otros lenguajes de programación cuántica . También aparece en la literatura. [42] [43]
Por ejemplo, , donde es el número de qubits que constituyen el registro , se implementa de la siguiente manera en QCL: [44] [13] [12]
cond qufunct inc ( qureg x ) { // incrementar registro int i ; para i = # x - 1 a 0 paso - 1 { CNot ( x [ i ], x [ 0 :: i ]); // aplicar not controlado desde } // MSB a LSB }
En QCL, la disminución se realiza "deshaciendo" el incremento. El prefijo !se utiliza para ejecutar en su lugar la inversa unitaria de la función. !inc(x)es la inversa de inc(x)y en su lugar realiza la operación . La palabra clave significa que la función puede ser condicional. [11]cond
En el modelo de computación utilizado en este artículo (el modelo de circuito cuántico ), una computadora clásica genera la composición de puertas para la computadora cuántica, y la computadora cuántica se comporta como un coprocesador que recibe instrucciones de la computadora clásica sobre qué puertas primitivas aplicar a qué qubits. [13] : 36–43 [14] La medición de registros cuánticos da como resultado valores binarios que la computadora clásica puede usar en sus cálculos. Los algoritmos cuánticos a menudo contienen una parte clásica y una cuántica. La E/S no medida (enviar qubits a computadoras remotas sin colapsar sus estados cuánticos) se puede utilizar para crear redes de computadoras cuánticas . El intercambio de entrelazamiento se puede utilizar para realizar algoritmos distribuidos con computadoras cuánticas que no están conectadas directamente. Ejemplos de algoritmos distribuidos que solo requieren el uso de un puñado de puertas lógicas cuánticas son la codificación superdensa , el acuerdo bizantino cuántico y el protocolo de intercambio de claves de cifrado BB84 .
^ La multiplicación de matrices de puertas cuánticas se define como circuitos en serie.
^ Tenga en cuenta que aquí una rotación completa sobre la esfera de Bloch se expresa en radianes, a diferencia de las puertas del operador de rotación, donde se expresa un giro completo.
^ Se puede utilizar tanto la puerta P como la Ph , como [2] : 11 [1] : 76–83
^ Este conjunto genera exactamente todas las puertas unitarias posibles. Sin embargo, como la fase global es irrelevante en la salida de la medición, se pueden construir subconjuntos cuánticos universales, por ejemplo, el conjunto que contiene Ry ( θ ) , R z ( θ ) y CNOT solo abarca todas las puertas unitarias con determinante ±1 , pero es suficiente para el cálculo cuántico.
^ ab Si esto es realmente un efecto estocástico depende de qué interpretación de la mecánica cuántica sea correcta (y si cualquier interpretación puede ser correcta). Por ejemplo, la teoría de De Broglie-Bohm y la interpretación de los muchos mundos afirman el determinismo . (En la interpretación de los muchos mundos, una computadora cuántica es una máquina que ejecuta programas ( circuitos cuánticos ) que seleccionan una realidad donde la probabilidad de que tenga los estados de solución de un problema es grande. Es decir, la máquina, la mayoría de las veces, termina en una realidad donde da la respuesta correcta. Debido a que todos los resultados se realizan en universos separados según la interpretación de los muchos mundos, el resultado total es determinista. Sin embargo, esta interpretación no cambia la mecánica por la que opera la máquina).
^ La hipotenusa tiene longitud 1 porque las probabilidades suman 1, por lo que el vector de estado cuántico es un vector unitario .
^ La entrada son qubits, pero la salida son solo qubits. El borrado de información no es una operación reversible (o unitaria ) y, por lo tanto, no está permitido. Véase también el principio de Landauer .
Referencias
^ abcdefghij Colin P. Williams (2011). Exploraciones en computación cuántica . Springer . ISBN 978-1-84628-887-6.
^ abcdefg Barenco, Adriano; Bennett, Charles H.; Cleve, Richard; DiVincenzo, David P.; Margolus, Norman; Shor, Peter; Sleator, Tycho; Smolin, John A.; Weinfurter, Harald (1995-11-01). "Puertas elementales para computación cuántica". Physical Review A . 52 (5). American Physical Society (APS): 3457–3467. arXiv : quant-ph/9503016 . Código Bibliográfico :1995PhRvA..52.3457B. doi :10.1103/physreva.52.3457. ISSN 1050-2947. PMID 9912645. S2CID 8764584.
^ ab Feynman, Richard P. (1986). "Computadoras mecánicas cuánticas". Fundamentos de la física . 16 (6). Springer Science and Business Media LLC: 507–531. Código Bibliográfico :1986FoPh...16..507F. doi :10.1007/bf01886518. ISSN 0015-9018. S2CID 122076550.
^ "cQASM: Operaciones de compuertas de cúbits". QuTech.
^ "Espacio de nombres Microsoft.Quantum.Intrinsic". Microsoft ( Q# ). 28 de julio de 2023.
^ ab Operaciones y funciones (documentación de Q#)
^ ab Ömer, Bernhard (2 de septiembre de 2009). "Programación cuántica estructurada" (PDF) . Instituto de Física Teórica, Universidad Tecnológica de Viena. pp. 72, 92–107. Archivado desde el original (PDF) el 27 de marzo de 2022.
^ ab Ömer, Bernhard (29 de abril de 2003). "Conceptos clásicos en programación cuántica". Revista internacional de física teórica . 44 (7): 943–955. arXiv : quant-ph/0211100 . doi :10.1007/s10773-005-7071-x. S2CID 119373370.
^ abcd Ömer, Bernhard (2000-01-20). Programación cuántica en QCL (PDF) (Tesis). Instituto de Física Teórica, Universidad Tecnológica de Viena. Archivado desde el original (PDF) el 1 de junio de 2022. Consultado el 24 de mayo de 2021 .
^ ab Pauka SJ, Das W, Kalra R, Moini A, Yang Y, Trainer M, Bousquet A, Cantaloube C, Dick N, Gardner GC, Manfra MJ, Reilly DJ (2021). "Un chip CMOS criogénico para generar señales de control para múltiples qubits". Nature Electronics . 4 (4): 64–70. arXiv : 1912.01299 . doi :10.1038/s41928-020-00528-y. S2CID 231715555.
^ "Puerta de la daga T".Documentación en línea de cQASM.
^ ab Aharonov, Dorit (9 de enero de 2003). "Una prueba sencilla de que Toffoli y Hadamard son universales cuánticos". arXiv : quant-ph/0301040 .
^ Sawicki, Adán; Karnas, Katarzyna (1 de noviembre de 2017). "Universalidad de las puertas de Qudit único". Anales Henri Poincaré . 18 (11): 3515–3552. arXiv : 1609.05780 . Código Bib : 2017AnHP...18.3515S. doi :10.1007/s00023-017-0604-z. ISSN 1424-0661. S2CID 253594045.
^ Sawicki, Adam; Mattioli, Lorenzo; Zimborás, Zoltán (12 de mayo de 2022). "Verificación de universalidad para un conjunto de puertas cuánticas". Physical Review A . 105 (5): 052602. arXiv : 2111.03862 . Código Bibliográfico :2022PhRvA.105e2602S. doi :10.1103/PhysRevA.105.052602. S2CID 248761038.
^ Williams, Colin P. (2011), Williams, Colin P. (ed.), "Puertas cuánticas", Exploraciones en computación cuántica , Textos en ciencias de la computación, Londres: Springer, págs. 51-122, doi :10.1007/978-1-84628-887-6_2, ISBN978-1-84628-887-6, consultado el 14 de mayo de 2021
^ Deutsch, David (8 de septiembre de 1989), "Redes computacionales cuánticas", Proc. R. Soc. Lond. A , 425 (1989): 73–90, Bibcode :1989RSPSA.425...73D, doi :10.1098/rspa.1989.0099, S2CID 123073680
^ Shi, Xiao-Feng (22 de mayo de 2018). "Puertas Deutsch, Toffoli y cnot mediante el bloqueo de Rydberg de átomos neutros". Physical Review Applied . 9 (5): 051001. arXiv : 1710.01859 . Código Bibliográfico :2018PhRvP...9e1001S. doi :10.1103/PhysRevApplied.9.051001. ISSN 2331-7019. S2CID 118909059.
^ "Operación I". docs.microsoft.com . 28 de julio de 2023.
^ Loss, Daniel; DiVincenzo, David P. (1998-01-01). "Computación cuántica con puntos cuánticos". Physical Review A . 57 (1): 120–126. arXiv : cond-mat/9701055 . Código Bibliográfico :1998PhRvA..57..120L. doi : 10.1103/physreva.57.120 . ISSN 1050-2947.Ejemplo en la ecuación 2.
^ Juan Yin; Yuan Cao; Yu-Huai Li; Sheng-Kai Liao; Liang Zhang; Ji-Gang Ren; Wen-Qi Cai; Wei-Yue Liu; Bo Li; Hui Dai; Guang-Bing Li; Qi-Ming Lu; Yun-Hong Gong; Yu Xu; Shuang-Lin Li; Feng-Zhi Li; Ya-Yun Yin; Zi-Qing Jiang; Ming Li; Jian-Jun Jia; Ge Ren; Dong Él; Yi-Lin Zhou; Xiao-Xiang Zhang; Na Wang; Xiang Chang; Zhen-Cai Zhu; Nai-Le Liu; Yu-Ao Chen; Chao-Yang Lu; Rong Shu; Cheng-Zhi Peng; Jian-Yu Wang; Jian-Wei Pan (2017). "Distribución de entrelazamientos basada en satélites a lo largo de 1200 kilómetros". Óptica Cuántica . 356 (6343): 1140–1144. arXiv : 1707.01339 . doi :10.1126/science.aan3211. PMID: 28619937. S2CID : 5206894.
^ Billings, Lee (23 de abril de 2020). "China rompe récord de "acción fantasmal a distancia" y se prepara para la Internet cuántica". Scientific American .
^ Popkin, Gabriel (15 de junio de 2017). «El satélite cuántico de China logra una 'acción espeluznante' a una distancia récord». Ciencia – AAAS .
^ Aaronson, Scott (2009). "BQP y la jerarquía polinómica". arXiv : 0910.4698 [quant-ph].
^ Dawson, Christopher M.; Nielsen, Michael (1 de enero de 2006). "El algoritmo Solovay-Kitaev". Información y computación cuántica . 6 (1). Sección 5.1, ecuación 23. arXiv : quant-ph/0505030 . doi :10.26421/QIC6.1-6.
^ Matteo, Olivia Di (2016). "Paralelización de la síntesis de circuitos cuánticos". Ciencia y tecnología cuántica . 1 (1): 015003. arXiv : 1606.07413 . Bibcode :2016QS&T....1a5003D. doi :10.1088/2058-9565/1/1/015003. S2CID 62819073.
^ Aaronson, Scott (2002). "Límite inferior cuántico para muestreo recursivo de Fourier". Información y computación cuántica . 3 (2): 165–174. arXiv : quant-ph/0209060 . Código Bibliográfico :2002quant.ph..9060A. doi :10.26421/QIC3.2-7.
^ Manual en línea de Q#: Gestión de memoria cuántica
^ Ryo, Asaka; Kazumitsu, Sakai; Ryoko, Yahagi (2020). "Circuito cuántico para la transformada rápida de Fourier". Procesamiento de información cuántica . 19 (277): 277. arXiv : 1911.03055 . Código Bibliográfico :2020QuIP...19..277A. doi :10.1007/s11128-020-02776-5. S2CID 207847474.
^ Montaser, Rasha (2019). "Nuevo diseño de sumador/sustractor completo reversible usando la compuerta R". Revista internacional de física teórica . 58 (1): 167–183. arXiv : 1708.00306 . Código Bibliográfico :2019IJTP...58..167M. doi :10.1007/s10773-018-3921-1. S2CID 24590164.
^ Código fuente de QCL 0.6.4, el archivo "lib/examples.qcl"