¿Cómo hace una computadora cuántica las matemáticas básicas a nivel de hardware?

27

Al leer este hilo de Reddit, me di cuenta de que, incluso después de un par de meses de aprender sobre computación cuántica, no tengo ni idea de cómo funciona realmente una computadora cuántica.

Para hacer la pregunta más precisa, digamos que tenemos una computadora cuántica superconductora basada en qubit de 5 qubits (como la computadora cuántica IBM de 5 qubits). Escribo usando un teclado en un monitor (digamos en una aplicación de calculadora básica que la computadora cuántica podría tener). Después de eso debería devolverme . ¿Pero está sucediendo a nivel de hardware? ¿Hay algún tipo de señales eléctricas correspondientes a las entradas , y van a la unidad de procesamiento de la computadora? ¿Eso de alguna manera "inicializa" los electrones del par de Cooper? Qué sucede con los qubits de electrones del par Cooper después de eso (supongo que algunas puertas cuánticas las trabajarían , que a su vez son cajas negras2+3523+)? ¿Cómo finalmente me devuelve la salida ?5

Me sorprende lo poco que se me ocurre sobre el funcionamiento básico de una computadora cuántica buscando en la red.

Sanchayan Dutta
fuente

Respuestas:

27

En primer lugar, una computadora clásica hace matemáticas básicas a nivel de hardware en la unidad aritmética y lógica (ALU). Las compuertas lógicas toman voltajes de entrada bajos y altos y utilizan CMOS para implementar compuertas lógicas que permiten que las compuertas individuales se realicen y construyan para realizar operaciones más grandes y complicadas. En este sentido, escribir en un teclado es enviar señales eléctricas, que finalmente terminan en un comando (en forma de más señales eléctricas) que se envía a la ALU, se realizan las operaciones correctas y se envían más señales, que se convierten en Muestre píxeles en forma de número en la pantalla.

¿Qué pasa con una computadora cuántica?

Hay dos formas posibles de utilizar los procesadores cuánticos: solos o en combinación con un procesador clásico. Sin embargo, la mayoría de los procesadores cuánticos (incluido su ejemplo de superconductores) en realidad no usan señales eléctricas, aunque así es como su mouse, teclado y monitor, etc. transmiten y reciben información. Por lo tanto, debe haber una forma de convertir la señal eléctrica en cualquier señal que use el procesador cuántico (que abordaré más adelante), así como alguna forma de decirle al procesador lo que desea hacer. Ambos problemas pueden resolverse a la vez mediante el preprocesamiento y el postprocesamiento clásicos, como en el QISKit de IBM . Microsoft está adoptando un enfoque un poco más descendente en Q #, donde los programas para un procesador cuántico se escriben más como un programa 'clásico', en lugar de un script, luego se compilan y se optimizan potencialmente para el hardware. Es decir, si tiene una función, puede realizar operaciones clásicas, así como realizar llamadas al procesador cuántico para realizar cualquier operación cuántica requerida. Esto me lleva al primer punto:

Si va a pedirle a una computadora con acceso a un procesador cuántico que calcule algo como , una solución muy válida sería simplemente calcularlo en el procesador clásico como de costumbre.2+3

Bien, supongamos que está obligando al procesador clásico a usar el procesador cuántico, que en este caso es uno de los chips superconductores de IBM, que utiliza qubits transmon , digamos, el IBM QX4 . Esto es demasiado pequeño para tener corrección de errores, así que ignoremos eso. El uso de un procesador de modelo de circuito tiene tres partes: inicialización, evolución unitaria y medición, que se explican con más detalle a continuación. Antes de que,

¿Qué es un transmon?

Tome un bucle superconductor para permitir pares de Cooper y agregue una o dos uniones de Josephson para dar una isla de caja de pares de Cooper en la región entre las dos uniones de Josephson con la energía de acoplamiento de Josephson , donde el flujo magnético cuántico e es la corriente crítica de la unión. La aplicación de un voltaje a este cuadro proporciona una 'capacitancia de puerta' y lo convierte en un qubit de carga . Para la energía de Coulomb de un solo par de Cooper , dondeΦ 0 = h / 2 e I c V g C g E C = ( 2 e ) 2 / 2 C C H = E C ( n - n g ) 2 - E J cos ϕ , n ϕ n g = C g V gmiJ=yodoΦ0 0/ /2π Φ0 0=h/ /2miyodoVsoldosolmido=(2mi)2/ /2dodoes la suma de la capacitancia total de la isla. El hamiltoniano de dicho sistema viene dado por donde es el número de pares de Cooper, es el cambio de fase a través de la unión y . Al realizar operaciones unitarias, solo se consideran los dos estados más bajos del sistema, y con energías respectivas y y frecuencia qubit

H=EC(nng)2-miJcosϕ,
norteϕnortesol=dosolVsol/ /2miEl |norte=El |0 0El |norte=El |1mi0 0=ω0 0mi1=ω1ω=ω1-ω0 0, que describe la base computacional de un qubit. Un qubit de carga típico podría tener . Agregar una capacitancia de derivación grande y aumentar la capacitancia de la puerta cambia esta relación, de modo que y tenemos un transmon . Esto tiene la ventaja de tiempos de coherencia más largos, a un costo de anarmonicidad reducida (donde los niveles de energía más allá de los dos primeros están más juntos, lo que puede causar fugas).mido=5 5miJmiJmido

Finalmente , llegamos a la pregunta principal:

