Verpackte Kartons
Physikalische Rauschmechanismen, die während der Ausführung von Quantenschaltungen auftreten, sind kontextabhängig. Wenn Operationen gleichzeitig auf disjunkte Mengen von Qubits angewendet werden, kann sich das Rauschprofil der Gesamtoperation von den Rauschprofilen der einzelnen Teile unterscheiden, wenn diese isoliert angewendet würden. Ebenso gilt für Operationen, die im Idealfall auf denselben Qubits kommutieren: Das mit den einzelnen Operationen verbundene Rauschprofil muss nicht unbedingt kommutieren und könnte sich bei einer Änderung der Reihenfolge der Operationen sogar völlig ändern. Daher müssen Protokolle zur Unterdrückung, Minderung und Korrektur von Rauschen den Kontext kennen, in dem das Rauschen auftritt.
Samplomatic nutzt Box-Anweisungen, um Sammlungen von Schaltungsoperationen zu analysieren, die als in einem stabilen Rauschkontext stehend behandelt werden sollen, und verwendet Annotationen auf den Boxen, damit Benutzer diese Absicht deklarieren und konfigurieren können. Jedes Feld ist ein Bereich, der eine Menge von Qubits, Operationen, die auf diese Qubits angewendet werden, sowie eine Liste von Anmerkungen umfasst. In den Samplomatic-Anmerkungen werden Anweisungen und Verzierungen festgelegt. Anweisungen legen fest, was mit der Box geschehen soll, zum Beispiel, dass sie gedreht werden soll. „Dressings“ sind Gruppen parametrisierter Gatter, die auf der linken oder rechten Seite der Box hinzugefügt werden können, beispielsweise eine Schicht aus Einzel-Qubit-Gattern. Die Gatter in einem Schaltkreis umfassen Gatter aus dem Block sowie Operationen, die zur Ausführung von Anweisungen erforderlich sind, wie beispielsweise die folgenden:
- Gatter in der Box, die mit den parametrisierten Gattern kompatibel sind und sich auf derselben Seite befinden.
- Sich drehende Tore, die aus einem Satz entnommen wurden, um die Anordnung der Kisten zu randomisieren.
- Rauschinjektionsgatter, die aus einer Pauli-Lindblad-Abbildung abgetastet wurden.
- Benutzerdefinierte Basiswechselgatter.
Beachten Sie, dass Direktiven die Formatierung anderer Boxen verändern können.
Beispiel
Angenommen, wir möchten den folgenden Schaltkreis durchlaufen lassen und dabei vor und nach den parallelen Verschränkungsgatter zufällige Pauli-Gatter einfügen, die den logischen Inhalt des Schaltkreises zwar nicht verändern, aber das effektive Rauschmodell beeinflussen.
Vom Circuit zum Pauli-Twirl.
Dies wird erreicht, indem die Schaltung in Blöcke unterteilt und Twirl-Anmerkungen hinzugefügt werden.
Schaltung mit Pauli-Rotationsanweisungen. Das Symbol @ dient zur Angabe von Anweisungen; standardmäßig erfolgt die Ausrichtung links.
Jede „Dressed Box“ enthält eine Schicht aus Einzel-Qubit-Gattern und eine Schicht aus Zwei-Qubit-Verschränkungsgattern auf disjunkten Qubit-Paaren. Die Schicht aus Verschränkungsgattern ist von Schichten aus zufälligen Pauli-Gattern so umgeben, dass die logische Wirkung der Box unverändert bleibt. Diese zufälligen Pauli-Schichten sind in gleicher Weise virtuell wie ein virtuelles Z-Gatter. Sie fügen dem Schaltkreis keine Operationen hinzu, sondern dienen vielmehr als Anweisung, um die Implementierung benachbarter Einzel-Qubit-Gatter zu ändern.
Schaltkreis mit Anschlüssen und Toren gemäß den Richtlinien. Die Verbandstellen sind die gestrichelten Kästchen. Durch Pfeile verbundene Pauli-Schichten heben sich gegenseitig auf. Die letzte Pauli-Schicht wird in Form von Bit-Flips auf die Messergebnisse angewendet.
Die zufällige Pauli-Schicht zwischen den Verschränkungsgates und den Einzel-Qubit-Gates wird in die Schicht der Einzel-Qubit-Gates integriert und in deren Dressing implementiert. Die andere zufällige Pauli-Schicht wird in die Auskleidung der nächsten ausgekleideten Box eingearbeitet.
Zusammenfassend lässt sich sagen, dass die Anweisung „left“ (oder „right“) twirl im Dressing dieses Feldes einen zufälligen Pauli-Effekt implementiert und im Dressing des nächsten (oder vorherigen) Feldes den Pauli-Effekt anwendet, der diesen rückgängig macht. Die Anweisungen „inject noise“ und „basis change“ funktionieren nach dem gleichen Prinzip.
Randomisierung von Schaltkreisen mit virtuellen Gattern
Samplomatic nutzt das Framework virtueller Gatter, um Schaltungen mit „Dressed Boxes“ zu analysieren. Konzeptionell und wie in einer vom Prozess build() erzeugten Instanz Samplex umgesetzt, werden virtuelle Tore an der Grenze des Kastens gegenüber seiner Beschichtung erzeugt. Diese virtuellen Gatter werden auf eine vorgegebene Weise durch die Schaltung geführt und müssen zu einer Schaltung zusammengesetzt werden. Wenn sich alle virtuellen Gatter zu einer Schaltung zusammenfügen lassen, können Randomisierungen der Schaltung prozedural erstellt werden.
Schaltung mit den Befehlen „twirl“, „basis change“ und „inject noise“.
Gates an der Seite des Dressings, die mit der Parametrisierung der Dressing-Vorlage kompatibel sind, können in diese integriert werden, wodurch sich die Anzahl der physischen Gates verringert. Diese werden als „Easy Gates“ bezeichnet. Der verbleibende Teil der Box wird als „Hard“ bezeichnet und unverändert übernommen.
Beispiele für Schaltungen mit hängenden virtuellen Gattern. Die virtuellen Gatter auf der gegenüberliegenden Seite der Verkleidung können nirgendwo implementiert werden.
Beispiele für Schaltungen, bei denen alle virtuellen Gatter zu „Dressings“ zusammengefasst sind. Bei den Messungen werden Pauli-Gatter so zusammengesetzt, dass der von ihnen verursachte Bitflip berücksichtigt wird.
Ein komplexes Beispiel, bei dem alle virtuellen Gatter zusammengefasst sind. Die von einer Box erzeugten virtuellen Tore lassen sich zu verschiedenen Anordnungen kombinieren.
Dadurch sind Konstruktionen möglich, bei denen die bearbeiteten Kästen nicht dieselbe Breite haben müssen.