Posibilidad de una puerta cuántica "reset"

8

Deseo tener una puerta de "reinicio". Esta puerta tendría un efecto de llevar un qubit a la estado. Claramente, tal puerta no es unitaria (y, por lo tanto, no puedo encontrar ninguna implementación confiable en términos de puertas universales).0

Ahora para mis necesidades particulares, necesito esta capacidad de restablecer un qubit o un registro cuántico a ese estado para que los usuarios siempre se puede comenzar desde . Estoy haciendo un pequeño lenguaje de programación que transpiles a QASM, y cuando se sale de una función, que quieren todos (cuántica) las variables locales (qubits) restablecen a | 0 para que puedan ser reutilizados. La instrucción de reinicio de QASM no funciona en el procesador real.00

Creo que se puede lograr algo en este sentido con la estimación de fase cuántica, pero me pregunto si hay otra forma.

Ntwali B.
fuente
"Quiero que todos reinicio local (cuántica) las variables (qubits) a para que puedan ser reutilizados" => mayor parte del tiempo, esto debe ser realizado por uncomputation y no por reseting brutalmente a los qubits no utilizados. Si uno de estos qubit "no utilizados" todavía está enredado con un qubit "en uso", restablecer el no utilizado también afectará el estado del utilizado, que la mayoría de las veces no es deseable. |0
Nelimee
@Nelimee estoy de acuerdo. El restablecimiento brutal no es seguro. Estoy empezando a decidir simplemente avisar a los usuarios cuando un qubit (registro) ya está en uso.
Ntwali B.
1
@Nelimee Si están enredados, la falta de cómputo también afectará esos qubits enredados de una forma u otra.
Norbert Schuch
@Blue gracias por la edición. Ni siquiera me di cuenta de lo absurdo que era el título de la pregunta.
Ntwali B.

Respuestas:

6

Z

De hecho, si desea implementar una operación no unitaria, necesita algún tipo de operación de medición en algún lugar, ya sea una medición directa o la implementación de un mapa CP o POVM (pero para estas opciones, debe introducir ancillas de un estado fijo, que más bien niega el punto). O podría usar ruido en el sistema, pero es poco probable que tenga un control suficiente de él: ¡después de todo, es ruido! Por supuesto, ninguna de estas opciones solo restablece un solo qubit; cualquier cosa con la que se enrede el qubit también se ve afectada, pero eso es algo así como en la definición de "reinicio" en el contexto cuántico.

La única otra opción es no computar, pero esta no es una opción genérica porque, genéricamente, debes desconfigurar todo el cálculo para restablecer incluso un solo qubit, y eso restablece todo. Excepto que no funciona perfectamente debido a errores. Sería mejor comenzar un nuevo cálculo. Existen escenarios específicos en los que se utiliza un qubit ancilla y puede ser no computable, pero esto generalmente está integrado en el algoritmo porque el paso de la no computación es importante para deshacerse de algunos enredos no deseados que de otro modo aparecerían.

DaftWullie
fuente
Esto estuvo cerca, pero como estoy apuntando a QASM, no permite aplicar más puertas a qubits después de la medición. Y, por supuesto, cualquier qubits enredados también tendrá sus estados determinados. Como se comentó en otras respuestas, mi intento es equivocado pero aprecio todas las respuestas.
Ntwali B.
1
Debe distinguir entre lo que QASM no permite y lo que el hardware actual no permite. Descansar o aplicar una compuerta después de la medida está completamente bien en QASM (estoy hablando de OpenQASM). Pero es una limitación del hardware actual que estas operaciones no puedan llevarse a cabo. Si crea dicho QASM, aún puede simularlo. Y el hardware del futuro no muy lejano también lo admitirá.
Ali Javadi
0
3

No creo que pueda lograr esto con una sola puerta, pero lo bueno de las puertas cuánticas y las transformaciones unitarias es que son reversibles, por lo tanto, al implementar una función en su circuito cuántico, todo lo que necesita hacer es 'no cuestionar' solo invirtiendo las puertas que usaste.

|0

Sin embargo, esto significaría que debe "reiniciar" de una manera específica para cada función.

FSic
fuente
44
eso solo funciona si sabes que no se han producido errores. En un sistema ruidoso, no puede deshacer el ruido.
DaftWullie
1
Ésta no es una mala idea. Y desde el punto de vista de la programación, también es factible. Aunque después de pensarlo mucho, este intento mío está equivocado por tres razones: 1) la incubación revertirá la computación útil, y para descontento de los usuarios, la función parecerá no hacer nada 2) no podemos descartar una medición si hay uno. 3) como acaba de sugerir @DaftWulie, la presencia de errores hace que el esquema sea inestable y es probable que ocurran errores. Pero me alegra que hayas propuesto esto. Gracias.
Ntwali B.
2
@NtwaliB. Para la lógica clásica, siempre es posible descontinuar (= restablecer) el espacio de trabajo de Ancilla mientras se mantiene el resultado deseado, ese es el punto clave del cálculo reversible clásico.
Norbert Schuch
@NorbertSchuch Eso es cierto. Pero estaba hablando de qubits arbitrarios, no de ancilla cbits después de la medición.
Ntwali B.