¿Cómo inicializamos, evolucionamos y medimos un transmon?

  • Evolución unitaria de qubit único: aplicando un pulso de microondas para de frecuencia y al hacer la aproximación de onda giratoria se obtiene el Hamiltoniano de los estados qubit (en el caso ideal) como Sin embargo, debido a una menor anarmonicidad, los pulsos de microondas tienen que formarse para reducir las fugas a niveles de energía más altos en un proceso conocido comomi(t)=miX(t)cos(ωret)+miy(t)pecado(ωret)0 0<t<tsolωre
    H=(ω1-ωre12miX(t)-yo2miy(t)12miX(t)+yo2miy(t)ω2-2ωre)
    Eliminación de derivados por la puerta adiabática (DRAG) . Al variar el pulso, se pueden lograr diferentes Hamiltonianos, que, dependiendo del tiempo del pulso, se pueden usar para implementar diferentes operaciones unitarias en un solo qubit.
  • Medición / lectura: un resonador de microondas, con frecuencia de resonancia , se puede acoplar al transmon utilizando un condensador. Esta interacción hace que se produzcan oscilaciones Rabi (en descomposición) en el sistema de resonancia transmon. Cuando la fuerza de acoplamiento de la cavidad y el qubit, , esto se conoce como el régimen de dispersión . En este régimen, el espectro de transmitancia de la cavidad se desplaza dependiendo del estado del qubit, por lo que aplica un pulso de microondas y analiza la transmitancia y la reflectancia ( por computadora) se puede usar para medir el qubit.ωrsolω-ωr±sol2/ /(ω-ωr)
  • Evolución unitaria de qubit múltiple: esta idea de acoplar un qubit a un resonador de microondas se puede extender acoplando el resonador a otro qubit. Al igual que en el caso de la puerta de un solo qubit, los tiempos de acoplamiento y los pulsos de microondas pueden usarse para permitir que el primer qubit se acople a la cavidad, que luego se acopla al segundo qubit y realiza ciertas puertas de 2 qubit. Los niveles de energía más altos también se pueden usar para hacer que ciertas puertas sean más fáciles de implementar debido a las interacciones entre los niveles más altos causadas por la cavidad. Aquí se muestra un ejemplo de este tipo , donde la cavidad causa una interacción entre los estados de yEl |2El |0 0El |1El |1. Un cruce evitado entre estos estados significa que se puede implementar una puerta de fase de 2 qubits, aunque en general las puertas de 2 qubits se implementan menos (tienen una fidelidad más baja) que las de un solo qubit.
  • Inicialización: Lectura, potencialmente seguida de una puerta Pauli un solo qubit (en cada qubit medido para estar en estado ) para garantizar que todos los qubits comiencen en estado .XEl |1El |0 0

Agregar 2 y 3 es ahora una cuestión 'simple' de inicializar los qubits, realizar las puertas equivalentes a un sumador reversible clásico y medir el resultado, todo implementado automáticamente. El resultado de la medición es devuelto por una computadora clásica como de costumbre.

Como beneficio adicional , parece un poco inútil pasar por todo eso para implementar puertas que de todos modos podrían hacerse en una computadora clásica, por lo que resulta posible implementar aproximadamente un sumador cuántico , que agrega dos cuánticos (en lugar de a clásico), con algún error, en uno de los procesadores de IBM.

Mithrandir24601
fuente
15

Aquí está mi proceso para hacer aritmética en una computadora cuántica.

Paso 1: encuentra un circuito clásico que haga lo que te interesa.

En este ejemplo, un sumador completo.

sumador clásico

Paso 2: Convierte cada puerta clásica en una puerta reversible.

Tenga sus bits de salida presentes desde el principio e inicialícelos con CNOT, CCNOT, etc.

sumador semi-reversible

Paso 3: usa salidas temporales.

Si estaba haciendo esta adición para, por ejemplo, controlar si un oráculo de Grover pasa a -1 o no, ahora es el momento de aplicar una puerta Z a su qubit de salida.

Paso 4: Deshágase de los valores intermedios haciendo exactamente lo contrario de lo que hizo para calcularlos.

Esto puede incluir o no deshacerse de los bits de salida, dependiendo de cómo se ajuste el circuito en su algoritmo general.

sumador completo semi-reversible 2

Paso 5: (A veces) por cada bit de salida que conserve, elimine un bit de entrada.

Y no me refiero a "tirarlos al suelo", me refiero a aplicar operaciones que hacen que se conviertan en 0 con seguridad.

Cuando calcula c+=a, dejar una copia del valor original de ctiende a ser malo. Destruye la coherencia. Por lo tanto, debe mirar su circuito sumador (o lo que sea) y pensar detenidamente si hay una manera de usar sus bits de salida para deshacerse de sus bits de entrada. Por ejemplo, después de calcular c+a, puede hacer una sustracción temporal fuera de lugar en un registro r, xor r en el registro que almacena la copia no deseada cy luego revertir la resta temporal.

(Una notable excepción a "si mantiene su salida, no guarde tanto de su entrada" es el algoritmo de Shor. El algoritmo de Shor descodifica su entrada a propósito , pero de una manera muy particular que ayuda a encontrar el período).

Paso 6: Sé eficiente

En el paso 5, dije que podría desconfigurar la entrada de una adición in situ haciendo una adición fuera de lugar seguida de una resta temporal fuera de lugar. Esto es un poco tonto. El proceso de adición general abarcará 4n qubits (n para retener a, n para retener c, n para retener c+a, n para retener (c+a)-a). Si eres más inteligente, puedes colocar todo en 2nqubits o (un poco más fácil) en 2n+1qubits :

sumador cuccaro

Craig Gidney
fuente