Come implementare la "radice quadrata di Swap gate" su IBM Q (compositore)?


9

Vorrei simulare un algoritmo quantistico in cui uno dei passaggi è "Radice quadrata del gate di scambio" tra 2 qubit.

Come posso implementare questo passaggio utilizzando il compositore IBM ?


Forse può essere utile utilizzare il semplice gate di swap come "mattone" per costruire la radice quadrata del gate di swap. È possibile simulare su IBM Q in questo modo: cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0];
Lying Dancer

1
@JanVdA La radice quadrata non è unica. In effetti, ci dovrebbero essere 2 ^ 4 = 16 possibili radici. A quale ti riferisci?
Norbert Schuch,

Qualcuno farebbe per me. Nessuna preferenza per uno in particolare.
JanVdA,

Risposte:


9

Ecco una costruzione SQRT (SWAP) che richiede solo CNOT in una direzione, Hadamards, porte S ( Z12 ), porte a pugnale S (Z12 ), porte a T (Z14 ) e T pugnale (Z14 ):

inserisci qui la descrizione dell'immagine

Dovresti essere in grado di codificarlo direttamente nel compositore.


Come si ottiene questo dai primi principi?
user1271772

@ user1271772 Quali sono i "primi principi"?
Norbert Schuch,

Non so come implementare e Z - 1 / 2 utilizzando il compositore IBM. Z1/2Z1/2
JanVdA,

@ user1271772 Ho iniziato con il circuito SWAP CNOT-NOTC-CNOT, ho sostituito il CNOT centrale con un C-sqrt (non) per rendere l'intera cosa un sqrt (SWAP), decomposto il C-srt (non) in porte S + CNOT , ha spostato alcune porte fino a quando sono riuscito a cancellare uno dei CNOT, quindi ho usato Hadamards per invertire la direzione di qualsiasi CNOT che puntava nella direzione sbagliata.
Craig Gidney,

@JanVdA è S e Z - 1 / 2 è S (esaminare le porte blu nel compositore). Z1/2SZ1/2S
Craig Gidney,

2

Quello che vuoi fare è una rotazione nel sottospazio attraversata da e | 10 che ruota entro |01|10 . A tal fine, puoi prima fare un CNOT, che mappa questo sottospazio su{| 01,| 11}. Ora devi fare ilX{|01,|11}Rotazione X sul primo qubit, a condizione che il secondo qubit sia uno. L'implementazione digateUcontrollatitramite CNOT è una costruzione standard, che può essere trovata in vari punti, vedi ad esempiohttps://arxiv.org/abs/quant-ph/9503016. A seconda di come si esegue questa fase, potrebbe essere necessario correggere la fase di "globale" del 1 ° qubit (data la 2 ° è|1). Infine, devi annullare il CNOT.XU|1


Non mi è chiaro 1) come si fa un nel compositore. 2) come annullare un CNOT nel compositore 3) menzioni i gate U controllati ma non è chiaro dove dovrebbero essere usati nell'algoritmo. Penso che una saggia descrizione dell'algoritmo sarebbe utile per implementarlo sul compositore IBM. X
JanVdA,

@JanVdA Temo che dovrai fare un po 'di lavoro per familiarizzare con i circuiti quantistici e le loro manipolazioni. Altrimenti, cosa farai quando conoscerai il circuito per sqrt-SWAP?
Norbert Schuch,

Cordiali saluti: Ho usato la suddetta descrizione sqrt-SWAP per testare la soluzione suggerita per quantumcomputing.stackexchange.com/questions/2209/… sul compositore IBM.
JanVdA,

@JanVdA Quale? Quello accettato? Quella parla solo di uno SWAP controllato. (Per questo: journals.aps.org/pra/abstract/10.1103/PhysRevA.53.2855 )
Norbert Schuch,

Spiacente, mi riferisco alla soluzione accettata per la domanda: mathoverflow.net/questions/301733/…
JanVdA

-1

Ogni gate a 2 qubit ha una "decomposizione paolinomiale", il che significa che può essere scritto come un polinomio di matrici di Pauli.

Per il cancello che vuoi:

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

where Xi is an X gate applied to the ith qubit.


OK, thanks for the answer - I need to study a bit to figure out how I can translate this to the IBM Composer.
JanVdA

@JanVdA What's wrong? Can't you drag and drop the X,Y, and Z gates into the circuit? You may wish to ask a separate question about how to multiply a gate by a constant.
user1271772

I can drag and drop X, Y, Z gates but I don't know how to do the multiplications (e.g. X1X2), the additions (e.g. X1X2+Y1Y2), the multiplication by a constant, I even don't know what you mean by I. I guess I must sound like a complete idiot.
JanVdA

X1X2 means you're applying X to qubit 1 and X to qubit 2. However, as I mention in the previous comment, I think you should ask a separate question about how to multiply by a constant.
user1271772

See also Eq. 8 of this paper: arxiv.org/pdf/1805.10478.pdf, and the circuit diagrams in the supplementary material. Eq. 8 of the paper is exactly like what I gave you, except with only Z gates. It's still a "Paulinomial" but with only Z gates, and it is implemented in the IBM composer in that paper.
user1271772
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.