Un circuito cuántico es el modelo más común para realizar computación cuántica, análogo a los circuitos clásicos. Se construye a partir de una secuencia de puertas lógicas reversibles, llamadas puertas cuánticas, que actúan sobre estados cuánticos llamados cúbits. Es común que estos circuitos finalicen en una medida de los cúbits, para obtener resultados de 0 o 1. Al contrario que los circuitos clásicos, las puertas cuánticas son operadores unitarios, y por tanto reversibles, por lo que será necesario que el circuito tenga tantos cúbits de entrada como de salida. El proceso de medida rompe la reversibilidad en la mayoría de casos, ya que la función de onda colapsa al estado medido.[1][2]
Los circuitos cuánticos se representan como líneas horizontales, que representan los cúbits, y cajas que representan las puertas cuánticas. Se lee de izquierda a derecha, partiendo de los cúbits iniciales, que van cambiando su estado al atravesar las diferentes puertas. En muchos casos, al final del circuito se encuentran las mediciones sobre los cúbits, que se ilustran con líneas dobles, y unen los cúbits con un registro clásico que toma valores de 0 y 1.[3][4] El origen de esta representación gráfica puede trazarse en una versión temprana de circuito cuántico debida Richard Feynman en 1986.[5]
El modelo de computación por puertas cuánticas fue introducido por David Deutsch en 1989[6] como el análogo de la computación lógica secuencial clásica. Este formalismo es equivalente a la máquina de Turing cuántica, introducida también por Deutsch en 1985.[7] Mientras que la máquina de Turing cuántica es un formalismo meramente teórico, los circuitos cuánticos tienen multitud de implementaciones.[4]
Matemáticamente las puertas se modelan como operadores unitarios (reversibles) que toman una entrada de cúbits y devuelven una salida de cúbits, modificados de acuerdo al operador. Un circuito de puertas con cúbtis será entonces una secuencia de puertas que actúan sobre cúbits cada una. Por ejemplo, la puerta CNOT actúa sobre dos cúbits de forma que si el primer cúbit es se invierta el segundo cúbit, y si el primer cúbit es no se modifique. La matriz unitaria que representa dicha transformación es, en la base :
.
Un ejemplo de circuito cuántico es el circuito que implementa el algoritmo de grover. Su esquema básico consiste en una puerta Hadamard en cada cúbit, que crea una superposición de todos los cúbit, una puerta oráculo, que selecciona los cúbits que queremos encontrar, y una puerta Grover, que amplifica la probabilidad de encontrar los estados seleccionados. Al final del circuito se incluye una medida sobre cada cúbit, cuyo resultado es enviado a un registro clásico. Opcionalmente, el circuito puede tener unos cúbits y registros auxiliares o ancilla. Por ejemplo, estos cúbits se usan para simplificar circuitos cuánticos a la hora de compilarlos en un ordenador cuántico real.
Existen conjuntos finitos de puertas cuánticas que pueden usarse para construir un circuito cuántico arbitrario, son los llamados conjuntos universales de puertas cuánticas.[8] Por ejemplo, la puerta de Toffoli y la puerta de Hadamard constituyen un conjunto universal.[9] Nótese, sin embargo, que en la práctica no es eficiente implementar todas las puertas de un circuito como sucesión de puertas universales, ya que si necesitamos un número grande de ellas, estaríamos encadenando errores innecesarios.
La reversibilidad de los circuitos cuánticos es fundamental para entender la diferencia entre la computación cuántica y la clásica. En un circuito clásico, puertas como la AND no son reversibles, ya que tienen una entrada de dos bits y una salida de un bit. Esto implica una pérdida de información en el circuito. El principio de Landauer asegura que al eliminar un bit de información, se disipa al menos una energía de , siendo la constante de Boltzmann y la temperatura en el entorno del ordenador ( aparece porque tenemos bits). Dicho de otra manera, la entropía del entorno del ordenador aumenta al menos . Puesto que los circuitos cuánticos son reversibles y no eliminan información, no tienen este límite inferior para la disipación de energía. Aunque teóricamente la disipación de energía podría eliminarse, no quiere decir que en la práctica los ordenadores cuánticos no disipen energía o que disipen menos que un ordenador clásico.[1]
A la hora de realizar experimentalmente un ordenador cuántico, con vistas a la escalabilidad, son fundamentales dos factores: el número de cúbits y el tiempo de coherencia. Actualmente, la mayor problemática con los ordenadores cuánticos es la decoherencia o ruido cuántico, que limita severamente la profundidad (número de puertas) de los circuitos cuánticos. A continuación se introducen algunas de las propuestas de ordenadores cuánticos escalables que se valoran en la actualidad.
En los ordenadores cuánticos de trampa de iones, los cúbits son estados cuantizados de un conjunto de iones. Por ejemplo, los estados vibracionales o fonones de una cadena de iones y estados fundamentales de la estructura hiperfina del ion (espín nuclear).[1] Su origen está en los trabajos de Wolfgang Paul, quien propuso la trampa de iones, trabajos por los que recibió el Premio Nobel en 1989.[10][11] Más adelante, en 1995, Juan Ignacio Cirac y Peter Zoller implementaron por primera vez una puerta NOT controlada, en particular para la iones atrapados.[12]
Para controlar los iones es necesario atraparlos, es decir, confinarlos en una región muy pequeña del espacio para poder controlarlos. Esto se consigue con campos eléctricos, uno de ellos oscilante, ya que el teorema de Earnshaw nos dice que no se puede mantener un equilibrio mecánico solo con campos estáticos. Antes de operar con los iones es necesario enfriarlos cerca del cero absoluto para reducir el ruido en las computaciones. Esto se hace mediante enfriamiento Doppler y enfriamiento láser. El estado inicial del ordenador se prepara mediante bombeo óptico, que usa un láser para inicializar todos los iones al mismo estado de espín.[13]
Para operar con los cúbits se utiliza la interferencia entre dos pulsos láser, que modifican el estado del cúbit, por ejemplo vía el modelo de Jaynes–Cummings. Las puertas que actúan sobre varios cúbits entrelazados se suelen implementar con los fonones, cuyo estado vibracional afecta a varios iones. En cambio, cuando se quieren aplicar puertas sobre un solo cúbit, se suelen implementar sobre estados cuantizados de la estructura hiperfina del ion. Para medir se iluminan todos los cúbit a la vez con un láser resonante, que colapsa los estados de los iones a uno de dos: el ion se ilumina o no se ilumina.[14]
Los circuitos electrónicos superconductores permiten la implementación de ordenadores cuánticos y es una de las principales líneas de investigación en computación cuántica.[15][16][17][18] Se pueden nombrar principalmente tres arquetipos de cúbits superconductores: cúbits carga, flujo y fase; además de varios tipos híbridos (Fluxonium,[19] Transmon,[20][21] Xmon,[22] Quantronium).[23] En estos ordenadores, los cúbits se realizan como estados del sistema superconductor, normalmente niveles de energía cuantizados (discretos) o sus superposiciones cuánticas. En el cúbit tipo carga, los niveles de energía se corresponden con un número entero de pares de Cooper en un superconductor. En el cúbit flujo, los niveles de energía se corresponden números enteros de cuantos de flujo magnético atrapados en un anillo superconductor. En el cúbit tipo fase, los niveles de energía se corresponden con oscilaciones de la diferencia de fase entre los electrodos de una unión de Josephson (superconductor-aislante-superconductor).
En principio, los niveles de un circuito superconductor tienen varios niveles separados por la misma energía, por lo que es necesario introducir una variación anarmónica en el potencial para poder distinguir los dos estados de menor energía (cúbits y ) del resto de niveles.[24] A la hora de reducir el ruido cuántico y la decoherencia, es necesario tener en cuenta que el cúbit puede decaer al cúbit . Para controlar los cúbits (aplicar puertas cuánticas) se utilizan pulsos de microondas, con correcciones DRAG para disminuir la probabilidad de excitar niveles de energía superiores (, ...). A pesar de que computacionalmente se trabaja con los cúbits y , en la implementación práctica de varias puertas cuánticas intervienen cúbits de otros niveles de energía. Por ejemplo, en la implementación de la puerta CPHASE intervienen los cúbits y . El método más empleado para medir los cúbits en los ordenadores superconductores son las llamadas medidas dispersivas, donde los cúbits están entrelazados con un resonador superconductor, sobre el que medimos para conocer el estado del cúbit sin interactuar directamente con él. Esta interacción entre el cúbit y el resonador está modelado por la interacción de Jaynes–Cummings. Uno de los problemas que surge al medir es el efecto Purcell, que produce una emisión espontánea de fotones que altera la señal resultante de medir el cúbit. Para solucionarlo se introduce un filtro de Purcell, que protege al cúbit de emitir (y por tanto decaer) mientras mantiene una alta velocidad de lectura.[25]
Otras propuestas para la realización física de ordenadores cuánticos son: