Wie implementiere ich die "Quadratwurzel des Swap-Gates" auf dem IBM Q (Composer)?


9

Ich möchte einen Quantenalgorithmus simulieren, bei dem einer der Schritte "Quadratwurzel des Swap-Gates" zwischen 2 Qubits ist.

Wie kann ich diesen Schritt mit dem IBM Composer implementieren ?


Vielleicht kann es nützlich sein, ein einfaches Swap-Gate als "Baustein" zu verwenden, um die Quadratwurzel des Swap-Gates zu konstruieren. Sie können auf IBM Q folgendermaßen simulieren: cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0];
Liegender Tänzer

1
@JanVdA Die Quadratwurzel ist nicht eindeutig. Tatsächlich sollte es 2 ^ 4 = 16 mögliche Wurzeln geben. Welches meinst du?
Norbert Schuch

Jeder würde für mich tun. Keine Präferenz für eine bestimmte.
JanVdA

Antworten:


9

Hier ist eine SQRT (SWAP) -Konstruktion, die nur CNOTs in einer Richtung erfordert, Hadamards, S-Gates ( Z.12 ), S Dolchtore (Z.- -12 ), T-Gatter (Z.14 ) und T Dolchtore (Z.- -14 ):

Geben Sie hier die Bildbeschreibung ein

Sie sollten es direkt in den Komponisten codieren können.


Wie erhält man dies aus ersten Prinzipien?
user1271772

@ user1271772 Welches sind die "ersten Prinzipien"?
Norbert Schuch

Ich weiß nicht , wie zu implementieren und Z - 1 / 2 von IBM Composer. Z.1/.2Z.- -1/.2
JanVdA

@ user1271772 Ich habe mit der CNOT-NOTC-CNOT-SWAP-Schaltung begonnen, die mittlere CNOT durch eine C-sqrt (nicht) ersetzt, um das Ganze zu einer sqrt (SWAP) zu machen, und die C-srt (nicht) in S + CNOT-Gatter zerlegt Ich bewegte einige Tore herum, bis ich es schaffte, einen der CNOTs abzubrechen, und benutzte dann Hadamards, um die Richtung eines CNOTs umzukehren, der in die falsche Richtung zeigte.
Craig Gidney

@JanVdA ist S , und Z - 1 / 2 ist , S (Blick auf dem blau - Gates in dem Komponisten). Z.1/.2S.Z.- -1/.2S.
Craig Gidney

2

Was Sie tun möchten, ist eine Drehung auf dem von überspannten Unterraum 01 und | 10 , die sie durch dreht |01|10 . Zu diesem Zweck können Sie zunächst einen CNOT erstellen, der diesen Unterraum{|zuordnet 01,| 11}. Jetzt müssen Sie das tunX.{|01,|11}} Drehung auf dem ersten Qubit, abhängig davon, dass das zweite Qubit eins ist. Das Implementieren von gesteuertenU-Gates mit CNOTs ist eine Standardkonstruktion, die an verschiedenen Stellen zu finden ist, siehe z.B.https://arxiv.org/abs/quant-ph/9503016. Je nachdemwie Sie diesen Schritt tun, könnten Sie die „globale“ Phase des ersten Qubit zu beheben haben (angesichts der zweite ist|1). Schließlich müssen Sie den CNOT rückgängig machen.X.U.|1


Mir ist nicht klar 1) wie du ein machst im Komponisten. 2) Rückgängigmachen eines CNOT in Composer 3) Sie erwähnen kontrollierte U-Gatter, aber es ist nicht klar, wo sie im Algorithmus verwendet werden sollen. Ich denke, dass eine schrittweise Beschreibung des Algorithmus hilfreich wäre, um dies auf dem IBM Composer zu implementieren. X
JanVdA

@JanVdA Ich fürchte, Sie müssen selbst etwas arbeiten, um sich mit Quantenschaltungen und deren Manipulationen vertraut zu machen. Was machen Sie sonst, wenn Sie die Schaltung für den sqrt-SWAP kennen?
Norbert Schuch

Zu Ihrer Information : Ich habe die obige sqrt-SWAP-Beschreibung verwendet, um die für quantumcomputing.stackexchange.com/questions/2209/… vorgeschlagene Lösung auf dem IBM Composer zu testen .
JanVdA

@ JanVdA Welches? Der Akzeptierte? Dieser spricht nur von einem kontrollierten SWAP. (Dafür: journals.aps.org/pra/abstract/10.1103/PhysRevA.53.2855 )
Norbert Schuch

Entschuldigung, ich beziehe mich auf die akzeptierte Lösung für die Frage: mathoverflow.net/questions/301733/…
JanVdA

-1

Jedes 2-Qubit-Gate hat eine "Paulinomialzerlegung", was bedeutet, dass es als Polynom von Pauli-Matrizen geschrieben werden kann.

Für das Tor, das Sie wollen:

TAUSCHEN=[1000012(1+ich)12(1- -ich)0012(1- -ich)12(1+ich)00001]]=1- -ich4(X.1X.2+Y.1Y.2+Z.1Z.2)+3+ich2ich,

wobei ein X- Gatter ist, das an das i- te Qubit angelegt wird.X.ichX.ichth


OK, danke für die Antwort - ich muss ein wenig lernen, um herauszufinden, wie ich dies in den IBM Composer übersetzen kann.
JanVdA

@ JanVdA Was ist los? Können Sie die X-, Y- und Z-Gatter nicht per Drag & Drop in die Schaltung ziehen? Möglicherweise möchten Sie eine separate Frage zum Multiplizieren eines Gatters mit einer Konstanten stellen.
user1271772

X.1X.2X.1X.2+Y.1Y.2ich

X.1X.2X.X.

Z.Z.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.