Allgemeine Konstruktion des


12

Zwei der bekanntesten verschränkte Zustände sind die GHZ-Zustand |ψ=1/2(|0n+|1n) und dieWn-state, wobeiW3=1/3(|100+|010+|001) .

Die Konstruktion des GHZ-Zustands ist für beliebiges n einfach . Die Implementierung des Wn -Zustands ist jedoch schwieriger. Für n=2 es einfach und für n=4 wir verwenden

H q[0,3]
X q[0,3]
Toffoli q[0],q[3],q[1]
X q[0,3]
Toffoli q[0],q[3],q[2]
CNOT q[2],q[0]
CNOT q[2],q[3]

Selbst für n=3 wir Implementierungen, siehe diese Antwort zum Beispiel. Ich habe jedoch keinen Algorithmus gefunden, der bei gegebenem n die Schaltung zur Konstruktion des Wn -Zustands ausgibt.

Gibt es einen solchen Algorithmus, der durch Ein- und Zwei-Qubit-Gatter definiert ist? Und wenn ja, was ist das?

Antworten:


8

Ja, es gibt verschiedene Implementierungen dieses Algorithmus in der Superposition Quantum Kata (Aufgaben 14 und 15):

  • Für n=2k können Sie einen rekursiven Algorithmus verwenden: Erstellen Sie einen W-Zustand für die ersten 2k1 Qubits, und weisen Sie ein ancilla Qubit in |+ State, führen Sie einige gesteuerte SWAPs durch, um den Status der zweiten 2k1 Qubits festzulegen, und einige gesteuerte NOTs, um die Ancilla wieder auf |0 ( WState_PowerOfTwo_ReferenceBetrieb).
  • Für eine beliebige n können Sie einen rekursiven Algorithmus verwenden, wie er von DaftWullie ( WState_Arbitrary_ReferenceOperation) beschrieben wird.
  • Es gibt auch einen tollen Trick, mit dem Sie mithilfe des ersten rekursiven Algorithmus einen Wn -Zustand für ein beliebiges n erstellen können . Weisen Sie zusätzliche Qubits zu, um die n gegebenen auf 2k , erstellen Sie einen Zustand W2k auf ihnen und messen Sie die zusätzlichen Qubits; wenn alle Qubits auf 0 zu messen, ist der Zustand der ursprünglichen Qubits Wn , andernfalls zurücksetzen und wiederholen den Vorgang ( WState_Arbitrary_PostselectOperation).

Dies ist meine Lieblingsaufgabe dieser Kata, weil sie so viele verschiedene Ansätze erlaubt.


6

Der konzeptionell einfachste Weg, einen W-Zustand zu erzeugen, ist insofern etwas analog zu der klassischen Probenahme in einem Reservoir , als er eine Reihe lokaler Operationen beinhaltet, die letztendlich einen einheitlichen Effekt erzeugen.

Grundsätzlich sehen Sie sich jedes Qubit nacheinander an und überlegen, wie viel Amplitude ich im All-0-Zustand noch habe und wie viel ich in den Just-This-Qubit-Is-On-Zustand übertragen möchte. Es stellt sich heraus, dass die Familie der Rotationen, die Sie benötigen, das ist, was ich die "Gewinnchancen" nennen werde, die die folgende Matrix haben:

M(p:q)=1p+q[pq-qp]

Mit diesen Gattern können Sie einen W-Zustand mit einer Abfolge von zunehmend kontrollierten Operationen erhalten:

Übertragen-von-0

Ö(N2+Nlg(1/ϵ))Nϵ

Wir können die Effizienz verbessern, indem wir von einer Strategie "Transfer von dem, was zurückgelassen wurde" zu einer Strategie "Transfer von dem, was mitgereist ist" wechseln. Dies fügt am Ende einen Fixup-Sweep hinzu, erfordert jedoch nur einzelne Steuerelemente für jede Operation. Dies reduziert die Kosten aufÖ(Nlg(1/ϵ)):

transfer-out-of-1

Es ist immer noch möglich, es besser zu machen, aber es wird immer komplizierter. Grundsätzlich können Sie einen einzelnen Teilschritt Grover verwenden, um zu erhaltenN Amplituden gleich 1/NSie werden jedoch in ein Binärregister codiert (wir wollen ein One-Hot-Register mit einem einzelnen Bit-Satz). Um dies zu beheben, ist eine Binär-zu-Unär-Umwandlungsschaltung erforderlich. Die dazu benötigten Werkzeuge werden in "Kodierung elektronischer Spektren in Quantenschaltungen mit linearer T-Komplexität" behandelt. . Hier sind die relevanten Zahlen.

Der partielle Grover-Schritt:

Vorbereitung einer gleichmäßigen Verteilung mit einem Teilschritt des Grovers

So führen Sie eine indizierte Operation durch (na ja, die nächste Figur hatte einen Akkumulator, der für diesen Fall nicht ganz richtig ist):

indizierte Operation

Die Verwendung dieses komplizierteren Ansatzes reduziert die Kosten von Ö(Nlg(1/ϵ)) zu Ö(N+lg(1/ϵ)).


4

Sie können die Reihenfolge rekursiv definieren. Was Sie konzeptionell tun möchten, ist:

  • Erstellen Sie den Ausgangszustand |0N

  • Wenden Sie auf Qubit 1 das Gate an

    1N(1N-1N-1-1)

  • Aus Qubit 1 gesteuert, "make" anwenden |WN-1"auf Qubits 2 bis N (dh auf tun dies, wenn Qubit 1 im ist |1 Zustand, sonst nichts tun)

  • Legen Sie ein Bit-Flip-Gate an Qubit 1 an.

Dieser Algorithmus besteht, wie ausgedrückt, nicht nur aus Ein- und Zwei-Qubit-Gattern, sondern kann durchaus als solcher durch Standard-Universalitätskonstruktionen zerlegt werden.

Dies ist möglicherweise auch nicht der effizienteste Algorithmus, den Sie sich vorstellen können. Zum Beispiel, wennN=2nSie könnten nur verwenden n Schichten der Quadratwurzel der Swap-Gates, um zu produzieren, was Sie wollen - beginnen Sie mit a |1auf einem einzigen Qubit. Root-Swap mit einem zweiten Qubit, und Sie haben die|W2(bis zu den Phasen, die Sie erledigen müssen). Stellen Sie eine Ancilla neben diese beiden und machen Sie Root-Swaps zwischen W-Ancilla-Paaren, und Sie haben|W4, wiederhole und du hast |W8, und so weiter. Ich glaube, das ist im Grunde das, was sie hier experimentell machen . Sie sollten in der Lage sein, diesen Algorithmus in den ersten zu integrieren, um ihn effizienter zu gestalten (Ö(LogN)) für jede beliebige Größe, aber ich habe nie aufgehört, die Details mit größter Sorgfalt auszuarbeiten.

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.