¿Cómo implementar la "raíz cuadrada de la puerta Swap" en el IBM Q (compositor)?

9

Me gustaría simular un algoritmo cuántico donde uno de los pasos es "Raíz cuadrada de la puerta de intercambio" entre 2 qubits.

¿Cómo puedo implementar este paso usando el compositor de IBM ?

JanVdA
fuente
Tal vez pueda ser útil usar una puerta de intercambio simple como un "ladrillo" para construir la raíz cuadrada de la puerta de intercambio. Puede simular en IBM Q de esta manera: cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0];
Mentir bailarina
1
@ JanVdA La raíz cuadrada no es única. De hecho, debería haber 2 ^ 4 = 16 posibles raíces. ¿A cuál te refieres?
Norbert Schuch
Cualquiera lo haría por mí. No hay preferencia por uno en particular.
JanVdA

Respuestas:

9

Aquí hay una construcción SQRT (SWAP) que solo requiere CNOT en una dirección, Hadamards, puertas S ( Z12 ), puertas de daga S (Z12 ), puertas T (Z14 ) y puertas de daga T (Z14 ):

ingrese la descripción de la imagen aquí

Debería poder codificarlo directamente en el compositor.

Craig Gidney
fuente
¿Cómo se obtiene esto de los primeros principios?
user1271772
@ user1271772 ¿Cuáles son los "primeros principios"?
Norbert Schuch
No sé cómo implementar y Z - 1 / 2 usando el compositor de IBM. Z1/2Z1/2
JanVdA
@ user1271772 Comencé con el circuito SWAP CNOT-NOTC-CNOT, reemplacé el CNOT central con un C-sqrt (no) para hacer que todo sea un sqrt (SWAP), descompuse el C-srt (no) en compuertas S + CNOT , moví algunas puertas hasta que logré cancelar uno de los CNOT, luego usé Hadamards para voltear la dirección de cualquier CNOT que apuntara en la dirección incorrecta.
Craig Gidney
@JanVdA es S , y Z - 1Z1/2S esS(mirada a las puertas azules en el compositor). Z1/2S
Craig Gidney
2

Lo que quiere hacer es una rotación en el subespacio que abarca y | 10 que gira por |01|10 . Para este fin, primero puede hacer un CNOT, que asigna este subespacio a{| 01,| 11}. Ahora necesitas hacerX{|01,|11}Rotación X en el primer qubit, condicionado a que el segundo qubit sea uno. La implementación depuertasUcontroladasutilizando CNOT es una construcción estándar, que se puede encontrar en una variedad de lugares, consulte, por ejemplo,https://arxiv.org/abs/quant-ph/9503016. Dependiendo de cómo se realiza este paso, es posible que tenga que arreglar la fase de "global" de la primera qubit (dada la segunda es|1). Finalmente, debes deshacer el CNOT.XU|1

Norbert Schuch
fuente
No me queda claro 1) cómo haces un en compositor. 2) cómo deshacer un CNOT en el compositor 3) menciona puertas controladas en U pero no está claro dónde deberían usarse en el algoritmo. Creo que una descripción paso a paso del algoritmo sería útil para implementar esto en el compositor de IBM. X
JanVdA
@ JanVdA Me temo que tendrá que hacer un trabajo usted mismo para familiarizarse con los circuitos cuánticos y sus manipulaciones. De lo contrario, ¿qué vas a hacer una vez que conozcas el circuito para el sqrt-SWAP?
Norbert Schuch
FYI: He usado la descripción de sqrt-SWAP anterior para probar la solución sugerida para quantumcomputing.stackexchange.com/questions/2209/… en el compositor de IBM.
JanVdA
@ JanVdA ¿Cuál? ¿El aceptado? Ese solo habla de un SWAP controlado. (Para eso: journals.aps.org/pra/abstract/10.1103/PhysRevA.53.2855 )
Norbert Schuch
Lo siento, me refiero a la solución aceptada para la pregunta: mathoverflow.net/questions/301733/…
JanVdA
-1

Cada puerta de 2 qubits tiene una "descomposición paulinomial", lo que significa que puede escribirse como un polinomio de matrices de Pauli.

Para la puerta que quieres:

SWAP=[1000012(1+i)12(1i)0012(1i)12(1+i)00001]=1i4(X1X2+Y1Y2+Z1Z2)+3+i2I,

XiXith qubit.

usuario1271772
fuente
Bien, gracias por la respuesta. Necesito estudiar un poco para descubrir cómo puedo traducir esto al IBM Composer.
JanVdA
@JanVdA ¿Qué pasa? ¿No puedes arrastrar y soltar las puertas X, Y y Z en el circuito? Es posible que desee hacer una pregunta por separado sobre cómo multiplicar una puerta por una constante.
user1271772
X1X2X1X2+Y1Y2I
X1X2XX
ZZ